From f531687f24f809c7396238879db3a5a86371c0be Mon Sep 17 00:00:00 2001 From: Ariful Hoque Date: Fri, 28 Nov 2025 23:59:58 +0600 Subject: [PATCH 01/20] Add free User Directory feature with setup wizard Implements a limited User Directory in the free version, including setup wizard UI, REST API, shortcode handler, and directory limit logic. Adds new assets, React components, admin menu, post type registration, and views for directory/profile layouts. Pro-only features are previewed with disabled states and upgrade prompts, following the Pro Preview pattern. --- assets/css/wpuf-user-directory-free.css | 7735 +++++++++++++++++ assets/css/wpuf-user-directory-free.css.map | 1 + assets/css/wpuf-user-directory-frontend.css | 550 ++ assets/images/user-directory/confetti.png | Bin 0 -> 4482 bytes .../user-directory/directory-layout-1.png | Bin 0 -> 9355 bytes .../user-directory/directory-layout-2.png | Bin 0 -> 13821 bytes .../user-directory/directory-layout-3.png | Bin 0 -> 10208 bytes .../user-directory/directory-layout-4.png | Bin 0 -> 33030 bytes .../user-directory/directory-layout-5.png | Bin 0 -> 13179 bytes .../user-directory/directory-layout-6.png | Bin 0 -> 28630 bytes .../user-directory/profile-layout-1.png | Bin 0 -> 25714 bytes .../user-directory/profile-layout-2.png | Bin 0 -> 24022 bytes .../user-directory/profile-layout-3.png | Bin 0 -> 27423 bytes assets/images/user-directory/round-grids.png | Bin 0 -> 14079 bytes assets/images/user-directory/sidecards.png | Bin 0 -> 24193 bytes assets/images/user-directory/square-grids.png | Bin 0 -> 37698 bytes assets/images/user-directory/table.png | Bin 0 -> 35864 bytes assets/images/user-directory/thumb-male-1.svg | 33 + assets/images/user-directory/thumb-male-2.svg | 24 + assets/images/user-directory/thumb-male-3.svg | 27 + .../images/user-directory/wide-sidecards.png | Bin 0 -> 19686 bytes assets/js/ud-search-shortcode.js | 438 + assets/js/wpuf-user-directory-free.asset.php | 1 + assets/js/wpuf-user-directory-free.js | 3 + .../wpuf-user-directory-free.js.LICENSE.txt | 1 + assets/js/wpuf-user-directory-free.js.map | 1 + assets/js/wpuf-user-directory-frontend.js | 66 + includes/Free/Free_Loader.php | 25 + includes/Free/User_Directory/Admin_Menu.php | 493 ++ .../Free/User_Directory/Api/Directory.php | 699 ++ .../Free/User_Directory/DirectoryStyles.php | 453 + includes/Free/User_Directory/Helpers.php | 739 ++ includes/Free/User_Directory/Post_Type.php | 101 + includes/Free/User_Directory/PrettyUrls.php | 147 + includes/Free/User_Directory/Shortcode.php | 561 ++ .../Free/User_Directory/User_Directory.php | 320 + .../Free/User_Directory/views/admin-page.php | 21 + .../views/directory/layout-3.php | 93 + .../template-parts/pagination-shortcode.php | 151 + .../views/directory/template-parts/row-3.php | 160 + .../directory/template-parts/search-field.php | 55 + .../directory/template-parts/social-icons.php | 74 + .../directory/template-parts/sort-field.php | 57 + .../User_Directory/views/profile/layout-2.php | 539 ++ .../views/profile/template-parts/about-2.php | 41 + .../profile/template-parts/comments-2.php | 214 + .../views/profile/template-parts/posts-2.php | 226 + .../profile/template-parts/user-avatar.php | 56 + package-lock.json | 3815 +++++++- package.json | 16 +- postcss.user-directory.config.js | 16 + src/js/user-directory/App.js | 260 + .../components/DirectoryList.js | 240 + .../components/DirectoryWizard.js | 329 + .../components/common/DeleteConfirmModal.js | 65 + .../components/common/Header.js | 65 + .../components/common/LayoutCard.js | 97 + .../components/common/MultiSelect.js | 267 + .../user-directory/components/common/Toast.js | 51 + .../components/common/Tooltip.js | 36 + .../components/steps/StepAdvanced.js | 492 ++ .../components/steps/StepBasics.js | 305 + .../components/steps/StepLayout.js | 172 + .../components/steps/StepProfile.js | 159 + .../components/steps/StepTabs.js | 506 ++ src/js/user-directory/index.js | 23 + src/js/user-directory/styles/main.css | 54 + .../user-directory/utils/avatarSizeHelper.js | 17 + tailwind.config.js | 3 + tailwind.user-directory.config.js | 91 + webpack.user-directory.config.js | 72 + 71 files changed, 21122 insertions(+), 134 deletions(-) create mode 100644 assets/css/wpuf-user-directory-free.css create mode 100644 assets/css/wpuf-user-directory-free.css.map create mode 100644 assets/css/wpuf-user-directory-frontend.css create mode 100644 assets/images/user-directory/confetti.png create mode 100644 assets/images/user-directory/directory-layout-1.png create mode 100644 assets/images/user-directory/directory-layout-2.png create mode 100644 assets/images/user-directory/directory-layout-3.png create mode 100644 assets/images/user-directory/directory-layout-4.png create mode 100644 assets/images/user-directory/directory-layout-5.png create mode 100644 assets/images/user-directory/directory-layout-6.png create mode 100644 assets/images/user-directory/profile-layout-1.png create mode 100644 assets/images/user-directory/profile-layout-2.png create mode 100644 assets/images/user-directory/profile-layout-3.png create mode 100644 assets/images/user-directory/round-grids.png create mode 100644 assets/images/user-directory/sidecards.png create mode 100644 assets/images/user-directory/square-grids.png create mode 100644 assets/images/user-directory/table.png create mode 100644 assets/images/user-directory/thumb-male-1.svg create mode 100644 assets/images/user-directory/thumb-male-2.svg create mode 100644 assets/images/user-directory/thumb-male-3.svg create mode 100644 assets/images/user-directory/wide-sidecards.png create mode 100644 assets/js/ud-search-shortcode.js create mode 100644 assets/js/wpuf-user-directory-free.asset.php create mode 100644 assets/js/wpuf-user-directory-free.js create mode 100644 assets/js/wpuf-user-directory-free.js.LICENSE.txt create mode 100644 assets/js/wpuf-user-directory-free.js.map create mode 100644 assets/js/wpuf-user-directory-frontend.js create mode 100644 includes/Free/User_Directory/Admin_Menu.php create mode 100644 includes/Free/User_Directory/Api/Directory.php create mode 100644 includes/Free/User_Directory/DirectoryStyles.php create mode 100644 includes/Free/User_Directory/Helpers.php create mode 100644 includes/Free/User_Directory/Post_Type.php create mode 100644 includes/Free/User_Directory/PrettyUrls.php create mode 100644 includes/Free/User_Directory/Shortcode.php create mode 100644 includes/Free/User_Directory/User_Directory.php create mode 100644 includes/Free/User_Directory/views/admin-page.php create mode 100644 includes/Free/User_Directory/views/directory/layout-3.php create mode 100644 includes/Free/User_Directory/views/directory/template-parts/pagination-shortcode.php create mode 100644 includes/Free/User_Directory/views/directory/template-parts/row-3.php create mode 100644 includes/Free/User_Directory/views/directory/template-parts/search-field.php create mode 100644 includes/Free/User_Directory/views/directory/template-parts/social-icons.php create mode 100644 includes/Free/User_Directory/views/directory/template-parts/sort-field.php create mode 100644 includes/Free/User_Directory/views/profile/layout-2.php create mode 100644 includes/Free/User_Directory/views/profile/template-parts/about-2.php create mode 100644 includes/Free/User_Directory/views/profile/template-parts/comments-2.php create mode 100644 includes/Free/User_Directory/views/profile/template-parts/posts-2.php create mode 100644 includes/Free/User_Directory/views/profile/template-parts/user-avatar.php create mode 100644 postcss.user-directory.config.js create mode 100644 src/js/user-directory/App.js create mode 100644 src/js/user-directory/components/DirectoryList.js create mode 100644 src/js/user-directory/components/DirectoryWizard.js create mode 100644 src/js/user-directory/components/common/DeleteConfirmModal.js create mode 100644 src/js/user-directory/components/common/Header.js create mode 100644 src/js/user-directory/components/common/LayoutCard.js create mode 100644 src/js/user-directory/components/common/MultiSelect.js create mode 100644 src/js/user-directory/components/common/Toast.js create mode 100644 src/js/user-directory/components/common/Tooltip.js create mode 100644 src/js/user-directory/components/steps/StepAdvanced.js create mode 100644 src/js/user-directory/components/steps/StepBasics.js create mode 100644 src/js/user-directory/components/steps/StepLayout.js create mode 100644 src/js/user-directory/components/steps/StepProfile.js create mode 100644 src/js/user-directory/components/steps/StepTabs.js create mode 100644 src/js/user-directory/index.js create mode 100644 src/js/user-directory/styles/main.css create mode 100644 src/js/user-directory/utils/avatarSizeHelper.js create mode 100644 tailwind.user-directory.config.js create mode 100644 webpack.user-directory.config.js diff --git a/assets/css/wpuf-user-directory-free.css b/assets/css/wpuf-user-directory-free.css new file mode 100644 index 000000000..9df288449 --- /dev/null +++ b/assets/css/wpuf-user-directory-free.css @@ -0,0 +1,7735 @@ +/** + * User Directory Free - Main Styles + * + * Tailwind CSS with wpuf- prefix + * + * @package WPUF + * @subpackage Free/User_Directory + * @since 4.3.0 + */ + +/*! tailwindcss v3.4.11 | 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: #e5e7eb; /* 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 */ + letter-spacing: 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, +input:where([type='button']), +input:where([type='reset']), +input:where([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=%27http://www.w3.org/2000/svg%27 fill=%27none%27 viewBox=%270 0 20 20%27%3e%3cpath stroke=%27%236b7280%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%271.5%27 d=%27M6 8l4 4 4-4%27/%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=%270 0 16 16%27 fill=%27white%27 xmlns=%27http://www.w3.org/2000/svg%27%3e%3cpath d=%27M12.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%27/%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=%270 0 16 16%27 fill=%27white%27 xmlns=%27http://www.w3.org/2000/svg%27%3e%3ccircle cx=%278%27 cy=%278%27 r=%273%27/%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=%27http://www.w3.org/2000/svg%27 fill=%27none%27 viewBox=%270 0 16 16%27%3e%3cpath stroke=%27white%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27M4 8h8%27/%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; +} + +:root, +[data-theme] { + background-color: var(--fallback-b1,oklch(var(--b1)/1)); + color: var(--fallback-bc,oklch(var(--bc)/1)); +} + +@supports not (color: oklch(0% 0 0)) { + + :root { + color-scheme: light; + --fallback-p: #491eff; + --fallback-pc: #d4dbff; + --fallback-s: #ff41c7; + --fallback-sc: #fff9fc; + --fallback-a: #00cfbd; + --fallback-ac: #00100d; + --fallback-n: #2b3440; + --fallback-nc: #d7dde4; + --fallback-b1: #ffffff; + --fallback-b2: #e5e6e6; + --fallback-b3: #e5e6e6; + --fallback-bc: #1f2937; + --fallback-in: #00b3f0; + --fallback-inc: #000000; + --fallback-su: #00ca92; + --fallback-suc: #000000; + --fallback-wa: #ffc22d; + --fallback-wac: #000000; + --fallback-er: #ff6f70; + --fallback-erc: #000000; + } + + @media (prefers-color-scheme: dark) { + + :root { + color-scheme: dark; + --fallback-p: #7582ff; + --fallback-pc: #050617; + --fallback-s: #ff71cf; + --fallback-sc: #190211; + --fallback-a: #00c7b5; + --fallback-ac: #000e0c; + --fallback-n: #2a323c; + --fallback-nc: #a6adbb; + --fallback-b1: #1d232a; + --fallback-b2: #191e24; + --fallback-b3: #15191e; + --fallback-bc: #a6adbb; + --fallback-in: #00b3f0; + --fallback-inc: #000000; + --fallback-su: #00ca92; + --fallback-suc: #000000; + --fallback-wa: #ffc22d; + --fallback-wac: #000000; + --fallback-er: #ff6f70; + --fallback-erc: #000000; + } + } +} + +html { + -webkit-tap-highlight-color: transparent; +} + +* { + scrollbar-color: color-mix(in oklch, currentColor 35%, transparent) transparent; +} + +*:hover { + scrollbar-color: color-mix(in oklch, currentColor 60%, transparent) transparent; +} + +*, ::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: ; + --tw-contain-size: ; + --tw-contain-layout: ; + --tw-contain-paint: ; + --tw-contain-style: ; +} + +::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: ; + --tw-contain-size: ; + --tw-contain-layout: ; + --tw-contain-paint: ; + --tw-contain-style: ; +} +.wpuf-container { + width: 100%; +} +@media (min-width: 640px) { + + .wpuf-container { + max-width: 640px; + } +} +@media (min-width: 768px) { + + .wpuf-container { + max-width: 768px; + } +} +@media (min-width: 1024px) { + + .wpuf-container { + max-width: 1024px; + } +} +@media (min-width: 1280px) { + + .wpuf-container { + max-width: 1280px; + } +} +@media (min-width: 1536px) { + + .wpuf-container { + max-width: 1536px; + } +} +.wpuf-form-input,.wpuf-form-textarea,.wpuf-form-select,.wpuf-form-multiselect { + -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; +} +.wpuf-form-input:focus, .wpuf-form-textarea:focus, .wpuf-form-select:focus, .wpuf-form-multiselect: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; +} +.wpuf-form-input::-moz-placeholder, .wpuf-form-textarea::-moz-placeholder { + color: #6b7280; + opacity: 1; +} +.wpuf-form-input::placeholder,.wpuf-form-textarea::placeholder { + color: #6b7280; + opacity: 1; +} +.wpuf-form-input::-webkit-datetime-edit-fields-wrapper { + padding: 0; +} +.wpuf-form-input::-webkit-date-and-time-value { + min-height: 1.5em; + text-align: inherit; +} +.wpuf-form-input::-webkit-datetime-edit { + display: inline-flex; +} +.wpuf-form-input::-webkit-datetime-edit,.wpuf-form-input::-webkit-datetime-edit-year-field,.wpuf-form-input::-webkit-datetime-edit-month-field,.wpuf-form-input::-webkit-datetime-edit-day-field,.wpuf-form-input::-webkit-datetime-edit-hour-field,.wpuf-form-input::-webkit-datetime-edit-minute-field,.wpuf-form-input::-webkit-datetime-edit-second-field,.wpuf-form-input::-webkit-datetime-edit-millisecond-field,.wpuf-form-input::-webkit-datetime-edit-meridiem-field { + padding-top: 0; + padding-bottom: 0; +} +.wpuf-form-select { + background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27none%27 viewBox=%270 0 20 20%27%3e%3cpath stroke=%27%236b7280%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%271.5%27 d=%27M6 8l4 4 4-4%27/%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; +} +.wpuf-form-select:where([size]: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; +} +.wpuf-avatar { + position: relative; + display: inline-flex; +} +.wpuf-avatar > div { + display: block; + aspect-ratio: 1 / 1; + overflow: hidden; +} +.wpuf-avatar img { + height: 100%; + width: 100%; + -o-object-fit: cover; + object-fit: cover; +} +.wpuf-avatar.wpuf-placeholder > div { + display: flex; + align-items: center; + justify-content: center; +} +.wpuf-badge { + display: inline-flex; + align-items: center; + justify-content: center; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + transition-duration: 200ms; + height: 1.25rem; + font-size: 0.875rem; + line-height: 1.25rem; + width: -moz-fit-content; + width: fit-content; + padding-left: 0.563rem; + padding-right: 0.563rem; + border-radius: var(--rounded-badge, 1.9rem); + border-width: 1px; + --tw-border-opacity: 1; + border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); +} +.wpuf-btm-nav { + position: fixed; + bottom: 0px; + left: 0px; + right: 0px; + display: flex; + width: 100%; + flex-direction: row; + align-items: center; + justify-content: space-around; + padding-bottom: env(safe-area-inset-bottom); + height: 4rem; + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); + color: currentColor; +} +.wpuf-btm-nav > * { + position: relative; + display: flex; + height: 100%; + flex-basis: 100%; + cursor: pointer; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 0.25rem; + border-color: currentColor; +} +@media (hover:hover) { + + .wpuf-label a:hover { + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + } + + .wpuf-menu li > *:not(ul, .wpuf-menu-title, details, .wpuf-btn):active, +.wpuf-menu li > *:not(ul, .wpuf-menu-title, details, .wpuf-btn).wpuf-active, +.wpuf-menu li > details > summary:active { + --tw-bg-opacity: 1; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity))); + } + + .wpuf-tab:hover { + --tw-text-opacity: 1; + } + + .wpuf-tabs-boxed :is(.wpuf-tab-active, [aria-selected="true"]):not(.wpuf-tab-disabled):not([disabled]):hover, .wpuf-tabs-boxed :is(input:checked):hover { + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); + } + + .wpuf-table tr.wpuf-hover:hover, + .wpuf-table tr.wpuf-hover:nth-child(even):hover { + --tw-bg-opacity: 1; + background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))); + } + + .wpuf-table-zebra tr.wpuf-hover:hover, + .wpuf-table-zebra tr.wpuf-hover:nth-child(even):hover { + --tw-bg-opacity: 1; + background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity))); + } +} +.wpuf-btn { + display: inline-flex; + height: 3rem; + min-height: 3rem; + flex-shrink: 0; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + flex-wrap: wrap; + align-items: center; + justify-content: center; + border-radius: var(--rounded-btn, 0.5rem); + border-color: transparent; + border-color: oklch(var(--btn-color, var(--b2)) / var(--tw-border-opacity)); + padding-left: 1rem; + padding-right: 1rem; + text-align: center; + font-size: 0.875rem; + line-height: 1em; + gap: 0.5rem; + font-weight: 600; + text-decoration-line: none; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + border-width: var(--border-btn, 1px); + transition-property: color, background-color, border-color, opacity, box-shadow, transform; + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --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); + outline-color: var(--fallback-bc,oklch(var(--bc)/1)); + background-color: oklch(var(--btn-color, var(--b2)) / var(--tw-bg-opacity)); + --tw-bg-opacity: 1; + --tw-border-opacity: 1; +} +.wpuf-btn-disabled, + .wpuf-btn[disabled], + .wpuf-btn:disabled { + pointer-events: none; +} +:where(.wpuf-btn:is(input[type="checkbox"])), +:where(.wpuf-btn:is(input[type="radio"])) { + width: auto; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +.wpuf-btn:is(input[type="checkbox"]):after, +.wpuf-btn:is(input[type="radio"]):after { + --tw-content: attr(aria-label); + content: var(--tw-content); +} +.wpuf-dropdown { + position: relative; + display: inline-block; +} +.wpuf-dropdown > *:not(summary):focus { + outline: 2px solid transparent; + outline-offset: 2px; +} +.wpuf-dropdown .wpuf-dropdown-content { + position: absolute; +} +.wpuf-dropdown:is(:not(details)) .wpuf-dropdown-content { + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + visibility: hidden; + opacity: 0; + transform-origin: top; + --tw-scale-x: .95; + --tw-scale-y: .95; + 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)); + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + transition-duration: 200ms; +} +.wpuf-dropdown-end .wpuf-dropdown-content { + inset-inline-end: 0px; +} +.wpuf-dropdown-left .wpuf-dropdown-content { + bottom: auto; + inset-inline-end: 100%; + top: 0px; + transform-origin: right; +} +.wpuf-dropdown-right .wpuf-dropdown-content { + bottom: auto; + inset-inline-start: 100%; + top: 0px; + transform-origin: left; +} +.wpuf-dropdown-bottom .wpuf-dropdown-content { + bottom: auto; + top: 100%; + transform-origin: top; +} +.wpuf-dropdown-top .wpuf-dropdown-content { + bottom: 100%; + top: auto; + transform-origin: bottom; +} +.wpuf-dropdown-end.wpuf-dropdown-right .wpuf-dropdown-content { + bottom: 0px; + top: auto; +} +.wpuf-dropdown-end.wpuf-dropdown-left .wpuf-dropdown-content { + bottom: 0px; + top: auto; +} +.wpuf-dropdown.wpuf-dropdown-open .wpuf-dropdown-content, +.wpuf-dropdown:not(.wpuf-dropdown-hover):focus .wpuf-dropdown-content, +.wpuf-dropdown:focus-within .wpuf-dropdown-content { + visibility: visible; + opacity: 1; +} +@media (hover: hover) { + + .wpuf-dropdown.wpuf-dropdown-hover:hover .wpuf-dropdown-content { + visibility: visible; + opacity: 1; + } + + .wpuf-btm-nav > *.wpuf-disabled:hover, + .wpuf-btm-nav > *[disabled]:hover { + pointer-events: none; + --tw-border-opacity: 0; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); + --tw-bg-opacity: 0.1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --tw-text-opacity: 0.2; + } + + .wpuf-btn:hover { + --tw-border-opacity: 1; + border-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn:hover { + background-color: color-mix( + in oklab, + oklch(var(--btn-color, var(--b2)) / var(--tw-bg-opacity, 1)) 90%, + black + ); + border-color: color-mix( + in oklab, + oklch(var(--btn-color, var(--b2)) / var(--tw-border-opacity, 1)) 90%, + black + ); + } + } + + @supports not (color: oklch(0% 0 0)) { + + .wpuf-btn:hover { + background-color: var(--btn-color, var(--fallback-b2)); + border-color: var(--btn-color, var(--fallback-b2)); + } + } + + .wpuf-btn:hover { + --tw-border-opacity: 1; + border-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn:hover { + background-color: color-mix( + in oklab, + oklch(var(--btn-color, var(--b2)) / var(--tw-bg-opacity, 1)) 90%, + black + ); + border-color: color-mix( + in oklab, + oklch(var(--btn-color, var(--b2)) / var(--tw-border-opacity, 1)) 90%, + black + ); + } + } + + @supports not (color: oklch(0% 0 0)) { + + .wpuf-btn:hover { + background-color: var(--btn-color, var(--fallback-b2)); + border-color: var(--btn-color, var(--fallback-b2)); + } + } + + .wpuf-btn:hover { + --tw-border-opacity: 1; + border-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn:hover { + background-color: color-mix( + in oklab, + oklch(var(--btn-color, var(--b2)) / var(--tw-bg-opacity, 1)) 90%, + black + ); + border-color: color-mix( + in oklab, + oklch(var(--btn-color, var(--b2)) / var(--tw-border-opacity, 1)) 90%, + black + ); + } + } + + @supports not (color: oklch(0% 0 0)) { + + .wpuf-btn:hover { + background-color: var(--btn-color, var(--fallback-b2)); + border-color: var(--btn-color, var(--fallback-b2)); + } + } + + .wpuf-btn.wpuf-glass:hover { + --glass-opacity: 25%; + --glass-border-opacity: 15%; + } + + .wpuf-btn-ghost:hover { + border-color: transparent; + } + + @supports (color: oklch(0% 0 0)) { + + .wpuf-btn-ghost:hover { + background-color: var(--fallback-bc,oklch(var(--bc)/0.2)); + } + } + + .wpuf-btn-ghost:hover { + border-color: transparent; + } + + @supports (color: oklch(0% 0 0)) { + + .wpuf-btn-ghost:hover { + background-color: var(--fallback-bc,oklch(var(--bc)/0.2)); + } + } + + .wpuf-btn-link:hover { + border-color: transparent; + background-color: transparent; + text-decoration-line: underline; + } + + .wpuf-btn-outline:hover { + --tw-border-opacity: 1; + border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-b1,oklch(var(--b1)/var(--tw-text-opacity))); + } + + .wpuf-btn-outline.wpuf-btn-primary:hover { + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-primary:hover { + background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + } + } + + .wpuf-btn-outline.wpuf-btn-primary:hover { + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-primary:hover { + background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + } + } + + .wpuf-btn-outline.wpuf-btn-primary:hover { + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-primary:hover { + background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + } + } + + .wpuf-btn-outline.wpuf-btn-primary:hover { + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-primary:hover { + background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + } + } + + .wpuf-btn-outline.wpuf-btn-secondary:hover { + --tw-text-opacity: 1; + color: var(--fallback-sc,oklch(var(--sc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-secondary:hover { + background-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black); + } + } + + .wpuf-btn-outline.wpuf-btn-secondary:hover { + --tw-text-opacity: 1; + color: var(--fallback-sc,oklch(var(--sc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-secondary:hover { + background-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black); + } + } + + .wpuf-btn-outline.wpuf-btn-secondary:hover { + --tw-text-opacity: 1; + color: var(--fallback-sc,oklch(var(--sc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-secondary:hover { + background-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black); + } + } + + .wpuf-btn-outline.wpuf-btn-secondary:hover { + --tw-text-opacity: 1; + color: var(--fallback-sc,oklch(var(--sc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-secondary:hover { + background-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black); + } + } + + .wpuf-btn-outline.wpuf-btn-accent:hover { + --tw-text-opacity: 1; + color: var(--fallback-ac,oklch(var(--ac)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-accent:hover { + background-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black); + } + } + + .wpuf-btn-outline.wpuf-btn-accent:hover { + --tw-text-opacity: 1; + color: var(--fallback-ac,oklch(var(--ac)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-accent:hover { + background-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black); + } + } + + .wpuf-btn-outline.wpuf-btn-accent:hover { + --tw-text-opacity: 1; + color: var(--fallback-ac,oklch(var(--ac)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-accent:hover { + background-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black); + } + } + + .wpuf-btn-outline.wpuf-btn-accent:hover { + --tw-text-opacity: 1; + color: var(--fallback-ac,oklch(var(--ac)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-accent:hover { + background-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black); + } + } + + .wpuf-btn-outline.wpuf-btn-success:hover { + --tw-text-opacity: 1; + color: var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-success:hover { + background-color: color-mix(in oklab, var(--fallback-su,oklch(var(--su)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-su,oklch(var(--su)/1)) 90%, black); + } + } + + .wpuf-btn-outline.wpuf-btn-success:hover { + --tw-text-opacity: 1; + color: var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-success:hover { + background-color: color-mix(in oklab, var(--fallback-su,oklch(var(--su)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-su,oklch(var(--su)/1)) 90%, black); + } + } + + .wpuf-btn-outline.wpuf-btn-success:hover { + --tw-text-opacity: 1; + color: var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-success:hover { + background-color: color-mix(in oklab, var(--fallback-su,oklch(var(--su)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-su,oklch(var(--su)/1)) 90%, black); + } + } + + .wpuf-btn-outline.wpuf-btn-success:hover { + --tw-text-opacity: 1; + color: var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-success:hover { + background-color: color-mix(in oklab, var(--fallback-su,oklch(var(--su)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-su,oklch(var(--su)/1)) 90%, black); + } + } + + .wpuf-btn-outline.wpuf-btn-info:hover { + --tw-text-opacity: 1; + color: var(--fallback-inc,oklch(var(--inc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-info:hover { + background-color: color-mix(in oklab, var(--fallback-in,oklch(var(--in)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-in,oklch(var(--in)/1)) 90%, black); + } + } + + .wpuf-btn-outline.wpuf-btn-info:hover { + --tw-text-opacity: 1; + color: var(--fallback-inc,oklch(var(--inc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-info:hover { + background-color: color-mix(in oklab, var(--fallback-in,oklch(var(--in)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-in,oklch(var(--in)/1)) 90%, black); + } + } + + .wpuf-btn-outline.wpuf-btn-info:hover { + --tw-text-opacity: 1; + color: var(--fallback-inc,oklch(var(--inc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-info:hover { + background-color: color-mix(in oklab, var(--fallback-in,oklch(var(--in)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-in,oklch(var(--in)/1)) 90%, black); + } + } + + .wpuf-btn-outline.wpuf-btn-info:hover { + --tw-text-opacity: 1; + color: var(--fallback-inc,oklch(var(--inc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-info:hover { + background-color: color-mix(in oklab, var(--fallback-in,oklch(var(--in)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-in,oklch(var(--in)/1)) 90%, black); + } + } + + .wpuf-btn-outline.wpuf-btn-warning:hover { + --tw-text-opacity: 1; + color: var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-warning:hover { + background-color: color-mix(in oklab, var(--fallback-wa,oklch(var(--wa)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-wa,oklch(var(--wa)/1)) 90%, black); + } + } + + .wpuf-btn-outline.wpuf-btn-warning:hover { + --tw-text-opacity: 1; + color: var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-warning:hover { + background-color: color-mix(in oklab, var(--fallback-wa,oklch(var(--wa)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-wa,oklch(var(--wa)/1)) 90%, black); + } + } + + .wpuf-btn-outline.wpuf-btn-warning:hover { + --tw-text-opacity: 1; + color: var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-warning:hover { + background-color: color-mix(in oklab, var(--fallback-wa,oklch(var(--wa)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-wa,oklch(var(--wa)/1)) 90%, black); + } + } + + .wpuf-btn-outline.wpuf-btn-warning:hover { + --tw-text-opacity: 1; + color: var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-warning:hover { + background-color: color-mix(in oklab, var(--fallback-wa,oklch(var(--wa)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-wa,oklch(var(--wa)/1)) 90%, black); + } + } + + .wpuf-btn-outline.wpuf-btn-error:hover { + --tw-text-opacity: 1; + color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-error:hover { + background-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black); + } + } + + .wpuf-btn-outline.wpuf-btn-error:hover { + --tw-text-opacity: 1; + color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-error:hover { + background-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black); + } + } + + .wpuf-btn-outline.wpuf-btn-error:hover { + --tw-text-opacity: 1; + color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-error:hover { + background-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black); + } + } + + .wpuf-btn-outline.wpuf-btn-error:hover { + --tw-text-opacity: 1; + color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity))); + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-outline.wpuf-btn-error:hover { + background-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black); + } + } + + .wpuf-btn-disabled:hover, + .wpuf-btn[disabled]:hover, + .wpuf-btn:disabled:hover { + --tw-border-opacity: 0; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); + --tw-bg-opacity: 0.2; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --tw-text-opacity: 0.2; + } + + @supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn:is(input[type="checkbox"]:checked):hover, .wpuf-btn:is(input[type="radio"]:checked):hover { + background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + } + } + + .wpuf-dropdown.wpuf-dropdown-hover:hover .wpuf-dropdown-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)); + } + + :where(.wpuf-menu li:not(.wpuf-menu-title, .wpuf-disabled) > *:not(ul, details, .wpuf-menu-title)):not(.wpuf-active, .wpuf-btn):hover, :where(.wpuf-menu li:not(.wpuf-menu-title, .wpuf-disabled) > details > summary:not(.wpuf-menu-title)):not(.wpuf-active, .wpuf-btn):hover { + cursor: pointer; + outline: 2px solid transparent; + outline-offset: 2px; + } + + @supports (color: oklch(0% 0 0)) { + + :where(.wpuf-menu li:not(.wpuf-menu-title, .wpuf-disabled) > *:not(ul, details, .wpuf-menu-title)):not(.wpuf-active, .wpuf-btn):hover, :where(.wpuf-menu li:not(.wpuf-menu-title, .wpuf-disabled) > details > summary:not(.wpuf-menu-title)):not(.wpuf-active, .wpuf-btn):hover { + background-color: var(--fallback-bc,oklch(var(--bc)/0.1)); + } + } + + :where(.wpuf-menu li:not(.wpuf-menu-title, .wpuf-disabled) > *:not(ul, details, .wpuf-menu-title)):not(.wpuf-active, .wpuf-btn):hover, :where(.wpuf-menu li:not(.wpuf-menu-title, .wpuf-disabled) > details > summary:not(.wpuf-menu-title)):not(.wpuf-active, .wpuf-btn):hover { + cursor: pointer; + outline: 2px solid transparent; + outline-offset: 2px; + } + + @supports (color: oklch(0% 0 0)) { + + :where(.wpuf-menu li:not(.wpuf-menu-title, .wpuf-disabled) > *:not(ul, details, .wpuf-menu-title)):not(.wpuf-active, .wpuf-btn):hover, :where(.wpuf-menu li:not(.wpuf-menu-title, .wpuf-disabled) > details > summary:not(.wpuf-menu-title)):not(.wpuf-active, .wpuf-btn):hover { + background-color: var(--fallback-bc,oklch(var(--bc)/0.1)); + } + } + + :where(.wpuf-menu li:not(.wpuf-menu-title, .wpuf-disabled) > *:not(ul, details, .wpuf-menu-title)):not(.wpuf-active, .wpuf-btn):hover, :where(.wpuf-menu li:not(.wpuf-menu-title, .wpuf-disabled) > details > summary:not(.wpuf-menu-title)):not(.wpuf-active, .wpuf-btn):hover { + cursor: pointer; + outline: 2px solid transparent; + outline-offset: 2px; + } + + @supports (color: oklch(0% 0 0)) { + + :where(.wpuf-menu li:not(.wpuf-menu-title, .wpuf-disabled) > *:not(ul, details, .wpuf-menu-title)):not(.wpuf-active, .wpuf-btn):hover, :where(.wpuf-menu li:not(.wpuf-menu-title, .wpuf-disabled) > details > summary:not(.wpuf-menu-title)):not(.wpuf-active, .wpuf-btn):hover { + background-color: var(--fallback-bc,oklch(var(--bc)/0.1)); + } + } + + :where(.wpuf-menu li:not(.wpuf-menu-title, .wpuf-disabled) > *:not(ul, details, .wpuf-menu-title)):not(.wpuf-active, .wpuf-btn):hover, :where(.wpuf-menu li:not(.wpuf-menu-title, .wpuf-disabled) > details > summary:not(.wpuf-menu-title)):not(.wpuf-active, .wpuf-btn):hover { + cursor: pointer; + outline: 2px solid transparent; + outline-offset: 2px; + } + + @supports (color: oklch(0% 0 0)) { + + :where(.wpuf-menu li:not(.wpuf-menu-title, .wpuf-disabled) > *:not(ul, details, .wpuf-menu-title)):not(.wpuf-active, .wpuf-btn):hover, :where(.wpuf-menu li:not(.wpuf-menu-title, .wpuf-disabled) > details > summary:not(.wpuf-menu-title)):not(.wpuf-active, .wpuf-btn):hover { + background-color: var(--fallback-bc,oklch(var(--bc)/0.1)); + } + } + + .wpuf-tab[disabled], + .wpuf-tab[disabled]:hover { + cursor: not-allowed; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --tw-text-opacity: 0.2; + } +} +.wpuf-dropdown:is(details) summary::-webkit-details-marker { + display: none; +} +.wpuf-label { + display: flex; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + align-items: center; + justify-content: space-between; + padding-left: 0.25rem; + padding-right: 0.25rem; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +.wpuf-join { + display: inline-flex; + align-items: stretch; + border-radius: var(--rounded-btn, 0.5rem); +} +.wpuf-join :where(.wpuf-join-item) { + border-start-end-radius: 0; + border-end-end-radius: 0; + border-end-start-radius: 0; + border-start-start-radius: 0; +} +.wpuf-join .wpuf-join-item:not(:first-child):not(:last-child), + .wpuf-join *:not(:first-child):not(:last-child) .wpuf-join-item { + border-start-end-radius: 0; + border-end-end-radius: 0; + border-end-start-radius: 0; + border-start-start-radius: 0; +} +.wpuf-join .wpuf-join-item:first-child:not(:last-child), + .wpuf-join *:first-child:not(:last-child) .wpuf-join-item { + border-start-end-radius: 0; + border-end-end-radius: 0; +} +.wpuf-join .wpuf-dropdown .wpuf-join-item:first-child:not(:last-child), + .wpuf-join *:first-child:not(:last-child) .wpuf-dropdown .wpuf-join-item { + border-start-end-radius: inherit; + border-end-end-radius: inherit; +} +.wpuf-join :where(.wpuf-join-item:first-child:not(:last-child)), + .wpuf-join :where(*:first-child:not(:last-child) .wpuf-join-item) { + border-end-start-radius: inherit; + border-start-start-radius: inherit; +} +.wpuf-join .wpuf-join-item:last-child:not(:first-child), + .wpuf-join *:last-child:not(:first-child) .wpuf-join-item { + border-end-start-radius: 0; + border-start-start-radius: 0; +} +.wpuf-join :where(.wpuf-join-item:last-child:not(:first-child)), + .wpuf-join :where(*:last-child:not(:first-child) .wpuf-join-item) { + border-start-end-radius: inherit; + border-end-end-radius: inherit; +} +@supports not selector(:has(*)) { + + :where(.wpuf-join *) { + border-radius: inherit; + } +} +@supports selector(:has(*)) { + + :where(.wpuf-join *:has(.wpuf-join-item)) { + border-radius: inherit; + } +} +.wpuf-menu { + display: flex; + flex-direction: column; + flex-wrap: wrap; + font-size: 0.875rem; + line-height: 1.25rem; + padding: 0.5rem; +} +.wpuf-menu :where(li ul) { + position: relative; + white-space: nowrap; + margin-inline-start: 1rem; + padding-inline-start: 0.5rem; +} +.wpuf-menu :where(li:not(.wpuf-menu-title) > *:not(ul, details, .wpuf-menu-title, .wpuf-btn)), .wpuf-menu :where(li:not(.wpuf-menu-title) > details > summary:not(.wpuf-menu-title)) { + display: grid; + grid-auto-flow: column; + align-content: flex-start; + align-items: center; + gap: 0.5rem; + grid-auto-columns: minmax(auto, max-content) auto max-content; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} +.wpuf-menu li.wpuf-disabled { + cursor: not-allowed; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + color: var(--fallback-bc,oklch(var(--bc)/0.3)); +} +.wpuf-menu :where(li > .wpuf-menu-dropdown:not(.wpuf-menu-dropdown-show)) { + display: none; +} +:where(.wpuf-menu li) { + position: relative; + display: flex; + flex-shrink: 0; + flex-direction: column; + flex-wrap: wrap; + align-items: stretch; +} +:where(.wpuf-menu li) .wpuf-badge { + justify-self: end; +} +.wpuf-modal { + pointer-events: none; + position: fixed; + inset: 0px; + margin: 0px; + display: grid; + height: 100%; + max-height: none; + width: 100%; + max-width: none; + justify-items: center; + padding: 0px; + opacity: 0; + overscroll-behavior: contain; + z-index: 999; + background-color: transparent; + color: inherit; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + transition-property: transform, opacity, visibility; + overflow-y: hidden; +} +:where(.wpuf-modal) { + align-items: center; +} +.wpuf-modal-box { + max-height: calc(100vh - 5em); + grid-column-start: 1; + grid-row-start: 1; + width: 91.666667%; + max-width: 32rem; + --tw-scale-x: .9; + --tw-scale-y: .9; + 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)); + border-bottom-right-radius: var(--rounded-box, 1rem); + border-bottom-left-radius: var(--rounded-box, 1rem); + border-top-left-radius: var(--rounded-box, 1rem); + border-top-right-radius: var(--rounded-box, 1rem); + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); + padding: 1.5rem; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + transition-duration: 200ms; + box-shadow: rgba(0, 0, 0, 0.25) 0px 25px 50px -12px; + overflow-y: auto; + overscroll-behavior: contain; +} +.wpuf-modal-open, +.wpuf-modal:target, +.wpuf-modal-toggle:checked + .wpuf-modal, +.wpuf-modal[open] { + pointer-events: auto; + visibility: visible; + opacity: 1; +} +:root:has(:is(.wpuf-modal-open, .wpuf-modal:target, .wpuf-modal-toggle:checked + .wpuf-modal, .wpuf-modal[open])) { + overflow: hidden; + scrollbar-gutter: stable; +} +.wpuf-radio { + flex-shrink: 0; + --chkbg: var(--bc); + height: 1.5rem; + width: 1.5rem; + cursor: pointer; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: 9999px; + border-width: 1px; + border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity))); + --tw-border-opacity: 0.2; +} +.wpuf-select { + display: inline-flex; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + height: 3rem; + min-height: 3rem; + padding-inline-start: 1rem; + padding-inline-end: 2.5rem; + font-size: 0.875rem; + line-height: 1.25rem; + line-height: 2; + border-radius: var(--rounded-btn, 0.5rem); + border-width: 1px; + border-color: transparent; + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); + background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), + linear-gradient(135deg, currentColor 50%, transparent 50%); + background-position: calc(100% - 20px) calc(1px + 50%), + calc(100% - 16.1px) calc(1px + 50%); + background-size: 4px 4px, + 4px 4px; + background-repeat: no-repeat; +} +.wpuf-select[multiple] { + height: auto; +} +.wpuf-tabs { + display: grid; + align-items: flex-end; +} +.wpuf-tabs-lifted:has(.wpuf-tab-content[class^="rounded-"]) + .wpuf-tab:first-child:not(:is(.wpuf-tab-active, [aria-selected="true"])), .wpuf-tabs-lifted:has(.wpuf-tab-content[class*=" rounded-"]) + .wpuf-tab:first-child:not(:is(.wpuf-tab-active, [aria-selected="true"])) { + border-bottom-color: transparent; +} +.wpuf-tab { + position: relative; + grid-row-start: 1; + display: inline-flex; + height: 2rem; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + flex-wrap: wrap; + align-items: center; + justify-content: center; + text-align: center; + font-size: 0.875rem; + line-height: 1.25rem; + line-height: 2; + --tab-padding: 1rem; + --tw-text-opacity: 0.5; + --tab-color: var(--fallback-bc,oklch(var(--bc)/1)); + --tab-bg: var(--fallback-b1,oklch(var(--b1)/1)); + --tab-border-color: var(--fallback-b3,oklch(var(--b3)/1)); + color: var(--tab-color); + padding-inline-start: var(--tab-padding, 1rem); + padding-inline-end: var(--tab-padding, 1rem); +} +.wpuf-tab:is(input[type="radio"]) { + width: auto; + border-bottom-right-radius: 0px; + border-bottom-left-radius: 0px; +} +.wpuf-tab:is(input[type="radio"]):after { + --tw-content: attr(aria-label); + content: var(--tw-content); +} +.wpuf-tab:not(input):empty { + cursor: default; + grid-column-start: span 9999; +} +.wpuf-tab-content { + grid-column-start: 1; + grid-column-end: span 9999; + grid-row-start: 2; + margin-top: calc(var(--tab-border) * -1); + display: none; + border-color: transparent; + border-width: var(--tab-border, 0); +} +:checked + .wpuf-tab-content:nth-child(2), + :is(.wpuf-tab-active, [aria-selected="true"]) + .wpuf-tab-content:nth-child(2) { + border-start-start-radius: 0px; +} +input.wpuf-tab:checked + .wpuf-tab-content, +:is(.wpuf-tab-active, [aria-selected="true"]) + .wpuf-tab-content { + display: block; +} +.wpuf-table { + position: relative; + width: 100%; + border-radius: var(--rounded-box, 1rem); + text-align: left; + font-size: 0.875rem; + line-height: 1.25rem; +} +.wpuf-table :where(.wpuf-table-pin-rows thead tr) { + position: sticky; + top: 0px; + z-index: 1; + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); +} +.wpuf-table :where(.wpuf-table-pin-rows tfoot tr) { + position: sticky; + bottom: 0px; + z-index: 1; + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); +} +.wpuf-table :where(.wpuf-table-pin-cols tr th) { + position: sticky; + left: 0px; + right: 0px; + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); +} +.wpuf-table-zebra tbody tr:nth-child(even) :where(.wpuf-table-pin-cols tr th) { + --tw-bg-opacity: 1; + background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))); +} +.wpuf-toast { + position: fixed; + display: flex; + min-width: -moz-fit-content; + min-width: fit-content; + flex-direction: column; + white-space: nowrap; + gap: 0.5rem; + padding: 1rem; +} +.wpuf-toggle { + flex-shrink: 0; + --tglbg: var(--fallback-b1,oklch(var(--b1)/1)); + --handleoffset: 1.5rem; + --handleoffsetcalculator: calc(var(--handleoffset) * -1); + --togglehandleborder: 0 0; + height: 1.5rem; + width: 3rem; + cursor: pointer; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: var(--rounded-badge, 1.9rem); + border-width: 1px; + border-color: currentColor; + background-color: currentColor; + color: var(--fallback-bc,oklch(var(--bc)/0.5)); + transition: background, + box-shadow var(--animation-input, 0.2s) ease-out; + box-shadow: var(--handleoffsetcalculator) 0 0 2px var(--tglbg) inset, + 0 0 0 2px var(--tglbg) inset, + var(--togglehandleborder); +} +.wpuf-avatar-group { + display: flex; + overflow: hidden; +} +.wpuf-avatar-group :where(.wpuf-avatar) { + overflow: hidden; + border-radius: 9999px; + border-width: 4px; + --tw-border-opacity: 1; + border-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-border-opacity))); +} +.wpuf-btm-nav > *:not(.wpuf-active) { + padding-top: 0.125rem; +} +.wpuf-btm-nav > *:where(.wpuf-active) { + border-top-width: 2px; + --tw-bg-opacity: 1; + background-color: var(--fallback-b1,oklch(var(--b1)/var(--tw-bg-opacity))); +} +.wpuf-btm-nav > *.wpuf-disabled, + .wpuf-btm-nav > *[disabled] { + pointer-events: none; + --tw-border-opacity: 0; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); + --tw-bg-opacity: 0.1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --tw-text-opacity: 0.2; +} +.wpuf-btm-nav > * .wpuf-label { + font-size: 1rem; + line-height: 1.5rem; +} +@media (prefers-reduced-motion: no-preference) { + + .wpuf-btn { + animation: button-pop var(--animation-btn, 0.25s) ease-out; + } +} +.wpuf-btn:active:hover, + .wpuf-btn:active:focus { + animation: button-pop 0s ease-out; + transform: scale(var(--btn-focus-scale, 0.97)); +} +@supports not (color: oklch(0% 0 0)) { + + .wpuf-btn { + background-color: var(--btn-color, var(--fallback-b2)); + border-color: var(--btn-color, var(--fallback-b2)); + } + + .wpuf-btn-primary { + --btn-color: var(--fallback-p); + } + + .wpuf-btn-secondary { + --btn-color: var(--fallback-s); + } + + .wpuf-btn-accent { + --btn-color: var(--fallback-a); + } + + .wpuf-btn-info { + --btn-color: var(--fallback-in); + } + + .wpuf-btn-success { + --btn-color: var(--fallback-su); + } + + .wpuf-btn-warning { + --btn-color: var(--fallback-wa); + } + + .wpuf-btn-error { + --btn-color: var(--fallback-er); + } +} +@supports (color: color-mix(in oklab, black, black)) { + + .wpuf-btn-active { + background-color: color-mix( + in oklab, + oklch(var(--btn-color, var(--b3)) / var(--tw-bg-opacity, 1)) 90%, + black + ); + border-color: color-mix( + in oklab, + oklch(var(--btn-color, var(--b3)) / var(--tw-border-opacity, 1)) 90%, + black + ); + } + + .wpuf-btn-outline.wpuf-btn-primary.wpuf-btn-active { + background-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-p,oklch(var(--p)/1)) 90%, black); + } + + .wpuf-btn-outline.wpuf-btn-secondary.wpuf-btn-active { + background-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-s,oklch(var(--s)/1)) 90%, black); + } + + .wpuf-btn-outline.wpuf-btn-accent.wpuf-btn-active { + background-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-a,oklch(var(--a)/1)) 90%, black); + } + + .wpuf-btn-outline.wpuf-btn-success.wpuf-btn-active { + background-color: color-mix(in oklab, var(--fallback-su,oklch(var(--su)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-su,oklch(var(--su)/1)) 90%, black); + } + + .wpuf-btn-outline.wpuf-btn-info.wpuf-btn-active { + background-color: color-mix(in oklab, var(--fallback-in,oklch(var(--in)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-in,oklch(var(--in)/1)) 90%, black); + } + + .wpuf-btn-outline.wpuf-btn-warning.wpuf-btn-active { + background-color: color-mix(in oklab, var(--fallback-wa,oklch(var(--wa)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-wa,oklch(var(--wa)/1)) 90%, black); + } + + .wpuf-btn-outline.wpuf-btn-error.wpuf-btn-active { + background-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black); + border-color: color-mix(in oklab, var(--fallback-er,oklch(var(--er)/1)) 90%, black); + } +} +.wpuf-btn:focus-visible { + outline-style: solid; + outline-width: 2px; + outline-offset: 2px; +} +.wpuf-btn-primary { + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); + outline-color: var(--fallback-p,oklch(var(--p)/1)); +} +@supports (color: oklch(0% 0 0)) { + + .wpuf-btn-primary { + --btn-color: var(--p); + } + + .wpuf-btn-secondary { + --btn-color: var(--s); + } + + .wpuf-btn-accent { + --btn-color: var(--a); + } + + .wpuf-btn-info { + --btn-color: var(--in); + } + + .wpuf-btn-success { + --btn-color: var(--su); + } + + .wpuf-btn-warning { + --btn-color: var(--wa); + } + + .wpuf-btn-error { + --btn-color: var(--er); + } +} +.wpuf-btn-secondary { + --tw-text-opacity: 1; + color: var(--fallback-sc,oklch(var(--sc)/var(--tw-text-opacity))); + outline-color: var(--fallback-s,oklch(var(--s)/1)); +} +.wpuf-btn-accent { + --tw-text-opacity: 1; + color: var(--fallback-ac,oklch(var(--ac)/var(--tw-text-opacity))); + outline-color: var(--fallback-a,oklch(var(--a)/1)); +} +.wpuf-btn-info { + --tw-text-opacity: 1; + color: var(--fallback-inc,oklch(var(--inc)/var(--tw-text-opacity))); + outline-color: var(--fallback-in,oklch(var(--in)/1)); +} +.wpuf-btn-success { + --tw-text-opacity: 1; + color: var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity))); + outline-color: var(--fallback-su,oklch(var(--su)/1)); +} +.wpuf-btn-warning { + --tw-text-opacity: 1; + color: var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity))); + outline-color: var(--fallback-wa,oklch(var(--wa)/1)); +} +.wpuf-btn-error { + --tw-text-opacity: 1; + color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity))); + outline-color: var(--fallback-er,oklch(var(--er)/1)); +} +.wpuf-btn.wpuf-glass { + --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); + outline-color: currentColor; +} +.wpuf-btn.wpuf-glass.wpuf-btn-active { + --glass-opacity: 25%; + --glass-border-opacity: 15%; +} +.wpuf-btn-ghost { + border-width: 1px; + border-color: transparent; + background-color: transparent; + color: currentColor; + --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); + outline-color: currentColor; +} +.wpuf-btn-ghost.wpuf-btn-active { + border-color: transparent; + background-color: var(--fallback-bc,oklch(var(--bc)/0.2)); +} +.wpuf-btn-link { + border-color: transparent; + background-color: transparent; + --tw-text-opacity: 1; + color: var(--fallback-p,oklch(var(--p)/var(--tw-text-opacity))); + text-decoration-line: underline; + --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); + outline-color: currentColor; +} +.wpuf-btn-link.wpuf-btn-active { + border-color: transparent; + background-color: transparent; + text-decoration-line: underline; +} +.wpuf-btn-outline { + border-color: currentColor; + background-color: transparent; + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --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); +} +.wpuf-btn-outline.wpuf-btn-active { + --tw-border-opacity: 1; + border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-b1,oklch(var(--b1)/var(--tw-text-opacity))); +} +.wpuf-btn-outline.wpuf-btn-primary { + --tw-text-opacity: 1; + color: var(--fallback-p,oklch(var(--p)/var(--tw-text-opacity))); +} +.wpuf-btn-outline.wpuf-btn-primary.wpuf-btn-active { + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); +} +.wpuf-btn-outline.wpuf-btn-secondary { + --tw-text-opacity: 1; + color: var(--fallback-s,oklch(var(--s)/var(--tw-text-opacity))); +} +.wpuf-btn-outline.wpuf-btn-secondary.wpuf-btn-active { + --tw-text-opacity: 1; + color: var(--fallback-sc,oklch(var(--sc)/var(--tw-text-opacity))); +} +.wpuf-btn-outline.wpuf-btn-accent { + --tw-text-opacity: 1; + color: var(--fallback-a,oklch(var(--a)/var(--tw-text-opacity))); +} +.wpuf-btn-outline.wpuf-btn-accent.wpuf-btn-active { + --tw-text-opacity: 1; + color: var(--fallback-ac,oklch(var(--ac)/var(--tw-text-opacity))); +} +.wpuf-btn-outline.wpuf-btn-success { + --tw-text-opacity: 1; + color: var(--fallback-su,oklch(var(--su)/var(--tw-text-opacity))); +} +.wpuf-btn-outline.wpuf-btn-success.wpuf-btn-active { + --tw-text-opacity: 1; + color: var(--fallback-suc,oklch(var(--suc)/var(--tw-text-opacity))); +} +.wpuf-btn-outline.wpuf-btn-info { + --tw-text-opacity: 1; + color: var(--fallback-in,oklch(var(--in)/var(--tw-text-opacity))); +} +.wpuf-btn-outline.wpuf-btn-info.wpuf-btn-active { + --tw-text-opacity: 1; + color: var(--fallback-inc,oklch(var(--inc)/var(--tw-text-opacity))); +} +.wpuf-btn-outline.wpuf-btn-warning { + --tw-text-opacity: 1; + color: var(--fallback-wa,oklch(var(--wa)/var(--tw-text-opacity))); +} +.wpuf-btn-outline.wpuf-btn-warning.wpuf-btn-active { + --tw-text-opacity: 1; + color: var(--fallback-wac,oklch(var(--wac)/var(--tw-text-opacity))); +} +.wpuf-btn-outline.wpuf-btn-error { + --tw-text-opacity: 1; + color: var(--fallback-er,oklch(var(--er)/var(--tw-text-opacity))); +} +.wpuf-btn-outline.wpuf-btn-error.wpuf-btn-active { + --tw-text-opacity: 1; + color: var(--fallback-erc,oklch(var(--erc)/var(--tw-text-opacity))); +} +.wpuf-btn.wpuf-btn-disabled, + .wpuf-btn[disabled], + .wpuf-btn:disabled { + --tw-border-opacity: 0; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); + --tw-bg-opacity: 0.2; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --tw-text-opacity: 0.2; +} +.wpuf-btn:is(input[type="checkbox"]:checked), +.wpuf-btn:is(input[type="radio"]:checked) { + --tw-border-opacity: 1; + border-color: var(--fallback-p,oklch(var(--p)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); +} +.wpuf-btn:is(input[type="checkbox"]:checked):focus-visible, .wpuf-btn:is(input[type="radio"]:checked):focus-visible { + outline-color: var(--fallback-p,oklch(var(--p)/1)); +} +@keyframes button-pop { + + 0% { + transform: scale(var(--btn-focus-scale, 0.98)); + } + + 40% { + transform: scale(1.02); + } + + 100% { + transform: scale(1); + } +} +@keyframes checkmark { + + 0% { + background-position-y: 5px; + } + + 50% { + background-position-y: -2px; + } + + 100% { + background-position-y: 0; + } +} +.wpuf-dropdown.wpuf-dropdown-open .wpuf-dropdown-content, +.wpuf-dropdown:focus .wpuf-dropdown-content, +.wpuf-dropdown:focus-within .wpuf-dropdown-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)); +} +.wpuf-join > :where(*:not(:first-child)) { + margin-top: 0px; + margin-bottom: 0px; + margin-inline-start: -1px; +} +.wpuf-join > :where(*:not(:first-child)):is(.wpuf-btn) { + margin-inline-start: calc(var(--border-btn) * -1); +} +.wpuf-join-item:focus { + isolation: isolate; +} +.wpuf-loading { + pointer-events: none; + display: inline-block; + aspect-ratio: 1 / 1; + width: 1.5rem; + background-color: currentColor; + -webkit-mask-size: 100%; + mask-size: 100%; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-position: center; + mask-position: center; + -webkit-mask-image: url("data:image/svg+xml,%3Csvg width=%2724%27 height=%2724%27 stroke=%27%23000%27 viewBox=%270 0 24 24%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate%28360deg%29%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class=%27spinner_V8m1%27%3E%3Ccircle cx=%2712%27 cy=%2712%27 r=%279.5%27 fill=%27none%27 stroke-width=%273%27%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg width=%2724%27 height=%2724%27 stroke=%27%23000%27 viewBox=%270 0 24 24%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate%28360deg%29%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class=%27spinner_V8m1%27%3E%3Ccircle cx=%2712%27 cy=%2712%27 r=%279.5%27 fill=%27none%27 stroke-width=%273%27%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E"); +} +:where(.wpuf-menu li:empty) { + --tw-bg-opacity: 1; + background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity))); + opacity: 0.1; + margin: 0.5rem 1rem; + height: 1px; +} +.wpuf-menu :where(li ul):before { + position: absolute; + bottom: 0.75rem; + inset-inline-start: 0px; + top: 0.75rem; + width: 1px; + --tw-bg-opacity: 1; + background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity))); + opacity: 0.1; + content: ""; +} +.wpuf-menu :where(li:not(.wpuf-menu-title) > *:not(ul, details, .wpuf-menu-title, .wpuf-btn)), +.wpuf-menu :where(li:not(.wpuf-menu-title) > details > summary:not(.wpuf-menu-title)) { + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + border-radius: var(--rounded-btn, 0.5rem); + padding-left: 1rem; + padding-right: 1rem; + padding-top: 0.5rem; + padding-bottom: 0.5rem; + text-align: start; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); + transition-duration: 200ms; + text-wrap: balance; +} +:where(.wpuf-menu li:not(.wpuf-menu-title, .wpuf-disabled) > *:not(ul, details, .wpuf-menu-title)):not(summary, .wpuf-active, .wpuf-btn).wpuf-focus, :where(.wpuf-menu li:not(.wpuf-menu-title, .wpuf-disabled) > *:not(ul, details, .wpuf-menu-title)):not(summary, .wpuf-active, .wpuf-btn):focus, :where(.wpuf-menu li:not(.wpuf-menu-title, .wpuf-disabled) > *:not(ul, details, .wpuf-menu-title)):is(summary):not(.wpuf-active, .wpuf-btn):focus-visible, :where(.wpuf-menu li:not(.wpuf-menu-title, .wpuf-disabled) > details > summary:not(.wpuf-menu-title)):not(summary, .wpuf-active, .wpuf-btn).wpuf-focus, :where(.wpuf-menu li:not(.wpuf-menu-title, .wpuf-disabled) > details > summary:not(.wpuf-menu-title)):not(summary, .wpuf-active, .wpuf-btn):focus, :where(.wpuf-menu li:not(.wpuf-menu-title, .wpuf-disabled) > details > summary:not(.wpuf-menu-title)):is(summary):not(.wpuf-active, .wpuf-btn):focus-visible { + cursor: pointer; + background-color: var(--fallback-bc,oklch(var(--bc)/0.1)); + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + outline: 2px solid transparent; + outline-offset: 2px; +} +.wpuf-menu li > *:not(ul, .wpuf-menu-title, details, .wpuf-btn):active, +.wpuf-menu li > *:not(ul, .wpuf-menu-title, details, .wpuf-btn).wpuf-active, +.wpuf-menu li > details > summary:active { + --tw-bg-opacity: 1; + background-color: var(--fallback-n,oklch(var(--n)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-nc,oklch(var(--nc)/var(--tw-text-opacity))); +} +.wpuf-menu :where(li > details > summary)::-webkit-details-marker { + display: none; +} +.wpuf-menu :where(li > details > summary):after, +.wpuf-menu :where(li > .wpuf-menu-dropdown-toggle):after { + justify-self: end; + display: block; + margin-top: -0.5rem; + height: 0.5rem; + width: 0.5rem; + transform: rotate(45deg); + transition-property: transform, margin-top; + transition-duration: 0.3s; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + content: ""; + transform-origin: 75% 75%; + box-shadow: 2px 2px; + pointer-events: none; +} +.wpuf-menu :where(li > details[open] > summary):after, +.wpuf-menu :where(li > .wpuf-menu-dropdown-toggle.wpuf-menu-dropdown-show):after { + transform: rotate(225deg); + margin-top: 0; +} +.wpuf-menu-title { + padding-left: 1rem; + padding-right: 1rem; + padding-top: 0.5rem; + padding-bottom: 0.5rem; + font-size: 0.875rem; + line-height: 1.25rem; + font-weight: 700; + color: var(--fallback-bc,oklch(var(--bc)/0.4)); +} +.wpuf-modal:not(dialog:not(.wpuf-modal-open)), + .wpuf-modal::backdrop { + background-color: #0006; + animation: modal-pop 0.2s ease-out; +} +.wpuf-modal-open .wpuf-modal-box, +.wpuf-modal-toggle:checked + .wpuf-modal .wpuf-modal-box, +.wpuf-modal:target .wpuf-modal-box, +.wpuf-modal[open] .wpuf-modal-box { + --tw-translate-y: 0px; + --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)); +} +@keyframes modal-pop { + + 0% { + opacity: 0; + } +} +@keyframes progress-loading { + + 50% { + background-position-x: -115%; + } +} +.wpuf-radio:focus { + box-shadow: none; +} +.wpuf-radio:focus-visible { + outline-style: solid; + outline-width: 2px; + outline-offset: 2px; + outline-color: var(--fallback-bc,oklch(var(--bc)/1)); +} +.wpuf-radio:checked, + .wpuf-radio[aria-checked="true"] { + --tw-bg-opacity: 1; + background-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-bg-opacity))); + background-image: none; + animation: radiomark var(--animation-input, 0.2s) ease-out; + box-shadow: 0 0 0 4px var(--fallback-b1,oklch(var(--b1)/1)) inset, + 0 0 0 4px var(--fallback-b1,oklch(var(--b1)/1)) inset; +} +.wpuf-radio:disabled { + cursor: not-allowed; + opacity: 0.2; +} +@keyframes radiomark { + + 0% { + box-shadow: 0 0 0 12px var(--fallback-b1,oklch(var(--b1)/1)) inset, + 0 0 0 12px var(--fallback-b1,oklch(var(--b1)/1)) inset; + } + + 50% { + box-shadow: 0 0 0 3px var(--fallback-b1,oklch(var(--b1)/1)) inset, + 0 0 0 3px var(--fallback-b1,oklch(var(--b1)/1)) inset; + } + + 100% { + box-shadow: 0 0 0 4px var(--fallback-b1,oklch(var(--b1)/1)) inset, + 0 0 0 4px var(--fallback-b1,oklch(var(--b1)/1)) inset; + } +} +@keyframes rating-pop { + + 0% { + transform: translateY(-0.125em); + } + + 40% { + transform: translateY(-0.125em); + } + + 100% { + transform: translateY(0); + } +} +.wpuf-select:focus { + box-shadow: none; + border-color: var(--fallback-bc,oklch(var(--bc)/0.2)); + outline-style: solid; + outline-width: 2px; + outline-offset: 2px; + outline-color: var(--fallback-bc,oklch(var(--bc)/0.2)); +} +.wpuf-select-disabled, + .wpuf-select:disabled, + .wpuf-select[disabled] { + cursor: not-allowed; + --tw-border-opacity: 1; + border-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))); + --tw-bg-opacity: 1; + background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))); + color: var(--fallback-bc,oklch(var(--bc)/0.4)); +} +.wpuf-select-disabled::-moz-placeholder, .wpuf-select:disabled::-moz-placeholder, .wpuf-select[disabled]::-moz-placeholder { + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity))); + --tw-placeholder-opacity: 0.2; +} +.wpuf-select-disabled::placeholder, + .wpuf-select:disabled::placeholder, + .wpuf-select[disabled]::placeholder { + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-placeholder-opacity))); + --tw-placeholder-opacity: 0.2; +} +.wpuf-select-multiple, + .wpuf-select[multiple], + .wpuf-select[size].wpuf-select:not([size="1"]) { + background-image: none; + padding-right: 1rem; +} +[dir="rtl"] .wpuf-select { + background-position: calc(0% + 12px) calc(1px + 50%), + calc(0% + 16px) calc(1px + 50%); +} +@keyframes skeleton { + + from { + background-position: 150%; + } + + to { + background-position: -50%; + } +} +.wpuf-tabs-lifted > .wpuf-tab:focus-visible { + border-end-end-radius: 0; + border-end-start-radius: 0; +} +.wpuf-tab:is(.wpuf-tab-active, [aria-selected="true"]):not(.wpuf-tab-disabled):not([disabled]), .wpuf-tab:is(input:checked) { + border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity))); + --tw-border-opacity: 1; + --tw-text-opacity: 1; +} +.wpuf-tab:focus { + outline: 2px solid transparent; + outline-offset: 2px; +} +.wpuf-tab:focus-visible { + outline: 2px solid currentColor; + outline-offset: -5px; +} +.wpuf-tab-disabled, + .wpuf-tab[disabled] { + cursor: not-allowed; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + --tw-text-opacity: 0.2; +} +.wpuf-tabs-bordered > .wpuf-tab { + border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity))); + --tw-border-opacity: 0.2; + border-style: solid; + border-bottom-width: calc(var(--tab-border, 1px) + 1px); +} +.wpuf-tabs-lifted > .wpuf-tab { + border: var(--tab-border, 1px) solid transparent; + border-width: 0 0 var(--tab-border, 1px) 0; + border-start-start-radius: var(--tab-radius, 0.5rem); + border-start-end-radius: var(--tab-radius, 0.5rem); + border-bottom-color: var(--tab-border-color); + padding-inline-start: var(--tab-padding, 1rem); + padding-inline-end: var(--tab-padding, 1rem); + padding-top: var(--tab-border, 1px); +} +.wpuf-tabs-lifted > .wpuf-tab:is(.wpuf-tab-active, [aria-selected="true"]):not(.wpuf-tab-disabled):not([disabled]), .wpuf-tabs-lifted > .wpuf-tab:is(input:checked) { + background-color: var(--tab-bg); + border-width: var(--tab-border, 1px) var(--tab-border, 1px) 0 var(--tab-border, 1px); + border-inline-start-color: var(--tab-border-color); + border-inline-end-color: var(--tab-border-color); + border-top-color: var(--tab-border-color); + padding-inline-start: calc(var(--tab-padding, 1rem) - var(--tab-border, 1px)); + padding-inline-end: calc(var(--tab-padding, 1rem) - var(--tab-border, 1px)); + padding-bottom: var(--tab-border, 1px); + padding-top: 0; +} +.wpuf-tabs-lifted > .wpuf-tab:is(.wpuf-tab-active, [aria-selected="true"]):not(.wpuf-tab-disabled):not([disabled]):before, .wpuf-tabs-lifted > .wpuf-tab:is(input:checked):before { + z-index: 1; + content: ""; + display: block; + position: absolute; + width: calc(100% + var(--tab-radius, 0.5rem) * 2); + height: var(--tab-radius, 0.5rem); + bottom: 0; + background-size: var(--tab-radius, 0.5rem); + background-position: top left, + top right; + background-repeat: no-repeat; + --tab-grad: calc(69% - var(--tab-border, 1px)); + --radius-start: radial-gradient( + circle at top left, + transparent var(--tab-grad), + var(--tab-border-color) calc(var(--tab-grad) + 0.25px), + var(--tab-border-color) calc(var(--tab-grad) + var(--tab-border, 1px)), + var(--tab-bg) calc(var(--tab-grad) + var(--tab-border, 1px) + 0.25px) + ); + --radius-end: radial-gradient( + circle at top right, + transparent var(--tab-grad), + var(--tab-border-color) calc(var(--tab-grad) + 0.25px), + var(--tab-border-color) calc(var(--tab-grad) + var(--tab-border, 1px)), + var(--tab-bg) calc(var(--tab-grad) + var(--tab-border, 1px) + 0.25px) + ); + background-image: var(--radius-start), var(--radius-end); +} +.wpuf-tabs-lifted > .wpuf-tab:is(.wpuf-tab-active, [aria-selected="true"]):not(.wpuf-tab-disabled):not([disabled]):first-child:before, .wpuf-tabs-lifted > .wpuf-tab:is(input:checked):first-child:before { + background-image: var(--radius-end); + background-position: top right; +} +[dir="rtl"] .wpuf-tabs-lifted > .wpuf-tab:is(.wpuf-tab-active, [aria-selected="true"]):not(.wpuf-tab-disabled):not([disabled]):first-child:before, [dir="rtl"] .wpuf-tabs-lifted > .wpuf-tab:is(input:checked):first-child:before { + background-image: var(--radius-start); + background-position: top left; +} +.wpuf-tabs-lifted > .wpuf-tab:is(.wpuf-tab-active, [aria-selected="true"]):not(.wpuf-tab-disabled):not([disabled]):last-child:before, .wpuf-tabs-lifted > .wpuf-tab:is(input:checked):last-child:before { + background-image: var(--radius-start); + background-position: top left; +} +[dir="rtl"] .wpuf-tabs-lifted > .wpuf-tab:is(.wpuf-tab-active, [aria-selected="true"]):not(.wpuf-tab-disabled):not([disabled]):last-child:before, [dir="rtl"] .wpuf-tabs-lifted > .wpuf-tab:is(input:checked):last-child:before { + background-image: var(--radius-end); + background-position: top right; +} +.wpuf-tabs-lifted + > :is(.wpuf-tab-active, [aria-selected="true"]):not(.wpuf-tab-disabled):not([disabled]) + + .wpuf-tabs-lifted + :is(.wpuf-tab-active, [aria-selected="true"]):not(.wpuf-tab-disabled):not([disabled]):before, .wpuf-tabs-lifted > .wpuf-tab:is(input:checked) + .wpuf-tabs-lifted .wpuf-tab:is(input:checked):before { + background-image: var(--radius-end); + background-position: top right; +} +.wpuf-tabs-boxed { + border-radius: var(--rounded-btn, 0.5rem); + --tw-bg-opacity: 1; + background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))); + padding: 0.25rem; +} +.wpuf-tabs-boxed .wpuf-tab { + border-radius: var(--rounded-btn, 0.5rem); +} +.wpuf-tabs-boxed :is(.wpuf-tab-active, [aria-selected="true"]):not(.wpuf-tab-disabled):not([disabled]), .wpuf-tabs-boxed :is(input:checked) { + --tw-bg-opacity: 1; + background-color: var(--fallback-p,oklch(var(--p)/var(--tw-bg-opacity))); + --tw-text-opacity: 1; + color: var(--fallback-pc,oklch(var(--pc)/var(--tw-text-opacity))); +} +.wpuf-table:where([dir="rtl"], [dir="rtl"] *) { + text-align: right; +} +.wpuf-table :where(th, td) { + padding-left: 1rem; + padding-right: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.75rem; + vertical-align: middle; +} +.wpuf-table tr.wpuf-active, + .wpuf-table tr.wpuf-active:nth-child(even), + .wpuf-table-zebra tbody tr:nth-child(even) { + --tw-bg-opacity: 1; + background-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-bg-opacity))); +} +.wpuf-table-zebra tr.wpuf-active, + .wpuf-table-zebra tr.wpuf-active:nth-child(even), + .wpuf-table-zebra-zebra tbody tr:nth-child(even) { + --tw-bg-opacity: 1; + background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity))); +} +.wpuf-table :where(thead tr, tbody tr:not(:last-child), tbody tr:first-child:last-child) { + border-bottom-width: 1px; + --tw-border-opacity: 1; + border-bottom-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))); +} +.wpuf-table :where(thead, tfoot) { + white-space: nowrap; + font-size: 0.75rem; + line-height: 1rem; + font-weight: 700; + color: var(--fallback-bc,oklch(var(--bc)/0.6)); +} +.wpuf-table :where(tfoot) { + border-top-width: 1px; + --tw-border-opacity: 1; + border-top-color: var(--fallback-b2,oklch(var(--b2)/var(--tw-border-opacity))); +} +.wpuf-toast > * { + animation: toast-pop 0.25s ease-out; +} +@keyframes toast-pop { + + 0% { + transform: scale(0.9); + opacity: 0; + } + + 100% { + transform: scale(1); + opacity: 1; + } +} +[dir="rtl"] .wpuf-toggle { + --handleoffsetcalculator: calc(var(--handleoffset) * 1); +} +.wpuf-toggle:focus-visible { + outline-style: solid; + outline-width: 2px; + outline-offset: 2px; + outline-color: var(--fallback-bc,oklch(var(--bc)/0.2)); +} +.wpuf-toggle:hover { + background-color: currentColor; +} +.wpuf-toggle:checked, + .wpuf-toggle[aria-checked="true"] { + background-image: none; + --handleoffsetcalculator: var(--handleoffset); + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); +} +[dir="rtl"] .wpuf-toggle:checked, [dir="rtl"] .wpuf-toggle[aria-checked="true"] { + --handleoffsetcalculator: calc(var(--handleoffset) * -1); +} +.wpuf-toggle:indeterminate { + --tw-text-opacity: 1; + color: var(--fallback-bc,oklch(var(--bc)/var(--tw-text-opacity))); + box-shadow: calc(var(--handleoffset) / 2) 0 0 2px var(--tglbg) inset, + calc(var(--handleoffset) / -2) 0 0 2px var(--tglbg) inset, + 0 0 0 2px var(--tglbg) inset; +} +[dir="rtl"] .wpuf-toggle:indeterminate { + box-shadow: calc(var(--handleoffset) / 2) 0 0 2px var(--tglbg) inset, + calc(var(--handleoffset) / -2) 0 0 2px var(--tglbg) inset, + 0 0 0 2px var(--tglbg) inset; +} +.wpuf-toggle:disabled { + cursor: not-allowed; + --tw-border-opacity: 1; + border-color: var(--fallback-bc,oklch(var(--bc)/var(--tw-border-opacity))); + background-color: transparent; + opacity: 0.3; + --togglehandleborder: 0 0 0 3px var(--fallback-bc,oklch(var(--bc)/1)) inset, + var(--handleoffsetcalculator) 0 0 3px var(--fallback-bc,oklch(var(--bc)/1)) inset; +} +.wpuf-glass, + .wpuf-glass.wpuf-btn-active { + border: none; + backdrop-filter: blur(var(--glass-blur, 40px)); + background-color: transparent; + background-image: linear-gradient( + 135deg, + rgb(255 255 255 / var(--glass-opacity, 30%)) 0%, + rgb(0 0 0 / 0%) 100% + ), + linear-gradient( + var(--glass-reflex-degree, 100deg), + rgb(255 255 255 / var(--glass-reflex-opacity, 10%)) 25%, + rgb(0 0 0 / 0%) 25% + ); + box-shadow: 0 0 0 1px rgb(255 255 255 / var(--glass-border-opacity, 10%)) inset, + 0 0 0 2px rgb(0 0 0 / 5%); + text-shadow: 0 1px rgb(0 0 0 / var(--glass-text-shadow-opacity, 5%)); +} +@media (hover: hover) { + + .wpuf-glass.wpuf-btn-active { + border: none; + backdrop-filter: blur(var(--glass-blur, 40px)); + background-color: transparent; + background-image: linear-gradient( + 135deg, + rgb(255 255 255 / var(--glass-opacity, 30%)) 0%, + rgb(0 0 0 / 0%) 100% + ), + linear-gradient( + var(--glass-reflex-degree, 100deg), + rgb(255 255 255 / var(--glass-reflex-opacity, 10%)) 25%, + rgb(0 0 0 / 0%) 25% + ); + box-shadow: 0 0 0 1px rgb(255 255 255 / var(--glass-border-opacity, 10%)) inset, + 0 0 0 2px rgb(0 0 0 / 5%); + text-shadow: 0 1px rgb(0 0 0 / var(--glass-text-shadow-opacity, 5%)); + } +} +.wpuf-btm-nav-xs { + height: 2.5rem; +} +.wpuf-btm-nav-xs > *:where(.wpuf-active) { + border-top-width: 1px; +} +.wpuf-btm-nav-xs .wpuf-btm-nav-label { + font-size: 0.75rem; + line-height: 1rem; +} +.wpuf-btm-nav-sm { + height: 3rem; +} +.wpuf-btm-nav-sm > *:where(.wpuf-active) { + border-top-width: 2px; +} +.wpuf-btm-nav-sm .wpuf-btm-nav-label { + font-size: 0.75rem; + line-height: 1rem; +} +.wpuf-btm-nav-md { + height: 4rem; +} +.wpuf-btm-nav-md > *:where(.wpuf-active) { + border-top-width: 2px; +} +.wpuf-btm-nav-md .wpuf-btm-nav-label { + font-size: 0.875rem; + line-height: 1.25rem; +} +.wpuf-btm-nav-lg { + height: 5rem; +} +.wpuf-btm-nav-lg > *:where(.wpuf-active) { + border-top-width: 4px; +} +.wpuf-btm-nav-lg .wpuf-btm-nav-label { + font-size: 1rem; + line-height: 1.5rem; +} +.wpuf-join.wpuf-join-vertical { + flex-direction: column; +} +.wpuf-join.wpuf-join-vertical .wpuf-join-item:first-child:not(:last-child), + .wpuf-join.wpuf-join-vertical *:first-child:not(:last-child) .wpuf-join-item { + border-end-start-radius: 0; + border-end-end-radius: 0; + border-start-start-radius: inherit; + border-start-end-radius: inherit; +} +.wpuf-join.wpuf-join-vertical .wpuf-join-item:last-child:not(:first-child), + .wpuf-join.wpuf-join-vertical *:last-child:not(:first-child) .wpuf-join-item { + border-start-start-radius: 0; + border-start-end-radius: 0; + border-end-start-radius: inherit; + border-end-end-radius: inherit; +} +.wpuf-join.wpuf-join-horizontal { + flex-direction: row; +} +.wpuf-join.wpuf-join-horizontal .wpuf-join-item:first-child:not(:last-child), + .wpuf-join.wpuf-join-horizontal *:first-child:not(:last-child) .wpuf-join-item { + border-end-end-radius: 0; + border-start-end-radius: 0; + border-end-start-radius: inherit; + border-start-start-radius: inherit; +} +.wpuf-join.wpuf-join-horizontal .wpuf-join-item:last-child:not(:first-child), + .wpuf-join.wpuf-join-horizontal *:last-child:not(:first-child) .wpuf-join-item { + border-end-start-radius: 0; + border-start-start-radius: 0; + border-end-end-radius: inherit; + border-start-end-radius: inherit; +} +.wpuf-modal-top { + place-items: start; +} +.wpuf-modal-middle { + place-items: center; +} +.wpuf-modal-bottom { + place-items: end; +} +.wpuf-tabs-md :where(.wpuf-tab) { + height: 2rem; + font-size: 0.875rem; + line-height: 1.25rem; + line-height: 2; + --tab-padding: 1rem; +} +.wpuf-tabs-lg :where(.wpuf-tab) { + height: 3rem; + font-size: 1.125rem; + line-height: 1.75rem; + line-height: 2; + --tab-padding: 1.25rem; +} +.wpuf-tabs-sm :where(.wpuf-tab) { + height: 1.5rem; + font-size: 0.875rem; + line-height: .75rem; + --tab-padding: 0.75rem; +} +.wpuf-tabs-xs :where(.wpuf-tab) { + height: 1.25rem; + font-size: 0.75rem; + line-height: .75rem; + --tab-padding: 0.5rem; +} +:where(.wpuf-toast) { + bottom: 0px; + inset-inline-end: 0px; + inset-inline-start: auto; + top: auto; + --tw-translate-x: 0px; + --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)); +} +.wpuf-toast:where(.wpuf-toast-start) { + inset-inline-end: auto; + inset-inline-start: 0px; + --tw-translate-x: 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)); +} +.wpuf-toast:where(.wpuf-toast-center) { + inset-inline-end: 50%; + inset-inline-start: 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)); +} +.wpuf-toast:where(.wpuf-toast-center):where([dir="rtl"], [dir="rtl"] *) { + --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)); +} +.wpuf-toast:where(.wpuf-toast-end) { + inset-inline-end: 0px; + inset-inline-start: auto; + --tw-translate-x: 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)); +} +.wpuf-toast:where(.wpuf-toast-bottom) { + bottom: 0px; + top: auto; + --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)); +} +.wpuf-toast:where(.wpuf-toast-middle) { + bottom: auto; + top: 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)); +} +.wpuf-toast:where(.wpuf-toast-top) { + bottom: auto; + top: 0px; + --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)); +} +.wpuf-tooltip { + position: relative; + display: inline-block; + --tooltip-offset: calc(100% + 1px + var(--tooltip-tail, 0px)); +} +.wpuf-tooltip:before { + position: absolute; + pointer-events: none; + z-index: 1; + content: var(--tw-content); + --tw-content: attr(data-tip); +} +.wpuf-tooltip:before, .wpuf-tooltip-top:before { + transform: translateX(-50%); + top: auto; + left: 50%; + right: auto; + bottom: var(--tooltip-offset); +} +.wpuf-avatar.wpuf-online:before { + content: ""; + position: absolute; + z-index: 10; + display: block; + border-radius: 9999px; + --tw-bg-opacity: 1; + background-color: var(--fallback-su,oklch(var(--su)/var(--tw-bg-opacity))); + outline-style: solid; + outline-width: 2px; + outline-color: var(--fallback-b1,oklch(var(--b1)/1)); + width: 15%; + height: 15%; + top: 7%; + right: 7%; +} +.wpuf-avatar.wpuf-offline:before { + content: ""; + position: absolute; + z-index: 10; + display: block; + border-radius: 9999px; + --tw-bg-opacity: 1; + background-color: var(--fallback-b3,oklch(var(--b3)/var(--tw-bg-opacity))); + outline-style: solid; + outline-width: 2px; + outline-color: var(--fallback-b1,oklch(var(--b1)/1)); + width: 15%; + height: 15%; + top: 7%; + right: 7%; +} +.wpuf-join.wpuf-join-vertical > :where(*:not(:first-child)) { + margin-left: 0px; + margin-right: 0px; + margin-top: -1px; +} +.wpuf-join.wpuf-join-vertical > :where(*:not(:first-child)):is(.wpuf-btn) { + margin-top: calc(var(--border-btn) * -1); +} +.wpuf-join.wpuf-join-horizontal > :where(*:not(:first-child)) { + margin-top: 0px; + margin-bottom: 0px; + margin-inline-start: -1px; +} +.wpuf-join.wpuf-join-horizontal > :where(*:not(:first-child)):is(.wpuf-btn) { + margin-inline-start: calc(var(--border-btn) * -1); +} +.wpuf-menu-xs :where(li:not(.wpuf-menu-title) > *:not(ul, details, .wpuf-menu-title)), .wpuf-menu-xs :where(li:not(.wpuf-menu-title) > details > summary:not(.wpuf-menu-title)) { + border-radius: 0.25rem; + padding-left: 0.5rem; + padding-right: 0.5rem; + padding-top: 0.25rem; + padding-bottom: 0.25rem; + font-size: 0.75rem; + line-height: 1rem; +} +.wpuf-menu-xs .wpuf-menu-title { + padding-left: 0.5rem; + padding-right: 0.5rem; + padding-top: 0.25rem; + padding-bottom: 0.25rem; +} +.wpuf-menu-sm :where(li:not(.wpuf-menu-title) > *:not(ul, details, .wpuf-menu-title)), .wpuf-menu-sm :where(li:not(.wpuf-menu-title) > details > summary:not(.wpuf-menu-title)) { + border-radius: var(--rounded-btn, 0.5rem); + padding-left: 0.75rem; + padding-right: 0.75rem; + padding-top: 0.25rem; + padding-bottom: 0.25rem; + font-size: 0.875rem; + line-height: 1.25rem; +} +.wpuf-menu-sm .wpuf-menu-title { + padding-left: 0.75rem; + padding-right: 0.75rem; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +.wpuf-menu-md :where(li:not(.wpuf-menu-title) > *:not(ul, details, .wpuf-menu-title)), .wpuf-menu-md :where(li:not(.wpuf-menu-title) > details > summary:not(.wpuf-menu-title)) { + border-radius: var(--rounded-btn, 0.5rem); + padding-left: 1rem; + padding-right: 1rem; + padding-top: 0.5rem; + padding-bottom: 0.5rem; + font-size: 0.875rem; + line-height: 1.25rem; +} +.wpuf-menu-md .wpuf-menu-title { + padding-left: 1rem; + padding-right: 1rem; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +.wpuf-menu-lg :where(li:not(.wpuf-menu-title) > *:not(ul, details, .wpuf-menu-title)), .wpuf-menu-lg :where(li:not(.wpuf-menu-title) > details > summary:not(.wpuf-menu-title)) { + border-radius: var(--rounded-btn, 0.5rem); + padding-left: 1.5rem; + padding-right: 1.5rem; + padding-top: 0.75rem; + padding-bottom: 0.75rem; + font-size: 1.125rem; + line-height: 1.75rem; +} +.wpuf-menu-lg .wpuf-menu-title { + padding-left: 1.5rem; + padding-right: 1.5rem; + padding-top: 0.75rem; + padding-bottom: 0.75rem; +} +.wpuf-modal-top :where(.wpuf-modal-box) { + width: 100%; + max-width: none; + --tw-translate-y: -2.5rem; + --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)); + border-bottom-right-radius: var(--rounded-box, 1rem); + border-bottom-left-radius: var(--rounded-box, 1rem); + border-top-left-radius: 0px; + border-top-right-radius: 0px; +} +.wpuf-modal-middle :where(.wpuf-modal-box) { + width: 91.666667%; + max-width: 32rem; + --tw-translate-y: 0px; + --tw-scale-x: .9; + --tw-scale-y: .9; + 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)); + border-top-left-radius: var(--rounded-box, 1rem); + border-top-right-radius: var(--rounded-box, 1rem); + border-bottom-right-radius: var(--rounded-box, 1rem); + border-bottom-left-radius: var(--rounded-box, 1rem); +} +.wpuf-modal-bottom :where(.wpuf-modal-box) { + width: 100%; + max-width: none; + --tw-translate-y: 2.5rem; + --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)); + border-top-left-radius: var(--rounded-box, 1rem); + border-top-right-radius: var(--rounded-box, 1rem); + border-bottom-right-radius: 0px; + border-bottom-left-radius: 0px; +} +.wpuf-tooltip { + position: relative; + display: inline-block; + text-align: center; + --tooltip-tail: 0.1875rem; + --tooltip-color: var(--fallback-n,oklch(var(--n)/1)); + --tooltip-text-color: var(--fallback-nc,oklch(var(--nc)/1)); + --tooltip-tail-offset: calc(100% + 0.0625rem - var(--tooltip-tail)); +} +.wpuf-tooltip:before, +.wpuf-tooltip:after { + opacity: 0; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-delay: 100ms; + transition-duration: 200ms; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); +} +.wpuf-tooltip:after { + position: absolute; + content: ""; + border-style: solid; + border-width: var(--tooltip-tail, 0); + width: 0; + height: 0; + display: block; +} +.wpuf-tooltip:before { + max-width: 20rem; + white-space: normal; + border-radius: 0.25rem; + padding-left: 0.5rem; + padding-right: 0.5rem; + padding-top: 0.25rem; + padding-bottom: 0.25rem; + font-size: 0.875rem; + line-height: 1.25rem; + background-color: var(--tooltip-color); + color: var(--tooltip-text-color); + width: -moz-max-content; + width: max-content; +} +.wpuf-tooltip.wpuf-tooltip-open:before { + opacity: 1; + transition-delay: 75ms; +} +.wpuf-tooltip.wpuf-tooltip-open:after { + opacity: 1; + transition-delay: 75ms; +} +.wpuf-tooltip:hover:before { + opacity: 1; + transition-delay: 75ms; +} +.wpuf-tooltip:hover:after { + opacity: 1; + transition-delay: 75ms; +} +.wpuf-tooltip:has(:focus-visible):after, +.wpuf-tooltip:has(:focus-visible):before { + opacity: 1; + transition-delay: 75ms; +} +.wpuf-tooltip:not([data-tip]):hover:before, +.wpuf-tooltip:not([data-tip]):hover:after { + visibility: hidden; + opacity: 0; +} +.wpuf-tooltip:after, .wpuf-tooltip-top:after { + transform: translateX(-50%); + border-color: var(--tooltip-color) transparent transparent transparent; + top: auto; + left: 50%; + right: auto; + bottom: var(--tooltip-tail-offset); +} +.wpuf-btn-primary { + border-radius: 0.375rem; + --tw-bg-opacity: 1; + background-color: rgb(5 150 105 / var(--tw-bg-opacity)); + padding-left: 1rem; + padding-right: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.75rem; + font-size: 0.875rem; + line-height: 1.25rem; + font-weight: 600; + --tw-text-opacity: 1 !important; + color: rgb(255 255 255 / var(--tw-text-opacity)) !important; +} +.wpuf-btn-primary:hover { + --tw-bg-opacity: 1; + background-color: rgb(4 120 87 / var(--tw-bg-opacity)); + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); +} +.wpuf-btn-primary:focus { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); + --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); +} +.wpuf-btn-white { + border-radius: 0.375rem; + border-width: 1px; + --tw-border-opacity: 1; + border-color: rgb(209 213 219 / var(--tw-border-opacity)); + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)); + padding-left: 1rem; + padding-right: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.75rem; + font-size: 0.875rem; + line-height: 1.25rem; + font-weight: 500; + --tw-text-opacity: 1; + color: rgb(55 65 81 / var(--tw-text-opacity)); +} +.wpuf-btn-white:hover { + --tw-bg-opacity: 1; + background-color: rgb(243 244 246 / var(--tw-bg-opacity)); +} +.wpuf-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; +} +.wpuf-pointer-events-none { + pointer-events: none; +} +.\!wpuf-static { + position: static !important; +} +.wpuf-fixed { + position: fixed; +} +.wpuf-absolute { + position: absolute; +} +.\!wpuf-relative { + position: relative !important; +} +.wpuf-relative { + position: relative; +} +.wpuf-sticky { + position: sticky; +} +.wpuf-inset-0 { + inset: 0px; +} +.wpuf-inset-y-0 { + top: 0px; + bottom: 0px; +} +.\!wpuf-right-\[-4rem\] { + right: -4rem !important; +} +.\!wpuf-top-8 { + top: 2rem !important; +} +.wpuf--left-20 { + left: -5rem; +} +.wpuf--right-px { + right: -1px; +} +.wpuf-bottom-0 { + bottom: 0px; +} +.wpuf-bottom-24 { + bottom: 6rem; +} +.wpuf-bottom-3 { + bottom: 0.75rem; +} +.wpuf-bottom-full { + bottom: 100%; +} +.wpuf-left-0 { + left: 0px; +} +.wpuf-left-1 { + left: 0.25rem; +} +.wpuf-left-1\/2 { + left: 50%; +} +.wpuf-left-2 { + left: 0.5rem; +} +.wpuf-left-\[-2\%\] { + left: -2%; +} +.wpuf-left-\[-20px\] { + left: -20px; +} +.wpuf-left-\[-35px\] { + left: -35px; +} +.wpuf-left-\[50\%\] { + left: 50%; +} +.wpuf-left-\[calc\(50\%-5rem\)\] { + left: calc(50% - 5rem); +} +.wpuf-right-0 { + right: 0px; +} +.wpuf-right-2 { + right: 0.5rem; +} +.wpuf-right-3 { + right: 0.75rem; +} +.wpuf-right-4 { + right: 1rem; +} +.wpuf-right-6 { + right: 1.5rem; +} +.wpuf-right-8 { + right: 2rem; +} +.wpuf-right-\[12\%\] { + right: 12%; +} +.wpuf-top-0 { + top: 0px; +} +.wpuf-top-1 { + top: 0.25rem; +} +.wpuf-top-1\/2 { + top: 50%; +} +.wpuf-top-1\/3 { + top: 33.333333%; +} +.wpuf-top-2 { + top: 0.5rem; +} +.wpuf-top-20 { + top: 5rem; +} +.wpuf-top-3 { + top: 0.75rem; +} +.wpuf-top-4 { + top: 1rem; +} +.wpuf-top-6 { + top: 1.5rem; +} +.wpuf-top-8 { + top: 2rem; +} +.wpuf-top-\[-40\%\] { + top: -40%; +} +.wpuf-top-\[50\%\] { + top: 50%; +} +.wpuf-top-\[7\%\] { + top: 7%; +} +.wpuf-top-\[93px\] { + top: 93px; +} +.wpuf-z-10 { + z-index: 10; +} +.wpuf-z-20 { + z-index: 20; +} +.wpuf-z-30 { + z-index: 30; +} +.wpuf-z-40 { + z-index: 40; +} +.wpuf-z-50 { + z-index: 50; +} +.wpuf-z-\[1000000\] { + z-index: 1000000; +} +.wpuf-z-\[1\] { + z-index: 1; +} +.wpuf-z-\[999998\] { + z-index: 999998; +} +.wpuf-z-\[999999\] { + z-index: 999999; +} +.\!wpuf-col-span-3 { + grid-column: span 3 / span 3 !important; +} +.\!wpuf-col-span-6 { + grid-column: span 6 / span 6 !important; +} +.wpuf-col-span-2 { + grid-column: span 2 / span 2; +} +.\!wpuf--m-4 { + margin: -1rem !important; +} +.\!wpuf-m-0 { + margin: 0px !important; +} +.wpuf-m-0 { + margin: 0px; +} +.wpuf-m-1 { + margin: 0.25rem; +} +.wpuf-m-2 { + margin: 0.5rem; +} +.wpuf-m-4 { + margin: 1rem; +} +.wpuf-m-8 { + margin: 2rem; +} +.\!wpuf-mx-auto { + margin-left: auto !important; + margin-right: auto !important; +} +.\!wpuf-my-8 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; +} +.wpuf--mx-1 { + margin-left: -0.25rem; + margin-right: -0.25rem; +} +.wpuf--mx-1\.5 { + margin-left: -0.375rem; + margin-right: -0.375rem; +} +.wpuf--mx-4 { + margin-left: -1rem; + margin-right: -1rem; +} +.wpuf--mx-8 { + margin-left: -2rem; + margin-right: -2rem; +} +.wpuf--my-1 { + margin-top: -0.25rem; + margin-bottom: -0.25rem; +} +.wpuf--my-1\.5 { + margin-top: -0.375rem; + margin-bottom: -0.375rem; +} +.wpuf--my-2 { + margin-top: -0.5rem; + margin-bottom: -0.5rem; +} +.wpuf-mx-1 { + margin-left: 0.25rem; + margin-right: 0.25rem; +} +.wpuf-mx-10 { + margin-left: 2.5rem; + margin-right: 2.5rem; +} +.wpuf-mx-2 { + margin-left: 0.5rem; + margin-right: 0.5rem; +} +.wpuf-mx-3 { + margin-left: 0.75rem; + margin-right: 0.75rem; +} +.wpuf-mx-4 { + margin-left: 1rem; + margin-right: 1rem; +} +.wpuf-mx-5 { + margin-left: 1.25rem; + margin-right: 1.25rem; +} +.wpuf-mx-auto { + margin-left: auto; + margin-right: auto; +} +.wpuf-my-0 { + margin-top: 0px; + margin-bottom: 0px; +} +.wpuf-my-1 { + margin-top: 0.25rem; + margin-bottom: 0.25rem; +} +.wpuf-my-10 { + margin-top: 2.5rem; + margin-bottom: 2.5rem; +} +.wpuf-my-2 { + margin-top: 0.5rem; + margin-bottom: 0.5rem; +} +.wpuf-my-8 { + margin-top: 2rem; + margin-bottom: 2rem; +} +.\!wpuf--mb-\[30px\] { + margin-bottom: -30px !important; +} +.\!wpuf-mb-0 { + margin-bottom: 0px !important; +} +.\!wpuf-mb-0\.5 { + margin-bottom: 0.125rem !important; +} +.\!wpuf-mb-1 { + margin-bottom: 0.25rem !important; +} +.\!wpuf-mb-12 { + margin-bottom: 3rem !important; +} +.\!wpuf-mb-2 { + margin-bottom: 0.5rem !important; +} +.\!wpuf-mb-4 { + margin-bottom: 1rem !important; +} +.\!wpuf-mb-5 { + margin-bottom: 1.25rem !important; +} +.\!wpuf-mb-6 { + margin-bottom: 1.5rem !important; +} +.\!wpuf-mb-8 { + margin-bottom: 2rem !important; +} +.\!wpuf-ml-0 { + margin-left: 0px !important; +} +.\!wpuf-ml-1 { + margin-left: 0.25rem !important; +} +.\!wpuf-ml-2 { + margin-left: 0.5rem !important; +} +.\!wpuf-ml-6 { + margin-left: 1.5rem !important; +} +.\!wpuf-ml-\[-20px\] { + margin-left: -20px !important; +} +.\!wpuf-mr-1 { + margin-right: 0.25rem !important; +} +.\!wpuf-mr-10 { + margin-right: 2.5rem !important; +} +.\!wpuf-mr-2 { + margin-right: 0.5rem !important; +} +.\!wpuf-mt-0 { + margin-top: 0px !important; +} +.\!wpuf-mt-10 { + margin-top: 2.5rem !important; +} +.\!wpuf-mt-2 { + margin-top: 0.5rem !important; +} +.\!wpuf-mt-2\.5 { + margin-top: 0.625rem !important; +} +.\!wpuf-mt-3 { + margin-top: 0.75rem !important; +} +.\!wpuf-mt-4 { + margin-top: 1rem !important; +} +.\!wpuf-mt-6 { + margin-top: 1.5rem !important; +} +.\!wpuf-mt-8 { + margin-top: 2rem !important; +} +.\!wpuf-mt-\[\.5px\] { + margin-top: .5px !important; +} +.wpuf--mb-px { + margin-bottom: -1px; +} +.wpuf--ml-1 { + margin-left: -0.25rem; +} +.wpuf--ml-3 { + margin-left: -0.75rem; +} +.wpuf--mr-3 { + margin-right: -0.75rem; +} +.wpuf--mt-4 { + margin-top: -1rem; +} +.wpuf--mt-6 { + margin-top: -1.5rem; +} +.wpuf-mb-0 { + margin-bottom: 0px; +} +.wpuf-mb-1 { + margin-bottom: 0.25rem; +} +.wpuf-mb-10 { + margin-bottom: 2.5rem; +} +.wpuf-mb-12 { + margin-bottom: 3rem; +} +.wpuf-mb-14 { + margin-bottom: 3.5rem; +} +.wpuf-mb-16 { + margin-bottom: 4rem; +} +.wpuf-mb-2 { + margin-bottom: 0.5rem; +} +.wpuf-mb-3 { + margin-bottom: 0.75rem; +} +.wpuf-mb-32 { + margin-bottom: 8rem; +} +.wpuf-mb-4 { + margin-bottom: 1rem; +} +.wpuf-mb-5 { + margin-bottom: 1.25rem; +} +.wpuf-mb-6 { + margin-bottom: 1.5rem; +} +.wpuf-mb-8 { + margin-bottom: 2rem; +} +.wpuf-me-2 { + margin-inline-end: 0.5rem; +} +.wpuf-ml-1 { + margin-left: 0.25rem; +} +.wpuf-ml-10 { + margin-left: 2.5rem; +} +.wpuf-ml-2 { + margin-left: 0.5rem; +} +.wpuf-ml-3 { + margin-left: 0.75rem; +} +.wpuf-ml-4 { + margin-left: 1rem; +} +.wpuf-ml-6 { + margin-left: 1.5rem; +} +.wpuf-ml-8 { + margin-left: 2rem; +} +.wpuf-ml-\[-20px\] { + margin-left: -20px; +} +.wpuf-mr-1 { + margin-right: 0.25rem; +} +.wpuf-mr-2 { + margin-right: 0.5rem; +} +.wpuf-mr-3 { + margin-right: 0.75rem; +} +.wpuf-mr-4 { + margin-right: 1rem; +} +.wpuf-mr-6 { + margin-right: 1.5rem; +} +.wpuf-mr-8 { + margin-right: 2rem; +} +.wpuf-mr-9 { + margin-right: 2.25rem; +} +.wpuf-mr-\[10px\] { + margin-right: 10px; +} +.wpuf-mr-\[16px\] { + margin-right: 16px; +} +.wpuf-mt-0 { + margin-top: 0px; +} +.wpuf-mt-0\.5 { + margin-top: 0.125rem; +} +.wpuf-mt-1 { + margin-top: 0.25rem; +} +.wpuf-mt-10 { + margin-top: 2.5rem; +} +.wpuf-mt-12 { + margin-top: 3rem; +} +.wpuf-mt-16 { + margin-top: 4rem; +} +.wpuf-mt-2 { + margin-top: 0.5rem; +} +.wpuf-mt-20 { + margin-top: 5rem; +} +.wpuf-mt-3 { + margin-top: 0.75rem; +} +.wpuf-mt-4 { + margin-top: 1rem; +} +.wpuf-mt-5 { + margin-top: 1.25rem; +} +.wpuf-mt-6 { + margin-top: 1.5rem; +} +.wpuf-mt-7 { + margin-top: 1.75rem; +} +.wpuf-mt-8 { + margin-top: 2rem; +} +.wpuf-mt-9 { + margin-top: 2.25rem; +} +.wpuf-mt-\[-5px\] { + margin-top: -5px; +} +.wpuf-mt-\[1px\] { + margin-top: 1px; +} +.wpuf-mt-\[24px\] { + margin-top: 24px; +} +.wpuf-mt-\[25px\] { + margin-top: 25px; +} +.wpuf-mt-\[32px\] { + margin-top: 32px; +} +.wpuf-mt-\[40px\] { + margin-top: 40px; +} +.wpuf-block { + display: block; +} +.\!wpuf-inline-block { + display: inline-block !important; +} +.wpuf-inline-block { + display: inline-block; +} +.\!wpuf-flex { + display: flex !important; +} +.wpuf-flex { + display: flex; +} +.\!wpuf-inline-flex { + display: inline-flex !important; +} +.wpuf-inline-flex { + display: inline-flex; +} +.wpuf-table { + display: table; +} +.wpuf-flow-root { + display: flow-root; +} +.\!wpuf-grid { + display: grid !important; +} +.wpuf-grid { + display: grid; +} +.wpuf-hidden { + display: none; +} +.wpuf-aspect-square { + aspect-ratio: 1 / 1; +} +.wpuf-size-4 { + width: 1rem; + height: 1rem; +} +.wpuf-size-5 { + width: 1.25rem; + height: 1.25rem; +} +.wpuf-size-6 { + width: 1.5rem; + height: 1.5rem; +} +.\!wpuf-h-11 { + height: 2.75rem !important; +} +.\!wpuf-h-12 { + height: 3rem !important; +} +.\!wpuf-h-24 { + height: 6rem !important; +} +.\!wpuf-h-3 { + height: 0.75rem !important; +} +.\!wpuf-h-32 { + height: 8rem !important; +} +.\!wpuf-h-4 { + height: 1rem !important; +} +.\!wpuf-h-5 { + height: 1.25rem !important; +} +.\!wpuf-h-\[150vh\] { + height: 150vh !important; +} +.\!wpuf-h-\[42px\] { + height: 42px !important; +} +.\!wpuf-h-\[50px\] { + height: 50px !important; +} +.\!wpuf-h-\[58px\] { + height: 58px !important; +} +.\!wpuf-h-full { + height: 100% !important; +} +.wpuf-h-0 { + height: 0px; +} +.wpuf-h-0\.5 { + height: 0.125rem; +} +.wpuf-h-1 { + height: 0.25rem; +} +.wpuf-h-10 { + height: 2.5rem; +} +.wpuf-h-12 { + height: 3rem; +} +.wpuf-h-16 { + height: 4rem; +} +.wpuf-h-2 { + height: 0.5rem; +} +.wpuf-h-20 { + height: 5rem; +} +.wpuf-h-24 { + height: 6rem; +} +.wpuf-h-28 { + height: 7rem; +} +.wpuf-h-3 { + height: 0.75rem; +} +.wpuf-h-4 { + height: 1rem; +} +.wpuf-h-5 { + height: 1.25rem; +} +.wpuf-h-6 { + height: 1.5rem; +} +.wpuf-h-8 { + height: 2rem; +} +.wpuf-h-80 { + height: 20rem; +} +.wpuf-h-9 { + height: 2.25rem; +} +.wpuf-h-\[180\%\] { + height: 180%; +} +.wpuf-h-\[18px\] { + height: 18px; +} +.wpuf-h-\[440px\] { + height: 440px; +} +.wpuf-h-\[50px\] { + height: 50px; +} +.wpuf-h-\[50vh\] { + height: 50vh; +} +.wpuf-h-\[52px\] { + height: 52px; +} +.wpuf-h-\[68px\] { + height: 68px; +} +.wpuf-h-\[70vh\] { + height: 70vh; +} +.wpuf-h-\[80vh\] { + height: 80vh; +} +.wpuf-h-\[calc\(100vh-12rem\)\] { + height: calc(100vh - 12rem); +} +.wpuf-h-\[calc\(100vh-14rem\)\] { + height: calc(100vh - 14rem); +} +.wpuf-h-auto { + height: auto; +} +.wpuf-h-full { + height: 100%; +} +.wpuf-h-max { + height: -moz-max-content; + height: max-content; +} +.wpuf-h-min { + height: -moz-min-content; + height: min-content; +} +.wpuf-h-screen { + height: 100vh; +} +.wpuf-h-svh { + height: 100svh; +} +.wpuf-max-h-60 { + max-height: 15rem; +} +.wpuf-max-h-\[200px\] { + max-height: 200px; +} +.wpuf-max-h-\[calc\(100vh-300px\)\] { + max-height: calc(100vh - 300px); +} +.wpuf-max-h-screen { + max-height: 100vh; +} +.\!wpuf-min-h-\[300px\] { + min-height: 300px !important; +} +.\!wpuf-min-h-\[400px\] { + min-height: 400px !important; +} +.wpuf-min-h-16 { + min-height: 4rem; +} +.wpuf-min-h-\[100px\] { + min-height: 100px; +} +.wpuf-min-h-\[300px\] { + min-height: 300px; +} +.wpuf-min-h-\[350px\] { + min-height: 350px; +} +.wpuf-min-h-\[416px\] { + min-height: 416px; +} +.wpuf-min-h-\[672px\] { + min-height: 672px; +} +.wpuf-min-h-\[98px\] { + min-height: 98px; +} +.wpuf-min-h-\[calc\(100vh-5rem\)\] { + min-height: calc(100vh - 5rem); +} +.wpuf-min-h-full { + min-height: 100%; +} +.wpuf-min-h-max { + min-height: -moz-max-content; + min-height: max-content; +} +.wpuf-min-h-min { + min-height: -moz-min-content; + min-height: min-content; +} +.wpuf-min-h-screen { + min-height: 100vh; +} +.\!wpuf-w-11 { + width: 2.75rem !important; +} +.\!wpuf-w-12 { + width: 3rem !important; +} +.\!wpuf-w-24 { + width: 6rem !important; +} +.\!wpuf-w-3 { + width: 0.75rem !important; +} +.\!wpuf-w-32 { + width: 8rem !important; +} +.\!wpuf-w-4 { + width: 1rem !important; +} +.\!wpuf-w-5 { + width: 1.25rem !important; +} +.\!wpuf-w-\[calc\(100\%\+20px\)\] { + width: calc(100% + 20px) !important; +} +.\!wpuf-w-\[calc\(100\%\+40px\)\] { + width: calc(100% + 40px) !important; +} +.\!wpuf-w-full { + width: 100% !important; +} +.wpuf-w-1 { + width: 0.25rem; +} +.wpuf-w-1\/2 { + width: 50%; +} +.wpuf-w-1\/3 { + width: 33.333333%; +} +.wpuf-w-1\/4 { + width: 25%; +} +.wpuf-w-10 { + width: 2.5rem; +} +.wpuf-w-11 { + width: 2.75rem; +} +.wpuf-w-12 { + width: 3rem; +} +.wpuf-w-16 { + width: 4rem; +} +.wpuf-w-2 { + width: 0.5rem; +} +.wpuf-w-2\/3 { + width: 66.666667%; +} +.wpuf-w-2\/4 { + width: 50%; +} +.wpuf-w-2\/5 { + width: 40%; +} +.wpuf-w-20 { + width: 5rem; +} +.wpuf-w-24 { + width: 6rem; +} +.wpuf-w-28 { + width: 7rem; +} +.wpuf-w-3 { + width: 0.75rem; +} +.wpuf-w-3\/4 { + width: 75%; +} +.wpuf-w-32 { + width: 8rem; +} +.wpuf-w-4 { + width: 1rem; +} +.wpuf-w-40 { + width: 10rem; +} +.wpuf-w-44 { + width: 11rem; +} +.wpuf-w-48 { + width: 12rem; +} +.wpuf-w-5 { + width: 1.25rem; +} +.wpuf-w-52 { + width: 13rem; +} +.wpuf-w-6 { + width: 1.5rem; +} +.wpuf-w-64 { + width: 16rem; +} +.wpuf-w-8 { + width: 2rem; +} +.wpuf-w-80 { + width: 20rem; +} +.wpuf-w-9 { + width: 2.25rem; +} +.wpuf-w-\[101px\] { + width: 101px; +} +.wpuf-w-\[102px\] { + width: 102px; +} +.wpuf-w-\[103px\] { + width: 103px; +} +.wpuf-w-\[104\%\] { + width: 104%; +} +.wpuf-w-\[151px\] { + width: 151px; +} +.wpuf-w-\[18px\] { + width: 18px; +} +.wpuf-w-\[660px\] { + width: 660px; +} +.wpuf-w-\[calc\(100\%\+20px\)\] { + width: calc(100% + 20px); +} +.wpuf-w-\[calc\(100\%\+40px\)\] { + width: calc(100% + 40px); +} +.wpuf-w-\[calc\(100\%-2rem\)\] { + width: calc(100% - 2rem); +} +.wpuf-w-auto { + width: auto; +} +.wpuf-w-fit { + width: -moz-fit-content; + width: fit-content; +} +.wpuf-w-full { + width: 100%; +} +.wpuf-w-max { + width: -moz-max-content; + width: max-content; +} +.wpuf-w-screen { + width: 100vw; +} +.wpuf-min-w-0 { + min-width: 0px; +} +.wpuf-min-w-\[101px\] { + min-width: 101px; +} +.wpuf-min-w-\[120px\] { + min-width: 120px; +} +.wpuf-min-w-\[158px\] { + min-width: 158px; +} +.wpuf-min-w-full { + min-width: 100%; +} +.\!wpuf-max-w-2xl { + max-width: 42rem !important; +} +.\!wpuf-max-w-6xl { + max-width: 72rem !important; +} +.\!wpuf-max-w-\[383px\] { + max-width: 383px !important; +} +.\!wpuf-max-w-full { + max-width: 100% !important; +} +.\!wpuf-max-w-md { + max-width: 28rem !important; +} +.wpuf-max-w-3xl { + max-width: 48rem; +} +.wpuf-max-w-4xl { + max-width: 56rem; +} +.wpuf-max-w-5xl { + max-width: 64rem; +} +.wpuf-max-w-\[1400px\] { + max-width: 1400px; +} +.wpuf-max-w-\[720px\] { + max-width: 720px; +} +.wpuf-max-w-\[768px\] { + max-width: 768px; +} +.wpuf-max-w-full { + max-width: 100%; +} +.wpuf-max-w-lg { + max-width: 32rem; +} +.wpuf-max-w-md { + max-width: 28rem; +} +.wpuf-max-w-xl { + max-width: 36rem; +} +.wpuf-max-w-xs { + max-width: 20rem; +} +.wpuf-flex-1 { + flex: 1 1 0%; +} +.wpuf-flex-none { + flex: none; +} +.\!wpuf-flex-shrink-0 { + flex-shrink: 0 !important; +} +.wpuf-flex-shrink { + flex-shrink: 1; +} +.wpuf-flex-shrink-0 { + flex-shrink: 0; +} +.wpuf-shrink-0 { + flex-shrink: 0; +} +.wpuf-flex-grow { + flex-grow: 1; +} +.wpuf-grow { + flex-grow: 1; +} +.wpuf-basis-1 { + flex-basis: 0.25rem; +} +.wpuf-basis-1\/2 { + flex-basis: 50%; +} +.wpuf-basis-1\/5 { + flex-basis: 20%; +} +.wpuf-basis-4 { + flex-basis: 1rem; +} +.wpuf-basis-4\/5 { + flex-basis: 80%; +} +.wpuf-origin-top-right { + transform-origin: top right; +} +.-wpuf-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)); +} +.wpuf--translate-x-1 { + --tw-translate-x: -0.25rem; + 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)); +} +.wpuf--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)); +} +.wpuf--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)); +} +.wpuf--translate-y-1 { + --tw-translate-y: -0.25rem; + 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)); +} +.wpuf--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)); +} +.wpuf--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)); +} +.wpuf-translate-x-0 { + --tw-translate-x: 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)); +} +.wpuf-translate-x-5 { + --tw-translate-x: 1.25rem; + 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)); +} +.wpuf-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)); +} +.wpuf-rotate-6 { + --tw-rotate: 6deg; + 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)); +} +.wpuf-rotate-90 { + --tw-rotate: 90deg; + 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)); +} +.wpuf-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)); +} +.wpuf-scale-95 { + --tw-scale-x: .95; + --tw-scale-y: .95; + 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)); +} +.wpuf-scale-\[0\.98\] { + --tw-scale-x: 0.98; + --tw-scale-y: 0.98; + 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)); +} +.wpuf-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)); +} +@keyframes wpuf-pulse { + + 50% { + opacity: .5; + } +} +.wpuf-animate-pulse { + animation: wpuf-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; +} +@keyframes wpuf-spin { + + to { + transform: rotate(360deg); + } +} +.wpuf-animate-spin { + animation: wpuf-spin 1s linear infinite; +} +.\!wpuf-cursor-not-allowed { + cursor: not-allowed !important; +} +.\!wpuf-cursor-pointer { + cursor: pointer !important; +} +.wpuf-cursor-move { + cursor: move; +} +.wpuf-cursor-not-allowed { + cursor: not-allowed; +} +.wpuf-cursor-pointer { + cursor: pointer; +} +.wpuf-cursor-wait { + cursor: wait; +} +.wpuf-resize-none { + resize: none; +} +.wpuf-list-none { + list-style-type: none; +} +.\!wpuf-appearance-none { + -webkit-appearance: none !important; + -moz-appearance: none !important; + appearance: none !important; +} +.\!wpuf-grid-cols-1 { + grid-template-columns: repeat(1, minmax(0, 1fr)) !important; +} +.\!wpuf-grid-cols-12 { + grid-template-columns: repeat(12, minmax(0, 1fr)) !important; +} +.wpuf-grid-cols-1 { + grid-template-columns: repeat(1, minmax(0, 1fr)); +} +.wpuf-grid-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); +} +.wpuf-grid-cols-4 { + grid-template-columns: repeat(4, minmax(0, 1fr)); +} +.wpuf-flex-row { + flex-direction: row; +} +.wpuf-flex-row-reverse { + flex-direction: row-reverse; +} +.\!wpuf-flex-col { + flex-direction: column !important; +} +.wpuf-flex-col { + flex-direction: column; +} +.\!wpuf-flex-wrap { + flex-wrap: wrap !important; +} +.wpuf-flex-wrap { + flex-wrap: wrap; +} +.\!wpuf-items-start { + align-items: flex-start !important; +} +.wpuf-items-start { + align-items: flex-start; +} +.wpuf-items-end { + align-items: flex-end; +} +.\!wpuf-items-center { + align-items: center !important; +} +.wpuf-items-center { + align-items: center; +} +.wpuf-items-baseline { + align-items: baseline; +} +.\!wpuf-items-stretch { + align-items: stretch !important; +} +.wpuf-justify-start { + justify-content: flex-start; +} +.wpuf-justify-end { + justify-content: flex-end; +} +.\!wpuf-justify-center { + justify-content: center !important; +} +.wpuf-justify-center { + justify-content: center; +} +.\!wpuf-justify-between { + justify-content: space-between !important; +} +.wpuf-justify-between { + justify-content: space-between; +} +.wpuf-justify-around { + justify-content: space-around; +} +.wpuf-justify-evenly { + justify-content: space-evenly; +} +.wpuf-justify-items-center { + justify-items: center; +} +.\!wpuf-gap-1 { + gap: 0.25rem !important; +} +.\!wpuf-gap-2 { + gap: 0.5rem !important; +} +.\!wpuf-gap-2\.5 { + gap: 0.625rem !important; +} +.\!wpuf-gap-3 { + gap: 0.75rem !important; +} +.\!wpuf-gap-4 { + gap: 1rem !important; +} +.\!wpuf-gap-8 { + gap: 2rem !important; +} +.wpuf-gap-1 { + gap: 0.25rem; +} +.wpuf-gap-1\.5 { + gap: 0.375rem; +} +.wpuf-gap-12 { + gap: 3rem; +} +.wpuf-gap-2 { + gap: 0.5rem; +} +.wpuf-gap-2\.5 { + gap: 0.625rem; +} +.wpuf-gap-3 { + gap: 0.75rem; +} +.wpuf-gap-4 { + gap: 1rem; +} +.wpuf-gap-5 { + gap: 1.25rem; +} +.wpuf-gap-6 { + gap: 1.5rem; +} +.\!wpuf-gap-x-6 { + -moz-column-gap: 1.5rem !important; + column-gap: 1.5rem !important; +} +.\!wpuf-gap-y-6 { + row-gap: 1.5rem !important; +} +.wpuf-gap-x-1 { + -moz-column-gap: 0.25rem; + column-gap: 0.25rem; +} +.wpuf-gap-x-1\.5 { + -moz-column-gap: 0.375rem; + column-gap: 0.375rem; +} +.wpuf-gap-x-2 { + -moz-column-gap: 0.5rem; + column-gap: 0.5rem; +} +.wpuf-gap-x-3 { + -moz-column-gap: 0.75rem; + column-gap: 0.75rem; +} +.wpuf-gap-x-4 { + -moz-column-gap: 1rem; + column-gap: 1rem; +} +.wpuf-gap-x-6 { + -moz-column-gap: 1.5rem; + column-gap: 1.5rem; +} +.\!wpuf-space-y-4 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0 !important; + margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse))) !important; + margin-bottom: calc(1rem * var(--tw-space-y-reverse)) !important; +} +.wpuf--space-x-px > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse: 0; + margin-right: calc(-1px * var(--tw-space-x-reverse)); + margin-left: calc(-1px * calc(1 - var(--tw-space-x-reverse))); +} +.wpuf-space-x-1 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse: 0; + margin-right: calc(0.25rem * var(--tw-space-x-reverse)); + margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse))); +} +.wpuf-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))); +} +.wpuf-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))); +} +.wpuf-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)); +} +.wpuf-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)); +} +.wpuf-space-y-6 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(1.5rem * var(--tw-space-y-reverse)); +} +.wpuf-divide-y > :not([hidden]) ~ :not([hidden]) { + --tw-divide-y-reverse: 0; + border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); + border-bottom-width: calc(1px * var(--tw-divide-y-reverse)); +} +.wpuf-divide-gray-100 > :not([hidden]) ~ :not([hidden]) { + --tw-divide-opacity: 1; + border-color: rgb(243 244 246 / var(--tw-divide-opacity)); +} +.wpuf-divide-gray-200 > :not([hidden]) ~ :not([hidden]) { + --tw-divide-opacity: 1; + border-color: rgb(229 231 235 / var(--tw-divide-opacity)); +} +.wpuf-overflow-auto { + overflow: auto; +} +.\!wpuf-overflow-hidden { + overflow: hidden !important; +} +.wpuf-overflow-hidden { + overflow: hidden; +} +.wpuf-overflow-y-auto { + overflow-y: auto; +} +.wpuf-whitespace-nowrap { + white-space: nowrap; +} +.wpuf-text-wrap { + text-wrap: wrap; +} +.wpuf-text-pretty { + text-wrap: pretty; +} +.\!wpuf-rounded-\[6px\] { + border-radius: 6px !important; +} +.\!wpuf-rounded-full { + border-radius: 9999px !important; +} +.\!wpuf-rounded-lg { + border-radius: 0.5rem !important; +} +.\!wpuf-rounded-md { + border-radius: 0.375rem !important; +} +.\!wpuf-rounded-xl { + border-radius: 0.75rem !important; +} +.wpuf-rounded { + border-radius: 0.25rem; +} +.wpuf-rounded-2xl { + border-radius: 1rem; +} +.wpuf-rounded-3xl { + border-radius: 1.5rem; +} +.wpuf-rounded-\[10px\] { + border-radius: 10px; +} +.wpuf-rounded-\[4px\] { + border-radius: 4px; +} +.wpuf-rounded-\[5px\] { + border-radius: 5px; +} +.wpuf-rounded-\[6px\] { + border-radius: 6px; +} +.wpuf-rounded-\[8px\] { + border-radius: 8px; +} +.wpuf-rounded-full { + border-radius: 9999px; +} +.wpuf-rounded-lg { + border-radius: 0.5rem; +} +.wpuf-rounded-md { + border-radius: 0.375rem; +} +.wpuf-rounded-none { + border-radius: 0px; +} +.wpuf-rounded-xl { + border-radius: 0.75rem; +} +.wpuf-rounded-b-lg { + border-bottom-right-radius: 0.5rem; + border-bottom-left-radius: 0.5rem; +} +.wpuf-rounded-b-md { + border-bottom-right-radius: 0.375rem; + border-bottom-left-radius: 0.375rem; +} +.wpuf-rounded-b-xl { + border-bottom-right-radius: 0.75rem; + border-bottom-left-radius: 0.75rem; +} +.wpuf-rounded-l-md { + border-top-left-radius: 0.375rem; + border-bottom-left-radius: 0.375rem; +} +.wpuf-rounded-r-\[6px\] { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; +} +.wpuf-rounded-r-md { + border-top-right-radius: 0.375rem; + border-bottom-right-radius: 0.375rem; +} +.wpuf-rounded-t-lg { + border-top-left-radius: 0.5rem; + border-top-right-radius: 0.5rem; +} +.wpuf-rounded-t-md { + border-top-left-radius: 0.375rem; + border-top-right-radius: 0.375rem; +} +.wpuf-rounded-t-xl { + border-top-left-radius: 0.75rem; + border-top-right-radius: 0.75rem; +} +.wpuf-rounded-bl { + border-bottom-left-radius: 0.25rem; +} +.wpuf-rounded-br { + border-bottom-right-radius: 0.25rem; +} +.wpuf-rounded-tr-lg { + border-top-right-radius: 0.5rem; +} +.\!wpuf-border { + border-width: 1px !important; +} +.\!wpuf-border-0 { + border-width: 0px !important; +} +.\!wpuf-border-4 { + border-width: 4px !important; +} +.wpuf-border { + border-width: 1px; +} +.wpuf-border-0 { + border-width: 0px; +} +.wpuf-border-2 { + border-width: 2px; +} +.wpuf-border-y { + border-top-width: 1px; + border-bottom-width: 1px; +} +.\!wpuf-border-b { + border-bottom-width: 1px !important; +} +.\!wpuf-border-b-2 { + border-bottom-width: 2px !important; +} +.\!wpuf-border-l { + border-left-width: 1px !important; +} +.\!wpuf-border-r { + border-right-width: 1px !important; +} +.\!wpuf-border-t { + border-top-width: 1px !important; +} +.\!wpuf-border-t-2 { + border-top-width: 2px !important; +} +.wpuf-border-b { + border-bottom-width: 1px; +} +.wpuf-border-b-0 { + border-bottom-width: 0px; +} +.wpuf-border-b-2 { + border-bottom-width: 2px; +} +.wpuf-border-l { + border-left-width: 1px; +} +.wpuf-border-l-4 { + border-left-width: 4px; +} +.wpuf-border-r { + border-right-width: 1px; +} +.wpuf-border-r-2 { + border-right-width: 2px; +} +.wpuf-border-t { + border-top-width: 1px; +} +.wpuf-border-t-2 { + border-top-width: 2px; +} +.\!wpuf-border-solid { + border-style: solid !important; +} +.wpuf-border-solid { + border-style: solid; +} +.\!wpuf-border-dashed { + border-style: dashed !important; +} +.wpuf-border-dashed { + border-style: dashed; +} +.\!wpuf-border-none { + border-style: none !important; +} +.wpuf-border-none { + border-style: none; +} +.\!wpuf-border-emerald-600 { + --tw-border-opacity: 1 !important; + border-color: rgb(5 150 105 / var(--tw-border-opacity)) !important; +} +.\!wpuf-border-gray-100 { + --tw-border-opacity: 1 !important; + border-color: rgb(243 244 246 / var(--tw-border-opacity)) !important; +} +.\!wpuf-border-gray-200 { + --tw-border-opacity: 1 !important; + border-color: rgb(229 231 235 / var(--tw-border-opacity)) !important; +} +.\!wpuf-border-gray-300 { + --tw-border-opacity: 1 !important; + border-color: rgb(209 213 219 / var(--tw-border-opacity)) !important; +} +.\!wpuf-border-gray-50 { + --tw-border-opacity: 1 !important; + border-color: rgb(249 250 251 / var(--tw-border-opacity)) !important; +} +.\!wpuf-border-green-400 { + --tw-border-opacity: 1 !important; + border-color: rgb(74 222 128 / var(--tw-border-opacity)) !important; +} +.\!wpuf-border-purple-600 { + --tw-border-opacity: 1 !important; + border-color: rgb(147 51 234 / var(--tw-border-opacity)) !important; +} +.\!wpuf-border-red-500 { + --tw-border-opacity: 1 !important; + border-color: rgb(239 68 68 / var(--tw-border-opacity)) !important; +} +.\!wpuf-border-transparent { + border-color: transparent !important; +} +.\!wpuf-border-white { + --tw-border-opacity: 1 !important; + border-color: rgb(255 255 255 / var(--tw-border-opacity)) !important; +} +.wpuf-border-\[\#E3E5E8\] { + --tw-border-opacity: 1; + border-color: rgb(227 229 232 / var(--tw-border-opacity)); +} +.wpuf-border-amber-200 { + --tw-border-opacity: 1; + border-color: rgb(253 230 138 / var(--tw-border-opacity)); +} +.wpuf-border-blue-200 { + --tw-border-opacity: 1; + border-color: rgb(191 219 254 / var(--tw-border-opacity)); +} +.wpuf-border-blue-300 { + --tw-border-opacity: 1; + border-color: rgb(147 197 253 / var(--tw-border-opacity)); +} +.wpuf-border-blue-500 { + --tw-border-opacity: 1; + border-color: rgb(59 130 246 / var(--tw-border-opacity)); +} +.wpuf-border-emerald-200 { + --tw-border-opacity: 1; + border-color: rgb(167 243 208 / var(--tw-border-opacity)); +} +.wpuf-border-emerald-500 { + --tw-border-opacity: 1; + border-color: rgb(16 185 129 / var(--tw-border-opacity)); +} +.wpuf-border-emerald-600 { + --tw-border-opacity: 1; + border-color: rgb(5 150 105 / var(--tw-border-opacity)); +} +.wpuf-border-gray-100 { + --tw-border-opacity: 1; + border-color: rgb(243 244 246 / var(--tw-border-opacity)); +} +.wpuf-border-gray-200 { + --tw-border-opacity: 1; + border-color: rgb(229 231 235 / var(--tw-border-opacity)); +} +.wpuf-border-gray-300 { + --tw-border-opacity: 1; + border-color: rgb(209 213 219 / var(--tw-border-opacity)); +} +.wpuf-border-gray-400 { + --tw-border-opacity: 1; + border-color: rgb(156 163 175 / var(--tw-border-opacity)); +} +.wpuf-border-gray-50 { + --tw-border-opacity: 1; + border-color: rgb(249 250 251 / var(--tw-border-opacity)); +} +.wpuf-border-gray-600 { + --tw-border-opacity: 1; + border-color: rgb(75 85 99 / var(--tw-border-opacity)); +} +.wpuf-border-green-200 { + --tw-border-opacity: 1; + border-color: rgb(187 247 208 / var(--tw-border-opacity)); +} +.wpuf-border-green-400 { + --tw-border-opacity: 1; + border-color: rgb(74 222 128 / var(--tw-border-opacity)); +} +.wpuf-border-indigo-200 { + --tw-border-opacity: 1; + border-color: rgb(199 210 254 / var(--tw-border-opacity)); +} +.wpuf-border-indigo-600 { + --tw-border-opacity: 1; + border-color: rgb(79 70 229 / var(--tw-border-opacity)); +} +.wpuf-border-primary { + --tw-border-opacity: 1; + border-color: rgb(5 150 105 / var(--tw-border-opacity)); +} +.wpuf-border-purple-300 { + --tw-border-opacity: 1; + border-color: rgb(216 180 254 / var(--tw-border-opacity)); +} +.wpuf-border-purple-600 { + --tw-border-opacity: 1; + border-color: rgb(147 51 234 / var(--tw-border-opacity)); +} +.wpuf-border-red-200 { + --tw-border-opacity: 1; + border-color: rgb(254 202 202 / var(--tw-border-opacity)); +} +.wpuf-border-red-500 { + --tw-border-opacity: 1; + border-color: rgb(239 68 68 / var(--tw-border-opacity)); +} +.wpuf-border-slate-200 { + --tw-border-opacity: 1; + border-color: rgb(226 232 240 / var(--tw-border-opacity)); +} +.wpuf-border-slate-300 { + --tw-border-opacity: 1; + border-color: rgb(203 213 225 / var(--tw-border-opacity)); +} +.wpuf-border-transparent { + border-color: transparent; +} +.wpuf-border-white { + --tw-border-opacity: 1; + border-color: rgb(255 255 255 / var(--tw-border-opacity)); +} +.wpuf-border-yellow-200 { + --tw-border-opacity: 1; + border-color: rgb(254 240 138 / var(--tw-border-opacity)); +} +.wpuf-border-yellow-300 { + --tw-border-opacity: 1; + border-color: rgb(253 224 71 / var(--tw-border-opacity)); +} +.wpuf-border-yellow-500 { + --tw-border-opacity: 1; + border-color: rgb(234 179 8 / var(--tw-border-opacity)); +} +.wpuf-border-zinc-300 { + --tw-border-opacity: 1; + border-color: rgb(212 212 216 / var(--tw-border-opacity)); +} +.wpuf-border-t-transparent { + border-top-color: transparent; +} +.\!wpuf-bg-emerald-50 { + --tw-bg-opacity: 1 !important; + background-color: rgb(236 253 245 / var(--tw-bg-opacity)) !important; +} +.\!wpuf-bg-emerald-600 { + --tw-bg-opacity: 1 !important; + background-color: rgb(5 150 105 / var(--tw-bg-opacity)) !important; +} +.\!wpuf-bg-gray-100 { + --tw-bg-opacity: 1 !important; + background-color: rgb(243 244 246 / var(--tw-bg-opacity)) !important; +} +.\!wpuf-bg-gray-50 { + --tw-bg-opacity: 1 !important; + background-color: rgb(249 250 251 / var(--tw-bg-opacity)) !important; +} +.\!wpuf-bg-green-600 { + --tw-bg-opacity: 1 !important; + background-color: rgb(22 163 74 / var(--tw-bg-opacity)) !important; +} +.\!wpuf-bg-primary { + --tw-bg-opacity: 1 !important; + background-color: rgb(5 150 105 / var(--tw-bg-opacity)) !important; +} +.\!wpuf-bg-transparent { + background-color: transparent !important; +} +.\!wpuf-bg-white { + --tw-bg-opacity: 1 !important; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)) !important; +} +.wpuf-bg-\[\#ECFDF5\] { + --tw-bg-opacity: 1; + background-color: rgb(236 253 245 / var(--tw-bg-opacity)); +} +.wpuf-bg-\[\#EF4444\] { + --tw-bg-opacity: 1; + background-color: rgb(239 68 68 / var(--tw-bg-opacity)); +} +.wpuf-bg-amber-50 { + --tw-bg-opacity: 1; + background-color: rgb(255 251 235 / var(--tw-bg-opacity)); +} +.wpuf-bg-amber-500 { + --tw-bg-opacity: 1; + background-color: rgb(245 158 11 / var(--tw-bg-opacity)); +} +.wpuf-bg-black { + --tw-bg-opacity: 1; + background-color: rgb(0 0 0 / var(--tw-bg-opacity)); +} +.wpuf-bg-black\/25 { + background-color: rgb(0 0 0 / 0.25); +} +.wpuf-bg-blue-50 { + --tw-bg-opacity: 1; + background-color: rgb(239 246 255 / var(--tw-bg-opacity)); +} +.wpuf-bg-blue-500 { + --tw-bg-opacity: 1; + background-color: rgb(59 130 246 / var(--tw-bg-opacity)); +} +.wpuf-bg-emerald-100 { + --tw-bg-opacity: 1; + background-color: rgb(209 250 229 / var(--tw-bg-opacity)); +} +.wpuf-bg-emerald-400 { + --tw-bg-opacity: 1; + background-color: rgb(52 211 153 / var(--tw-bg-opacity)); +} +.wpuf-bg-emerald-50 { + --tw-bg-opacity: 1; + background-color: rgb(236 253 245 / var(--tw-bg-opacity)); +} +.wpuf-bg-emerald-50\/50 { + background-color: rgb(236 253 245 / 0.5); +} +.wpuf-bg-emerald-600 { + --tw-bg-opacity: 1; + background-color: rgb(5 150 105 / var(--tw-bg-opacity)); +} +.wpuf-bg-emerald-700 { + --tw-bg-opacity: 1; + background-color: rgb(4 120 87 / var(--tw-bg-opacity)); +} +.wpuf-bg-emerald-900 { + --tw-bg-opacity: 1; + background-color: rgb(6 78 59 / var(--tw-bg-opacity)); +} +.wpuf-bg-gray-100 { + --tw-bg-opacity: 1; + background-color: rgb(243 244 246 / var(--tw-bg-opacity)); +} +.wpuf-bg-gray-200 { + --tw-bg-opacity: 1; + background-color: rgb(229 231 235 / var(--tw-bg-opacity)); +} +.wpuf-bg-gray-300 { + --tw-bg-opacity: 1; + background-color: rgb(209 213 219 / var(--tw-bg-opacity)); +} +.wpuf-bg-gray-50 { + --tw-bg-opacity: 1; + background-color: rgb(249 250 251 / var(--tw-bg-opacity)); +} +.wpuf-bg-gray-500 { + --tw-bg-opacity: 1; + background-color: rgb(107 114 128 / var(--tw-bg-opacity)); +} +.wpuf-bg-gray-800 { + --tw-bg-opacity: 1; + background-color: rgb(31 41 55 / var(--tw-bg-opacity)); +} +.wpuf-bg-gray-900\/80 { + background-color: rgb(17 24 39 / 0.8); +} +.wpuf-bg-green-100 { + --tw-bg-opacity: 1; + background-color: rgb(220 252 231 / var(--tw-bg-opacity)); +} +.wpuf-bg-green-50 { + --tw-bg-opacity: 1; + background-color: rgb(240 253 244 / var(--tw-bg-opacity)); +} +.wpuf-bg-green-600 { + --tw-bg-opacity: 1; + background-color: rgb(22 163 74 / var(--tw-bg-opacity)); +} +.wpuf-bg-green-800 { + --tw-bg-opacity: 1; + background-color: rgb(22 101 52 / var(--tw-bg-opacity)); +} +.wpuf-bg-indigo-50 { + --tw-bg-opacity: 1; + background-color: rgb(238 242 255 / var(--tw-bg-opacity)); +} +.wpuf-bg-indigo-600 { + --tw-bg-opacity: 1; + background-color: rgb(79 70 229 / var(--tw-bg-opacity)); +} +.wpuf-bg-indigo-600\/10 { + background-color: rgb(79 70 229 / 0.1); +} +.wpuf-bg-orange-50 { + --tw-bg-opacity: 1; + background-color: rgb(255 247 237 / var(--tw-bg-opacity)); +} +.wpuf-bg-primary { + --tw-bg-opacity: 1; + background-color: rgb(5 150 105 / var(--tw-bg-opacity)); +} +.wpuf-bg-primaryHover { + --tw-bg-opacity: 1; + background-color: rgb(16 185 129 / var(--tw-bg-opacity)); +} +.wpuf-bg-purple-50 { + --tw-bg-opacity: 1; + background-color: rgb(250 245 255 / var(--tw-bg-opacity)); +} +.wpuf-bg-purple-600 { + --tw-bg-opacity: 1; + background-color: rgb(147 51 234 / var(--tw-bg-opacity)); +} +.wpuf-bg-purple-700 { + --tw-bg-opacity: 1; + background-color: rgb(126 34 206 / var(--tw-bg-opacity)); +} +.wpuf-bg-red-100 { + --tw-bg-opacity: 1; + background-color: rgb(254 226 226 / var(--tw-bg-opacity)); +} +.wpuf-bg-red-50 { + --tw-bg-opacity: 1; + background-color: rgb(254 242 242 / var(--tw-bg-opacity)); +} +.wpuf-bg-red-500 { + --tw-bg-opacity: 1; + background-color: rgb(239 68 68 / var(--tw-bg-opacity)); +} +.wpuf-bg-red-600 { + --tw-bg-opacity: 1; + background-color: rgb(220 38 38 / var(--tw-bg-opacity)); +} +.wpuf-bg-slate-100 { + --tw-bg-opacity: 1; + background-color: rgb(241 245 249 / var(--tw-bg-opacity)); +} +.wpuf-bg-slate-50 { + --tw-bg-opacity: 1; + background-color: rgb(248 250 252 / var(--tw-bg-opacity)); +} +.wpuf-bg-transparent { + background-color: transparent; +} +.wpuf-bg-white { + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)); +} +.wpuf-bg-white\/80 { + background-color: rgb(255 255 255 / 0.8); +} +.wpuf-bg-yellow-100 { + --tw-bg-opacity: 1; + background-color: rgb(254 249 195 / var(--tw-bg-opacity)); +} +.wpuf-bg-yellow-50 { + --tw-bg-opacity: 1; + background-color: rgb(254 252 232 / var(--tw-bg-opacity)); +} +.wpuf-bg-opacity-30 { + --tw-bg-opacity: 0.3; +} +.wpuf-bg-opacity-50 { + --tw-bg-opacity: 0.5; +} +.wpuf-bg-opacity-75 { + --tw-bg-opacity: 0.75; +} +.wpuf-bg-opacity-80 { + --tw-bg-opacity: 0.8; +} +.\!wpuf-bg-\[url\(\'data\:image\/svg\+xml\;charset\=US-ASCII\2c \%3Csvg\%20width\%3D\%2714\%27\%20height\%3D\%278\%27\%20viewBox\%3D\%270\%200\%2014\%208\%27\%20xmlns\%3D\%27http\%3A\/\/www\.w3\.org\/2000\/svg\%27\%3E\%3Cpath\%20d\%3D\%27M1\%201l6\%206\%206-6\%27\%20stroke\%3D\%27\%239CA3AF\%27\%20stroke-width\%3D\%272\%27\%20fill\%3D\%27none\%27\%20fill-rule\%3D\%27evenodd\%27\/\%3E\%3C\/svg\%3E\'\)\] { + background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2714%27%20height%3D%278%27%20viewBox%3D%270%200%2014%208%27%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%3E%3Cpath%20d%3D%27M1%201l6%206%206-6%27%20stroke%3D%27%239CA3AF%27%20stroke-width%3D%272%27%20fill%3D%27none%27%20fill-rule%3D%27evenodd%27/%3E%3C/svg%3E") !important; +} +.\!wpuf-bg-gradient-to-br { + background-image: linear-gradient(to bottom right, var(--tw-gradient-stops)) !important; +} +.wpuf-bg-gradient-to-br { + background-image: linear-gradient(to bottom right, var(--tw-gradient-stops)); +} +.wpuf-bg-gradient-to-r { + background-image: linear-gradient(to right, var(--tw-gradient-stops)); +} +.\!wpuf-from-blue-500 { + --tw-gradient-from: #3b82f6 var(--tw-gradient-from-position) !important; + --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position) !important; + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important; +} +.wpuf-from-amber-500 { + --tw-gradient-from: #f59e0b var(--tw-gradient-from-position); + --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} +.wpuf-from-indigo-100 { + --tw-gradient-from: #e0e7ff var(--tw-gradient-from-position); + --tw-gradient-to: rgb(224 231 255 / 0) var(--tw-gradient-to-position); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} +.wpuf-from-purple-600 { + --tw-gradient-from: #9333ea var(--tw-gradient-from-position); + --tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} +.\!wpuf-to-purple-600 { + --tw-gradient-to: #9333ea var(--tw-gradient-to-position) !important; +} +.wpuf-to-amber-600 { + --tw-gradient-to: #d97706 var(--tw-gradient-to-position); +} +.wpuf-to-blue-600 { + --tw-gradient-to: #2563eb var(--tw-gradient-to-position); +} +.wpuf-to-indigo-600 { + --tw-gradient-to: #4f46e5 var(--tw-gradient-to-position); +} +.wpuf-to-purple-100 { + --tw-gradient-to: #f3e8ff var(--tw-gradient-to-position); +} +.\!wpuf-bg-\[size\:14px\] { + background-size: 14px !important; +} +.\!wpuf-bg-\[position\:right_0\.75rem_center\] { + background-position: right 0.75rem center !important; +} +.\!wpuf-bg-no-repeat { + background-repeat: no-repeat !important; +} +.\!wpuf-stroke-primary { + stroke: #059669 !important; +} +.wpuf-stroke-gray-400 { + stroke: #9ca3af; +} +.wpuf-stroke-gray-50 { + stroke: #f9fafb; +} +.wpuf-stroke-gray-500 { + stroke: #6b7280; +} +.wpuf-object-contain { + -o-object-fit: contain; + object-fit: contain; +} +.\!wpuf-object-cover { + -o-object-fit: cover !important; + object-fit: cover !important; +} +.wpuf-object-cover { + -o-object-fit: cover; + object-fit: cover; +} +.\!wpuf-p-0 { + padding: 0px !important; +} +.\!wpuf-p-4 { + padding: 1rem !important; +} +.\!wpuf-p-6 { + padding: 1.5rem !important; +} +.wpuf-p-0 { + padding: 0px; +} +.wpuf-p-1 { + padding: 0.25rem; +} +.wpuf-p-1\.5 { + padding: 0.375rem; +} +.wpuf-p-10 { + padding: 2.5rem; +} +.wpuf-p-12 { + padding: 3rem; +} +.wpuf-p-2 { + padding: 0.5rem; +} +.wpuf-p-20 { + padding: 5rem; +} +.wpuf-p-3 { + padding: 0.75rem; +} +.wpuf-p-4 { + padding: 1rem; +} +.wpuf-p-5 { + padding: 1.25rem; +} +.wpuf-p-6 { + padding: 1.5rem; +} +.wpuf-p-8 { + padding: 2rem; +} +.wpuf-p-9 { + padding: 2.25rem; +} +.wpuf-p-\[10px\] { + padding: 10px; +} +.\!wpuf-px-3 { + padding-left: 0.75rem !important; + padding-right: 0.75rem !important; +} +.\!wpuf-px-4 { + padding-left: 1rem !important; + padding-right: 1rem !important; +} +.\!wpuf-px-6 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; +} +.\!wpuf-px-\[14px\] { + padding-left: 14px !important; + padding-right: 14px !important; +} +.\!wpuf-px-\[20px\] { + padding-left: 20px !important; + padding-right: 20px !important; +} +.\!wpuf-px-\[30px\] { + padding-left: 30px !important; + padding-right: 30px !important; +} +.\!wpuf-py-0 { + padding-top: 0px !important; + padding-bottom: 0px !important; +} +.\!wpuf-py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} +.\!wpuf-py-1\.5 { + padding-top: 0.375rem !important; + padding-bottom: 0.375rem !important; +} +.\!wpuf-py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} +.\!wpuf-py-2\.5 { + padding-top: 0.625rem !important; + padding-bottom: 0.625rem !important; +} +.\!wpuf-py-20 { + padding-top: 5rem !important; + padding-bottom: 5rem !important; +} +.\!wpuf-py-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} +.\!wpuf-py-8 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; +} +.\!wpuf-py-\[10px\] { + padding-top: 10px !important; + padding-bottom: 10px !important; +} +.\!wpuf-py-\[20px\] { + padding-top: 20px !important; + padding-bottom: 20px !important; +} +.\!wpuf-py-\[4px\] { + padding-top: 4px !important; + padding-bottom: 4px !important; +} +.\!wpuf-py-\[9px\] { + padding-top: 9px !important; + padding-bottom: 9px !important; +} +.wpuf-px-1 { + padding-left: 0.25rem; + padding-right: 0.25rem; +} +.wpuf-px-12 { + padding-left: 3rem; + padding-right: 3rem; +} +.wpuf-px-2 { + padding-left: 0.5rem; + padding-right: 0.5rem; +} +.wpuf-px-2\.5 { + padding-left: 0.625rem; + padding-right: 0.625rem; +} +.wpuf-px-20 { + padding-left: 5rem; + padding-right: 5rem; +} +.wpuf-px-3 { + padding-left: 0.75rem; + padding-right: 0.75rem; +} +.wpuf-px-4 { + padding-left: 1rem; + padding-right: 1rem; +} +.wpuf-px-5 { + padding-left: 1.25rem; + padding-right: 1.25rem; +} +.wpuf-px-6 { + padding-left: 1.5rem; + padding-right: 1.5rem; +} +.wpuf-px-8 { + padding-left: 2rem; + padding-right: 2rem; +} +.wpuf-px-\[10px\] { + padding-left: 10px; + padding-right: 10px; +} +.wpuf-px-\[12px\] { + padding-left: 12px; + padding-right: 12px; +} +.wpuf-px-\[14px\] { + padding-left: 14px; + padding-right: 14px; +} +.wpuf-px-\[15px\] { + padding-left: 15px; + padding-right: 15px; +} +.wpuf-px-\[18px\] { + padding-left: 18px; + padding-right: 18px; +} +.wpuf-px-\[20px\] { + padding-left: 20px; + padding-right: 20px; +} +.wpuf-px-\[52px\] { + padding-left: 52px; + padding-right: 52px; +} +.wpuf-py-0 { + padding-top: 0px; + padding-bottom: 0px; +} +.wpuf-py-0\.5 { + padding-top: 0.125rem; + padding-bottom: 0.125rem; +} +.wpuf-py-1 { + padding-top: 0.25rem; + padding-bottom: 0.25rem; +} +.wpuf-py-1\.5 { + padding-top: 0.375rem; + padding-bottom: 0.375rem; +} +.wpuf-py-2 { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +.wpuf-py-24 { + padding-top: 6rem; + padding-bottom: 6rem; +} +.wpuf-py-3 { + padding-top: 0.75rem; + padding-bottom: 0.75rem; +} +.wpuf-py-3\.5 { + padding-top: 0.875rem; + padding-bottom: 0.875rem; +} +.wpuf-py-4 { + padding-top: 1rem; + padding-bottom: 1rem; +} +.wpuf-py-5 { + padding-top: 1.25rem; + padding-bottom: 1.25rem; +} +.wpuf-py-6 { + padding-top: 1.5rem; + padding-bottom: 1.5rem; +} +.wpuf-py-8 { + padding-top: 2rem; + padding-bottom: 2rem; +} +.wpuf-py-\[10px\] { + padding-top: 10px; + padding-bottom: 10px; +} +.wpuf-py-\[2px\] { + padding-top: 2px; + padding-bottom: 2px; +} +.wpuf-py-\[5px\] { + padding-top: 5px; + padding-bottom: 5px; +} +.wpuf-py-\[7px\] { + padding-top: 7px; + padding-bottom: 7px; +} +.\!wpuf-pb-3 { + padding-bottom: 0.75rem !important; +} +.\!wpuf-pl-0 { + padding-left: 0px !important; +} +.\!wpuf-pl-4 { + padding-left: 1rem !important; +} +.\!wpuf-pl-\[17px\] { + padding-left: 17px !important; +} +.\!wpuf-pr-10 { + padding-right: 2.5rem !important; +} +.\!wpuf-pr-\[15px\] { + padding-right: 15px !important; +} +.wpuf-pb-0 { + padding-bottom: 0px; +} +.wpuf-pb-14 { + padding-bottom: 3.5rem; +} +.wpuf-pb-20 { + padding-bottom: 5rem; +} +.wpuf-pb-24 { + padding-bottom: 6rem; +} +.wpuf-pb-3 { + padding-bottom: 0.75rem; +} +.wpuf-pb-4 { + padding-bottom: 1rem; +} +.wpuf-pb-6 { + padding-bottom: 1.5rem; +} +.wpuf-pb-7 { + padding-bottom: 1.75rem; +} +.wpuf-pb-8 { + padding-bottom: 2rem; +} +.wpuf-pb-\[13px\] { + padding-bottom: 13px; +} +.wpuf-pl-0 { + padding-left: 0px; +} +.wpuf-pl-1 { + padding-left: 0.25rem; +} +.wpuf-pl-2 { + padding-left: 0.5rem; +} +.wpuf-pl-3 { + padding-left: 0.75rem; +} +.wpuf-pl-4 { + padding-left: 1rem; +} +.wpuf-pl-6 { + padding-left: 1.5rem; +} +.wpuf-pl-\[20px\] { + padding-left: 20px; +} +.wpuf-pl-\[25px\] { + padding-left: 25px; +} +.wpuf-pl-\[48px\] { + padding-left: 48px; +} +.wpuf-pr-1 { + padding-right: 0.25rem; +} +.wpuf-pr-1\.5 { + padding-right: 0.375rem; +} +.wpuf-pr-10 { + padding-right: 2.5rem; +} +.wpuf-pr-16 { + padding-right: 4rem; +} +.wpuf-pr-2 { + padding-right: 0.5rem; +} +.wpuf-pr-3 { + padding-right: 0.75rem; +} +.wpuf-pr-4 { + padding-right: 1rem; +} +.wpuf-pr-40 { + padding-right: 10rem; +} +.wpuf-pr-\[20px\] { + padding-right: 20px; +} +.wpuf-pr-\[23px\] { + padding-right: 23px; +} +.wpuf-pr-\[25px\] { + padding-right: 25px; +} +.wpuf-pr-\[48px\] { + padding-right: 48px; +} +.wpuf-pt-0 { + padding-top: 0px; +} +.wpuf-pt-1 { + padding-top: 0.25rem; +} +.wpuf-pt-14 { + padding-top: 3.5rem; +} +.wpuf-pt-4 { + padding-top: 1rem; +} +.wpuf-pt-5 { + padding-top: 1.25rem; +} +.wpuf-pt-6 { + padding-top: 1.5rem; +} +.wpuf-pt-\[13px\] { + padding-top: 13px; +} +.wpuf-pt-\[40px\] { + padding-top: 40px; +} +.wpuf-text-left { + text-align: left; +} +.\!wpuf-text-center { + text-align: center !important; +} +.wpuf-text-center { + text-align: center; +} +.\!wpuf-text-right { + text-align: right !important; +} +.wpuf-text-right { + text-align: right; +} +.wpuf-text-end { + text-align: end; +} +.wpuf-align-middle { + vertical-align: middle; +} +.wpuf-font-mono { + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} +.wpuf-font-sans { + font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; +} +.\!wpuf-text-2xl { + font-size: 1.5rem !important; + line-height: 2rem !important; +} +.\!wpuf-text-base { + font-size: 1rem !important; + line-height: 1.5rem !important; +} +.\!wpuf-text-sm { + font-size: 0.875rem !important; + line-height: 1.25rem !important; +} +.\!wpuf-text-xl { + font-size: 1.25rem !important; + line-height: 1.75rem !important; +} +.\!wpuf-text-xs { + font-size: 0.75rem !important; + line-height: 1rem !important; +} +.wpuf-text-2xl { + font-size: 1.5rem; + line-height: 2rem; +} +.wpuf-text-3xl { + font-size: 1.875rem; + line-height: 2.25rem; +} +.wpuf-text-4xl { + font-size: 2.25rem; + line-height: 2.5rem; +} +.wpuf-text-5xl { + font-size: 3rem; + line-height: 1; +} +.wpuf-text-\[10px\] { + font-size: 10px; +} +.wpuf-text-\[11px\] { + font-size: 11px; +} +.wpuf-text-\[13px\] { + font-size: 13px; +} +.wpuf-text-\[14px\] { + font-size: 14px; +} +.wpuf-text-\[15px\] { + font-size: 15px; +} +.wpuf-text-\[16px\] { + font-size: 16px; +} +.wpuf-text-\[17px\] { + font-size: 17px; +} +.wpuf-text-\[20px\] { + font-size: 20px; +} +.wpuf-text-\[24px\] { + font-size: 24px; +} +.wpuf-text-\[30px\] { + font-size: 30px; +} +.wpuf-text-base { + font-size: 1rem; + line-height: 1.5rem; +} +.wpuf-text-lg { + font-size: 1.125rem; + line-height: 1.75rem; +} +.wpuf-text-sm { + font-size: 0.875rem; + line-height: 1.25rem; +} +.wpuf-text-xl { + font-size: 1.25rem; + line-height: 1.75rem; +} +.wpuf-text-xs { + font-size: 0.75rem; + line-height: 1rem; +} +.\!wpuf-font-bold { + font-weight: 700 !important; +} +.\!wpuf-font-medium { + font-weight: 500 !important; +} +.\!wpuf-font-normal { + font-weight: 400 !important; +} +.\!wpuf-font-semibold { + font-weight: 600 !important; +} +.wpuf-font-bold { + font-weight: 700; +} +.wpuf-font-extrabold { + font-weight: 800; +} +.wpuf-font-medium { + font-weight: 500; +} +.wpuf-font-normal { + font-weight: 400; +} +.wpuf-font-semibold { + font-weight: 600; +} +.wpuf-uppercase { + text-transform: uppercase; +} +.wpuf-italic { + font-style: italic; +} +.\!wpuf-leading-\[21px\] { + line-height: 21px !important; +} +.\!wpuf-leading-\[27\.6px\] { + line-height: 27.6px !important; +} +.\!wpuf-leading-none { + line-height: 1 !important; +} +.\!wpuf-leading-relaxed { + line-height: 1.625 !important; +} +.wpuf-leading-10 { + line-height: 2.5rem; +} +.wpuf-leading-5 { + line-height: 1.25rem; +} +.wpuf-leading-6 { + line-height: 1.5rem; +} +.wpuf-leading-7 { + line-height: 1.75rem; +} +.wpuf-leading-8 { + line-height: 2rem; +} +.wpuf-leading-9 { + line-height: 2.25rem; +} +.wpuf-leading-\[24px\] { + line-height: 24px; +} +.wpuf-leading-\[28px\] { + line-height: 28px; +} +.wpuf-leading-\[36px\] { + line-height: 36px; +} +.wpuf-leading-none { + line-height: 1; +} +.wpuf-leading-tight { + line-height: 1.25; +} +.\!wpuf-tracking-\[-0\.72px\] { + letter-spacing: -0.72px !important; +} +.wpuf-tracking-normal { + letter-spacing: 0em; +} +.wpuf-tracking-tight { + letter-spacing: -0.025em; +} +.wpuf-tracking-wide { + letter-spacing: 0.025em; +} +.wpuf-tracking-wider { + letter-spacing: 0.05em; +} +.\!wpuf-text-black { + --tw-text-opacity: 1 !important; + color: rgb(0 0 0 / var(--tw-text-opacity)) !important; +} +.\!wpuf-text-emerald-600 { + --tw-text-opacity: 1 !important; + color: rgb(5 150 105 / var(--tw-text-opacity)) !important; +} +.\!wpuf-text-gray-300 { + --tw-text-opacity: 1 !important; + color: rgb(209 213 219 / var(--tw-text-opacity)) !important; +} +.\!wpuf-text-gray-400 { + --tw-text-opacity: 1 !important; + color: rgb(156 163 175 / var(--tw-text-opacity)) !important; +} +.\!wpuf-text-gray-500 { + --tw-text-opacity: 1 !important; + color: rgb(107 114 128 / var(--tw-text-opacity)) !important; +} +.\!wpuf-text-gray-600 { + --tw-text-opacity: 1 !important; + color: rgb(75 85 99 / var(--tw-text-opacity)) !important; +} +.\!wpuf-text-gray-700 { + --tw-text-opacity: 1 !important; + color: rgb(55 65 81 / var(--tw-text-opacity)) !important; +} +.\!wpuf-text-gray-900 { + --tw-text-opacity: 1 !important; + color: rgb(17 24 39 / var(--tw-text-opacity)) !important; +} +.\!wpuf-text-purple-600 { + --tw-text-opacity: 1 !important; + color: rgb(147 51 234 / var(--tw-text-opacity)) !important; +} +.\!wpuf-text-red-900 { + --tw-text-opacity: 1 !important; + color: rgb(127 29 29 / var(--tw-text-opacity)) !important; +} +.\!wpuf-text-white { + --tw-text-opacity: 1 !important; + color: rgb(255 255 255 / var(--tw-text-opacity)) !important; +} +.wpuf-text-amber-600 { + --tw-text-opacity: 1; + color: rgb(217 119 6 / var(--tw-text-opacity)); +} +.wpuf-text-amber-700 { + --tw-text-opacity: 1; + color: rgb(180 83 9 / var(--tw-text-opacity)); +} +.wpuf-text-amber-800 { + --tw-text-opacity: 1; + color: rgb(146 64 14 / var(--tw-text-opacity)); +} +.wpuf-text-black { + --tw-text-opacity: 1; + color: rgb(0 0 0 / var(--tw-text-opacity)); +} +.wpuf-text-blue-600 { + --tw-text-opacity: 1; + color: rgb(37 99 235 / var(--tw-text-opacity)); +} +.wpuf-text-blue-800 { + --tw-text-opacity: 1; + color: rgb(30 64 175 / var(--tw-text-opacity)); +} +.wpuf-text-emerald-500 { + --tw-text-opacity: 1; + color: rgb(16 185 129 / var(--tw-text-opacity)); +} +.wpuf-text-emerald-600 { + --tw-text-opacity: 1; + color: rgb(5 150 105 / var(--tw-text-opacity)); +} +.wpuf-text-emerald-700 { + --tw-text-opacity: 1; + color: rgb(4 120 87 / var(--tw-text-opacity)); +} +.wpuf-text-emerald-800 { + --tw-text-opacity: 1; + color: rgb(6 95 70 / var(--tw-text-opacity)); +} +.wpuf-text-gray-300 { + --tw-text-opacity: 1; + color: rgb(209 213 219 / var(--tw-text-opacity)); +} +.wpuf-text-gray-400 { + --tw-text-opacity: 1; + color: rgb(156 163 175 / var(--tw-text-opacity)); +} +.wpuf-text-gray-500 { + --tw-text-opacity: 1; + color: rgb(107 114 128 / var(--tw-text-opacity)); +} +.wpuf-text-gray-600 { + --tw-text-opacity: 1; + color: rgb(75 85 99 / var(--tw-text-opacity)); +} +.wpuf-text-gray-700 { + --tw-text-opacity: 1; + color: rgb(55 65 81 / var(--tw-text-opacity)); +} +.wpuf-text-gray-800 { + --tw-text-opacity: 1; + color: rgb(31 41 55 / var(--tw-text-opacity)); +} +.wpuf-text-gray-900 { + --tw-text-opacity: 1; + color: rgb(17 24 39 / var(--tw-text-opacity)); +} +.wpuf-text-green-200 { + --tw-text-opacity: 1; + color: rgb(187 247 208 / var(--tw-text-opacity)); +} +.wpuf-text-green-500 { + --tw-text-opacity: 1; + color: rgb(34 197 94 / var(--tw-text-opacity)); +} +.wpuf-text-green-600 { + --tw-text-opacity: 1; + color: rgb(22 163 74 / var(--tw-text-opacity)); +} +.wpuf-text-green-700 { + --tw-text-opacity: 1; + color: rgb(21 128 61 / var(--tw-text-opacity)); +} +.wpuf-text-indigo-600 { + --tw-text-opacity: 1; + color: rgb(79 70 229 / var(--tw-text-opacity)); +} +.wpuf-text-orange-700 { + --tw-text-opacity: 1; + color: rgb(194 65 12 / var(--tw-text-opacity)); +} +.wpuf-text-primary { + --tw-text-opacity: 1; + color: rgb(5 150 105 / var(--tw-text-opacity)); +} +.wpuf-text-purple-500 { + --tw-text-opacity: 1; + color: rgb(168 85 247 / var(--tw-text-opacity)); +} +.wpuf-text-purple-600 { + --tw-text-opacity: 1; + color: rgb(147 51 234 / var(--tw-text-opacity)); +} +.wpuf-text-purple-800 { + --tw-text-opacity: 1; + color: rgb(107 33 168 / var(--tw-text-opacity)); +} +.wpuf-text-red-500 { + --tw-text-opacity: 1; + color: rgb(239 68 68 / var(--tw-text-opacity)); +} +.wpuf-text-red-600 { + --tw-text-opacity: 1; + color: rgb(220 38 38 / var(--tw-text-opacity)); +} +.wpuf-text-red-700 { + --tw-text-opacity: 1; + color: rgb(185 28 28 / var(--tw-text-opacity)); +} +.wpuf-text-red-800 { + --tw-text-opacity: 1; + color: rgb(153 27 27 / var(--tw-text-opacity)); +} +.wpuf-text-slate-600 { + --tw-text-opacity: 1; + color: rgb(71 85 105 / var(--tw-text-opacity)); +} +.wpuf-text-slate-700 { + --tw-text-opacity: 1; + color: rgb(51 65 85 / var(--tw-text-opacity)); +} +.wpuf-text-slate-900 { + --tw-text-opacity: 1; + color: rgb(15 23 42 / var(--tw-text-opacity)); +} +.wpuf-text-white { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); +} +.wpuf-text-yellow-400 { + --tw-text-opacity: 1; + color: rgb(250 204 21 / var(--tw-text-opacity)); +} +.wpuf-text-yellow-500 { + --tw-text-opacity: 1; + color: rgb(234 179 8 / var(--tw-text-opacity)); +} +.wpuf-text-yellow-600 { + --tw-text-opacity: 1; + color: rgb(202 138 4 / var(--tw-text-opacity)); +} +.wpuf-text-yellow-700 { + --tw-text-opacity: 1; + color: rgb(161 98 7 / var(--tw-text-opacity)); +} +.wpuf-text-yellow-800 { + --tw-text-opacity: 1; + color: rgb(133 77 14 / var(--tw-text-opacity)); +} +.wpuf-underline { + text-decoration-line: underline; +} +.\!wpuf-no-underline { + text-decoration-line: none !important; +} +.wpuf-no-underline { + text-decoration-line: none; +} +.\!wpuf-placeholder-gray-400::-moz-placeholder { + --tw-placeholder-opacity: 1 !important; + color: rgb(156 163 175 / var(--tw-placeholder-opacity)) !important; +} +.\!wpuf-placeholder-gray-400::placeholder { + --tw-placeholder-opacity: 1 !important; + color: rgb(156 163 175 / var(--tw-placeholder-opacity)) !important; +} +.wpuf-opacity-0 { + opacity: 0; +} +.wpuf-opacity-100 { + opacity: 1; +} +.wpuf-opacity-25 { + opacity: 0.25; +} +.wpuf-opacity-40 { + opacity: 0.4; +} +.wpuf-opacity-50 { + opacity: 0.5; +} +.wpuf-opacity-60 { + opacity: 0.6; +} +.wpuf-opacity-75 { + opacity: 0.75; +} +.wpuf-opacity-80 { + opacity: 0.8; +} +.\!wpuf-shadow-none { + --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; +} +.\!wpuf-shadow-sm { + --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05) !important; + --tw-shadow-colored: 0 1px 2px 0 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; +} +.wpuf-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); +} +.wpuf-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); +} +.wpuf-shadow-md { + --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -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); +} +.wpuf-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); +} +.wpuf-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); +} +.wpuf-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); +} +.wpuf-shadow-primary { + --tw-shadow-color: #059669; + --tw-shadow: var(--tw-shadow-colored); +} +.wpuf-outline-none { + outline: 2px solid transparent; + outline-offset: 2px; +} +.wpuf-outline { + outline-style: solid; +} +.wpuf--outline-offset-1 { + outline-offset: -1px; +} +.wpuf-outline-gray-300 { + outline-color: #d1d5db; +} +.wpuf-ring { + --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(3px + 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); +} +.wpuf-ring-0 { + --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); +} +.wpuf-ring-1 { + --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, 0 0 #0000); +} +.wpuf-ring-inset { + --tw-ring-inset: inset; +} +.\!wpuf-ring-transparent { + --tw-ring-color: transparent !important; +} +.wpuf-ring-black { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity)); +} +.wpuf-ring-blue-200 { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(191 219 254 / var(--tw-ring-opacity)); +} +.wpuf-ring-gray-200 { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(229 231 235 / var(--tw-ring-opacity)); +} +.wpuf-ring-gray-300 { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity)); +} +.wpuf-ring-gray-600\/20 { + --tw-ring-color: rgb(75 85 99 / 0.2); +} +.wpuf-ring-gray-900 { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(17 24 39 / var(--tw-ring-opacity)); +} +.wpuf-ring-gray-900\/5 { + --tw-ring-color: rgb(17 24 39 / 0.05); +} +.wpuf-ring-green-600 { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(22 163 74 / var(--tw-ring-opacity)); +} +.wpuf-ring-green-600\/20 { + --tw-ring-color: rgb(22 163 74 / 0.2); +} +.wpuf-ring-primary { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(5 150 105 / var(--tw-ring-opacity)); +} +.wpuf-ring-red-300 { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(252 165 165 / var(--tw-ring-opacity)); +} +.wpuf-ring-red-500 { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity)); +} +.wpuf-ring-transparent { + --tw-ring-color: transparent; +} +.wpuf-ring-opacity-5 { + --tw-ring-opacity: 0.05; +} +.wpuf-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); +} +.wpuf-drop-shadow-sm { + --tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / 0.05)); + 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); +} +.wpuf-grayscale { + --tw-grayscale: grayscale(100%); + 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); +} +.wpuf-backdrop-blur-sm { + --tw-backdrop-blur: blur(4px); + 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); +} +.\!wpuf-transition-colors { + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + transition-duration: 150ms !important; +} +.wpuf-transition { + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} +.wpuf-transition-all { + transition-property: all; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} +.wpuf-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; +} +.wpuf-transition-opacity { + transition-property: opacity; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} +.wpuf-transition-transform { + transition-property: transform; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} +.\!wpuf-duration-150 { + transition-duration: 150ms !important; +} +.\!wpuf-duration-200 { + transition-duration: 200ms !important; +} +.wpuf-duration-100 { + transition-duration: 100ms; +} +.wpuf-duration-150 { + transition-duration: 150ms; +} +.wpuf-duration-200 { + transition-duration: 200ms; +} +.wpuf-duration-300 { + transition-duration: 300ms; +} +.wpuf-duration-500 { + transition-duration: 500ms; +} +.wpuf-duration-75 { + transition-duration: 75ms; +} +.wpuf-ease-in { + transition-timing-function: cubic-bezier(0.4, 0, 1, 1); +} +.wpuf-ease-in-out { + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); +} +.wpuf-ease-out { + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); +} + +/* Reset WordPress core select styles for the wizard */ +.wp-core-ui select { + min-height: unset !important; + max-width: unset !important; +} + +/* Full page white background - matches Pro */ +#wpcontent, #wpbody { + background: #fff; +} + +/* Custom animations */ +@keyframes fade-in { + from { + opacity: 0; + transform: translateY(10px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +.wpuf-animate-fadein { + animation: fade-in 0.3s ease-out forwards; +} + +#wpuf-ud-free-app { + max-width: 100%; +} + +.placeholder\:wpuf-text-gray-400::-moz-placeholder { + --tw-text-opacity: 1; + color: rgb(156 163 175 / var(--tw-text-opacity)); +} + +.placeholder\:wpuf-text-gray-400::placeholder { + --tw-text-opacity: 1; + color: rgb(156 163 175 / var(--tw-text-opacity)); +} + +.placeholder\:wpuf-text-red-300::-moz-placeholder { + --tw-text-opacity: 1; + color: rgb(252 165 165 / var(--tw-text-opacity)); +} + +.placeholder\:wpuf-text-red-300::placeholder { + --tw-text-opacity: 1; + color: rgb(252 165 165 / var(--tw-text-opacity)); +} + +.before\:wpuf-absolute::before { + content: var(--tw-content); + position: absolute; +} + +.before\:wpuf--top-6::before { + content: var(--tw-content); + top: -1.5rem; +} + +.before\:wpuf-mt-3::before { + content: var(--tw-content); + margin-top: 0.75rem; +} + +.before\:wpuf-h-3::before { + content: var(--tw-content); + height: 0.75rem; +} + +.before\:wpuf-bg-gray-700::before { + content: var(--tw-content); + --tw-bg-opacity: 1; + background-color: rgb(55 65 81 / var(--tw-bg-opacity)); +} + +.before\:wpuf-text-zinc-50::before { + content: var(--tw-content); + --tw-text-opacity: 1; + color: rgb(250 250 250 / var(--tw-text-opacity)); +} + +.before\:\!wpuf-content-none::before { + --tw-content: none !important; + content: var(--tw-content) !important; +} + +.after\:wpuf-absolute::after { + content: var(--tw-content); + position: absolute; +} + +.after\:wpuf-h-6::after { + content: var(--tw-content); + height: 1.5rem; +} + +.after\:wpuf-w-6::after { + content: var(--tw-content); + width: 1.5rem; +} + +.after\:wpuf-rounded-full::after { + content: var(--tw-content); + border-radius: 9999px; +} + +.after\:wpuf-border::after { + content: var(--tw-content); + border-width: 1px; +} + +.after\:wpuf-border-b-0::after { + content: var(--tw-content); + border-bottom-width: 0px; +} + +.after\:wpuf-border-r-0::after { + content: var(--tw-content); + border-right-width: 0px; +} + +.after\:wpuf-border-solid::after { + content: var(--tw-content); + border-style: solid; +} + +.after\:wpuf-border-gray-50::after { + content: var(--tw-content); + --tw-border-opacity: 1; + border-color: rgb(249 250 251 / var(--tw-border-opacity)); +} + +.after\:wpuf-border-x-transparent::after { + content: var(--tw-content); + border-left-color: transparent; + border-right-color: transparent; +} + +.after\:wpuf-border-t-gray-700::after { + content: var(--tw-content); + --tw-border-opacity: 1; + border-top-color: rgb(55 65 81 / var(--tw-border-opacity)); +} + +.after\:wpuf-bg-white::after { + content: var(--tw-content); + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)); +} + +.after\:wpuf-shadow-md::after { + content: var(--tw-content); + --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -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); +} + +.after\:wpuf-duration-300::after { + content: var(--tw-content); + transition-duration: 300ms; +} + +.last\:\!wpuf-border-b-0:last-child { + border-bottom-width: 0px !important; +} + +.checked\:\!wpuf-border-primary:checked { + --tw-border-opacity: 1 !important; + border-color: rgb(5 150 105 / var(--tw-border-opacity)) !important; +} + +.checked\:\!wpuf-bg-primary:checked { + --tw-bg-opacity: 1 !important; + background-color: rgb(5 150 105 / var(--tw-bg-opacity)) !important; +} + +.checked\:wpuf-bg-primary:checked { + --tw-bg-opacity: 1; + background-color: rgb(5 150 105 / var(--tw-bg-opacity)); +} + +.checked\:wpuf-bg-transparent:checked { + background-color: transparent; +} + +.checked\:\!wpuf-shadow-none:checked { + --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; +} + +.checked\:wpuf-shadow-sm:checked { + --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); +} + +.before\:checked\:\!wpuf-bg-white:checked::before { + content: var(--tw-content); + --tw-bg-opacity: 1 !important; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)) !important; +} + +.checked\:before\:\!wpuf-bg-transparent:checked::before { + content: var(--tw-content); + background-color: transparent !important; +} + +.hover\:wpuf-block:hover { + display: block; +} + +.hover\:wpuf-w-3:hover { + width: 0.75rem; +} + +.hover\:\!wpuf-cursor-move:hover { + cursor: move !important; +} + +.hover\:\!wpuf-cursor-pointer:hover { + cursor: pointer !important; +} + +.hover\:wpuf-cursor-pointer:hover { + cursor: pointer; +} + +.hover\:wpuf-rounded-md:hover { + border-radius: 0.375rem; +} + +.hover\:\!wpuf-border-t-2:hover { + border-top-width: 2px !important; +} + +.hover\:wpuf-border-b-2:hover { + border-bottom-width: 2px; +} + +.hover\:\!wpuf-border-emerald-200:hover { + --tw-border-opacity: 1 !important; + border-color: rgb(167 243 208 / var(--tw-border-opacity)) !important; +} + +.hover\:\!wpuf-border-emerald-600:hover { + --tw-border-opacity: 1 !important; + border-color: rgb(5 150 105 / var(--tw-border-opacity)) !important; +} + +.hover\:wpuf-border-blue-700:hover { + --tw-border-opacity: 1; + border-color: rgb(29 78 216 / var(--tw-border-opacity)); +} + +.hover\:wpuf-border-emerald-600:hover { + --tw-border-opacity: 1; + border-color: rgb(5 150 105 / var(--tw-border-opacity)); +} + +.hover\:wpuf-border-gray-300:hover { + --tw-border-opacity: 1; + border-color: rgb(209 213 219 / var(--tw-border-opacity)); +} + +.hover\:wpuf-border-gray-400:hover { + --tw-border-opacity: 1; + border-color: rgb(156 163 175 / var(--tw-border-opacity)); +} + +.hover\:wpuf-border-primary:hover { + --tw-border-opacity: 1; + border-color: rgb(5 150 105 / var(--tw-border-opacity)); +} + +.hover\:wpuf-border-purple-600:hover { + --tw-border-opacity: 1; + border-color: rgb(147 51 234 / var(--tw-border-opacity)); +} + +.hover\:wpuf-border-red-700:hover { + --tw-border-opacity: 1; + border-color: rgb(185 28 28 / var(--tw-border-opacity)); +} + +.hover\:wpuf-border-sky-500:hover { + --tw-border-opacity: 1; + border-color: rgb(14 165 233 / var(--tw-border-opacity)); +} + +.hover\:\!wpuf-bg-emerald-100:hover { + --tw-bg-opacity: 1 !important; + background-color: rgb(209 250 229 / var(--tw-bg-opacity)) !important; +} + +.hover\:\!wpuf-bg-emerald-50:hover { + --tw-bg-opacity: 1 !important; + background-color: rgb(236 253 245 / var(--tw-bg-opacity)) !important; +} + +.hover\:\!wpuf-bg-emerald-700:hover { + --tw-bg-opacity: 1 !important; + background-color: rgb(4 120 87 / var(--tw-bg-opacity)) !important; +} + +.hover\:\!wpuf-bg-gray-50:hover { + --tw-bg-opacity: 1 !important; + background-color: rgb(249 250 251 / var(--tw-bg-opacity)) !important; +} + +.hover\:\!wpuf-bg-green-50:hover { + --tw-bg-opacity: 1 !important; + background-color: rgb(240 253 244 / var(--tw-bg-opacity)) !important; +} + +.hover\:\!wpuf-bg-transparent:hover { + background-color: transparent !important; +} + +.hover\:wpuf-bg-amber-600:hover { + --tw-bg-opacity: 1; + background-color: rgb(217 119 6 / var(--tw-bg-opacity)); +} + +.hover\:wpuf-bg-blue-600:hover { + --tw-bg-opacity: 1; + background-color: rgb(37 99 235 / var(--tw-bg-opacity)); +} + +.hover\:wpuf-bg-blue-700:hover { + --tw-bg-opacity: 1; + background-color: rgb(29 78 216 / var(--tw-bg-opacity)); +} + +.hover\:wpuf-bg-emerald-100:hover { + --tw-bg-opacity: 1; + background-color: rgb(209 250 229 / var(--tw-bg-opacity)); +} + +.hover\:wpuf-bg-emerald-400:hover { + --tw-bg-opacity: 1; + background-color: rgb(52 211 153 / var(--tw-bg-opacity)); +} + +.hover\:wpuf-bg-emerald-50:hover { + --tw-bg-opacity: 1; + background-color: rgb(236 253 245 / var(--tw-bg-opacity)); +} + +.hover\:wpuf-bg-emerald-700:hover { + --tw-bg-opacity: 1; + background-color: rgb(4 120 87 / var(--tw-bg-opacity)); +} + +.hover\:wpuf-bg-emerald-800:hover { + --tw-bg-opacity: 1; + background-color: rgb(6 95 70 / var(--tw-bg-opacity)); +} + +.hover\:wpuf-bg-gray-100:hover { + --tw-bg-opacity: 1; + background-color: rgb(243 244 246 / var(--tw-bg-opacity)); +} + +.hover\:wpuf-bg-gray-50:hover { + --tw-bg-opacity: 1; + background-color: rgb(249 250 251 / var(--tw-bg-opacity)); +} + +.hover\:wpuf-bg-green-50:hover { + --tw-bg-opacity: 1; + background-color: rgb(240 253 244 / var(--tw-bg-opacity)); +} + +.hover\:wpuf-bg-green-700:hover { + --tw-bg-opacity: 1; + background-color: rgb(21 128 61 / var(--tw-bg-opacity)); +} + +.hover\:wpuf-bg-indigo-500:hover { + --tw-bg-opacity: 1; + background-color: rgb(99 102 241 / var(--tw-bg-opacity)); +} + +.hover\:wpuf-bg-indigo-700:hover { + --tw-bg-opacity: 1; + background-color: rgb(67 56 202 / var(--tw-bg-opacity)); +} + +.hover\:wpuf-bg-primary:hover { + --tw-bg-opacity: 1; + background-color: rgb(5 150 105 / var(--tw-bg-opacity)); +} + +.hover\:wpuf-bg-primaryHover:hover { + --tw-bg-opacity: 1; + background-color: rgb(16 185 129 / var(--tw-bg-opacity)); +} + +.hover\:wpuf-bg-purple-700:hover { + --tw-bg-opacity: 1; + background-color: rgb(126 34 206 / var(--tw-bg-opacity)); +} + +.hover\:wpuf-bg-red-500:hover { + --tw-bg-opacity: 1; + background-color: rgb(239 68 68 / var(--tw-bg-opacity)); +} + +.hover\:wpuf-bg-red-600:hover { + --tw-bg-opacity: 1; + background-color: rgb(220 38 38 / var(--tw-bg-opacity)); +} + +.hover\:wpuf-bg-red-700:hover { + --tw-bg-opacity: 1; + background-color: rgb(185 28 28 / var(--tw-bg-opacity)); +} + +.hover\:wpuf-bg-slate-100:hover { + --tw-bg-opacity: 1; + background-color: rgb(241 245 249 / var(--tw-bg-opacity)); +} + +.hover\:wpuf-bg-slate-500:hover { + --tw-bg-opacity: 1; + background-color: rgb(100 116 139 / var(--tw-bg-opacity)); +} + +.hover\:wpuf-bg-white:hover { + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)); +} + +.hover\:wpuf-bg-yellow-100:hover { + --tw-bg-opacity: 1; + background-color: rgb(254 249 195 / var(--tw-bg-opacity)); +} + +.hover\:\!wpuf-bg-none:hover { + background-image: none !important; +} + +.hover\:wpuf-from-purple-700:hover { + --tw-gradient-from: #7e22ce var(--tw-gradient-from-position); + --tw-gradient-to: rgb(126 34 206 / 0) var(--tw-gradient-to-position); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.hover\:wpuf-to-blue-700:hover { + --tw-gradient-to: #1d4ed8 var(--tw-gradient-to-position); +} + +.hover\:wpuf-to-indigo-700:hover { + --tw-gradient-to: #4338ca var(--tw-gradient-to-position); +} + +.hover\:wpuf-stroke-gray-200:hover { + stroke: #e5e7eb; +} + +.hover\:\!wpuf-text-emerald-600:hover { + --tw-text-opacity: 1 !important; + color: rgb(5 150 105 / var(--tw-text-opacity)) !important; +} + +.hover\:\!wpuf-text-emerald-700:hover { + --tw-text-opacity: 1 !important; + color: rgb(4 120 87 / var(--tw-text-opacity)) !important; +} + +.hover\:\!wpuf-text-gray-700:hover { + --tw-text-opacity: 1 !important; + color: rgb(55 65 81 / var(--tw-text-opacity)) !important; +} + +.hover\:\!wpuf-text-gray-900:hover { + --tw-text-opacity: 1 !important; + color: rgb(17 24 39 / var(--tw-text-opacity)) !important; +} + +.hover\:wpuf-text-emerald-200:hover { + --tw-text-opacity: 1; + color: rgb(167 243 208 / var(--tw-text-opacity)); +} + +.hover\:wpuf-text-emerald-700:hover { + --tw-text-opacity: 1; + color: rgb(4 120 87 / var(--tw-text-opacity)); +} + +.hover\:wpuf-text-gray-500:hover { + --tw-text-opacity: 1; + color: rgb(107 114 128 / var(--tw-text-opacity)); +} + +.hover\:wpuf-text-gray-600:hover { + --tw-text-opacity: 1; + color: rgb(75 85 99 / var(--tw-text-opacity)); +} + +.hover\:wpuf-text-gray-700:hover { + --tw-text-opacity: 1; + color: rgb(55 65 81 / var(--tw-text-opacity)); +} + +.hover\:wpuf-text-gray-800:hover { + --tw-text-opacity: 1; + color: rgb(31 41 55 / var(--tw-text-opacity)); +} + +.hover\:wpuf-text-gray-900:hover { + --tw-text-opacity: 1; + color: rgb(17 24 39 / var(--tw-text-opacity)); +} + +.hover\:wpuf-text-primary:hover { + --tw-text-opacity: 1; + color: rgb(5 150 105 / var(--tw-text-opacity)); +} + +.hover\:wpuf-text-primaryHover:hover { + --tw-text-opacity: 1; + color: rgb(16 185 129 / var(--tw-text-opacity)); +} + +.hover\:wpuf-text-purple-600:hover { + --tw-text-opacity: 1; + color: rgb(147 51 234 / var(--tw-text-opacity)); +} + +.hover\:wpuf-text-red-500:hover { + --tw-text-opacity: 1; + color: rgb(239 68 68 / var(--tw-text-opacity)); +} + +.hover\:wpuf-text-red-800:hover { + --tw-text-opacity: 1; + color: rgb(153 27 27 / var(--tw-text-opacity)); +} + +.hover\:wpuf-text-white:hover { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); +} + +.hover\:wpuf-underline:hover { + text-decoration-line: underline; +} + +.hover\:wpuf-opacity-100:hover { + opacity: 1; +} + +.hover\:wpuf-shadow-lg:hover { + --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); +} + +.hover\:wpuf-shadow-md:hover { + --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); + --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -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); +} + +.hover\:wpuf-shadow-sm:hover { + --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); +} + +.hover\:wpuf-drop-shadow-sm:hover { + --tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / 0.05)); + 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); +} + +.hover\:wpuf-transition-all:hover { + transition-property: all; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.checked\:hover\:wpuf-bg-primary:hover:checked { + --tw-bg-opacity: 1; + background-color: rgb(5 150 105 / var(--tw-bg-opacity)); +} + +.checked\:hover\:wpuf-bg-transparent:hover:checked { + background-color: transparent; +} + +.hover\:checked\:\!wpuf-bg-primary:checked:hover { + --tw-bg-opacity: 1 !important; + background-color: rgb(5 150 105 / var(--tw-bg-opacity)) !important; +} + +.checked\:hover\:wpuf-shadow-none:hover:checked { + --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); +} + +.hover\:checked\:\!wpuf-ring-transparent:checked:hover { + --tw-ring-color: transparent !important; +} + +.focus\:wpuf-z-20:focus { + z-index: 20; +} + +.focus\:wpuf-border-none:focus { + border-style: none; +} + +.focus\:\!wpuf-border-\[\#10b981\]:focus { + --tw-border-opacity: 1 !important; + border-color: rgb(16 185 129 / var(--tw-border-opacity)) !important; +} + +.focus\:\!wpuf-border-primaryHover:focus { + --tw-border-opacity: 1 !important; + border-color: rgb(16 185 129 / var(--tw-border-opacity)) !important; +} + +.focus\:\!wpuf-border-transparent:focus { + border-color: transparent !important; +} + +.focus\:wpuf-border-emerald-500:focus { + --tw-border-opacity: 1; + border-color: rgb(16 185 129 / var(--tw-border-opacity)); +} + +.focus\:wpuf-border-emerald-700:focus { + --tw-border-opacity: 1; + border-color: rgb(4 120 87 / var(--tw-border-opacity)); +} + +.focus\:wpuf-border-primary:focus { + --tw-border-opacity: 1; + border-color: rgb(5 150 105 / var(--tw-border-opacity)); +} + +.focus\:wpuf-border-transparent:focus { + border-color: transparent; +} + +.focus\:wpuf-bg-amber-600:focus { + --tw-bg-opacity: 1; + background-color: rgb(217 119 6 / var(--tw-bg-opacity)); +} + +.focus\:wpuf-bg-emerald-700:focus { + --tw-bg-opacity: 1; + background-color: rgb(4 120 87 / var(--tw-bg-opacity)); +} + +.focus\:wpuf-bg-indigo-500:focus { + --tw-bg-opacity: 1; + background-color: rgb(99 102 241 / var(--tw-bg-opacity)); +} + +.focus\:wpuf-bg-primaryHover:focus { + --tw-bg-opacity: 1; + background-color: rgb(16 185 129 / var(--tw-bg-opacity)); +} + +.focus\:wpuf-bg-slate-100:focus { + --tw-bg-opacity: 1; + background-color: rgb(241 245 249 / var(--tw-bg-opacity)); +} + +.focus\:wpuf-from-purple-700:focus { + --tw-gradient-from: #7e22ce var(--tw-gradient-from-position); + --tw-gradient-to: rgb(126 34 206 / 0) var(--tw-gradient-to-position); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.focus\:wpuf-to-blue-700:focus { + --tw-gradient-to: #1d4ed8 var(--tw-gradient-to-position); +} + +.focus\:wpuf-text-white:focus { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); +} + +.focus\:\!wpuf-shadow-none:focus { + --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; +} + +.focus\:wpuf-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\:wpuf-shadow-primary:focus { + --tw-shadow-color: #059669; + --tw-shadow: var(--tw-shadow-colored); +} + +.focus\:\!wpuf-outline-none:focus { + outline: 2px solid transparent !important; + outline-offset: 2px !important; +} + +.focus\:wpuf-outline-none:focus { + outline: 2px solid transparent; + outline-offset: 2px; +} + +.focus\:\!wpuf-ring-0:focus { + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important; + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important; + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000) !important; +} + +.focus\:\!wpuf-ring-2:focus { + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important; + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important; + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000) !important; +} + +.focus\:wpuf-ring: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(3px + 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\:wpuf-ring-1: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(1px + 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\:wpuf-ring-2: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(2px + 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\:\!wpuf-ring-primary:focus { + --tw-ring-opacity: 1 !important; + --tw-ring-color: rgb(5 150 105 / var(--tw-ring-opacity)) !important; +} + +.focus\:\!wpuf-ring-transparent:focus { + --tw-ring-color: transparent !important; +} + +.focus\:wpuf-ring-blue-200:focus { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(191 219 254 / var(--tw-ring-opacity)); +} + +.focus\:wpuf-ring-blue-500:focus { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity)); +} + +.focus\:wpuf-ring-emerald-200:focus { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(167 243 208 / var(--tw-ring-opacity)); +} + +.focus\:wpuf-ring-emerald-500:focus { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(16 185 129 / var(--tw-ring-opacity)); +} + +.focus\:wpuf-ring-gray-300:focus { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity)); +} + +.focus\:wpuf-ring-primary:focus { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(5 150 105 / var(--tw-ring-opacity)); +} + +.focus\:wpuf-ring-primaryHover:focus { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(16 185 129 / var(--tw-ring-opacity)); +} + +.focus\:wpuf-ring-purple-500:focus { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(168 85 247 / var(--tw-ring-opacity)); +} + +.focus\:wpuf-ring-red-200:focus { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(254 202 202 / var(--tw-ring-opacity)); +} + +.focus\:wpuf-ring-red-500:focus { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity)); +} + +.focus\:wpuf-ring-transparent:focus { + --tw-ring-color: transparent; +} + +.focus\:wpuf-ring-yellow-500:focus { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(234 179 8 / var(--tw-ring-opacity)); +} + +.focus\:\!wpuf-ring-offset-2:focus { + --tw-ring-offset-width: 2px !important; +} + +.focus\:wpuf-ring-offset-2:focus { + --tw-ring-offset-width: 2px; +} + +.checked\:focus\:\!wpuf-bg-primary:focus:checked { + --tw-bg-opacity: 1 !important; + background-color: rgb(5 150 105 / var(--tw-bg-opacity)) !important; +} + +.checked\:focus\:wpuf-bg-transparent:focus:checked { + background-color: transparent; +} + +.focus\:checked\:\!wpuf-bg-primary:checked:focus { + --tw-bg-opacity: 1 !important; + background-color: rgb(5 150 105 / var(--tw-bg-opacity)) !important; +} + +.focus\:checked\:\!wpuf-shadow-none:checked:focus { + --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; +} + +.focus\:checked\:\!wpuf-shadow-primary:checked:focus { + --tw-shadow-color: #059669 !important; + --tw-shadow: var(--tw-shadow-colored) !important; +} + +.focus\:checked\:\!wpuf-ring-transparent:checked:focus { + --tw-ring-color: transparent !important; +} + +.focus-visible\:wpuf-outline:focus-visible { + outline-style: solid; +} + +.focus-visible\:wpuf-outline-2:focus-visible { + outline-width: 2px; +} + +.focus-visible\:wpuf-outline-offset-2:focus-visible { + outline-offset: 2px; +} + +.focus-visible\:wpuf-outline-indigo-600:focus-visible { + outline-color: #4f46e5; +} + +.focus-visible\:wpuf-outline-primary:focus-visible { + outline-color: #059669; +} + +.focus-visible\:wpuf-ring-2:focus-visible { + --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, 0 0 #0000); +} + +.focus-visible\:wpuf-ring-white:focus-visible { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity)); +} + +.focus-visible\:wpuf-ring-opacity-75:focus-visible { + --tw-ring-opacity: 0.75; +} + +.active\:\!wpuf-bg-transparent:active { + background-color: transparent !important; +} + +.active\:wpuf-shadow-none:active { + --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); +} + +.disabled\:wpuf-cursor-not-allowed:disabled { + cursor: not-allowed; +} + +.disabled\:wpuf-opacity-50:disabled { + opacity: 0.5; +} + +.wpuf-group:hover .group-hover\:wpuf-flex { + display: flex; +} + +.wpuf-group:hover .group-hover\:wpuf-rotate-6 { + --tw-rotate: 6deg; + 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)); +} + +.wpuf-group:hover .group-hover\:wpuf-cursor-pointer { + cursor: pointer; +} + +.wpuf-group\/column-inner:hover .group-hover\/column-inner\:wpuf-border-green-400 { + --tw-border-opacity: 1; + border-color: rgb(74 222 128 / var(--tw-border-opacity)); +} + +.wpuf-group\/hidden-fields:hover .group-hover\/hidden-fields\:wpuf-border-green-400 { + --tw-border-opacity: 1; + border-color: rgb(74 222 128 / var(--tw-border-opacity)); +} + +.wpuf-group:hover .group-hover\:\!wpuf-border-green-400 { + --tw-border-opacity: 1 !important; + border-color: rgb(74 222 128 / var(--tw-border-opacity)) !important; +} + +.wpuf-group:hover .group-hover\:wpuf-border-green-400 { + --tw-border-opacity: 1; + border-color: rgb(74 222 128 / var(--tw-border-opacity)); +} + +.wpuf-group\/hidden-fields:hover .group-hover\/hidden-fields\:wpuf-bg-green-50 { + --tw-bg-opacity: 1; + background-color: rgb(240 253 244 / var(--tw-bg-opacity)); +} + +.wpuf-group:hover .group-hover\:wpuf-stroke-gray-500 { + stroke: #6b7280; +} + +.wpuf-group\/sidebar-item:hover .group-hover\/sidebar-item\:wpuf-text-white { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); +} + +.wpuf-group\/column-inner:hover .group-hover\/column-inner\:wpuf-opacity-100 { + opacity: 1; +} + +.wpuf-group\/hidden-fields:hover .group-hover\/hidden-fields\:wpuf-opacity-100 { + opacity: 1; +} + +.wpuf-group\/item:hover .group-hover\/item\:wpuf-opacity-100 { + opacity: 1; +} + +.wpuf-group\/pro-field:hover .group-hover\/pro-field\:wpuf-opacity-100 { + opacity: 1; +} + +.wpuf-group\/pro-item:hover .group-hover\/pro-item\:wpuf-opacity-100 { + opacity: 1; +} + +.wpuf-group\/pro-item:hover .group-hover\/pro-item\:wpuf-opacity-50 { + opacity: 0.5; +} + +.wpuf-group:hover .group-hover\:wpuf-opacity-100 { + opacity: 1; +} + +.wpuf-group:hover .group-hover\:wpuf-opacity-70 { + opacity: 0.7; +} + +.wpuf-group:hover .group-hover\:wpuf-grayscale-0 { + --tw-grayscale: grayscale(0); + 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); +} + +.wpuf-peer:checked ~ .peer-checked\:wpuf-border-primary { + --tw-border-opacity: 1; + border-color: rgb(5 150 105 / var(--tw-border-opacity)); +} + +.wpuf-peer:checked ~ .peer-checked\:wpuf-bg-primary { + --tw-bg-opacity: 1; + background-color: rgb(5 150 105 / var(--tw-bg-opacity)); +} + +.wpuf-peer:checked ~ .peer-checked\:wpuf-opacity-100 { + opacity: 1; +} + +.wpuf-peer:checked ~ .peer-checked\:after\:wpuf-translate-x-4::after { + content: var(--tw-content); + --tw-translate-x: 1rem; + 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)); +} + +.wpuf-peer:hover ~ .peer-hover\:wpuf-block { + display: block; +} + +@media (min-width: 640px) { + + .sm\:wpuf--mx-6 { + margin-left: -1.5rem; + margin-right: -1.5rem; + } + + .sm\:wpuf-mx-auto { + margin-left: auto; + margin-right: auto; + } + + .sm\:wpuf-flex { + display: flex; + } + + .sm\:wpuf-h-\[calc\(100vh-10rem\)\] { + height: calc(100vh - 10rem); + } + + .sm\:\!wpuf-grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)) !important; + } + + .sm\:wpuf-grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + + .sm\:wpuf-items-center { + align-items: center; + } + + .sm\:wpuf-space-x-10 > :not([hidden]) ~ :not([hidden]) { + --tw-space-x-reverse: 0; + margin-right: calc(2.5rem * var(--tw-space-x-reverse)); + margin-left: calc(2.5rem * calc(1 - var(--tw-space-x-reverse))); + } + + .sm\:wpuf-space-y-0 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0px * var(--tw-space-y-reverse)); + } + + .sm\:wpuf-rounded-lg { + border-radius: 0.5rem; + } + + .sm\:wpuf-p-0 { + padding: 0px; + } + + .sm\:wpuf-p-5 { + padding: 1.25rem; + } + + .sm\:wpuf-p-6 { + padding: 1.5rem; + } + + .sm\:wpuf-p-9 { + padding: 2.25rem; + } + + .sm\:wpuf-px-6 { + padding-left: 1.5rem; + padding-right: 1.5rem; + } + + .sm\:wpuf-py-32 { + padding-top: 8rem; + padding-bottom: 8rem; + } + + .sm\:wpuf-pl-6 { + padding-left: 1.5rem; + } + + .sm\:wpuf-text-5xl { + font-size: 3rem; + line-height: 1; + } + + .sm\:wpuf-text-sm { + font-size: 0.875rem; + line-height: 1.25rem; + } + + .sm\:wpuf-leading-6 { + line-height: 1.5rem; + } +} + +@media (min-width: 768px) { + + .md\:wpuf-inline-block { + display: inline-block; + } + + .md\:\!wpuf-w-\[100px\] { + width: 100px !important; + } + + .md\:\!wpuf-w-\[140px\] { + width: 140px !important; + } + + .md\:\!wpuf-w-\[280px\] { + width: 280px !important; + } + + .md\:\!wpuf-w-auto { + width: auto !important; + } + + .md\:wpuf-w-3\/4 { + width: 75%; + } + + .md\:wpuf-grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + + .md\:\!wpuf-flex-row { + flex-direction: row !important; + } + + .md\:wpuf-flex-row { + flex-direction: row; + } + + .md\:\!wpuf-items-center { + align-items: center !important; + } + + .md\:\!wpuf-gap-3 { + gap: 0.75rem !important; + } + + .md\:wpuf-pb-16 { + padding-bottom: 4rem; + } +} + +@media (min-width: 1024px) { + + .lg\:\!wpuf-mx-0 { + margin-left: 0px !important; + margin-right: 0px !important; + } + + .lg\:wpuf--mx-8 { + margin-left: -2rem; + margin-right: -2rem; + } + + .lg\:\!wpuf-max-w-none { + max-width: none !important; + } + + .lg\:\!wpuf-grid-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)) !important; + } + + .lg\:wpuf-grid-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + + .lg\:wpuf-flex-row { + flex-direction: row; + } + + .lg\:wpuf-gap-0 { + gap: 0px; + } + + .lg\:wpuf-rounded-l-none { + border-top-left-radius: 0px; + border-bottom-left-radius: 0px; + } + + .lg\:wpuf-rounded-r-none { + border-top-right-radius: 0px; + border-bottom-right-radius: 0px; + } + + .lg\:wpuf-p-8 { + padding: 2rem; + } + + .lg\:wpuf-px-8 { + padding-left: 2rem; + padding-right: 2rem; + } + + .lg\:wpuf-pb-12 { + padding-bottom: 3rem; + } +} + +@media (min-width: 1280px) { + + .xl\:wpuf-mt-10 { + margin-top: 2.5rem; + } +} + +.rtl\:wpuf-left-auto:where([dir="rtl"], [dir="rtl"] *) { + left: auto; +} + +.rtl\:wpuf-right-0:where([dir="rtl"], [dir="rtl"] *) { + right: 0px; +} + +.rtl\:wpuf-ml-1:where([dir="rtl"], [dir="rtl"] *) { + margin-left: 0.25rem; +} + +.rtl\:wpuf-mr-0:where([dir="rtl"], [dir="rtl"] *) { + margin-right: 0px; +} + +.rtl\:wpuf-pl-0:where([dir="rtl"], [dir="rtl"] *) { + padding-left: 0px; +} + +.rtl\:wpuf-pr-2:where([dir="rtl"], [dir="rtl"] *) { + padding-right: 0.5rem; +} + +.rtl\:wpuf-text-right:where([dir="rtl"], [dir="rtl"] *) { + text-align: right; +} + +.\[\&\:hover_svg_path\]\:wpuf-fill-emerald-600:hover svg path { + fill: #059669; +} + + +/*# sourceMappingURL=wpuf-user-directory-free.css.map*/ \ No newline at end of file diff --git a/assets/css/wpuf-user-directory-free.css.map b/assets/css/wpuf-user-directory-free.css.map new file mode 100644 index 000000000..6115e645f --- /dev/null +++ b/assets/css/wpuf-user-directory-free.css.map @@ -0,0 +1 @@ +{"version":3,"file":"../css/wpuf-user-directory-free.css","mappings":"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mB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,WAAmB;EAAnB;AAAmB;AAAnB;EAAA,cAAmB;EAAnB;AAAmB;AAAnB;EAAA,aAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,wBAAmB;EAAnB;AAAmB;AAAnB;EAAA,wBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,4BAAmB;EAAnB;AAAmB;AAAnB;EAAA,4BAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,uBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,uBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAm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B;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,iCAAmB;EAAnB;AAAmB;AAAnB;EAAA,iCAAmB;EAAnB;AAAmB;AAAnB;EAAA,iCAAmB;EAAnB;AAAmB;AAAnB;EAAA,iCAAmB;EAAnB;AAAmB;AAAnB;EAAA,iCAAmB;EAAnB;AAAmB;AAAnB;EAAA,iCAAmB;EAAnB;AAAmB;AAAnB;EAAA,iCAAmB;EAAnB;AAAmB;AAAnB;EAAA,iCAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,iCAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA,sBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,6BAAmB;EAAnB;AAAmB;AAAnB;EAAA,6BAAmB;EAAnB;AAAmB;AAAnB;EAAA,6BAAmB;EAAnB;AAAmB;AAAnB;EAAA,6BAAmB;EAAnB;AAAmB;AAAnB;EAAA,6BAAmB;EAAnB;AAAmB;AAAnB;EAAA,6BAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,6BAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;EAAnB;AAAmB;AAAnB;EAAA,kBAAmB;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AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA;AAAmB;AAAnB;EAAA,+BAAmB;EAAnB;AAAmB;AAAnB;EAAA,+BAAmB;EAAnB;AAAmB;AAAnB;EAAA,+BAAmB;EAAnB;AAAmB;AAAnB;EAAA,+BAAmB;EAAnB;AAAmB;AAAnB;EAAA,+BAAmB;EAAnB;AAAmB;AAAnB;EAAA,+BAAmB;EAAnB;AAAmB;AAAnB;EAAA,+BAAmB;EAAnB;AAAmB;AAAnB;EAAA,+BAAmB;EAAnB;AAAmB;AAAnB;EAAA,+BAAmB;EAAnB;AAAmB;AAAnB;EAAA,+BAAmB;EAAnB;AAAmB;AAAnB;EAAA,+BAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oBAAmB;EAAnB;AAAmB;AAAnB;EAAA,oB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","sources":["webpack://wp-user-frontend/./src/js/user-directory/styles/main.css"],"sourcesContent":["/**\n * User Directory Free - Main Styles\n *\n * Tailwind CSS with wpuf- prefix\n *\n * @package WPUF\n * @subpackage Free/User_Directory\n * @since 4.3.0\n */\n\n@tailwind base;\n@tailwind components;\n@tailwind utilities;\n\n@layer components {\n .wpuf-btn-primary {\n @apply wpuf-rounded-md wpuf-bg-primary !wpuf-text-white wpuf-px-4 wpuf-py-3 wpuf-text-sm wpuf-font-semibold hover:wpuf-bg-emerald-700 hover:wpuf-text-white focus:wpuf-text-white focus:wpuf-shadow-none;\n }\n\n .wpuf-btn-white {\n @apply wpuf-rounded-md wpuf-bg-white wpuf-text-gray-700 wpuf-px-4 wpuf-py-3 wpuf-text-sm wpuf-font-medium hover:wpuf-bg-gray-100 wpuf-border wpuf-border-gray-300;\n }\n}\n\n/* Reset WordPress core select styles for the wizard */\n.wp-core-ui select {\n min-height: unset !important;\n max-width: unset !important;\n}\n\n/* Full page white background - matches Pro */\n#wpcontent, #wpbody {\n background: #fff;\n}\n\n/* Custom animations */\n@keyframes fade-in {\n from {\n opacity: 0;\n transform: translateY(10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.wpuf-animate-fadein {\n animation: fade-in 0.3s ease-out forwards;\n}\n\n#wpuf-ud-free-app {\n max-width: 100%;\n}\n"],"names":[],"ignoreList":[],"sourceRoot":""} \ No newline at end of file diff --git a/assets/css/wpuf-user-directory-frontend.css b/assets/css/wpuf-user-directory-frontend.css new file mode 100644 index 000000000..aeb8a0a17 --- /dev/null +++ b/assets/css/wpuf-user-directory-frontend.css @@ -0,0 +1,550 @@ +/** + * User Directory Free - Frontend Styles + * + * @package WPUF + * @subpackage Free/User_Directory + * @since 4.3.0 + */ + +/* ========================================================================== + Directory Layout 3 - Grid with Round Avatars + ========================================================================== */ + +.wpuf-user-directory { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; +} + +/* Header with Search */ +.wpuf-ud-header { + margin-bottom: 2rem; +} + +.wpuf-ud-search-form { + max-width: 400px; +} + +.wpuf-ud-search-wrap { + position: relative; + display: flex; + align-items: center; +} + +.wpuf-ud-search-input { + width: 100%; + padding: 0.75rem 3rem 0.75rem 1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #374151; + background-color: #fff; + border: 1px solid #d1d5db; + border-radius: 0.5rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +.wpuf-ud-search-input:focus { + outline: none; + border-color: #10b981; + box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1); +} + +.wpuf-ud-search-input::placeholder { + color: #9ca3af; +} + +.wpuf-ud-search-btn { + position: absolute; + right: 0.75rem; + padding: 0.25rem; + color: #6b7280; + background: none; + border: none; + cursor: pointer; +} + +.wpuf-ud-search-btn:hover { + color: #374151; +} + +.wpuf-ud-search-clear { + position: absolute; + right: 2.5rem; + padding: 0.25rem 0.5rem; + font-size: 0.75rem; + color: #6b7280; + text-decoration: none; +} + +.wpuf-ud-search-clear:hover { + color: #ef4444; +} + +/* User Grid */ +.wpuf-ud-grid { + display: grid; + gap: 1.5rem; +} + +.wpuf-ud-grid-3 { + grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); +} + +.wpuf-ud-grid-4 { + grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); +} + +@media (min-width: 768px) { + .wpuf-ud-grid-3 { + grid-template-columns: repeat(3, 1fr); + } + + .wpuf-ud-grid-4 { + grid-template-columns: repeat(4, 1fr); + } +} + +/* User Card */ +.wpuf-ud-user-card { + background: #fff; + border: 1px solid #e5e7eb; + border-radius: 0.75rem; + padding: 1.5rem; + text-align: center; + transition: box-shadow 0.2s ease-in-out, transform 0.2s ease-in-out; +} + +.wpuf-ud-user-card:hover { + box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); + transform: translateY(-2px); +} + +.wpuf-ud-user-link { + display: block; + text-decoration: none; + color: inherit; +} + +.wpuf-ud-avatar { + margin-bottom: 1rem; +} + +.wpuf-ud-avatar-img { + width: 128px; + height: 128px; + border-radius: 50%; + object-fit: cover; + margin: 0 auto; + display: block; +} + +.wpuf-ud-user-info { + min-height: 60px; +} + +.wpuf-ud-user-name { + margin: 0 0 0.5rem; + font-size: 1.125rem; + font-weight: 600; + color: #111827; + line-height: 1.4; +} + +.wpuf-ud-user-email { + margin: 0; + font-size: 0.875rem; + color: #6b7280; + word-break: break-all; +} + +/* No Users Found */ +.wpuf-ud-no-users { + grid-column: 1 / -1; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + min-height: 300px; + text-align: center; + padding: 2rem; + background: #f9fafb; + border-radius: 0.75rem; +} + +.wpuf-ud-no-users-icon { + width: 64px; + height: 64px; + display: flex; + align-items: center; + justify-content: center; + background: #e5e7eb; + border-radius: 50%; + margin-bottom: 1rem; + color: #6b7280; +} + +.wpuf-ud-no-users-title { + margin: 0 0 0.5rem; + font-size: 1rem; + font-weight: 600; + color: #111827; +} + +.wpuf-ud-no-users-text { + margin: 0 0 1rem; + font-size: 0.875rem; + color: #6b7280; +} + +.wpuf-ud-btn { + display: inline-flex; + align-items: center; + padding: 0.5rem 1rem; + font-size: 0.875rem; + font-weight: 500; + color: #fff; + background-color: #10b981; + border: none; + border-radius: 0.375rem; + text-decoration: none; + cursor: pointer; + transition: background-color 0.15s ease-in-out; +} + +.wpuf-ud-btn:hover { + background-color: #059669; + color: #fff; +} + +/* Pagination */ +.wpuf-ud-pagination { + margin-top: 2rem; + display: flex; + justify-content: center; +} + +.wpuf-ud-pagination ul { + display: flex; + gap: 0.25rem; + list-style: none; + margin: 0; + padding: 0; +} + +.wpuf-ud-pagination li { + margin: 0; +} + +.wpuf-ud-pagination a, +.wpuf-ud-pagination span { + display: flex; + align-items: center; + justify-content: center; + min-width: 2.5rem; + height: 2.5rem; + padding: 0 0.75rem; + font-size: 0.875rem; + font-weight: 500; + color: #374151; + background: #fff; + border: 1px solid #d1d5db; + border-radius: 0.375rem; + text-decoration: none; + transition: all 0.15s ease-in-out; +} + +.wpuf-ud-pagination a:hover { + background: #f3f4f6; + border-color: #9ca3af; + color: #111827; +} + +.wpuf-ud-pagination .current { + background: #10b981; + border-color: #10b981; + color: #fff; +} + +/* ========================================================================== + Profile Layout 2 - Centered Profile + ========================================================================== */ + +.wpuf-profile { + max-width: 800px; + margin: 0 auto; + padding: 1rem; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; +} + +/* Back Button */ +.wpuf-profile-back { + margin-bottom: 2rem; +} + +.wpuf-profile-back-btn { + display: inline-flex; + align-items: center; + gap: 0.5rem; + padding: 0.625rem 1rem; + font-size: 0.875rem; + font-weight: 500; + color: #6b7280; + background: #fff; + border: 1px solid #d1d5db; + border-radius: 0.5rem; + text-decoration: none; + transition: all 0.15s ease-in-out; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.wpuf-profile-back-btn:hover { + background: #f9fafb; + color: #10b981; + border-color: #10b981; +} + +.wpuf-profile-back-btn svg { + flex-shrink: 0; +} + +/* Profile Card */ +.wpuf-profile-card { + background: #fff; + border: 1px solid #e5e7eb; + border-radius: 1rem; + padding: 2.5rem; + text-align: center; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); +} + +/* Avatar */ +.wpuf-profile-avatar { + margin-bottom: 1.5rem; +} + +.wpuf-profile-avatar-img { + width: 128px; + height: 128px; + border-radius: 50%; + object-fit: cover; + border: 4px solid #fff; + box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); +} + +/* Name */ +.wpuf-profile-name { + margin: 0 0 1.5rem; + font-size: 1.5rem; + font-weight: 700; + color: #111827; + line-height: 1.3; +} + +/* Contact Info */ +.wpuf-profile-contact { + display: flex; + flex-wrap: wrap; + gap: 2rem; + justify-content: center; + padding: 1.5rem 0; + border-top: 1px solid #e5e7eb; + border-bottom: 1px solid #e5e7eb; + margin-bottom: 1.5rem; +} + +.wpuf-profile-contact-item { + display: flex; + align-items: center; + gap: 0.75rem; +} + +.wpuf-profile-contact-item svg { + color: #6b7280; + flex-shrink: 0; +} + +.wpuf-profile-contact-info { + display: flex; + flex-direction: column; + text-align: left; +} + +.wpuf-profile-contact-label { + font-size: 0.75rem; + color: #9ca3af; + text-transform: uppercase; + letter-spacing: 0.05em; +} + +.wpuf-profile-contact-value { + font-size: 0.875rem; + font-weight: 500; + color: #111827; + text-decoration: none; +} + +.wpuf-profile-contact-value:hover { + color: #10b981; +} + +/* Actions */ +.wpuf-profile-actions { + margin-bottom: 1.5rem; +} + +.wpuf-profile-edit-btn { + display: inline-flex; + align-items: center; + padding: 0.75rem 1.5rem; + font-size: 0.875rem; + font-weight: 500; + color: #fff; + background-color: #10b981; + border: none; + border-radius: 0.5rem; + text-decoration: none; + transition: background-color 0.15s ease-in-out; +} + +.wpuf-profile-edit-btn:hover { + background-color: #059669; + color: #fff; +} + +/* Bio Section */ +.wpuf-profile-bio { + margin-top: 2rem; + text-align: left; +} + +.wpuf-profile-section-title { + margin: 0 0 1rem; + font-size: 1rem; + font-weight: 600; + color: #374151; +} + +.wpuf-profile-bio-text { + margin: 0; + font-size: 0.9375rem; + line-height: 1.7; + color: #6b7280; +} + +.wpuf-profile-bio-text p { + margin: 0 0 1rem; +} + +.wpuf-profile-bio-text p:last-child { + margin-bottom: 0; +} + +/* Pro CTA */ +.wpuf-profile-pro-cta { + margin-top: 2rem; + padding-top: 2rem; + border-top: 1px dashed #e5e7eb; +} + +.wpuf-profile-pro-cta-inner { + background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%); + border: 1px solid #a7f3d0; + border-radius: 0.75rem; + padding: 1.5rem; + text-align: center; +} + +.wpuf-profile-pro-cta-title { + display: flex; + align-items: center; + justify-content: center; + gap: 0.5rem; + margin: 0 0 0.75rem; + font-size: 1rem; + font-weight: 600; + color: #065f46; +} + +.wpuf-profile-pro-cta-title svg { + color: #10b981; +} + +.wpuf-profile-pro-cta-text { + margin: 0 0 1rem; + font-size: 0.875rem; + color: #047857; +} + +.wpuf-profile-pro-cta-btn { + display: inline-flex; + align-items: center; + gap: 0.5rem; + padding: 0.625rem 1.25rem; + font-size: 0.875rem; + font-weight: 500; + color: #fff; + background: linear-gradient(135deg, #10b981 0%, #059669 100%); + border: none; + border-radius: 0.5rem; + text-decoration: none; + transition: all 0.15s ease-in-out; + box-shadow: 0 2px 4px rgba(16, 185, 129, 0.3); +} + +.wpuf-profile-pro-cta-btn:hover { + background: linear-gradient(135deg, #059669 0%, #047857 100%); + color: #fff; + transform: translateY(-1px); + box-shadow: 0 4px 8px rgba(16, 185, 129, 0.4); +} + +/* Notice */ +.wpuf-ud-notice { + padding: 1rem 1.5rem; + background: #fef3c7; + border: 1px solid #fcd34d; + border-radius: 0.5rem; + color: #92400e; + font-size: 0.875rem; +} + +.wpuf-ud-notice a { + color: #92400e; + font-weight: 500; + text-decoration: underline; +} + +.wpuf-ud-notice a:hover { + color: #78350f; +} + +/* Responsive */ +@media (max-width: 640px) { + .wpuf-ud-grid { + grid-template-columns: 1fr; + } + + .wpuf-ud-user-card { + padding: 1.25rem; + } + + .wpuf-ud-avatar-img { + width: 96px; + height: 96px; + } + + .wpuf-profile-card { + padding: 1.5rem; + } + + .wpuf-profile-contact { + flex-direction: column; + gap: 1rem; + } + + .wpuf-profile-contact-item { + justify-content: center; + } + + .wpuf-profile-contact-info { + text-align: center; + } +} diff --git a/assets/images/user-directory/confetti.png b/assets/images/user-directory/confetti.png new file mode 100644 index 0000000000000000000000000000000000000000..4c3394fbd7907982ad9b3663c5b6d545f8ca3ddb GIT binary patch literal 4482 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 oaN+40O1ni3jhEB literal 0 HcmV?d00001 diff --git a/assets/images/user-directory/directory-layout-3.png b/assets/images/user-directory/directory-layout-3.png new file mode 100644 index 0000000000000000000000000000000000000000..ca1f2065713ba88a64dc806a87965e6837f05354 GIT binary patch literal 10208 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 literal 0 HcmV?d00001 diff --git a/assets/images/user-directory/directory-layout-4.png b/assets/images/user-directory/directory-layout-4.png new file mode 100644 index 0000000000000000000000000000000000000000..86e5b7024e7340aabcc8c43ee10b1f696bf78183 GIT binary patch literal 33030 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 literal 0 HcmV?d00001 diff --git a/assets/images/user-directory/directory-layout-5.png b/assets/images/user-directory/directory-layout-5.png new file mode 100644 index 0000000000000000000000000000000000000000..887d171f4d62501a6ba18af50fec1b7a09348d03 GIT binary patch literal 13179 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 literal 0 HcmV?d00001 diff --git a/assets/images/user-directory/profile-layout-1.png b/assets/images/user-directory/profile-layout-1.png new file mode 100644 index 0000000000000000000000000000000000000000..0584fcc1d489728f955aa4f6a047155e254fac59 GIT binary patch literal 25714 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 z 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 b-bRud>k4r_;{pC6(g=MQ*4oDWI% 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

PM+I@or{3CmmO5DoBVph{8z zdcUJpDt`5CF0k2ps1YPFzD6PkodMME1xgvkNuqI9#H{LWwb z_4OL%i;48hD=EbO(odN?bDh~h(Dd?*@hd9i?*)(%ihPwa1`^t;&hhpaUt$j8H|yUO zd38RlHh&q8?_ekaVn9(*-b)og*(Kej{A1$K{0efbROjK9!9642wXj7qFw5 z_nf8`cJnfQwUPFE;Kw2q2$w9}CMiHp_3eoK zv2ZBn@|WSgmPZTv3$l8TF^92w02aKf3o0=&Y<;hEK@pNpSTK}x_}aa8uqDS%m)f&| ztRm@Oxe{7WTNcX?AN#U{NDmMY$q}|Bwfij??VqIygEe)?{Fcwk5-iRlEe-V|<>=w= zp5IZ2hu@r#uDOtxU#2l|dq*W$Ng)1=2VZP=5=&GJ<2Opa zJ0mM!YLCm6;KwC9Q3(w~0w(T`eWIACSV>h;M0rbuRvF)62^$GnRR$L}cIEW6C_oDi zUl+8bA)_QvP=xiIxN{Fhes22ojwX|pxHh6JUmk}oQ5|f~FD}Wb5BK-bn$e`atL@H| zx@Q$(?EM~%quTB(yQZLUc4 zVMi4fw!}+QQvLy2s|yY8ACNF{!N7Eql7!-2uu9lDMYB9*C=Os;usYLZG%CkXAbI}# zFKqJilg~#Hf3K`KwIE(dl|%kTpZ!G&sop0Ufjn?_lZewcy*X0^Gt5K4bWD3`HUE9v zqjh?HtwJ)yMuz9??CiTQN+lP)PISOL!S}(@p;*U}Qn_kVS6Kymlb8AQ95D z^~-Mu#!daMP=-N=?D}iWNXp`Je^{yXQ2e@|W!S-EThJhhSGgxwxt641z zEOtXowjfDe7B1=+OSSw*6rIT<_hwir3a(8*;owLSActVQjpa9bH;6%FKRM9){a{m! zn>*X3T188uWd|B&GNctErR@AZ%X77lvJWFz*z$s;ULqBwB^5Pc;AfFdCoWy=s%<1K zq7ZU6I<;Fp5a3UaEI7=r_xJhrt*mzz)p^J2A3Q zhe+N`MDr8e`(?eQNR$V{!KO%Z>nqn@IS45tjn##TVDnYwt=ZUEArv2(eIEG{i`uMc zX{B(<=#9cdjHZSrv#DNqHxIY66I^PmnSUn)zS9e{h#%O)SUsABhAyWnX4D@?6nJ8^ zfk9ef8xOLEiJQF(Yo$Tje~7NvnVwyYTr{NCF;d`}oer`FVriPiW)3QA>BaobgmG&T zkd~DewM!1sFSDdrW|WSM$zQ^nA6njdNDNuI6eo|cv{FJ*eZvV5$|oLbLKb5c6JE`V zC1IizQmhl@m#?OJH6w2MtZXLe`h8#h#bw`mBV~7*PQ@ z{B~0QRsLyB4G1Yw#B*o3V|)8=wi>*;1crBwTtIqOhz$>Xfqis^*eFRu7XlmI_7vz9 zg+)5%PejtE6}`1}yo70>tM=oTUbfL=6>y9XOX6p!NO0nmH+KSTG2wnSbjiX~2yaYBt(qfCsq9K#ruh?3zwrAA zy3Tij6~0c@q!|a*jJ@Bok?dDf?V8=sua-jU_pvd+W^5ulVgypFV(^Ml$*>vq#9og) zc(#u()rmuQ9i@=Oc|G)*1T2SMY^uvdT^i76Wg@^8;^%;=n5+vr`p9Yh8ZduPT_%FU z4Q}L^9L3(C1VONqXqmP+{aesb292p%fiZiQ7a`AcCmhhFUK-IX7H`0(z-wKR$J?Bt zSF;%G*r=_5Lo_}@f16RUVb1ayM00(3UqanUhGbGFV?`q;QGYE1LISDsgp7>vmLQ7g z$ESI88~=@}{h7O7(f^KWCIYee ziVV2GL%x7JiTXDRfS?VX)HE5^$9j|EQQHUvPq)k_5Y(Ug2eYkVgz!16Lys$~#F9sT zEVqa+o9*u0wrn4t0^%wK>sOGgdgXs>F}q2UtFq4~WT%$@QJ-MsnDG?C*59zde&HKI zIvrY$#!UCu-Pcoi(k}2;2Rj)z_)Jiw6o5^$Kck|-mh<=%J>oChkNw(KLXq7!cm-!~~6;(}&p8XhMC`Qy?{GUdZ1nM1O#F_8-L=ZKOvRXgH-}6e^b;cnrIHScP^^%O8;fK0&XA63>R(y^+z!N6kvTC()7^gb z+M%9td+8XKlanl%Kvwg^oYsJuh-hJZ>(3G27WX0|C;$DQ(^63Yc0vuLnO{wk4msb* ztwewJ_wvI>83;Z-6dl{-PFVN^N|eyd!& z^RW}O4v@)>i&MlgPP8D^eL8G$l1Y7$8`waDE2)S1y6>=1RMcBSoR12F@D)?cINs~* z`H>tb2}a;#SrDWgI1AnVjFp1nW`5@=42=DwpT*ob=yXhdw%&_lg!M=w{!3}qv*QAw$gW&+MfKFJCJA?fDc}PAs)E#)1)sc z8w%(7Wj%)tlcdv`m}2qarTG5J*U^?|d0^8zsJuHbGV#l@jO<1!DoPx61+zR0;3WO} z!VhPnD^Gxqp14CwKO^e=ja&zib76mcdzR;V*L&hzzO~5N&|}S3Uf4y@eRg&p%A6Wt z)zDWVeg;*n2taXOK-83AA0Wgvv{d*n_06N(o)eja7b@@6o&)*$_>tIia?@$+#)`JA ztVU7-SY8M3I%rNdW_eI#IV?I)5(zb9SKphREgF;&l-_{p=INgIyB15Z15r;4dzWLz z$$PkSbuG+ewpx3WStrSyYZows=!lg$vQbXA4bZOwyK7$>lD|`Y)K9>md2|2Vrf>`y zP3W5%Rp=f~{(0c{xJXey(a#>2%u-=eZ z!L4uS7MN-p)KREQuk&+bpNSJ+p{B5~&#W>2>;WgpT_5|HRWXx64g;a$BlXO_j%yTPlA_B2!zZN1Eb1^Ivtx7KbsJ>7Tr4L+@fn&jI2#;V* zf<6{;cg1+nBvMghETHiiu9!|g*`hUzLc>qXqgn|hfP#h0pgAn1PB?Iv93aC4*Au&W zUEt4FxBaGQC88%P4pk1n=RdW$cDOe28NVX?UI{oJd7RTLMfi2xS7e-}8`k3Sh@$|7 z;%;|$`5nJgL3q=f8^DI<)_QDvgHGv^t2y>rV~)%+99_iBHZ+QKJZAtD7F5Y?w49_9 ze2Dq4k8QMr$q=iR`A&h@rmQF$=rsAqxlRG`1^3OixMe&0yPArQUYsE3#PkyfU85>N ztJt2Y>CEzCXk8m0N5Ut~#b%Px!u-BcIGo`r*?~X1D(0;^FZayy7q4%SMxyMmaX`Qu zFM3#;1M$)^zB);3vw}(;+}k`VI&IHu;n&3 z^XAk6+(<{(=QlM%UI;SHH+kkYwqp}bcGz+z7FkP)7*Y)$9FdZ8W$uO&p<6J2EeiZ? zR3nft^G0lnY~!TfMkUy)^N#@10@D_Z#z<#XM2DT(PzDaPaljotr06lqehN>h2oIUO zCB~tAZctM(Oyx=)hC5?UP5Rw6?Hhb}d|WKLBfE*b55XYTp^3T!(QW~7B*?Az>^Nv@ z1xdTW`A(G!hZS-plv8?SJZ#fgb&krMt@FcOTw-7b$e0B2L;crwTpmLH3~qJHuS8Jv zBOM~h%ZCrm7wEV6uGUtU6EPC{Q}_#MNBgAYlaZ6cLuZW8&<;yTT4I@+q8m?J%Rmvb z#B&~Bd=J)g3^j5@bnPVDCL5TcA4Jqk1tEFCH794!oVq)$hJT!N1ptVz5}~d}v#BF- z9rq$wZFP2na%h3B42vRs$cm?n5}0}+f3&a>Ww89~*N1~aXOlIpcsXrd_t|wWF+Mlv zXL6yrxCCtCW1UVp0G&ikUv+-& z9!s`@9{}c%dIhi7niWRrSfy`v`UKGwUD+-&Q9Y%KlLEaJ<4;IGr#QidC2=;Nb8Tkd z`kR#_bpeCr@jR5TrXcaF6m63v<0hea#T>a{w{|Di#}A*&F(j^LJ_W2Puu4S^+=%-lfxCk26;la)eKNRQ9fkNKnF|3y(Fz7BD30;7 zpGI<~!=I(QALkwqqi0x>#^$ALtVqWa7)L{y_+U~NN^i**9fDGJ6NHSW`4G9`Ak7pp z*j$XGBGPCvKJpU@3|ziuD+OdhTB1St;cEY}ojsoek*LHw2Q+065phIWlz7zc4;b5? zkQ0e?pU9V!f1G+bZ)AfRXN{XZegVR8`K+|~#ZQ<}_WbP=vbBE@ z>og6HFV57GuCvE4F(qN$@^#1FA3vN(khKC%z z2fj|OULK$H#ilrx-AncFq!gmx@Zjh!}%nL|Sb zC>g-_Jhz zme1i2phI@hse+o75}jS03GolJot{~#N)@?H{O0cdnBat$keV5}+UAo?%om-wJ2Og_ z#a4^y6NS_fRF?W@WY4*8WiOPP4hF`61VL~JLZ^k}4Xcca5283(-?{*uhUoamK&8n5 zk@iNYe#yC_g-E?FW6caPLQ&Z0(QV80(x$A#oMDYddMY;+MUWpdIzBiDqxRu0O5sF* zts|kbIs{hN6TUP#e$#O$x5?6#Ntd^_xsv3MAT5FANQAa-UUO>k!H>>%oo^!l6Crm`)aMA}N4FV8xFh<}T#PjoOztS(+ zOZiHnRAP}M`Vh9N-tQZ7()7n0RASK&u+JqX{7RKxOZQTx;9w27i?11^q9AYgDp=)4 ziAPKOX!lr>f%?Fmn((qejSVBI?)1t5*PkK^e^#=%WbtLwNgg@1O|LHgW?)Lq$nkvu z=CK$JAdS({u{K$AP{lEa0vm~*e{s?HMmJM_HGixa5p@32REnge1diGk?M$S zE!sa?#6Nh*d;+a68Qbs-4w3k&S8EYX#pDo=WN)K;_dN<^b8BlQFr_u_%ZrNu0xjN_yK*#5z9atf$g$UNOq|f=Xf6urNF6@|KbG zFfhYVj14^k1K%DHIR7T=myR;ZrIrrK-3Nwe>657;HB>}0{sS*@<+$Ugd#1lzPj06m@u@fasy7e2aV{GL$ympWrX--3+q(O z!o&{C!!wOe^rhqo!w7X_y?9&%jr3IXJQ=g%ekUhvrKb%oL0}4zG%ZDvce7$O|6DP6 zEShns!=v-+W@8i56o{lM+-g`whcztBb=u&R5o3d#KjEMS>BQq%koiMtXk==F1iK1S zuZg%vC+g75?FNT3$bY}-V5V#r`70EuYN@^Z&S09~vfdD5QG@@GnL#V|%cJ?gP zQ@%=%mQbpwX_9_UrH;z2d-j?nZWSjK?4(F%;)K{LPn8NrAK5--vEgTqD5J#l_HI2D zOiSviE-9H{Uz_BTTqKy07iPM_ZwFQocYhL+n~wCb1HL&suQ{MTCf zSNxSn+qQbJxsNmplC1OumfAa;10JQDO6`rbw4&CfHfQzpi8@vh7_m^Otj&kf6CM6r zM^*f>Z#@x#K-!Om9ThuZs&Zv}7HfPkx=_le4-xyd?ySC~9s6qv=kfV*-lGtudITIC z=F(g~up*7?mMoG%iZP;ajSwfk|8la$nx9QINm?E_y}9_a?b))y(>*`G>}v)tZp-$0 ztF(dwK#&hBf);mF*1Sa^TKgxsks)hGZrtkzSp+%lg5?J`27%rd6Q|xwa(8#Hz<)Lj zdbODyb3zo<1HGe*gdG&W9C)&c#D~NyG^`rj)M4T1@I3{-k{Rzi!ysboWD1UcwdKU0 zUl&1m8(T}&S~Q!?#^rfDmk5uH&=^8S4mS~pf))u^_lQRYX#=hcdA@^9KZo%Yw^7tf z3%{`;$fK+AIxH|?AC;&UWYxBnSQC@OO84jC!#gPhR4svd#0t1@p4bf0m!L#ifQwn1$0o zG4L@UMEQ{~+CWL*4S>xIj7og?CQopP*RBil zG!E6G%ux0rqGKcbo^H%w?Z;NnP~@2iw1qJtbuPl#+;UAJz@(<1+wi|oqkw^M{!N$s zA#b~csQT~MbL`Pi8&Qfag8dg#kc0#6K7D`Lmlg0@I`>;|w_T@(geEw+>qb84G> zVMVn`MmLj4m|9JwRo}N^g;^5XHsMYpf6qw@Liof68r$o=oE)M*vjJ1T@`5)id+Rm~ z3GA+SDsO!Dr?2R;{JdP-v4N_b+RBw-3F?v1DI0YNk?u4j^998VCF_lj7uTkyO<1my zXVWW3B^Mn-jdpPZR&{sZru+C8bHR1#`eb?m_H|c>x`#VQ>sn=I3xmHtAf3{`4?m{R};#%dmOg+uq*6lly?}xU_wTPDrG8A|l7lk~2C) z<_!UNKUX1G>Tt7Hr$cSEHi8cIL3ki5^#z8DheMyVmz<)>IZWHs^#r^HAxs#M*VlL~ zcsW~^5$W9EQN#~4mr!k^Gm^-$CWxQ&-`>$teP_3+X<83Mkl~18Yj`rwMY$&oAo%{c zXJv)2JhQJgX3s~{^b~_@j&}N)X(h-U37PXbWuUogv;vUCIDPKL_&XgKHu3{x!KXxk z_5p)LoLg4H@D1H)E6&BWN^cS`Yrj4vg}}Uq>1VK}{_u=r9PM-$5@=rpR(3d`v(+00 z!*1TvL|qm~#XL;}>W>oYZtV6~PqLH5t(T@v&hKSXXVWMy(aF_hi(l*Aa!7CG_i8_n zTawu>?np7h9g~jgvnDxl6;c&H*{MbpOi_B?;qqFYWa2a)2*^RW7C&z)X ze0ab+d>1hG=yfwE0Yf>tP!-T{|8&#SPDB}LCs-$!7S|fx%r90A@Ev(b!Y_EPogn`R z10jAzOCnN~5#ur29c{w(A>8$mpodq!$fXP3e_11cD>EXz4%K$H$pZ}&}z z{X1-=$?xSe4NX&pEEHzP2juoE42ciYeMhcGN=GNu%yS68c-ZvLI~@hb40_P=czW?- z2;@U7#B`6o1cptbfIX)@1Q99bnuqP7TthK7?hnZVE#^!92gC5GUIaF$;g}jx=`_s- z11un;$EO;LSP}p*%uSpA=OaNh6+}x+vptrHH*w^Yf>=*8-}!Jk!EMmBh3UpmLxDQ< zQiq40y??LFUT-?atY^x}#r<*EcnP@$*reb^Kh^cN8uR<=U(4PKG5Ek2OX?s^KUCW@ zihd|`;vDGz8HNn+KPMqAK>PR#>i>_2nMqipxl<*euIL6&50m@032WOcoSBE-w)pv2 zuw9G~#hoVc_)uWb>Fdnyrk1%Ou4*}MgW7`2^{wKRd{ zZOGHs37LuEV7lV?-p5a0;Psf@>t>;u)$CM!-F*#-xb3aVQz$%k(t$yj1-4`=7ZMx| zJ5l{Arz)O>L}`KVfjdq-^Di%;2Uz(G4(;Q0B5uv!D?cVDiN-T{zp7oI)VNLsth)?B z(g>@6eU=B#7~9Rzyk2o`^)K(LJn=ZSZrF5hvP3mkRS{NqcFK2lZD+Hi656BqH(S18 zad0-P^1_pXTV}WxK|}S$cICPKpdtQkBzC-pVMSIl{uQrew0oVN3onaKNR1e#bR?hX z$ysutRRQZPAi(Ku&>jM9ej1;zdEtzUkP?s!%`n~l)_-AbZ6o5Rk2n}h`y;M$X~P#~ zb_?S5Qpt0>mHP6ZHbXzLfj?!jQpS&6R>(e0xuNd&{E~$;wZm~73c!brDOTIoz086! z8Ydhm{v10mkm298B}8dz@5N}fpKViA?ZG;g@z$-Cw%%@<(oL|#V5rTg z1VzBSKG4E~oU0&aGzC}N^`9p82w6@!YxE?G#l|Pa1fO2U{GU#|E!`fTRg%m4i%JG) zlpLJ^5dPSFIFS|EhMw7qjKiuCcdz2>X2iPx5fDz?DSgmIuu0z*_ zVX}sLNKPKy*4yHe^FR@H`C~P+H%i5#ov5iP0a5#VwX|&X&~4OKPtsHuAh{4q;NSE` z|7Cj>Ig68oRG(SBHtPA0Xu9!!gXYao!~-02s!0o0DVV~q_r#xH{`G1Y4Pi`m!I#XH zZFb*J!lOUXU%zBssUD4qORU_i<-X&TOlE=Kx?5fII*9R<5g*zC@q@yfxAa1&f9Vj= zjTxW_#9BX3+$wEGEvNq^Qqt1m{{8+|#Up(`m@fT^S?FE<^{)H3Dj~#&`SDQTMEomY zwSGDD6N3)=3RHy=sgGsW40n1TCmU$c>@J;l$~=9C`R>eAg-ZPw^C~riLz3i|RS!u? zU%{hEoX=Tub}jo@%n|i4tXRxM-asVbS6PODdu?i;Y&-!c1&#|}^8<5}u18Mpi@C^G zMEZb$T1akzg&1fIf@Pf((spG8dfZfc&(_lH)Lx*ZRzMAezdy2hA*C6e4nU1MMlH8q z*&j!+v-7EYYokEiX>y$QX)LC@2c_E=mqQnc$nQ?4Qn%9(uD?3qfxHf8Z(9EI%lK_| zUh%^htnM~(9fc*(QZrbRW>>OQ{-)sY0=tm&~jK4AJC{jH|Orbbv6ixZTyY_(lBQz8|4 zeTKFQ+ca{yX??m(F(R*DWwUNS!s?F5K1cL>U)$;_4I;3B=)V4|H!2GjtDY*$Y@Bww zwA#1-+RQAMi6v`9wOG%=dCv2XaN^l7^qxHI4n2DGn_ef?;Hk_=r)n3$ba!wNfl*?s zvXoFg36pGGRyD`YRdw4<$_Zabt3>da!v#qKa^&`~pshutA{Z9gkk|4nF9dgLAoJ+! z>i=tYNM7)E9`ihZ>TOl=@^#Jq3kcm`P+;oQu;nUUBET>=;k%gU-N!Qsj>+YBTgYVWj-xYNe#*FjDdR3D2SX%%r3B&R<=9p>(F? z=vV8flJOkx@i!$>m9D1__M6eHD_ZQ6TME9ZJ%xiz2E3GNaZkK~`%ssAPo@FyBL-EA zmCoj9Q-351JIWT2m9QqZkyz>jPzeM(v9Eh^afZJb!|Q)4u3cs6jyxW6loPUE84Ya8 z5^$-y6*V8wPB#Hbi^*wkCB@-& zmkcuCUkmIbXxdAZY?y#=x3>wN_;=u}1lfg%VI-Q?_~Ra^nPXVN&4gWI_ncy1;lhwp zjEn+sfC;IRaSXVn_q6%8lHV_Dw_Nbrz4b8ih7ISklStb45*4t9*xy+R6c_`gV5Uuz!$yTLxIccXLTPlL3Ul*?C+p4;A$I+-zi z9UYr->?O)HaSZ)LVVZCr(%xR%(w<6jKK^?~my*{Ues76gehbfg@T4ewCM`FQA?}dp z9{hu8(ITSy^3oLAfXG2i8VIvx3q0(X9bi<;Q18pGFqT2=OXmy7#w7`qRLKjwNq**D ziW-m!*pf#_$AsFs9h_&i6nIrb0=5VdgVQpt1>B?QoB|0f<%xL zx~vS+q2u8JIkI2F?6%3k`s$c~gNK3uL}=Eidp*4oNTj~K4bLHx&!eoF4^!wwx+hIi zVRL%D9#vfd!8vrAas3E8O3y+kjGY#6QDO6LXYk8+@w->1X-pWs?Qvh*b=h{(S95SW z+3me3*2Jy}61`ID!;5Y_nV!9n3dkgCHX;lz%F0<*I~eesYS?LjgW$H*Yer#xNYHa; zY9?M1nl2-7ReB?XKYQf69tz}l8f%_tIoVQ_$35tYHXRFpNXfPQF?7_kC+AyRG#>I& z9iagfTlw+#*>`4fGZ=QuDRIDB?Wh_MA40=3d)r1Fh+h&qa9Un&>pY^dRDLk%71>Yg zT8!drOr&qdl{Nq8Z=m2K8&iRop{FM^k>5Ek7zd!u(F}UtUImI291nr(Rq<<`z$XiJ z5hl=UGwk&fdlaj8A5S#7ts{?D`uz5#^8V4NVcBsH?FMJ$S?%8wpcA znV6H3Z|ZfAq~PUnb2fz8mwhhpcNAH@lRpHC@g??wR}y}VbV&ox!I6?Pe%*Rmq?F|V z-TpmWZu3WJl{ItzSAq&9Og1WiEX?wScMr?*;nNW z3f_%?u~2bAjD?OY;bY)&rxK!F-kq3~S5ssE<#kBe@%r3u^ZC7&!Th7-lM7(&^{rUC z-9NLKjSn+a=IaYA1^F*1`kg%>A9ET4)*uau^)eV@EtB_gBpZae2XJqbXsNs`&+{VQ zmi!hXeT^VTY`4ON|Xqu zaRm{K9UYk!snK>u_97zSq%N-8DV)x@?KN11u!tUBCUba0Ox>6Yizq^yULLra2La9! zUWfm*R1EZ_QnO?fdRv}eUFQjeiM(|sFDIaHi_La|yrnOQWxO{64J7*hC89Tk4pLE; zi|v%5p{#o+WscVF2H*3D_KiRIdq~nTy`E-hyFCjmS86s^P1tB2_5VrQhRG1}7J$>8 z%`2K_E7k8{RBEzvwt&B_Td->7)ycmA%PdY)7u=>d^m57uuHr}?tXZGG@;WY>H!dER zzGhE92n-+3^QtXm6N0M1P3aLtY=i;dJFqHx0Bgyy8@EC-?14`pxIn_r|He=F7A`%D zi+zBRIac`8m3@FX5OnXA%`n3y7~ub%A!Neu_|%y`p;7Pt?rK{bIQR~&kbye>z%u*Q z5nR)tOnAC#{%btH5W}*~ihU@;*5Y422&Qn!{|4Fqzd0lZ73b%p*>X9A444o0LA&NH z!FFxde8;yr!>_UK6g7oiktEE7H@#WAkzJ|zP z44VFfJ!1vuy1l{JpC8=RfpI))*Wbf-ue-AMQhlG+6` z!v_-d_D9g`Fo9nq_3_Bi4?}7=5uuN4esNK8$hq_}JFq6d78kihty4)>{*P`jZA3d7c(7J#j^z<^BrMzyb*~32ta+3_W>365c6T8Q z3i>}CAT^gWJff`slUjFw-}5p%d3m~j2jN61X5l|~wi|J9*=_!=>#(va-ka15D1nM& zA2)iPco&tI$IP2Co$3mvNK|Rrokh4l#UE4FP^;K{-wJ&HWELg46M6NHxHtSZqH{rC zVUwb5==U$q8Pr-*VRpXi`{~Gk&xWJ1p&aqCdE-t_9!JYhosz-dv8YbG`f2c=*K5YW z=mFlZfdC$??q{ycfNSTLY$ol}Sf-a%E!L>Y5nIrsBty0^LU-ZqA;IwbV|%ypdoR4e z?eP|x0+Z$kM{yfc_hrS#=j`HuMcMD7!xhV9=5>XFfpfXeehoDYL-OdOE5eh#|7Ri#V z%H(b4?djj%ZUKv%6z!A1ICrx(iY3f6u(oz49N3M};$sdFFhwoP zDx_TxXRsk?^J%Qeyy%|{>hkXMk9FV$A>{7PjZX@~oWf00e^|x5)d{VPw2@mmI$6|; zxPz#xv6+iKUUcx_ZeA4BQG}JDxTq*Wm+t}hyp=tLVqn*sP-OvIdkNk_xw*;g zbif^7Oe7>5-^H+%-=Fxi6jofMQ=|8IC#v@EX-s-WhVQo{*w;_pSQTExdc&{(3TJEk zFVh%>=_t$3VtYi7CbB!7e&HE67;nn2KVGZZ0BH5<*HzNlYCkCOz9S4l6tbOk9E25# zqa5fgMpTS-#l_7~g|(C{mM?KQ3W~Bna!kFK-uBx^H=1oGV3G;TMd>)7m^&Z1xa`(L zcMCqBuLXXIOKQK)Bo5%`Ku>l*&aoh-p|1fC$;(C#(cJ96)lN%Dt=yUdV!U-W}ws|F|5JogH!e?^of$<3^;#$p>8 z1O>ek{23ZDG5yZU<+z4~-RiJ1VA~jQM@#*&2url*|R>```fTxWyr!m6!p2t8J!Ai_Cezz8wt=BHgx<&$ zLks_S*^zthqg1~kVKJr)7HoC2x@FXXz{$k>X>_F|Oz7(JWWbfVOHp$NwjXracRM+# zi~ec^0&(ppeAPD4QzC>*LYKt4bDd1DmMpL-g>=Hw8T)U0us4*dJ0Av<3&pb=uQ54| zDZeOvuUQ$FR#NIsmf4F>ONxlV7|buU#*CCYs<1aL;Pq$@2kbC>-I62k?Ra{vk59=U z!s!rQED|Z{PoIG#XYn@N;;1VqILBJ9#G=e5c;9;}h%vQ?>C_|y7J6|kA>wF*c#9sq0~hM-|OXg?8jx;Pp$U`hm5L zMOYonTWizjrw_V#NK@NC{10scdmrn>-VIge%Zy!*inA_ zzfcPz+i3L+m39zd`bjpLC`BpluenK-(Zy=1UFEj*cdLR$srg%u+vVr(#~Zr;@S+4+L9UH=2RrHzUNFx7Pp z&&S8VaORm>J(wSvU=fG?ksuQCG*eGbP6pPlszjOJd?$4fP>Hemt%1ddnhfM;c@EvDUgVs3xIrFMYEp4ZN>MRWn0V%j_052R@A%d@-^sE@~v?2K~E|mJZi~vwIJ?0*2SE)q=V4 z^A+Du%w2z}8gw^mz@_QvfLle1Y#6~&`1aM-sa;UJ)<Jg;=?XmsOka@Ydb4Db%o(A>9y9W-V6 zj#qy_^!)P?4Pu|^5bjovV%lh9v;7fKiowpyRu^Vq;I=cR{;j1F{~?5S&jT?Jl%kB+ zhEf+~FlkN439l7{GViCkxg=KGLGu&{GJ0|aof45c_PG(hn8ESyNn)C(86{Kw>pF8z zFmGd~wEyiRbk*2FuOrBdAKXR`&(;&Aj4tjtl?wnYCxslj_D(C9G;&=N4Y^wdbtoE# zM(_exmZpZl#85=cKFr&~m7|!aXWaApa&D$HhDXm{$qbSm!MJkuob^a(iiPS2T8;}% ztrA9QrI(Y7%$qx#K5|1@{bA-|Z%=5BG)O`>8foDBK)>UAJrlTNCHy7?R|J_gV!%sa zha_~nKIWtxeYIY%NFFr@kvkQJ(QD0;__a;%O%rS~R3Qg9?yc7nd|-hcX7k#Ys1d;H zIzu!wuGsFeq^_(i$;f4?K*#MS9R~+jMf927gnPW48*(en5awZ-2qW%E+404NMjy`W ztyd@AuOZgn&X-Z=%Zyu<_*^+>(dI~$I*pUUi@JI?R6;_Dpp$O_hFlj$)#wMs#T2BR zoM>m=2$MPlWAc86LW9a)!u9c{0i{%EDzRwJ=cC*P?jp;`r zd%a0*cka)`=ti->AmouJ^Vt$p>N~stxC;-pOB#IdROL;!VFbp3Zk1+o z3NcZGijpJo2V?}jP;U)PRd?cf3O_-u8=_b$W&r{Po)JO!ee~)4w(xFzgy3HQOIZN) zKH0kCSPl-elR6DL##wy1G^EwivR3Grn2Dz&jQ2s|Tt8$c0T5z5!?QcAdT^qVG8u zcB!($=?nH4AngvTKb6itr8h1iw=K&)`{iEs3u}0WTeFM zU;d*$_rT|CZ@<~QGKzg63V=7_e`iSP1#Lwc4ZR!Q`loan{$~#w>*0di=7t8+1cnZh zPJiU5ky&=UnB%iEwUs^p0AX-A?c6>mq@=(Q!WruMQiIE7a?0?^SyB>sD(b(WFCdBV z{)mup$=CG%7n}e8@Dw92QoHZ=!E*;e{U@SYo+yBXnYp>J*hxh{)t2MThK43^>$-Cr zOO*SmLwjO!KX1x{HA4NT1@^GFt`u>X_g8k&TDESf(cfH)6{U!8KpCctDCd(x&FKXmKAEW$FIEv=w8G*{IwL; zyagQQ7r9ADnNsn3HI|#qxS2{MA1Xsi$~!{ZABlQWFWOc3eoI$Lt%60j$o_@tvwNFB zA5k{cj_8gP2Z@Z z>51HeI@LGdDB_XB#HunzUz}Svc(gsVb&`7D8k#*z&HKT%uIvg){r4LzBtqPp-J%J7 zbxOe1nNd<>Yir0umB#%a_hFx@sDxXxgA2kObx#8uVZQ)})j)d#LDS>q?D41J1Q-o2 zP)BRgSC1@4H$r*Bi!eG9E?g6?tc5E+K0c?KSC%#( zpLs4qb(l%~m5sTW^=yX1k|JYulV9a?T|!}PFzY{g#b0)wE$LrA?XShv}8lw&ip8PA{OG-=xWS_gGM^kBZU0xaz6rYs^hz;p_7GjC>&Jg|w^jQhbU0 z2oMe@`tnEVI%@a*$J6-|@Xoo`y|?v%k5la@HQw}%IqnV#x1h%f z-V1C7cv3D_ZUv1o^Ady8teA-iG98_*)6!d>D3N~arm z#LK8vkrPzS=&cmdTNBv+hN!$cVw2DR3g?8G#u?TlC%1@)E=%}sSxR?1RknF!P)6EAIen*t_=VZ)Hh?dvVR{KrE`MsfhxY%@FVquGiCzRhgmHZiv=qA)hw_Sjs|S z?s~?GC=$uxcAS$b2$-09|AEk5_l4i%s-F)%9BvP?m2f4q3pBWv?9}lHveDR7`Pcfi z6r0c(DSA7>QW_P82 z=gYNWfUeJ6=si|OUSI326h%1QeRzPwuWFXN&4I63r*{lSjYJEa?&;dPL3&qypTKP^ zWpfGs2QZqQQ=1n(1NU121c%wF^SC;%r|2Kuosf3B44fB)yE;?nDPPSGVw&onDCSO? z$8r6Xm%5Gu_?sKn;Zf-!U;4$oP^f?#TSs74EPt&VNjK%yBXeN85!^i(@+m)lT7nGJ z+?p;FzcN5y@OCXW1G9U_0%_%28}~hXrDePYE|#0O(`worfynaeR^TkMbKGh|gO^mz zz&Ob|Ea)?-+HG;h^m@VEt+EInE*uzLz*k?4*qKh8uJNt2me03IS5-q#834|mIPW=v zV7rS4vn42Lc|}_PY?3&?3`!i4FjHet)pdMeG=0C`mD49JgBy4C#DkkOAY`6qXgv)S(5(@%k4uGS^-waL+0DgRcd@wp%cP(zLtOlU_sc}L zCem4Tshu4w%N$i4HT}cqCjp_tL?;Ha9UBS+`}dzN79vO%`Xe|U;xSAJ!LbY?4o_AI z2s}bUv6bMPv1P88@yda1(&PvcA@=>n7f;X7NAcJ48d(3Qx%Z5Qvy0=k6A~T-c_Km7 z5GA7bPC`O-qIW`wUPmtxJ$j4Yq7Me6x6zG0dY#cG41*!sU_#D3XPvX&cb!jXt@q3O zaX!wheec=(_q(qDZAcdD#g+fkRIC%r(5v@aG5Lb+YVLz=_|AqZwPS?BX9>K;L-uz8Tj}2Q}a5ng-cX^XYzxfM*z9gjISJX zqR1LHO2iq>=at**IxN?LK%Slywz|jbd2Bt|(%(BV@GlvO{CBYr(KV503u1<|w*x!1;HI-e&FLb#=So)Iy$#*4(7#rZfFA4&O3D^(I zka7CN5xhrq;4bK;X&QbJyw!_$mow%aHvs8#Wl-~FsU?8I>5S7nO@*qsNXBY2BHdZe zxz!@AeP47g&R3j2H~ryUMN1yGaTX|l3k40fwS95ym8$GpQ#M$#zPKHn{rb$lAxqB& zxP-RCY*-dO3UN&C97T7Swx1pT5m%cz2VySzs1bm)zXFLx;DPK;00ey+*WftG!Qk+vm))ARcQi$k#`eU>xvDWR=YYe{ z#l%FqKBJ~n(Kba;cW?Rd^mYwFS>5qzM$+Qjzw5`eo?75G=kh5S`I2SaMQ%%RaeH=6 z9p${3@F=U;w7(FSO4uozZo8CJ=jhQ|8Cp0iggfk0@*$WUYS&oVWG)A!YFw#=k1ATT zK(Je!9>}^oi)Z+Hk=qdZ49SQh_52&*>R8Kw|`l z?A2+!U#Rc5{8_$`%!!DvmBc(aT(eBXpI!MgIEC^Wywwx0J^fRtA8Q)x1)>LgOxpL1ujuJalXLR^JI+$Q_kG#7s3sXpV`_W|-d5u0 z!lxEvr`88awaFRPi(9jGq4<9a zbsfQ>=W|zXsW$~SHVln{Nq0G>s~JOmzlX|qsh`E2UUvaKY+7G&675>wopC7{`*40gouI+vBQ)P^%Y6P-H)M7`x&ANkQPNy3V2& zUt9SJ&DNAU1odbn{SL$LFAl&t_pAq29LDd%`V=H>HC(j`wc74>CvwU!8^X=vtC!pi zpsK9g3D}`<_4VRqGe<|#VAqfRdEL}<2m6oNRux}cp;m+`h zC68k8*OiOOCBAGPL#CjNw|p)TzDd2MAlH}s-Xz~18&?i?Y5XGUyag$b@M51W2oPHz zd{-7FLb$(egUX#Zx-VZeN6}gPG(0~i`fMH&w;kM|NLNg`26K=9C2oc(s^+_*r!F{w zU3Jmk{W+t^)KB>Oi2JX0Q~|O9gqZG-WO_?u=RP)G=hpR1zUPwIG2&q6VqaHqlq#Re ztLrrWT+1QwjqY=j;h-q1!U==we=c7oHdxk9eZ+ z-#t_zg7uE=|2~WQKbcSVh>Qhgy_OjFj=+EukEv!9TPJ=eHmvfMqwu?(0noRSkJxfo3TQFp26 zH1gD>r>lT>0A*sKQ=9sd5}IkYWxWEgz8{uld zBj5*!|2ImhP|O*5$li51mP0HYz?)Noq-dL z6Hg9&x;(|jnt@AH!!$2}@-9y@IsbGu3eP4N;IP{Zd0i$)c+@&{fN8_myIVTX z)mta{o$`tx7f-ujXz2N^P|)-Cv%YV10hXq9LJ{uNsm=60zylo}<7%O{N39q)?cTOC z(UX-ovaP_p)MttzUgxrNnx7z_aqA^hzl|QC2P-@cqK?JqU1xmZZ#TtkOqO%T1_a?A zT?1yi0NCa6Uq9?>!zIodB~o7(*1|IlA~#dR)JHSNVMmV=OXhoHBbFbe_Pxs~Y z>U!BM;qPO-KKzvwTqLRS(L}Xz)dy7|lp!~2D`GV^*bq+r6;q@X8)%=OFPkOR{=h=Y z9%G&Kve>-AE>1PKREi~}P<8CU-G8skN9Wep+WW28Lg;Rh(*Ua52dOy-eP3+>kc)NH zv;#T{T*)r&w>3mgPlw_=bi<`uKX1^O;RwL7qyto}Nn#omBr7zVnv$6x#y-CILM}>I zVFw6LgIjM7Yt_vGO9y1CAs|?UgQNJE+)-9)0XzRa&xJEqwyus~$z8CZ6*- z@<_TEI*h)__vDDX88*nc?mr-xc|l)^lJNgy1kiF}<<2`J^;DFMO&r2CuQ~4(9pvZD)N-_%7zBxeV79VwQes<0w z-HM4sjGTDO5j-gt3Dssie3L#2d|)#?|J$(>sS{WlHdt?1CXV#n0}wi$op$%4dQpQg zBGj!}i)Xkh=di(P=`8DVja`jVx3R2gkh(NuZrvOQu;RI{T2+`y65DG|d?qKqV^=ZP zSRXlMPF$;5LDwNE%&|RCKkG3}y;EhMOXbXOBH%PF)gSb?)~H*>e4xOBc>Buo^~=C- z5-Y89`@LL^6;?2aXGe6vLN^q;uJ&`}n`1MrJ|FBwUR_f|yMD8B9yfp&Fm(-I-p&?v zA&?ypYx#O?1EM1A7DqR;{6->Af(I6PTJ?Q8HC$li=c^jhf@!O-A*kJ{yqYIp4D}YP z(j5-OjZ+t2f^>R!^1Hps`hX0X#NM$dLB2GH?s$Pl5<2hBs zR_bplNIeNQmc&J>BRWauU%@!SHrd*g(Yg9y1L{b#Raa*nxsPd7DNmW>J^_tFjINaO zrM*~13v5*CDIS7Bxd{@0DZPx&bt)4X}&goN`h`)I~MWA zb@?#<>B1EQPqiLSRWnBSGZG%r?yV6=dR95pR5`rU$ z@_)t4RT{PDzQ=&KhxeGi=m2tlq=pBB2 zh+Mj=;v2S^jbOc)5SzKM*U8nmkd2Zul?bztZY4i7e^u%rsl2hcGrVm`KX}m^7$aSnG{DF-l`^&l?tMCYJJg?| zgbfgjB{BVR-)US8H%S(2_1G18mA$1YR^gbd3_WH|*%tc*1qGi^lxfqam!l&S!nXze z&*jVk!^=WD@>As>lQWAkE*ZTtU-mCH{-P!HU}se>zr1W&=rvs2S)1F*$-`Qrq)*LI z!WD@FeCTvyeokK{N&~$rA@|N!`NQ>Xl+#*b_xU4r11wR6I@x@jr8zTZx>2y#Ma=g> zyZL5U2|UDIdcsAiLMqyIA#B&lcHT*kejHWGzLlkUL@Ph{Cn$LRxei5XQRIMZ1FxPx zJp8haSZJF5=I_pM^dtHOJ1BtLjn-gpFKH1<)!W#_v3Fne zczR#|Kw(9Pdj$1+hr4}r<*-toNTOP2O%n|}xFx-G0GuIq6oy4`%L*>QL9uZ(ztQee88 zah>@2-)ckZbg87fVD4fv+92izGe~5iXLod45=G-t@l&JX7 zI3aL!tyjTmT1WOeDN&s6JiL%Oq>fxmaOV=Jdx%M@wl537rTBR)=p-QEMdp2KH{fGL8}=;>^nTXnNm&(JRT@t~*9BNie=xviQvJ$LyZWbpY^|;*5t}Mmfxe=tS3_p!lVa zu9rS)$FB0!b)`Xm+9x2~I!Z*JIhtbWHPVVYHmEY3)?(_;X}G^7<KGf^Sb1pKYmo0SdprZ;S2Cr z5x2lZa<1L>NV7G~OhjegshY`S?3E8pERC{&_)C3YG$Pfxp(%~5xykma5`k$NaaD9r z0bC$BxEl(eQdsn}&T1ax(*WT-(fbW+8Hl9A;Z09d9s|$!7Ywc8ux=~Jb-V8#N2W8W zaojMa2O=Szz%#Ap1y&f!x!jyK@Agap?}Oz6#M`Tl&f$tukC3DJogN2#JDR8sV*20< zQ%AFQnlS@6=JxS+#Xj=-@f|rk<2G>^NR;}{?@6`$){c}_T#UIr{A+gA%&vvF_&RS(nKM;cf8%Q)rod6NTq(e1}p5kP;;B7K9$P`T%j0tU-psEUdT%7*htxaj@qliS(F#bO!tL(E$D@e55|1Q}DhvxxoJtMEfWV)e^fZe<|gD^=-&>?RaVv_adr=J^HI7vAH#2Zd*1ti}(q; z*;Jp^6+)pnT9!C<|CFzx;iKWkx6xlZoA%MX?|rVNN9YGIYmGFM`fFawtze*LbGN04 zUQ__a!+jQRMQJPwoELCUiV746K;QSWb8~%Q^hfH|dWH(6Oy}^j?__^3BoGvGS$n22 zuOWEvP8OHF;Oi}V)wk)Qo4TDI7bTC%ddj?HHC=UIAPlK!&Ty9(=*NKDbQ=H3aQNQK zEy|oKmgKkI@E1`!;m80Ek6&Po7c*)qs@f~ZD+&x5g(cet_p7-cZ+tHcZqV;*kibYb z&`Zd`m-Y%Cf%w|dRU-3-a z3!@62Su@wW%s>sevA~>%BvVd)Hi$_EOUgfjYb#$s-_s_t|MquR9HGq7tk!K%rRKss@a%rb;~|HAwIEP0okFa#x97#z zn2%1W6NF;oy(h1Nt^+)HG9QZOY?B;LZ4>2T2kXKCeb^`Bjy!yaQb;H0XTwEC=CpSL zDJ`g*Us>8B8Rm>y3)uz1K|lyX^=a1_`N)pQ^zCy-AGi8sQSFK7V{y!%_=+i&O|w17 zcM>>?hl%Hh^8-)D6Re6J6I0FLMS41IH9GeA<$B_=zK>|5gopW=zq?H37rlZfuQADh zX?yr%kKm>>_r}1i0Rrf;+4X|#IBEhgD(J-*mok-kkXTq&{=)!}^egpE!@?v%AB^BQ zQ<2mx>CYc;UB!`nDUABNnZn{8SMsJ{8NmD%X!q!&w zMtJOIFkc$d!XUk^neAw`AB31U-V6;tBJ$;H>a*vORcWT&ui{d@*Dg58LBnoIMTQ6u zO7r04&o_g}2#jb#)z#xk;JDk1q0hFh%!R`8YjB+%BWbAQ%4^bos8;D2{d#DHhxqi@f52kvI;~?CfCc2# zboG0*`nW#a4lbrn8XDaGa+vWQ$V<+R>E0kC5kx770%0EJ<0%rU>HJhVq2k8j=h>z^ zmG5TT(dHDLeE8w>?c-ci>5NE5jf-(yvrg_rgL23&G>II35TtVDZx`39PtNqyCmFuE z6`mW!Hs#@+r}yM&F_G_?$(C3op6Oe_tjr6;-!f8DXt7<$*O^iHxSR#|y1eoH*vtCM z{W-K4S%qo$8U+mZpu~c{NMHIZp8gx6n0ob^M4aGU~v5Zgxq2t|3B6`o_YKK z_s4bAS>G}CKfB;D>%YOiTKoY4fp`ZSAEm|&^Y0e@_l5dC#Q!(O>;Ic>AgA|Fw*~*| z>gvn_BK$)HY-7v4Qa%Y9&QE7icwFfjxR-a;1)1>cmID;Ll?v$I!{D~fdtN}SLCD_{ zdOD(qsNmq>$|_lcw~vV=K#zTV0LXIF<32n9K+|)JJo3A~X#H)hW4Q4ZU$`V{T!TG>M&)f#XY+6x^0bJP0dvD7F&~ ztj7aP7dNB!)B{^G?Na|n@KfC&gReLVfU(e9T0o{t&NW!i`Mg_kIbYMQ4?MnqetB6O|IT)}NkziDjZ|Z@ zRsuEgFeWac4U7;YvD{19q|4Ux?hK>u5Hg`T-IUC< z_fX4(bva_{iQLHfbhe<65(vJ$1}i>@|L8-YnU);xiEG=PiSud)W8fvDf~EnTX1+9) zE4r576hb%2Tbm{9M5oR{^&j`Xy89yJ{1!jRs_lts3+C;|PYl$vcOrD;a^wN~9WEQ~ zG>nYqF|n}Zyje%X*2|0=h{8TQg_XXtGa-8TfG&DA4i3(3sDR7*7otb^8c^vMH%d zwChz}3#PjY3P~3am{~1(sWu%=>r~WZIENkxUA)9=;}V~19(Ijj%E59Bj$$vkrxMzS z#Pr0@`wo^~$S=enJwv?uAh^}d*lpy0FGe&_P;etkiyi`_OlMSZR&N5Dc3UJZF8bhs z&jfIQR-ruc(GjEH){gjoyCc5H&rf)+t2(1>5nsFJV|_VMwRd>o~18ge#A~{WI?XUQaI}52$RC)$sgB=am*J9A!Ee3;YA+ zR%tBz6`~M>-w6qxJlQ@$=N=bjKlnYAxzXRXGPl3Q_7>hA9Ra2r|L{dCUs#dkMci&y ze^4n0J1eI&;ost;gaAU>UK^EUpUt_!Hwll)uJNWF)ZxtTld!0WS=6MdZ>sj9)g9c} z=y#vgvI})72WP5#e2GOX6;|fzDd2IrPWXJnO_Wkljyi)p^?%$;w?%`atep-jY9+LY z!Hw7a?N8B%cr2ZQ;)nj`^^n^uokB5x8H3vOBA(5%aRV-vwPw`4JU*IrPA5-=eWTLp zi>sv`%eR5b#7v<#?*SnT3jm{23^BT(?cfe7kPY$|7G34OD6yWi72sfkQBVK@B zW>>2!$u2mAPqyjkm=n(T!88kjes(qjDzUfzUtF-A>WMnAZAbuOe zmUuwN9)5qTimS<__B-!_xR`E_)^|(9WqV7c{h(->GAi zRV}yC*z>4+{sZLV632ET1%5<1Bg!)jLg4fWrLsZBq@p0H4h%m8{J_6`1^7~1hQqRb zspTUfLg~i`M2ZqvM5!w3rs=xTT7)irXGH~SgCE^E0?g6k=et<7;}pH?{&L`Hb!{R3 z?OJ~~u{_ZPOmY_Y6`>!zY>tE)Q>l-riXp#MQ9D;LgoKjJ5WUO3jcKJnF+RcI@ME-q zjn!mzJr|$=#M*&2_JzEcJZ^uX-h>A&XLB5bf89tA(n+*KfKqxt0MDH;#%W56Ho?B2 zr*kHhp1^F;>B9rgVpXV`@^S-!)I*k3iE^j(+TQ>4wA=Dpqb92Y&l1GhCbI3DS%ehY z16)0%Agk(Am8Bj<3Ak_&xy_NbZA>407tbPyTW{spq3kfI9#}l;9K8h|ZI~&_>h(Cr z%NF!*Myq>ff&){-@3dq(X?uF^I;IEysyy~iAd*y|Hvg=j5P*Qgqu9XiD#4*MK9sIEN3bGb1f4aFu`*AQPwun7cQ7X-MLr83=1`ORxPU)xf^8^ftyHH#gD;O& z(h-TN+X_L*{<>F7Ik6zlPNl!mQza=O+XZL5H@#=wEYaCtn-F3O&SyY$QN-b z-PF{?O(rDAN2I^dJTHO$B;NjQ#ZhDq(w26Pa0^y!zYGYF%g@U+@8-kLq1w)QZ*an^ zhaeIGJeX>&k}iswM9{r6zK9XJb}yB6S8VaYJyy2Rk_G571mBN~u?c76L^mG`3#H;~ z(s^OA3@LWA8ys^$>KICUDZDT7&)ak6&d7mm(cmWqS4*Fac$CoTL&b?w zuLcA&L;jxk(9AVvfOu5?d#nPXmUjtcC#bdKmrD~CZIvEKT8p5dye9+71%8@CeWa(J z=^6GF!#{=+ACB8KS8jMwE?5b?I*384sPo9Sz4hxPDH}3US$s&jw^vS!TwseahB;Kb?eogARwsK^ECpK?mzrV_AR^hX@mz*?o>sjz|T%FBZ%M#Z8Q|eJrB5D`4IoGf7gFxKb zofw94;f#y&awhpMYr8kmi2e|=MGoBGdu``p6q znTl8ax-y>*;jmrq0L~M7|3V@#Kg^R_4x*PEUmH4Q!s-p ztiB~;wxoafeR#q6)aJZ;O1(y-;sM~ANqjfy*1NW!(6$W5K3D+WcGsmM;t7U7klC~zUFQw z;n%%7B$z{Fh&Mv}P{Uavqd?yuO;vpU?U?>>WkH%|Al9OZ|ofGr#AjXqE3mziRL#D01_ zzIhS+L~sv(%30008|P)t-s|NsB) z@A7;)?EwM<^z`=m`uqI+{O9=j#mm*}`TDDZ@&pYL-t+ba2npf!_v7a2$@vE<|?C$XC>+ZC>$2^1fou8?)h-x4!D5j~nLq#`^W=atlC&3Hd9$;c729!X>CeBKu0<{WIii?T0ws`q<&^FGbdLxBa&P2&6#!EtBY1pQbj5rDm6l9OHR|Hfkjh0;j)#}*W|U2^}msA z#N_VdzMyJUMK(b{@%j6zth1)EzT7N(?u)MG#;diGe}7|Pf?rgXc4izSGur$5e?IQP zlzimPzOZd{rKFv|p7y?ni?e@NKTl1BNAL5Xw2^{+z=dG$=KR*~@}O|?icjz0{*K~`J zVT6jzv-riR_xsAQi9n_g{{H8jUgmsY5B%GQeu2T(K9GL)`=4`q z+QVQ(#Ycore1hRCB9!7Yd=a7afJH%IGKtV3B=#J5(4TE#N9GBOQV)DcgbX2(GBKDcsdT$H7sgiZWd@y)X=O!6 zv(N{fl?VyKl)mabHkZqeq~lt?*%cCmzy8tPB2`pZUv!R+{t4ar`;j%6giP@B@j)b} zl?XavN~#>xxYQT@N2FYm5_Cc$YJRf3W7<|!?Hq*=;hj5wuULac$c!dqJr$q=Vo(XA zlEEw>E*oLO5Ax3sN$B&4h5VB~&|3PFigGl(Eg-gl# z2<2Qfi4ZsY!ypn8F;Vo>h2x*Uqa~bE{ufHv5;>FfBvni z?NHzdB152>Qr`{vMR$ihr`Vti^! z2y&Dmg~t`4&^XeBsCMjxC?*s?aB~I;c1oNUI5c#+mw|Bh)~&}R;^QSugwZ@+0HR@C zUz2#UMc>Nu&LJJ#fr*uH9|%s#MM7l7mb2MhQDH?zjqZ|8r>iNfAXP8d9z=u(_u(ZZ z;FD^CT19O|7LDaRB-usIKe<fjIORg2P!8KbdIAzDjaj>1S7!fe`boWMp%+@Rw8 z@yjm=@&05-OXn|0@aE0=H!5?}O1*@uv$-2LFc8Kf!2m)|v*Kv_^@h%m!HuM&{YXL% z6C2?XIUT(>TA@RNKnRBQbq2HJk|^@6Y#<~Jv-e;lwBDfW?fnI@-S22I4lUll4?o^) z9J*MUmNqgBf~eWbzNeqb=r+ z6EZ2nK*Se56>7gwzQUtM4}JIqIkDIXlR+=fH-)0Y8db~hO>IB7!RPG;Z9|JHqlW8g z@evMUBaHPD&d=HB*4F0iQln8ZJ=fUS`0(LOR&E*)4v*bhy|cPHyO6uJ6}#hvtjx?z z&eO$a#R=l#N;7!@`3$iU7K!92k%%2Bs)&p%tm)~gX}Ap|SpT{1^Y79RpA@U~hHQu; z9LGk8mZTducsF*kauZi2g ze}9}affLJlhLFHTn8Xz!K`weSTP3Q{sdY-dT5M`+YV}+aT5P&>hwjpgKEc|4T!c&x z7?Ne8joY2$z?aXJ?0pbFz%rwzjr*oRCNR`3I3VEQo^y0)gy`Y;+?N z^ia47BiZB(qC^#XwL|Rq{r7s4xW2x%$y8T$+hi~&8u}3+9WKJmM^}BDn3S10drv`9 zL624efJRV6gt@s33(F&=sbw}r+M~Z7VIl+@nuwRVA&a94k)o`R=L;(#m)w(~2~}#B z!30MXCQn_x0S+wMn(7RW#AYCb@Djed0*3TqSldkF+N55Y)T7l(ZIA@Y&CRXcTv#a0 zk=P{V7oR+Nvhxe6cmC+#D#0xSIRNzLW(5Fd;v;15m$SWudcE3Zs%xrmGI;8m45lXX zDH=z{6g7o-7t$kRVAw@HXan;%XXd7j%9;XWOLup-O$vl%WtA5plL0X6>rCSDsemcO zwmXxuyg?dfW_EQA{C0DCa#E|*f*?tll_il>UWD@%l{r$WqPoaAdSw{LL4|)i$m^5& z01;svMd%CeOW-231f1JF)!DB$fMLA{Eu@IBuF6m{1%zI~T5Jau5$BQNy``n4tM>*L zXC{?Bih^>Z%|;R$vjEWPbh|etwrQggPC;ot+i^lG{D1Njx}OrR9hA{R<1pQRt6T~MALMSw!BCoB?+a~0QiA( z^v}(*?rEvQsnKYT?KmOP6|hUXBm+2_5Cr!NNJ8?qOsZ&Xgo6QuqKdpcodH%-kE^b! z%2fq~rVQPnZwjFkcnG0Xjb(FWV`XJ!V{>4pW6rKpX(5FT5yIR-@XCC5naw6G(r9F| zJv&SYbp^B=-~tHaXhOO!$cl~dJ+7aSD-z1|>9CS|98GN|R~-nN)eY@|Q+Na$;p;M) z#k~M8`gLmt?Dok?m0n*^pw$||Oj@KYfWf;0gw@nCDsvJ$Pq=i?--e$s4hSzaOEiMf zuB&wSASO0KX0e};9Vh#sCc{)!EVX_N#>5yWiitOwArJBEbeYwR%@D zdT%e#!5{CulYj4f0uv$hz(0g>f-7!|-T`NN4W_EPD#(zi8w{92cmWhPLP8>hWKi*M z_M0$rjqHl0yvV7MK_6ovB;LQ)-roND`)6PIDq&P0075!B z>_D`h61ZPJ{{Go(XA{0kNZ9@6E(Sir54nEAw`Cv5E7WF#8FoiaCR3~FaEZQuYTPH7 zoq~%HIzbY`SHVojz>rj7gZYyxlmLhXlVnM-(khEAGSvAf41|m$XMynD*IwAW`vn0a zqzz#R4WE=4-r+a#&KxkAJ17I;4!X#K{mE}bmlJEcn1EK$2X{_By@G|g` zyQ8-68U)Y*UM94()U}k^6@~Q`Y)5>D_8`cuD6A;)xYp)oX69UGM~PaM;Zd>Ka*d@H z2>0M4gbsKKr|lh+Jz8|8qP#c>0YXAVSYCt(g)(Op9>OEZ$%7A)Q^yA@f$ocT0ZJx- z;*e(PgKq{0`^b)CekpJn>4!p7SW#0`vcB$dxg0K+xJ0ZwYIutc2?24Cft8TBNE2%9 zEmGJBYL!Z)=Oau~0wD+rWuM@BLH@+u=0D0LS?xf$zw{cgk;Re8?sj&zw-3HK-Y>O% zh?($E5)2>}AXeygIyLaY_Ryski`6eS%h_bYgYh^Cq4$tqo={jkE$va3E6`p{UJ@1j zAS@^cLLrpPz(vUKl-!kExX|f@&EUBa-^P&KEIK>ywqGBbc)3$Lej5ARVvYk+0AUFb z8enh6oSx{&Nc^b4d(+3*-xky7T}fNuctVQ=^YXlc#RV{g)rio!3lkxfa`(C+_2}X*v^F<4A00Z{DV+$yo74K(enXL7r$#584Ca$+$H|QJ2JbC>4D5tVNghck zZRshX_CsmH;^G1{g9=1w`55P0MECV2cXl4Iki+K>jiII0;kdotEbhJ=6$C;e)o;kH z(5clb)uoIQ-O0mZaR!?%Cm3%LjmRPi3ntMS-(n;PhU5S$0T8Md3SYz5B!wn zhTOa9=Lr=g$7uOZ{|Q^nnOvAGr*!_3v)S1nF`K#AkB9VWCR=;z#Dz*25V| zz=x854TAUyA%3a`0!5>}MXLomB@%>BtpX)EPT(bkQjQ(V7y1Cb#R=0L>5jxUB6t@q z`9#JJs4x!_0U(+1Snw`d67z<|f)I;m>~LhEq(@Lo3Fhnz%B6$imzMJLUvT;cks{2` zf9a+8pk6v?U#^_}|G@(lG(sq)%mRc-^BvPhg|=J^0|+5P=>#)K7w}^Kn4kZO?CEWx z;DsfAurJ_696!%~Hu*)^J_nHyB93LjQaVqKAq*k-X#sF>R}e3w$B#ZCKyW@nLFKEV za2Y+~%QWHBfWovdL*X)dF{e{CGxK(-QQ@7yvIF~qeKE@;eU(mG9GX9kv-DV0=v>V5 z%QNRSLOIgYoIm$5Gh{Ai8S`uJOt(}4NxL6R>>(JzzaA<4Qt`V|QugfQ6QOoV*{DP4 z7dsRcYL}EHVj>Rh+ZWGghR7vl!&e1<&O-01z+uAYEKIoF!i3u_O!(Y|3AbCAaGQk* zpSv*Ob_)}3voPUv7be_pVZv<|Cj6JZJ64qxhQc`h38U>GBU4+>K&pkHhRDD{m@!3~ zAZf%{2~(Nc+80RcW6TroWsAFPv+Op`E$$yu210(-sm_1*P57^U6aIC5EYcXC#Sws0 z`hLPg`scOy1mKjsoiO?JLBJn-isR^wgxX!93w*}ufx|q#pK!Jxr^aW2Qk>W7?SwUr zI1l)pw+RFt-$r<%xqu1>?Rn4QE{5DJ+RekL0*1A%Vj-SXl}?jC?nx*eWgy(aOvzjKstA|*5}L9aT+B(l;x&%*R8N-PeN_f3&dUMv~*Sg%nlc~2sH}g zs|Z8mSW%dzbx*qQNjOxFXVkcU7Ns3Bz*^nRRJ+2c;O^R2s~juKv=tQXL8#okURCa_ zT3~*h0XdA`G4B~{L78-kuyRp!qyzIi5*}!F1L(OarIVRbfa#@Es&xEBcf#1gGqx;q zYq5wO3A4?vQ$~W6Ez?Z_u;pNLC+Wo9O<}3vq_%_6ETwD*!t>hKGgHAE(Va>A1ai1+ zWA2N&T{&f^m08>Aa(BYY)pF&;hvF3;A72D8U2eT9e8-3rDi??i<+M9tr|OCt%7%OQ zoRs5$t@IYV+T~sa1v9g?U;BAC!kQ)M3(-WT@obbesby#!P&JJ z6k{8lU3(U>(a{-vV03hb5EzX@lEG*c5(`G75I|cU<46tyQ2+&r9#vN5!XQ7J-{Pn(B*yWQe62Vc4m#eAt_~}%n4cuCP^iUsNF({6yH0TT1X^>2UL`k zECDuYM{(6xTo+&IG*ZY!4@NjcApHVOAhg~>Xtca{EY+}*LTZxLn>3{8beh?Ym0~-p zNET76V$DrbNYHX$QH=7h5=NUKW#Ci7gT?nAyC~KDu%~KyMHVQ0T>dJc&ZZ-6yvYn1 zA`;Rt8@CWP*|^J$&l*rhEhUZZyq2r#Im*AD`_vsxP{R7 z#+MHJUP8$eY0qUWeD1F_;=a)e+qB)U#fKJfh82`9(f~*8aR6Q@ze>2R7f81}Wy#&J zK-$Em4FXmtQMfh%iC6DFDeqNhDqM`>QO>p_l(zCMgqQ!_sZWoqZ@F_CJ(Y7ZUL3fq z4;W3(XB{}oQq)Q{p6IbT(yAhq_!h!H?AJ}I93c<~@DfyNSLG)tg(CJsdy^Z?yF#Ds zoj935NJt1IkeSTl{TGd(V9~#YRTsDWJ#smfzz0rlcsOZXvwN3%qO;$klxv?@uu{U< zYq=WbuG&y1tF-u^5-M!l)f)6(VSV{pCarZDie<00dX)+H?X2$yv)L!=Y>`1@AZzMkzlHJEp@oPSYia*N-;a}&2@K5tW_$RR$;3WyQ0(eQnYyti! zp`CfR>|{^fTm~s&Y}_+YGkC~l zi_|tc`3Djff6DsAr+I5{L7keunE`5??ocMD>PU^?0S$t2%p8KJd`P z!>MkbP7huY?<&%eS9&0!**gH44FnXFRJAp3GJ89+j3d2jE>mcOMW~dkZqteS+kXk8t1lBw93k5yB6vU zvwC965VMvFRqR?i{?CroVYRQ&&irc3^b+mNFPXSMhKk?j6+6 zka-9Od^(}SwMLk=CD$jxLhZT&zbwEMo>)>iOXK}?LTXcc+M`LG1Axh8)^G~|FkFhK z^5*nr*yj;?aEG?I`tfEu*mBHTxyguW)_YAHq9pcDCkzOm*{@<8i9r}>Bx2F63BeM` zB8s4ZH1~sjGv_l!)Oj^&wG??5r4)!89Fl(Qohfvh{*0MhcYuXS{92Y1!0+ApSjs-qmhVsD zZqI-#V;UqIn2lJ9Ffb+yFoXyz$gAmk-pLyt%}V zyvS1YjmAI~Bm)5I+*Lg5TfeiB;+Hm3d>Oy0k>a;C(ihBs;oF!NUd6QVBBq6JV_J9> z)543G7QT&X;U9Zt%-S{(#c>yG1%sE;FVL|?nQo~I2^53y2QVc|P(2kw2k)LeYOpy? z`T!oXx!Wz84kWysh&&l-G6*zCnzS|0_wLT>nhw4!d4u4OG5q{~e?7l+-W0xY-W2}# zyuQM991pwjX*~b(`5Y`SO}$<>Vkaz<3a{dL(1qKNzrXgowX>8x_PQi?Pev7v;@IkT z^l*KB-=!gdUH$vBRvXO|IxwO3yNj|cdltqNt_uWXdQr0g zz}y>^9uX|5tuq*sU0h*l%PD2J4+u^$ zl?b7eNQcsb$mBdf8B%DS6d03fPUK8JNV$yyOO-(y`97!IGNf>{mt6ai{PI$P-Mz=; zDXv6aE+4@n>R(!6j5G|WB+-J9MQ{fX4U{GcKuMxw#d+>W88@VmVbvMH4Y2Dg5-e9P zA#?nwcEUDkpzdp2A}lF~UD1Ofg#{KKieF%u67tLaF(KpuQ|PoIf`u3a<@uIwITaUH z$P|!ndjL0K3dIUAq;L|vwAO8}s$-P%Jfnsb;!7A8_`vG`MgKWn0iD`Zn0hQ!-4fL2 zx!^g?4JpL)9^*q_hhRJobhi>GO_`TC35Emc^A8-lbzy}i0wGbU6}q>sR#-cY=QYf6 zYOU~?fx^t3!qbpxg;P-Y?FQ%;ox-;56h{2uZzFC=uR@fNeGaHpAqA!W#b% zF~A!b`MVrU8aSi{0x^9^zfSg3)^uPHyNVdzL`ObHLtSdWDm50LT?7!SexGjQFR z+*>Kncns1F7sV*8$Yx**qXQSiRUIN=o-AiPSk z2guV83TwqsMdFGUjAWWDgk%tpczK1wR*$&p5h0K<9MV<7*m&rQ6haij6xsG09GoH< zVN+oXVs*cO($ZleE)}4T1ey54!B-p#|3KK)!Wk%GjF3WCQ(-kiSc9`a2Ow-ATj^XB zq&bp|2w~aqt$lQ<>x=5`ovlB0)L7WIq4Mn9b>&%OYd>o0W~XLgNe zfWpfI@=bE#>H+DCTsR!_7N_tD1LdF=Rx?m5YT-x&#Z4)!G?Y^dr@3 zLmbY~+J&xKL@hr+=tBf~slI3uoFa=B zrg5z~NC=&bXASik_lH45&r+7YmxF|AW9ud-VkB?sU^)WBbwwQ@lz1el+OKuH1l*QZ zU=xn5gM|JtcLlq3#HWQF{oYx6mmMVRm%RzgI6=uti5vubSh4y9VM8pn#N0%Xdtc?q zMjkz+V(niQsv)w+lW6QYdPu$Gt3m=P4iWQa!htOH&yVzJJkIrd)^qQgB`ZR-h|O_-?s3^L-6DCzP?WubQ5T=%|%B? z`?;2bzM3IQ%fV&3qMHzNH)C8gUeQgAb6pUFMMoVGlM6oTI(nm&rma5P+=NS~ZEmAM zXE!wWu*r2rSD8I*(o_5W@_FHZ^1Sehu5w9uNjS?T;UDIb@UL@8_@}uf{EHYy!(MMV z91(gWB#b7Akm05uzaR5$r_;hETaXM zA))?Ypv9CU%k{kZ+H%h0X%HF^T6|MMKs!F^U!0wty&DfcJLe1^;w0?ZL@=Bx+B&Tc zOVg4hRlskymKyOB$_<5(=Sw7PgYe7p2_*#%HpJvJREXCc1a?B>6SV*pvXd?dBE#C? z*pD(XbcXN|E&pi{5F;Z0!c2FHc(3LTPn{WZPJ3!nfd6wnt^?EjyilkCS z7})|8W+@p)gsU=k!pBoTl$E2}gz)09KUnekR7AM!!bNCoi_;23f_vN>_GIxYCsg(; zlCYurq4Y2ln(Vn8GE9|AY&Hda!FW6pi3Ee-nBYi~DTk5Z@~QzdVMyhJ_Db;^zALHpm5`03$(^6wh!Rrx04L;afNf3Gh+*AW!m<)~9M~<7rE5y?Hq} znaoZRLpTUcZiNtxz$qH52-VJ!NVTJTuo1SaoUm_;#wLNQJ&c5=1|sx$(rlp=46mm% zaa4h@ALf%l7~vV3Z@0D*yU z2s>d^RE_rbIicDTMR&LD7Wb+<9S%0b$u(pgZ4>wiZ-O5p+=RY%-W)cYp$_9o*b0FV zDlvfw88afh^DJz~M@VcTKt)eU;0x95oE?bWZmmXjznwo&5s{(Oc^w1c_b3GMz=-ZX zm)4zoy6HGGbNQ1p6%5DgIA-4$r= zRjk|XkGoxQU)tw5`Zan10)}``u@Rzm6msoaq`=lQ=~RNRCpYhHClduYB9_=hgr{k` z?pXyv^ZK*93)l!ls00-~QdmhYI& z=FRjoJ2t`}%-z9H+g1Pua1b=&Qe}h$q#el6m^va?i4~GfHA!3%Q6@|hIg956EZHGV z0Bw;131bRD;7F(uYNlP%3e?f*?wKK0O3cne7+E@jO{;qy#MIv?xWZ9T|-jC{u?L!HF#-=zbvtF^p36kw6a}4 zserG(y||5TTK@!wbJPf*qJ)!V%@A4LRFjOt7dAM5o-eITKTNM~Xp)94Z_(v)I6R(+ zH}MHALfbq9Ex%=w<1v{%*x%cGygw&5AIuX&#HwNF#tGjA<>39GX}Gk+ZWZg>!FY3h zy>rCwZeoG4y^D|W1zSMK}x{3vkWMgZANiYwqpa{kb-Ky8Hkkh}KXVy>Y@5S(bx{Rl==exxO^l zYMtzyj0I(Ot6VR}*(D+fXneh)McD8o2BFK9UrlB6d0y00E`^hLO%zL5AWAC_MQMeB zV1mJ9hZf<8DY$F^&X7d81$pn$+xi61dsOb%JGFiX4WvWb`4R(2RBd1%E%H4%Wk2C!6J)gVX;~so5P*M zI0&z5h|nV>hLdj0HzkhuyCbQ**YEbmP`^?vuO_iFT+ubrs}Mr3ml`1iQ9%TjKO5n&(=F;;65DN~yeeI>#1^#jQ9D%^u456{2=6#F~N-Iy}ip>FK!J%Q2G^Zj~2H zB~izIH!q5sC@Ef(klH{x2tgAtWW?z_tJTYO5V8kHd#?k5sHu2mc=Ol73jkS(TZFqs zw*B0Q%;M6xby-6hhH{YRbcPUO)xc=UPe!w;JcA;V$AR@if#-Qm<0RA%hN|ifQ=5^Z zf~0}qL+qoPFk6Ys?84o zXOI@*=UCVq*Fu-W6P6gql$*=*oK)D@+$@OtMnRK!QInG1OF|d5b>U?N4L`em^o~yu znhSdeM`L#n7JfRnJ42y=7~cH4@D=!wxRDCT48rPeWvA5|3s#C{w9q01AaY7?Y43;O z5C}b3x<|rKBQZ5Gfn}jq()8(-4Na4DNd;g8-yr;y4j~elA%Z60)S1th$z+;`2YZKy zdrOsX19m46VQ3IO0O6N6PB<99Or-)sV>+{2Y}P9~!TWMGUab}_LjuUk@2C-uWXZA+ zEewZoH>sh-bUiulR#i2{uZXxHN(D~wnn~s(c4~z7X!J_(D{*$#H)|Lk9sF^4xDcEb z?>OyUL)6elVVm3XvjnU4&F7WM^LicAWL7TJA!yZ*c7ZLPQ}gj6{+t?;th85tNV!POZJnx+eBx&37QIfm1ACwQShEO!Z6xid`hX4561C!u)NA;rUc6OxFOVqA%r zG+kFf2tyF&Cn(-83=zT6(c>?22H|XGHYcRhwe-%T$4&g4%YA#?HFQ!Sd;>j_VsUqS zU|`_Ki%z@UZkC_7JDtwOcLM{9*kdDzU_9xgN7!%f&Nv8RMD}Y?T?#>{4pSr? zHUvX2NdpO@&j=K2&01PO3z2Wv%&TFbj|SnZN)ago(2UsWwAa_0&GwT{=ic`N2oUR} zho@AZV4K2})YxDPlNQEYewSy`tLYktluEjmQm$I~4b>;urtJ2B<`ZVkScc?JA!lXw zPje*gr$T5uH3V-DTxPNJdj})wdb{)DS*-hM5s0s-5~7ACp<)m!VTZ@TBzehr7+BLW zCCw|QATmsq@Yd*;C9nww9O&?E8TxWpguZ#Bh9MgTLgY=QT15x1vU>Vrr-Kf@IQ>06 z&^4^aFDO6F-ER>lFzr+mZd?q*Dz6#W!Gd0rN=d~8WFntaewusa9sq@mfDk+1dkD`% zFdU}!PQ^v_;lTB*oSvS(=15XbdGHYM$c}NsKV6sxtPz9uV5jY6u)NW)lU=P%sfenE8t4 zTfT^W^+O%B_2ymsewR_guv<@gCc0ui<;|L7YCD>irpPBU7Tp=NUzDP2ysRku=8h`85dkk`Ng^6JUsR z32Va3sI7-5A=;wnE7$$L7w-*z948?L?xgsX%0v=xvT+=s$0i5^VHC%o5U-VhWCbIn3LN1=Y(gM8OY1b2 zVxdF0K-yG};R+cb``F0YeplTU??1tVU;j2YTTN3{)uzj1`Xg2PurAljXIbCFCW1dw zfUm%w#rO(LLa#_DjfBET=p6~Akx&>3y(6JC5(*=scO;ZXLSZEIj)c-kD2#;OML?(r zpxMEd+XU#l@PvH>m;|o90hG;x6DBr8YVdFDfTK-=5vs?mah~96<^uWa8Juu?Zxvb% zS5clYmi2FTIKuwRt{tn&4FgdC9fPCR7>ieL>3~|ZYa`<@7`#^DMl5Q~Oe%v(A=Rq& z18(;-@`ZT|fi$U|Ei#>?=EAA2n5O}W@Mj!mV4w1Lu=5Ee2Kz~PM^bIYh6b4Cb zN~XbZG!0Rx5~cf@gttg5VDpn{{kh$~0jTtVh~1228}uy`4L7FCj2^$9Nf?$?N-Q14 z!nNiAaA_8tq-Abz>}QTVKA86hVH9T&s@Rb*2W={W!wx``U;PrcP523?hAZW&dBBfU z*yT(@r>>m?dHq zxTnnyf;aqF{cr-n%|sLHl#M(Xh*!ay zgSU$+QJz59V3C{69Lg=Gp{p05DgSX?!W|!6pe)&u`yL;s6W)AY^Nvjn<}#Sa_99%L zjp+9fpDmw8SdRcjuWK>2mF!^^ zkdL52N-dKcezjxAD3ZfK6o%E%Z7Nf_>=H-_6@?UR7Yls@?GH@2UV)t zoKxG>!t83N5GF0pPTG^Z+hEKbQG{(5X^m2bBt>HOm^d3z_nj{kwYaPCX5_~JJcSV6 zJCMBtndXIR&n%EzF-cGkL!b;fK)?5)6p3n4ySS=YwMCn@e=FfG1HdRelDkRvtP4WH zD|nfyK#WBqAN}b=o48R(?375lyPykkYg{XxLYU>PbNjP7Ut|+?+OFiR$|OgeE)1jD z_IHiVc;%Gi1?d6mQn>^7`oPOHR4HxvzKRwVUO%+Lz763 xSV!Z7kWog&mJI5!H$u=+lY+-A5JkU0_z&uMQp>v$l5qe4002ovPDHLkV1lr`mwW&K literal 0 HcmV?d00001 diff --git a/assets/images/user-directory/sidecards.png b/assets/images/user-directory/sidecards.png new file mode 100644 index 0000000000000000000000000000000000000000..b79e864679d475bbdf1450306f538b64d88468bc GIT binary patch literal 24193 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 Sr-V%a0000V)bW8d^sD=mh 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 literal 0 HcmV?d00001 diff --git a/assets/images/user-directory/thumb-male-1.svg b/assets/images/user-directory/thumb-male-1.svg new file mode 100644 index 000000000..57ff63e4d --- /dev/null +++ b/assets/images/user-directory/thumb-male-1.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/user-directory/thumb-male-2.svg b/assets/images/user-directory/thumb-male-2.svg new file mode 100644 index 000000000..c78d8d100 --- /dev/null +++ b/assets/images/user-directory/thumb-male-2.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/user-directory/thumb-male-3.svg b/assets/images/user-directory/thumb-male-3.svg new file mode 100644 index 000000000..d940f3e67 --- /dev/null +++ b/assets/images/user-directory/thumb-male-3.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/user-directory/wide-sidecards.png b/assets/images/user-directory/wide-sidecards.png new file mode 100644 index 0000000000000000000000000000000000000000..d1ffcf768277fbdf3457ee669bfecaa80557e141 GIT binary patch literal 19686 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 {}, + onError = () => {}, + apiUrl = (typeof wpufUserDirectorySearch !== 'undefined' && wpufUserDirectorySearch.restUrl) + ? wpufUserDirectorySearch.restUrl + : '/wp-json/wpuf/v1/user_directory/search', + }) { + const params = new URLSearchParams(); + if (blockId) params.append('block_id', blockId); + if (pageId) params.append('page_id', pageId); + if (directoryId) params.append('directory_id', directoryId); + if (layout) params.append('directory_layout', layout); + if (search) params.append('search', search); + if (page && page > 1) params.append('page', page); + if (orderby) params.append('orderby', orderby); + if (order) params.append('order', order); + if (roles && roles !== 'all') params.append('roles', roles); + if (exclude_users) params.append('exclude_users', exclude_users); + if (search_by) params.append('search_by', search_by); + if (avatar_size) params.append('avatar_size', avatar_size); + if (max_item) params.append('max_item', max_item); + params.append('base_url', window.location.pathname); + + fetch(apiUrl + '?' + params.toString(), { + credentials: 'same-origin', + }) + .then(res => res.json()) + .then(data => { + if (data && data.success) { + onSuccess(data); + } else { + onError(data); + } + }) + .catch(onError); + } + + function initUserDirectorySearch(container, blockId, pageId) { + let currentRequestId = 0; + + const listingDiv = document.querySelector('.wpuf-user-listing[data-block-id="' + blockId + '"]'); + const input = listingDiv ? listingDiv.querySelector('.wpuf-ud-search-input') : null; + let userList = listingDiv ? ( + listingDiv.querySelector('.wpuf-ud-tbody') || + listingDiv.querySelector('ul[role="list"]') + ) : null; + + const pagination = listingDiv ? listingDiv.querySelector('.wpuf-ud-pagination') : null; + const liveRegion = listingDiv ? listingDiv.querySelector('[aria-live]') : null; + + const sortBySelect = listingDiv ? listingDiv.querySelector('.wpuf-ud-sort-by') : null; + const sortOrderSelect = listingDiv ? listingDiv.querySelector('.wpuf-ud-sort-order') : null; + const searchBySelect = listingDiv ? listingDiv.querySelector('.wpuf-ud-search-by') : null; + const resetButton = listingDiv ? listingDiv.querySelector('.wpuf-ud-reset-filters') : null; + + const layout = listingDiv ? listingDiv.dataset.layout || '' : ''; + const directoryId = listingDiv ? listingDiv.dataset.directoryId || '' : ''; + const roles = listingDiv ? listingDiv.dataset.roles || '' : ''; + const excludeUsers = listingDiv ? listingDiv.dataset.excludeUsers || '' : ''; + const avatarSize = listingDiv ? listingDiv.dataset.avatarSize || '' : ''; + const maxItem = listingDiv ? listingDiv.dataset.maxItem || '' : ''; + + if (!input || !userList) return; + + function showLoading() { + if (listingDiv) { + listingDiv.classList.add('wpuf-ud-loading'); + } + + if (userList) { + let loadingOverlay = listingDiv.querySelector('.wpuf-ud-loading-overlay'); + if (!loadingOverlay) { + loadingOverlay = document.createElement('div'); + loadingOverlay.className = 'wpuf-ud-loading-overlay'; + loadingOverlay.style.cssText = 'position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(255, 255, 255, 0.8); display: flex; align-items: center; justify-content: center; z-index: 10;'; + + const spinner = document.createElement('div'); + spinner.className = 'wpuf-ud-spinner'; + spinner.style.cssText = 'width: 40px; height: 40px; border: 4px solid #f3f3f3; border-top: 4px solid #10b981; border-radius: 50%; animation: wpuf-spin 1s linear infinite;'; + + loadingOverlay.appendChild(spinner); + + if (!document.querySelector('#wpuf-spinner-styles')) { + const style = document.createElement('style'); + style.id = 'wpuf-spinner-styles'; + style.textContent = '@keyframes wpuf-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }'; + document.head.appendChild(style); + } + + const listContainer = userList.closest('.wpuf-ud-list, .wpuf-table-responsive'); + if (listContainer) { + listContainer.style.position = 'relative'; + listContainer.appendChild(loadingOverlay); + } + } else { + loadingOverlay.style.display = 'flex'; + } + } + } + + function hideLoading() { + if (listingDiv) { + listingDiv.classList.remove('wpuf-ud-loading'); + } + + const loadingOverlay = listingDiv ? listingDiv.querySelector('.wpuf-ud-loading-overlay') : null; + if (loadingOverlay) { + loadingOverlay.style.display = 'none'; + } + } + + function performSearch(searchTerm, page = 1) { + const requestId = ++currentRequestId; + + const currentOrderby = sortBySelect ? sortBySelect.value : ''; + const currentOrder = sortOrderSelect ? sortOrderSelect.value : ''; + const searchByField = searchBySelect ? searchBySelect.value : ''; + + showLoading(); + + fetchUsers({ + blockId, + pageId, + directoryId, + layout, + search: searchTerm, + page: page, + orderby: currentOrderby, + order: currentOrder, + roles: roles, + exclude_users: excludeUsers, + search_by: searchByField, + avatar_size: avatarSize, + max_item: maxItem, + onSuccess: (data) => { + if (requestId !== currentRequestId) { + return; + } + + hideLoading(); + + try { + if (data.rows_html && data.rows_html.trim() !== '') { + if (userList) { + userList.innerHTML = data.rows_html; + } + } else { + if (!data.usercount || data.usercount === 0) { + if (userList) { + userList.innerHTML = ''; + } + + let noResultsContainer = listingDiv.querySelector('.wpuf-no-users-container'); + if (!noResultsContainer) { + noResultsContainer = document.createElement('div'); + noResultsContainer.className = 'wpuf-no-users-container'; + noResultsContainer.style.cssText = 'display: flex; align-items: center; justify-content: center; min-height: 400px;'; + + const noResultsContent = document.createElement('div'); + noResultsContent.style.cssText = 'display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;'; + + const iconContainer = document.createElement('div'); + iconContainer.style.cssText = 'background-color: #f3f4f6; border-radius: 50%; padding: 1rem; margin-bottom: 1rem;'; + iconContainer.innerHTML = ''; + + const heading = document.createElement('h3'); + heading.style.cssText = 'font-size: 1rem; font-weight: 600; color: #111827; margin-bottom: 0.5rem;'; + heading.textContent = 'No users found matching your search criteria.'; + + const description = document.createElement('p'); + description.style.cssText = 'font-size: 0.875rem; color: #6b7280;'; + description.textContent = 'Try adjusting your search or filter to find what you\'re looking for.'; + + noResultsContent.appendChild(iconContainer); + noResultsContent.appendChild(heading); + noResultsContent.appendChild(description); + noResultsContainer.appendChild(noResultsContent); + + const listContainer = listingDiv.querySelector('.wpuf-ud-list'); + if (listContainer) { + listContainer.innerHTML = ''; + listContainer.appendChild(noResultsContainer); + } + } + noResultsContainer.style.display = 'flex'; + } + } + + if (data.usercount && data.usercount > 0) { + const noResultsContainer = listingDiv.querySelector('.wpuf-no-users-container'); + if (noResultsContainer) { + noResultsContainer.remove(); + } + userList = listingDiv.querySelector('.wpuf-ud-tbody, ul[role="list"]'); + } + + if (data.pagination_html && pagination) { + pagination.innerHTML = data.pagination_html; + attachPaginationListeners(); + } else if (pagination) { + pagination.innerHTML = ''; + } + + if (liveRegion && data.announce) { + liveRegion.textContent = data.announce; + } + + // Update browser URL + const url = new URL(window.location); + + if (searchTerm) { + url.searchParams.set('search', searchTerm); + } else { + url.searchParams.delete('search'); + } + + if (currentOrderby) { + url.searchParams.set('orderby', currentOrderby); + } else { + url.searchParams.delete('orderby'); + } + + if (currentOrder) { + url.searchParams.set('order', currentOrder); + } else { + url.searchParams.delete('order'); + } + + // Remove udpage if present (legacy) + url.searchParams.delete('udpage'); + + // Use clean /page/X/ URL structure like Pro + let basePath = url.pathname.replace(/\/page\/\d+\/?$/, ''); + basePath = basePath.replace(/\/$/, ''); + if (page > 1) { + url.pathname = basePath + '/page/' + page + '/'; + } else { + url.pathname = basePath + '/'; + } + + window.history.replaceState({}, '', url); + + const event = new CustomEvent('wpuf:ud:search:results', { detail: data }); + container.dispatchEvent(event); + } catch (error) { + console.error('Error processing search results:', error); + } + }, + onError: (err) => { + if (requestId !== currentRequestId) { + return; + } + + hideLoading(); + + if (liveRegion) { + liveRegion.textContent = 'Search failed.'; + } + + const event = new CustomEvent('wpuf:ud:search:error', { detail: err }); + container.dispatchEvent(event); + } + }); + } + + function attachPaginationListeners() { + if (!pagination) return; + + const paginationLinks = pagination.querySelectorAll('a.wpuf-pagination-link'); + + paginationLinks.forEach(link => { + link.addEventListener('click', function(e) { + e.preventDefault(); + + const href = this.getAttribute('href'); + const url = new URL(href, window.location.origin); + + // Get page from URL path (clean URL) or legacy udpage param + let page = 1; + const pathMatch = url.pathname.match(/\/page\/(\d+)\/?$/); + if (pathMatch) { + page = pathMatch[1]; + } else if (url.searchParams.get('udpage')) { + page = url.searchParams.get('udpage'); + } + + const currentSearch = input.value.trim(); + + const orderby = url.searchParams.get('orderby'); + const order = url.searchParams.get('order'); + + if (orderby && sortBySelect) { + sortBySelect.value = orderby; + } + if (order && sortOrderSelect) { + sortOrderSelect.value = order; + } + + performSearch(currentSearch, parseInt(page)); + }); + }); + } + + // Search input handler + input.addEventListener('input', function(e) { + const value = e.target.value.trim(); + if (debounceTimeout) clearTimeout(debounceTimeout); + debounceTimeout = setTimeout(() => { + performSearch(value, 1); + }, SEARCH_DEBOUNCE); + }); + + // Sort handlers + if (sortBySelect) { + sortBySelect.addEventListener('change', function() { + const currentSearch = input.value.trim(); + performSearch(currentSearch, 1); + }); + } + + if (sortOrderSelect) { + sortOrderSelect.addEventListener('change', function() { + const currentSearch = input.value.trim(); + performSearch(currentSearch, 1); + }); + } + + if (searchBySelect) { + searchBySelect.addEventListener('change', function() { + const currentSearch = input.value.trim(); + if (currentSearch) { + performSearch(currentSearch, 1); + } + }); + } + + // Reset handler + if (resetButton) { + resetButton.addEventListener('click', function(e) { + e.preventDefault(); + + input.value = ''; + + if (sortBySelect) { + const defaultSortBy = sortBySelect.getAttribute('data-default-value') || ''; + sortBySelect.value = defaultSortBy; + } + if (sortOrderSelect) { + const defaultSortOrder = sortOrderSelect.getAttribute('data-default-value') || 'desc'; + sortOrderSelect.value = defaultSortOrder; + } + if (searchBySelect) { + searchBySelect.value = ''; + } + + performSearch('', 1); + }); + } + + // Initialize + attachPaginationListeners(); + + // Check URL params on load + const urlParams = new URLSearchParams(window.location.search); + const initialSearch = urlParams.get('search'); + const initialOrderby = urlParams.get('orderby'); + const initialOrder = urlParams.get('order'); + + if (initialSearch && input.value !== initialSearch) { + input.value = initialSearch; + } + + if (initialOrderby && sortBySelect) { + sortBySelect.value = initialOrderby; + } + + if (initialOrder && sortOrderSelect) { + sortOrderSelect.value = initialOrder; + } + + // Get initial page from URL path or legacy udpage param + let initialPage = 1; + const pagePathMatch = window.location.pathname.match(/\/page\/(\d+)\/?$/); + if (pagePathMatch) { + initialPage = parseInt(pagePathMatch[1]); + } else if (urlParams.get('udpage')) { + initialPage = parseInt(urlParams.get('udpage')); + } + + if (initialSearch || initialOrderby || initialOrder) { + performSearch(initialSearch || '', initialPage); + } + } + + // Initialize on DOM ready + document.addEventListener('DOMContentLoaded', function() { + const listings = document.querySelectorAll('.wpuf-user-listing'); + + listings.forEach((listing) => { + const blockId = listing.dataset.blockId || ''; + const pageId = listing.dataset.pageId || ''; + + // Initialize for any listing with a block ID (shortcode or block) + if (blockId) { + initUserDirectorySearch(listing, blockId, pageId); + } + }); + }); + +})(window, document); diff --git a/assets/js/wpuf-user-directory-free.asset.php b/assets/js/wpuf-user-directory-free.asset.php new file mode 100644 index 000000000..5506d5a1b --- /dev/null +++ b/assets/js/wpuf-user-directory-free.asset.php @@ -0,0 +1 @@ + array('react', 'react-jsx-runtime', 'wp-element', 'wp-i18n'), 'version' => 'c7c7d0ff5e0ecdf2795b'); diff --git a/assets/js/wpuf-user-directory-free.js b/assets/js/wpuf-user-directory-free.js new file mode 100644 index 000000000..fc1669ed9 --- /dev/null +++ b/assets/js/wpuf-user-directory-free.js @@ -0,0 +1,3 @@ +/*! For license information please see wpuf-user-directory-free.js.LICENSE.txt */ +(()=>{"use strict";const e=window.wp.element,t=window.React,r=window.wp.i18n,n=window.ReactJSXRuntime,o=function(e){var t=e.utm,o=void 0===t?"wpuf-header":t,u=window.wpuf_admin_script||{},i=(u.asset_url||"")+"/images/wpuf-icon-circle.svg",s=(u.upgradeUrl||"https://wedevs.com/wp-user-frontend-pro/pricing/")+"?utm_source="+o+"&utm_medium=wpuf-header",a=u.version||"";return(0,n.jsxs)("div",{className:"!wpuf-w-[calc(100%+40px)] !wpuf-ml-[-20px] !wpuf-px-[20px] !wpuf-py-[20px] !wpuf-flex !wpuf-justify-between !wpuf-items-center !wpuf-border-b-2 !wpuf-border-gray-100",children:[(0,n.jsxs)("div",{className:"wpuf-flex wpuf-justify-start wpuf-items-center",children:[(0,n.jsx)("img",{src:i,alt:"WPUF Icon",className:"wpuf-w-12 wpuf-mr-4"}),(0,n.jsx)("h2",{className:"wpuf-text-2xl wpuf-leading-7 wpuf-font-bold wpuf-m-0",children:(0,r.__)("WP User Frontend","wp-user-frontend")}),a&&(0,n.jsxs)("span",{className:"wpuf-ml-2 wpuf-inline-flex wpuf-items-center wpuf-rounded-full wpuf-bg-gray-100 wpuf-px-2 wpuf-py-1 wpuf-text-xs wpuf-font-medium wpuf-text-gray-700 wpuf-ring-1 wpuf-ring-inset wpuf-ring-gray-600/20",children:["v",a]})]}),(0,n.jsxs)("div",{className:"wpuf-flex wpuf-justify-end wpuf-items-center wpuf-gap-3",children:[(0,n.jsxs)("a",{className:"wpuf-border wpuf-border-gray-100 wpuf-text-center wpuf-rounded-md wpuf-px-3 wpuf-py-2 wpuf-text-sm wpuf-font-semibold wpuf-shadow-sm hover:wpuf-bg-slate-100 focus:wpuf-bg-slate-100 wpuf-no-underline wpuf-text-gray-700",target:"_blank",rel:"noopener noreferrer",href:"https://wpuf.canny.io/ideas",children:["💡 ",(0,r.__)("Submit Ideas","wp-user-frontend")]}),(0,n.jsxs)("a",{href:s,target:"_blank",rel:"noopener noreferrer",className:"wpuf-rounded-md wpuf-text-center wpuf-bg-gradient-to-r wpuf-from-purple-600 wpuf-to-indigo-600 wpuf-px-4 wpuf-py-2 wpuf-text-sm wpuf-font-semibold wpuf-text-white wpuf-shadow-sm hover:wpuf-from-purple-700 hover:wpuf-to-indigo-700 hover:wpuf-text-white wpuf-no-underline wpuf-flex wpuf-items-center wpuf-gap-2",children:[(0,n.jsx)("svg",{className:"wpuf-w-4 wpuf-h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 10l7-7m0 0l7 7m-7-7v18"})}),(0,r.__)("Upgrade to Pro","wp-user-frontend")]})]})]})};function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,u,i,s=[],a=!0,l=!1;try{if(u=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;a=!1}else for(;!(a=(n=u.call(r)).done)&&(s.push(n.value),s.length!==t);a=!0);}catch(e){l=!0,o=e}finally{try{if(!a&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return i(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);re.length)&&(t=e.length);for(var r=0,n=Array(t);re.length)&&(t=e.length);for(var r=0,n=Array(t);r1&&void 0!==arguments[1]&&arguments[1],r=o[e];return r&&"object"===c(r)&&r.icon?t?React.cloneElement(r.icon,{children:React.cloneElement(r.icon.props.children,{fill:"#059669"})}):React.cloneElement(r.icon,{children:React.cloneElement(r.icon.props.children,{style:{transition:"fill 0.2s ease-in-out"}})}):null};(0,e.useEffect)(function(){var e=function(e){k.current&&!k.current.contains(e.target)&&(g(!1),N(""))};return document.addEventListener("mousedown",e),function(){return document.removeEventListener("mousedown",e)}},[]),(0,e.useEffect)(function(){y&&d&&S.current&&setTimeout(function(){var e;null===(e=S.current)||void 0===e||e.focus()},100)},[y,d]);var M=function(e){if("all"===e)return i(["all"]),g(!1),void N("");var t=u.filter(function(e){return"all"!==e});t.includes(e)||(t=[].concat(p(t),[e])),i(t),g(!1),N("")},A=function(){return l&&j(null)},F=function(){var e=Object.keys(o).filter(function(e){return!u.includes(e)});if(d&&C.trim()){var t=C.toLowerCase();e=e.filter(function(e){return L(e).toLowerCase().includes(t)})}return e}();return(0,n.jsxs)("div",{className:"wpuf-ud-block wpuf-relative",ref:k,children:[(0,n.jsxs)("button",{type:"button",className:"wpuf-flex wpuf-w-full wpuf-min-w-full wpuf-text-gray-700 wpuf-font-normal wpuf-leading-none focus:wpuf-ring-transparent wpuf-text-left wpuf-items-center wpuf-justify-between",style:{maxWidth:"793px",width:"100%",height:"42px",borderRadius:"6px",borderWidth:"1px",paddingTop:"9px",paddingRight:"13px",paddingBottom:"9px",paddingLeft:"13px",backgroundColor:"#FFFFFF",borderColor:"#CBD5E1",borderStyle:"solid",opacity:1,boxSizing:"border-box"},"aria-haspopup":"listbox","aria-expanded":y,onClick:function(){return g(function(e){return!e})},children:[(0,n.jsx)("span",{className:0===u.length?"wpuf-text-gray-400":"wpuf-text-gray-700",style:{fontSize:"16px",display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"calc(100% - 24px)"},children:0===u.length?s:u.length>3?"".concat(u.length," ").concat(x," selected"):u.slice(0,3).map(function(e){return L(e)}).join(", ")}),(0,n.jsx)("svg",{className:"wpuf-w-4 wpuf-h-4 wpuf-ml-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M19 9l-7 7-7-7"})})]}),y&&(0,n.jsxs)("ul",{className:"wpuf-absolute wpuf-z-10 wpuf-mt-1 wpuf-w-full wpuf-bg-white wpuf-border wpuf-border-gray-200 wpuf-rounded-[6px] wpuf-shadow-lg wpuf-max-h-60 wpuf-overflow-auto",role:"listbox",children:[d&&(0,n.jsx)("li",{className:"wpuf-sticky wpuf-top-0 wpuf-bg-white wpuf-border-b wpuf-border-gray-200 wpuf-p-2",children:(0,n.jsx)("input",{ref:S,type:"text",value:C,onChange:function(e){N(e.target.value)},onKeyDown:function(e){"Escape"===e.key?(g(!1),N("")):"Enter"===e.key&&F.length>0&&M(F[0])},placeholder:(0,r.__)("Search options...","wp-user-frontend"),className:"wpuf-w-full wpuf-px-3 wpuf-py-2 wpuf-text-sm wpuf-border wpuf-border-gray-300 wpuf-rounded-[4px] focus:wpuf-outline-none focus:wpuf-ring-2 focus:wpuf-ring-blue-500 focus:wpuf-border-transparent"})}),0===F.length&&(0,n.jsx)("li",{className:"wpuf-p-3 wpuf-text-gray-400 wpuf-text-sm !wpuf-mb-0",children:C.trim()?(0,r.__)("No matching options","wp-user-frontend"):(0,r.__)("No more options","wp-user-frontend")}),F.map(function(e){return(0,n.jsx)("li",{className:"wpuf-cursor-pointer wpuf-p-3 !wpuf-mb-0 hover:wpuf-bg-gray-100 wpuf-text-base wpuf-text-left",role:"option","aria-selected":!1,tabIndex:0,onClick:function(){return M(e)},onKeyDown:function(t){"Enter"!==t.key&&" "!==t.key||M(e)},children:(0,n.jsxs)("span",{className:"wpuf-flex wpuf-items-center",children:[O(e),L(e)]})},e)})]}),(0,n.jsx)("div",{className:"wpuf-flex wpuf-flex-wrap wpuf-gap-2 wpuf-mt-3",children:u.map(function(e,t){return(0,n.jsxs)("div",{className:"wpuf-group/item wpuf-flex wpuf-items-center wpuf-bg-gray-50 wpuf-border wpuf-border-gray-200 wpuf-rounded-[5px] wpuf-px-3 wpuf-py-1 wpuf-text-base wpuf-shadow-sm "+(l?"wpuf-cursor-move":"")+" wpuf-transition-colors wpuf-duration-150 hover:wpuf-border-emerald-600 hover:wpuf-bg-emerald-50 [&:hover_svg_path]:wpuf-fill-emerald-600",draggable:l,onDragStart:l?function(){return l&&j(t)}:void 0,onDragOver:l?function(e){e.preventDefault(),function(e){if(l&&null!==v&&v!==e){var t=p(u),r=w(t.splice(v,1),1)[0];t.splice(e,0,r),j(e),i(t)}}(t)}:void 0,onDragEnd:l?A:void 0,tabIndex:0,"aria-label":l?(0,r.__)("Drag to reorder","wp-user-frontend"):void 0,children:[(0,n.jsxs)("span",{className:"wpuf-text-gray-800 wpuf-flex wpuf-items-center",children:[O(e),L(e)]}),(0,n.jsx)("button",{type:"button",className:"wpuf-ml-1 wpuf-text-green-600 wpuf-text-xs hover:wpuf-bg-green-50 wpuf-opacity-0 group-hover/item:wpuf-opacity-100 wpuf-transition-opacity wpuf-duration-150 wpuf-w-4 wpuf-h-4 wpuf-flex wpuf-items-center wpuf-justify-center","aria-label":(0,r.__)("Remove","wp-user-frontend"),onClick:function(){return function(e){if("all"===e)i([]);else{var t=u.filter(function(t){return t!==e});i(t)}}(e)},children:"×"})]},e)})})]})};function h(e){return h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},h(e)}function y(){var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function u(r,n,o,u){var a=n&&n.prototype instanceof s?n:s,l=Object.create(a.prototype);return g(l,"_invoke",function(r,n,o){var u,s,a,l=0,f=o||[],p=!1,c={p:0,n:0,v:e,a:w,f:w.bind(e,4),d:function(t,r){return u=t,s=0,a=e,c.n=r,i}};function w(r,n){for(s=r,a=n,t=0;!p&&l&&!o&&t3?(o=d===n)&&(a=u[(s=u[4])?5:(s=3,3)],u[4]=u[5]=e):u[0]<=w&&((o=r<2&&wn||n>d)&&(u[4]=r,u[5]=n,c.n=d,s=0))}if(o||r>1)return i;throw p=!0,n}return function(o,f,d){if(l>1)throw TypeError("Generator is already running");for(p&&1===f&&w(f,d),s=f,a=d;(t=s<2?e:a)||!p;){u||(s?s<3?(s>1&&(c.n=-1),w(s,a)):c.n=a:c.v=a);try{if(l=2,u){if(s||(o="next"),t=u[o]){if(!(t=t.call(u,a)))throw TypeError("iterator result is not an object");if(!t.done)return t;a=t.value,s<2&&(s=0)}else 1===s&&(t=u.return)&&t.call(u),s<2&&(a=TypeError("The iterator does not provide a '"+o+"' method"),s=1);u=e}else if((t=(p=c.n<0)?a:r.call(n,c))!==i)break}catch(t){u=e,s=1,a=t}finally{l=1}}return{value:t,done:p}}}(r,o,u),!0),l}var i={};function s(){}function a(){}function l(){}t=Object.getPrototypeOf;var f=[][n]?t(t([][n]())):(g(t={},n,function(){return this}),t),p=l.prototype=s.prototype=Object.create(f);function c(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,l):(e.__proto__=l,g(e,o,"GeneratorFunction")),e.prototype=Object.create(p),e}return a.prototype=l,g(p,"constructor",l),g(l,"constructor",a),a.displayName="GeneratorFunction",g(l,o,"GeneratorFunction"),g(p),g(p,o,"Generator"),g(p,n,function(){return this}),g(p,"toString",function(){return"[object Generator]"}),(y=function(){return{w:u,m:c}})()}function g(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}g=function(e,t,r,n){function u(t,r){g(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(u("next",0),u("throw",1),u("return",2))},g(e,t,r,n)}function b(e,t,r,n,o,u,i){try{var s=e[u](i),a=s.value}catch(e){return void r(e)}s.done?t(a):Promise.resolve(a).then(n,o)}function v(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function j(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r=2&&(0,n.jsx)("div",{className:"wpuf-p-3 wpuf-text-gray-500 wpuf-text-sm",children:(0,r.__)("No users found","wp-user-frontend")}),!d&&p.length>0&&(0,n.jsx)("ul",{children:p.map(function(e){return A.some(function(t){return t.id===e.id})?null:(0,n.jsxs)("li",{className:"wpuf-cursor-pointer wpuf-p-3 hover:wpuf-bg-gray-50 wpuf-flex wpuf-items-center wpuf-gap-3",onClick:function(){return function(e){var t,r=[].concat(function(e){if(Array.isArray(e))return k(e)}(t=A)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||N(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[e]);u(function(e){return j(j({},e),{},{excluded_users:r})}),a(""),c([]),v(!1)}(e)},children:[e.avatar&&(0,n.jsx)("img",{src:e.avatar,alt:e.name,className:"wpuf-w-8 wpuf-h-8 wpuf-rounded-full"}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"wpuf-font-medium wpuf-text-gray-900",children:e.name}),(0,n.jsxs)("div",{className:"wpuf-text-sm wpuf-text-gray-500",children:["@",e.username]})]})]},e.id)})})]}),A.length>0&&(0,n.jsx)("div",{className:"wpuf-flex wpuf-flex-wrap wpuf-gap-2 wpuf-mt-3",children:A.map(function(e){return(0,n.jsxs)("div",{className:"wpuf-group/item wpuf-flex wpuf-items-center wpuf-bg-red-50 wpuf-border wpuf-border-red-200 wpuf-rounded-[5px] wpuf-px-3 wpuf-py-1 wpuf-text-base wpuf-text-red-700",children:[(0,n.jsxs)("span",{className:"wpuf-flex wpuf-items-center wpuf-gap-2",children:[e.avatar&&(0,n.jsx)("img",{src:e.avatar,alt:e.name,className:"wpuf-w-5 wpuf-h-5 wpuf-rounded-full"}),e.name]}),(0,n.jsx)("button",{type:"button",className:"wpuf-ml-2 wpuf-text-red-600 wpuf-text-lg hover:wpuf-text-red-800",onClick:function(){return t=e.id,r=A.filter(function(e){return e.id!==t}),void u(function(e){return j(j({},e),{},{excluded_users:r})});var t,r},children:"×"})]},e.id)})})]})]})]})};function L(e){return L="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},L(e)}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);re.length)&&(t=e.length);for(var r=0,n=Array(t);re.length)&&(t=e.length);for(var r=0,n=Array(t);r0&&t.forEach(function(e){n[e]&&(o.push(n[e]),delete n[e])}),Object.values(n).forEach(function(e){return o.push(e)}),o}),x=Z(m,2),h=x[0],y=x[1],g=Z((0,t.useState)(function(){return d(f.profile_tabs)}),1)[0],b=Z((0,t.useState)(null),2),v=b[0],j=b[1],_=Z((0,t.useState)(null),2),C=_[0],N=_[1],k=Z((0,t.useState)(null),2),S=k[0],L=k[1],O=Z((0,t.useState)(null),2),M=O[0],A=O[1],F=function(e){e.preventDefault(),j(null),N(null)},E=function(e){e.preventDefault(),e.dataTransfer.dropEffect="move"},D=function(e){e.target===e.currentTarget&&N(null)};return(0,n.jsxs)("div",{className:"wpuf-w-full wpuf-bg-white wpuf-max-w-3xl wpuf-mx-auto",children:[(0,n.jsx)("h2",{className:"wpuf-text-center",style:{fontWeight:400,fontSize:"20px",lineHeight:"36px",letterSpacing:"0%",textAlign:"center",color:"#000000"},children:(0,r.__)("Profile Content","wp-user-frontend")}),(0,n.jsx)("p",{className:"wpuf-text-center wpuf-mt-2 wpuf-mb-2",style:{fontWeight:400,fontSize:"14px",lineHeight:"20px",letterSpacing:"0%",textAlign:"center",color:"#64748B"},children:(0,r.__)("Customize user tab layout and content for an organized profile experience","wp-user-frontend")}),(0,n.jsxs)("div",{className:"wpuf-mt-8",children:[(0,n.jsx)("h3",{className:"wpuf-text-lg wpuf-font-normal wpuf-text-gray-900 wpuf-mb-2",children:(0,r.__)("Customize Profile Tabs","wp-user-frontend")}),(0,n.jsx)("p",{className:"wpuf-text-sm wpuf-text-gray-500 wpuf-mb-4",children:(0,r.__)("Easily manage your profile tabs. Drag to reorder, toggle visibility on the front end, and customize tab names using the edit icon","wp-user-frontend")}),(0,n.jsx)("div",{className:"wpuf-space-y-2",children:h.map(function(e,t){g.includes(e.key);var r,o=v===t,u=C===t,i=S===e.key;return(0,n.jsxs)("div",{className:"\n wpuf-flex wpuf-items-center wpuf-justify-between \n wpuf-bg-white wpuf-border wpuf-rounded-md \n wpuf-px-4 wpuf-py-4 wpuf-h-[52px] wpuf-w-full\n wpuf-transition-all wpuf-cursor-move\n ".concat(o?"wpuf-opacity-50 wpuf-scale-[0.98]":"","\n ").concat(u?"wpuf-border-emerald-500 wpuf-bg-emerald-50":"wpuf-border-gray-200","\n "),draggable:!0,onDragStart:function(e){return function(e,t){j(t),e.dataTransfer.effectAllowed="move"}(e,t)},onDragEnd:F,onDragOver:E,onDragEnter:function(e){return function(e,t){v!==t&&N(t)}(0,t)},onDragLeave:D,onDrop:function(e){return function(e,t){if(e.stopPropagation(),e.preventDefault(),null!==v&&v!==t){var r=function(e){if(Array.isArray(e))return U(e)}(u=h)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(u)||R(u)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),n=r[v];r.splice(v,1),r.splice(t,0,n),y(r);var o=r.map(function(e){return e.key});p(function(e){return z(z({},e),{},{profile_tabs_order:o})})}var u;j(null),N(null)}(e,t)},onMouseEnter:function(){return L(e.key)},onMouseLeave:function(){return L(null)},children:[(0,n.jsxs)("div",{className:"wpuf-flex wpuf-items-center wpuf-flex-1",children:[(0,n.jsx)("svg",{className:"wpuf-w-5 wpuf-h-5 wpuf-mr-4 wpuf-cursor-move",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,n.jsx)("path",{d:"M3.125 5.625H16.875M3.125 10H16.875M3.125 14.375H16.875",stroke:"#9CA3AF",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),(0,n.jsx)("span",{className:"wpuf-text-[15px] wpuf-text-gray-700 wpuf-font-medium wpuf-min-w-[120px]",children:e.label})]}),(0,n.jsxs)("div",{className:"wpuf-flex wpuf-items-center wpuf-gap-3 wpuf-relative",children:[i&&(0,n.jsx)("div",{className:"wpuf-absolute wpuf-z-10",style:{top:"-28px",left:"50%",transform:"translateX(-50%)"},children:(0,n.jsx)("img",{src:((null==c?void 0:c.asset_url)||(null===(r=window.wpuf_ud_free)||void 0===r?void 0:r.asset_url)||"")+"/images/pro-badge.svg",alt:"Pro",style:{width:"32px",height:"18px"}})}),(0,n.jsx)("svg",{className:"wpuf-w-[18px] wpuf-h-[18px] wpuf-cursor-not-allowed wpuf-opacity-50",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,n.jsx)("path",{d:"M15.8898 2.11019L16.4201 1.57986V1.57986L15.8898 2.11019ZM4.41667 16.5296V17.2796C4.61558 17.2796 4.80634 17.2005 4.947 17.0599L4.41667 16.5296ZM1.5 16.5296H0.75C0.75 16.9438 1.08579 17.2796 1.5 17.2796L1.5 16.5296ZM1.5 13.5537L0.96967 13.0233C0.829018 13.164 0.75 13.3548 0.75 13.5537H1.5ZM12.9435 2.11019L13.4738 2.64052C13.9945 2.11983 14.8387 2.11983 15.3594 2.64052L15.8898 2.11019L16.4201 1.57986C15.3136 0.473379 13.5196 0.473379 12.4132 1.57986L12.9435 2.11019ZM15.8898 2.11019L15.3594 2.64052C15.8801 3.16122 15.8801 4.00544 15.3594 4.52614L15.8898 5.05647L16.4201 5.5868C17.5266 4.48032 17.5266 2.68635 16.4201 1.57986L15.8898 2.11019ZM15.8898 5.05647L15.3594 4.52614L3.88634 15.9992L4.41667 16.5296L4.947 17.0599L16.4201 5.5868L15.8898 5.05647ZM4.41667 16.5296V15.7796H1.5V16.5296V17.2796H4.41667V16.5296ZM12.9435 2.11019L12.4132 1.57986L0.96967 13.0233L1.5 13.5537L2.03033 14.084L13.4738 2.64052L12.9435 2.11019ZM1.5 13.5537H0.75V16.5296H1.5H2.25V13.5537H1.5ZM11.6935 3.36019L11.1632 3.89052L14.1094 6.8368L14.6398 6.30647L15.1701 5.77614L12.2238 2.82986L11.6935 3.36019Z",fill:"#6B7280"})}),(0,n.jsx)("div",{className:"wpuf-relative wpuf-inline-block wpuf-transition-colors wpuf-cursor-not-allowed wpuf-opacity-50",style:{width:"36px",height:"16px",borderRadius:"8px",backgroundColor:"#059669"},children:(0,n.jsx)("span",{className:"wpuf-absolute wpuf-transition-all",style:{width:"20px",height:"20px",borderRadius:"50%",backgroundColor:"#FFFFFF",border:"1px solid #D1D5DB",boxShadow:"0px 1px 2px 0px #0000000F, 0px 1px 3px 0px #0000001A",top:"-2px",left:"16px"}})})]})]},e.key)})})]}),(0,n.jsxs)("div",{className:"wpuf-mt-8",children:[(0,n.jsx)("div",{className:"wpuf-flex wpuf-items-center wpuf-justify-between wpuf-mb-2",children:(0,n.jsx)("h1",{style:{fontWeight:400,fontSize:"18px",lineHeight:"28px",letterSpacing:"0%",color:"#000000"},children:(0,r.__)("Configure About Tab","wp-user-frontend")})}),(0,n.jsx)("p",{className:"wpuf-mb-6",style:{fontWeight:400,fontSize:"14px",lineHeight:"20px",letterSpacing:"0%",color:"#64748B"},children:(0,r.__)("Define content for About tab by selecting fields, post types, or files. Map custom meta—including WPUF fields—to showcase user data such as skills, achievements, media, and other key information.","wp-user-frontend")}),(0,n.jsxs)("div",{className:"wpuf-relative wpuf-inline-block",onMouseEnter:function(){return A("add-content")},onMouseLeave:function(){return A(null)},children:[(0,n.jsxs)("button",{type:"button",className:"wpuf-text-white wpuf-font-medium wpuf-transition-colors wpuf-flex wpuf-items-center wpuf-cursor-not-allowed ".concat("add-content"===M?"wpuf-opacity-80":"wpuf-opacity-60"),style:{width:"162px",height:"42px",borderRadius:"6px",paddingTop:"9px",paddingRight:"17px",paddingBottom:"9px",paddingLeft:"15px",backgroundColor:"#059669",gap:"12px",border:"add-content"===M?"2px dashed #059669":"none"},disabled:!0,children:[(0,n.jsx)("svg",{className:"wpuf-w-4 wpuf-h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M12 4v16m8-8H4"})}),(0,n.jsx)("span",{style:{fontWeight:500,fontSize:"16px",lineHeight:"24px",letterSpacing:"0%",color:"#FFFFFF"},children:(0,r.__)("Add Content","wp-user-frontend")})]}),"add-content"===M&&(0,n.jsx)("div",{className:"wpuf-absolute",style:{top:"-24px",left:"50%",transform:"translateX(-50%)"},children:(0,n.jsx)("img",{src:((null==c?void 0:c.asset_url)||(null===(o=window.wpuf_ud_free)||void 0===o?void 0:o.asset_url)||"")+"/images/pro-badge.svg",alt:"Pro",style:{width:"32px",height:"18px"}})})]}),(0,n.jsx)("div",{className:"wpuf-mt-4 wpuf-p-4 wpuf-bg-white wpuf-border wpuf-border-gray-200 wpuf-rounded-lg",style:{width:"590px"},children:(0,n.jsxs)("div",{className:"wpuf-flex wpuf-gap-2 wpuf-items-center wpuf-justify-center",children:[(0,n.jsxs)("div",{className:"wpuf-relative",onMouseEnter:function(){return A("meta-field")},onMouseLeave:function(){return A(null)},children:["meta-field"===M&&(0,n.jsx)("div",{className:"wpuf-absolute wpuf-z-10",style:{top:"-24px",left:"50%",transform:"translateX(-50%)"},children:(0,n.jsx)("img",{src:((null==c?void 0:c.asset_url)||(null===(u=window.wpuf_ud_free)||void 0===u?void 0:u.asset_url)||"")+"/images/pro-badge.svg",alt:"Pro",style:{width:"32px",height:"18px"}})}),(0,n.jsxs)("button",{type:"button",className:"wpuf-flex wpuf-flex-col wpuf-items-center wpuf-justify-center wpuf-rounded-lg wpuf-text-sm wpuf-font-medium wpuf-w-[102px] wpuf-h-[68px] wpuf-gap-1 wpuf-p-3 wpuf-bg-gray-50 wpuf-text-gray-400 wpuf-cursor-not-allowed ".concat("meta-field"===M?"wpuf-opacity-80":"wpuf-opacity-60"),style:{border:"meta-field"===M?"2px dashed #9CA3AF":"1px solid #E5E7EB"},disabled:!0,children:[(0,n.jsx)("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,n.jsx)("path",{d:"M11.25 14.0625H14.0625M14.0625 14.0625H16.875M14.0625 14.0625V11.25M14.0625 14.0625V16.875M5 8.75H6.875C7.91053 8.75 8.75 7.91053 8.75 6.875V5C8.75 3.96447 7.91053 3.125 6.875 3.125H5C3.96447 3.125 3.125 3.96447 3.125 5V6.875C3.125 7.91053 3.96447 8.75 5 8.75ZM5 16.875H6.875C7.91053 16.875 8.75 16.0355 8.75 15V13.125C8.75 12.0895 7.91053 11.25 6.875 11.25H5C3.96447 11.25 3.125 12.0895 3.125 13.125V15C3.125 16.0355 3.96447 16.875 5 16.875ZM13.125 8.75H15C16.0355 8.75 16.875 7.91053 16.875 6.875V5C16.875 3.96447 16.0355 3.125 15 3.125H13.125C12.0895 3.125 11.25 3.96447 11.25 5V6.875C11.25 7.91053 12.0895 8.75 13.125 8.75Z",stroke:"#9CA3AF",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),(0,n.jsx)("span",{className:"wpuf-text-sm wpuf-font-normal wpuf-leading-5 wpuf-text-gray-400",children:(0,r.__)("Meta Field","wp-user-frontend")})]})]}),(0,n.jsxs)("div",{className:"wpuf-relative",onMouseEnter:function(){return A("section")},onMouseLeave:function(){return A(null)},children:["section"===M&&(0,n.jsx)("div",{className:"wpuf-absolute wpuf-z-10",style:{top:"-24px",left:"50%",transform:"translateX(-50%)"},children:(0,n.jsx)("img",{src:((null==c?void 0:c.asset_url)||(null===(i=window.wpuf_ud_free)||void 0===i?void 0:i.asset_url)||"")+"/images/pro-badge.svg",alt:"Pro",style:{width:"32px",height:"18px"}})}),(0,n.jsxs)("button",{type:"button",className:"wpuf-flex wpuf-flex-col wpuf-items-center wpuf-justify-center wpuf-rounded-lg wpuf-text-sm wpuf-font-medium wpuf-w-[102px] wpuf-h-[68px] wpuf-gap-1 wpuf-p-3 wpuf-bg-gray-50 wpuf-text-gray-400 wpuf-cursor-not-allowed ".concat("section"===M?"wpuf-opacity-80":"wpuf-opacity-60"),style:{border:"section"===M?"2px dashed #9CA3AF":"1px solid #E5E7EB"},disabled:!0,children:[(0,n.jsx)("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,n.jsx)("path",{d:"M3.125 10H16.875M3.125 13.125H16.875M3.125 16.25H16.875M4.6875 3.75H15.3125C16.1754 3.75 16.875 4.44956 16.875 5.3125C16.875 6.17544 16.1754 6.875 15.3125 6.875H4.6875C3.82456 6.875 3.125 6.17544 3.125 5.3125C3.125 4.44956 3.82456 3.75 4.6875 3.75Z",stroke:"#9CA3AF",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),(0,n.jsx)("span",{className:"wpuf-text-sm wpuf-font-normal wpuf-leading-5 wpuf-text-gray-400",children:(0,r.__)("Section","wp-user-frontend")})]})]}),(0,n.jsxs)("div",{className:"wpuf-relative",onMouseEnter:function(){return A("post-type")},onMouseLeave:function(){return A(null)},children:["post-type"===M&&(0,n.jsx)("div",{className:"wpuf-absolute wpuf-z-10",style:{top:"-24px",left:"50%",transform:"translateX(-50%)"},children:(0,n.jsx)("img",{src:((null==c?void 0:c.asset_url)||(null===(s=window.wpuf_ud_free)||void 0===s?void 0:s.asset_url)||"")+"/images/pro-badge.svg",alt:"Pro",style:{width:"32px",height:"18px"}})}),(0,n.jsxs)("button",{type:"button",className:"wpuf-flex wpuf-flex-col wpuf-items-center wpuf-justify-center wpuf-rounded-lg wpuf-text-sm wpuf-font-medium wpuf-w-[102px] wpuf-h-[68px] wpuf-gap-1 wpuf-p-3 wpuf-bg-gray-50 wpuf-text-gray-400 wpuf-cursor-not-allowed ".concat("post-type"===M?"wpuf-opacity-80":"wpuf-opacity-60"),style:{border:"post-type"===M?"2px dashed #9CA3AF":"1px solid #E5E7EB"},disabled:!0,children:[(0,n.jsx)("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,n.jsx)("path",{d:"M15.8333 16.6666H4.16667C3.24619 16.6666 2.5 15.9204 2.5 14.9999L2.5 4.99992C2.5 4.07944 3.24619 3.33325 4.16667 3.33325L12.5 3.33325C13.4205 3.33325 14.1667 4.07944 14.1667 4.99992V5.83325M15.8333 16.6666C14.9129 16.6666 14.1667 15.9204 14.1667 14.9999L14.1667 5.83325M15.8333 16.6666C16.7538 16.6666 17.5 15.9204 17.5 14.9999V7.49992C17.5 6.57944 16.7538 5.83325 15.8333 5.83325L14.1667 5.83325M10.8333 3.33325L7.5 3.33325M5.83333 13.3333H10.8333M5.83333 6.66659H10.8333V9.99992H5.83333V6.66659Z",stroke:"#9CA3AF",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),(0,n.jsx)("span",{className:"wpuf-text-sm wpuf-font-normal wpuf-leading-5 wpuf-text-gray-400",children:(0,r.__)("Post Type","wp-user-frontend")})]})]}),(0,n.jsxs)("div",{className:"wpuf-relative",onMouseEnter:function(){return A("comment")},onMouseLeave:function(){return A(null)},children:["comment"===M&&(0,n.jsx)("div",{className:"wpuf-absolute wpuf-z-10",style:{top:"-24px",left:"50%",transform:"translateX(-50%)"},children:(0,n.jsx)("img",{src:((null==c?void 0:c.asset_url)||(null===(a=window.wpuf_ud_free)||void 0===a?void 0:a.asset_url)||"")+"/images/pro-badge.svg",alt:"Pro",style:{width:"32px",height:"18px"}})}),(0,n.jsxs)("button",{type:"button",className:"wpuf-flex wpuf-flex-col wpuf-items-center wpuf-justify-center wpuf-rounded-lg wpuf-text-sm wpuf-font-medium wpuf-w-[102px] wpuf-h-[68px] wpuf-gap-1 wpuf-p-3 wpuf-bg-gray-50 wpuf-text-gray-400 wpuf-cursor-not-allowed ".concat("comment"===M?"wpuf-opacity-80":"wpuf-opacity-60"),style:{border:"comment"===M?"2px dashed #9CA3AF":"1px solid #E5E7EB"},disabled:!0,children:[(0,n.jsx)("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,n.jsx)("path",{d:"M7.1875 10C7.1875 10.1726 7.04759 10.3125 6.875 10.3125C6.70241 10.3125 6.5625 10.1726 6.5625 10C6.5625 9.82741 6.70241 9.6875 6.875 9.6875C7.04759 9.6875 7.1875 9.82741 7.1875 10ZM7.1875 10H6.875M10.3125 10C10.3125 10.1726 10.1726 10.3125 10 10.3125C9.82741 10.3125 9.6875 10.1726 9.6875 10C9.6875 9.82741 9.82741 9.6875 10 9.6875C10.1726 9.6875 10.3125 9.82741 10.3125 10ZM10.3125 10H10M13.4375 10C13.4375 10.1726 13.2976 10.3125 13.125 10.3125C12.9524 10.3125 12.8125 10.1726 12.8125 10C12.8125 9.82741 12.9524 9.6875 13.125 9.6875C13.2976 9.6875 13.4375 9.82741 13.4375 10ZM13.4375 10H13.125M17.5 10C17.5 13.797 14.1421 16.875 10 16.875C9.26044 16.875 8.54588 16.7769 7.87098 16.5941C7.05847 17.1649 6.06834 17.5 5 17.5C4.83398 17.5 4.6698 17.4919 4.50806 17.4761C4.375 17.4631 4.24316 17.4449 4.11316 17.4216C4.5161 16.9461 4.80231 16.3689 4.92824 15.734C5.00378 15.3531 4.81725 14.9832 4.53903 14.7124C3.27475 13.4818 2.5 11.8238 2.5 10C2.5 6.20304 5.85786 3.125 10 3.125C14.1421 3.125 17.5 6.20304 17.5 10Z",stroke:"#9CA3AF",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),(0,n.jsx)("span",{className:"wpuf-text-sm wpuf-font-normal wpuf-leading-5 wpuf-text-gray-400",children:(0,r.__)("Comment","wp-user-frontend")})]})]}),(0,n.jsxs)("div",{className:"wpuf-relative",onMouseEnter:function(){return A("image-file")},onMouseLeave:function(){return A(null)},children:["image-file"===M&&(0,n.jsx)("div",{className:"wpuf-absolute wpuf-z-10",style:{top:"-24px",left:"50%",transform:"translateX(-50%)"},children:(0,n.jsx)("img",{src:((null==c?void 0:c.asset_url)||(null===(l=window.wpuf_ud_free)||void 0===l?void 0:l.asset_url)||"")+"/images/pro-badge.svg",alt:"Pro",style:{width:"32px",height:"18px"}})}),(0,n.jsxs)("button",{type:"button",className:"wpuf-flex wpuf-flex-col wpuf-items-center wpuf-justify-center wpuf-rounded-lg wpuf-text-sm wpuf-font-medium wpuf-w-[102px] wpuf-h-[68px] wpuf-gap-1 wpuf-p-3 wpuf-bg-gray-50 wpuf-text-gray-400 wpuf-cursor-not-allowed ".concat("image-file"===M?"wpuf-opacity-80":"wpuf-opacity-60"),style:{border:"image-file"===M?"2px dashed #9CA3AF":"1px solid #E5E7EB"},disabled:!0,children:[(0,n.jsx)("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,n.jsx)("path",{d:"M11.6668 3.33341H5.00016C4.55814 3.33341 4.13421 3.50901 3.82165 3.82157C3.50909 4.13413 3.3335 4.55805 3.3335 5.00008V13.3334M3.3335 13.3334V15.0001C3.3335 15.4421 3.50909 15.866 3.82165 16.1786C4.13421 16.4912 4.55814 16.6667 5.00016 16.6667H15.0002C15.4422 16.6667 15.8661 16.4912 16.1787 16.1786C16.4912 15.866 16.6668 15.4421 16.6668 15.0001V11.6667M3.3335 13.3334L7.15516 9.51175C7.46771 9.1993 7.89156 9.02377 8.3335 9.02377C8.77544 9.02377 9.19928 9.1993 9.51183 9.51175L11.6668 11.6667M16.6668 8.33341V11.6667M16.6668 11.6667L15.3452 10.3451C15.0326 10.0326 14.6088 9.8571 14.1668 9.8571C13.7249 9.8571 13.301 10.0326 12.9885 10.3451L11.6668 11.6667M11.6668 11.6667L13.3335 13.3334M15.0002 3.33341H18.3335M16.6668 1.66675V5.00008M11.6668 6.66675H11.6752",stroke:"#9CA3AF",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),(0,n.jsx)("span",{className:"wpuf-text-sm wpuf-font-normal wpuf-leading-5 wpuf-text-gray-400",children:(0,r.__)("Image/File","wp-user-frontend")})]})]})]})})]})]})};function $(e){return $="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},$(e)}function q(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function J(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r3?(o=d===n)&&(a=u[(s=u[4])?5:(s=3,3)],u[4]=u[5]=e):u[0]<=w&&((o=r<2&&wn||n>d)&&(u[4]=r,u[5]=n,c.n=d,s=0))}if(o||r>1)return i;throw p=!0,n}return function(o,f,d){if(l>1)throw TypeError("Generator is already running");for(p&&1===f&&w(f,d),s=f,a=d;(t=s<2?e:a)||!p;){u||(s?s<3?(s>1&&(c.n=-1),w(s,a)):c.n=a:c.v=a);try{if(l=2,u){if(s||(o="next"),t=u[o]){if(!(t=t.call(u,a)))throw TypeError("iterator result is not an object");if(!t.done)return t;a=t.value,s<2&&(s=0)}else 1===s&&(t=u.return)&&t.call(u),s<2&&(a=TypeError("The iterator does not provide a '"+o+"' method"),s=1);u=e}else if((t=(p=c.n<0)?a:r.call(n,c))!==i)break}catch(t){u=e,s=1,a=t}finally{l=1}}return{value:t,done:p}}}(r,o,u),!0),l}var i={};function s(){}function a(){}function l(){}t=Object.getPrototypeOf;var f=[][n]?t(t([][n]())):(ne(t={},n,function(){return this}),t),p=l.prototype=s.prototype=Object.create(f);function c(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,l):(e.__proto__=l,ne(e,o,"GeneratorFunction")),e.prototype=Object.create(p),e}return a.prototype=l,ne(p,"constructor",l),ne(l,"constructor",a),a.displayName="GeneratorFunction",ne(l,o,"GeneratorFunction"),ne(p),ne(p,o,"Generator"),ne(p,n,function(){return this}),ne(p,"toString",function(){return"[object Generator]"}),(re=function(){return{w:u,m:c}})()}function ne(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}ne=function(e,t,r,n){function u(t,r){ne(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(u("next",0),u("throw",1),u("return",2))},ne(e,t,r,n)}function oe(e,t,r,n,o,u,i){try{var s=e[u](i),a=s.value}catch(e){return void r(e)}s.done?t(a):Promise.resolve(a).then(n,o)}function ue(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var u=e.apply(t,r);function i(e){oe(u,n,o,i,s,"next",e)}function s(e){oe(u,n,o,i,s,"throw",e)}i(void 0)})}}function ie(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function se(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r0&&(k(!1),setTimeout(function(){L.current=j,_(j-1),k(!0)},200))},className:"wpuf-px-4 wpuf-py-2 wpuf-text-gray-700 wpuf-bg-white wpuf-border wpuf-border-gray-300 wpuf-rounded-md hover:wpuf-bg-gray-50 wpuf-transition-colors wpuf-flex wpuf-items-center",children:[(0,n.jsx)("svg",{className:"wpuf-w-4 wpuf-h-4 wpuf-mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})}),(0,r.__)("Previous","wp-user-frontend")]})}),(0,n.jsx)("div",{children:(0,n.jsxs)("button",{onClick:function(){j===b.length-1?O():(k(!1),setTimeout(function(){L.current=j,_(j+1),k(!0)},200))},disabled:c,className:"wpuf-px-6 wpuf-py-2 wpuf-text-white wpuf-bg-emerald-600 wpuf-rounded-md hover:wpuf-bg-emerald-700 wpuf-transition-colors wpuf-flex wpuf-items-center disabled:wpuf-opacity-50 disabled:wpuf-cursor-not-allowed",children:[c&&A&&(0,n.jsx)("span",{className:"wpuf-animate-spin wpuf-mr-2 wpuf-inline-block wpuf-w-4 wpuf-h-4 wpuf-border-2 wpuf-border-white wpuf-border-t-transparent wpuf-rounded-full"}),A?c?(0,r.__)("Saving...","wp-user-frontend"):(0,r.__)("Save Changes","wp-user-frontend"):(0,r.__)("Next","wp-user-frontend"),!c&&!A&&(0,n.jsx)("svg",{className:"wpuf-w-4 wpuf-h-4 wpuf-ml-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]})})]})})}),y&&(0,n.jsx)(ee,{message:y.text,type:y.type,onClose:function(){return g(null)}})]})},we=function(e){var t=e.isOpen,o=e.onCancel,u=e.onConfirm;return t?(0,n.jsx)("div",{className:"wpuf-fixed wpuf-inset-0 wpuf-z-50 wpuf-flex wpuf-items-center wpuf-justify-center wpuf-bg-black wpuf-bg-opacity-30",children:(0,n.jsxs)("div",{className:"wpuf-bg-white wpuf-rounded-lg wpuf-w-[660px] wpuf-h-[440px] wpuf-pt-14 wpuf-px-20 wpuf-pb-14 wpuf-text-center wpuf-flex wpuf-flex-col wpuf-justify-between wpuf-relative",children:[(0,n.jsx)("button",{onClick:o,className:"wpuf-absolute wpuf-top-6 wpuf-right-6 wpuf-p-2 hover:wpuf-bg-gray-100 wpuf-rounded-full wpuf-transition-colors",children:(0,n.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,n.jsx)("path",{d:"M1 13L13 1M1 1L13 13",stroke:"#6B7280",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,n.jsxs)("div",{className:"wpuf-flex wpuf-flex-col wpuf-items-center",children:[(0,n.jsxs)("svg",{width:"110",height:"110",viewBox:"0 0 110 110",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,n.jsx)("rect",{x:"0.398438",width:"109.2",height:"110",rx:"54.6002",fill:"#FEE2E2"}),(0,n.jsx)("path",{d:"M60.8792 49L60.1869 67M50.61 67L49.9177 49M69.8537 42.5811C70.5377 42.6844 71.2193 42.7949 71.8984 42.9126M69.8537 42.5811L67.718 70.3451C67.5377 72.6896 65.5827 74.5 63.2313 74.5H47.5656C45.2142 74.5 43.2592 72.6896 43.0788 70.3451L40.9431 42.5811M69.8537 42.5811C67.5609 42.2349 65.2414 41.9697 62.8984 41.7886M38.8984 42.9126C39.5776 42.7949 40.2592 42.6844 40.9431 42.5811M40.9431 42.5811C43.236 42.2349 45.5554 41.9697 47.8984 41.7886M62.8984 41.7886V39.9564C62.8984 37.5976 61.0771 35.6285 58.7196 35.553C57.6169 35.5178 56.5097 35.5 55.3984 35.5C54.2871 35.5 53.18 35.5178 52.0773 35.553C49.7197 35.6285 47.8984 37.5976 47.8984 39.9564V41.7886M62.8984 41.7886C60.4236 41.5974 57.9224 41.5 55.3984 41.5C52.8745 41.5 50.3733 41.5974 47.8984 41.7886",stroke:"#EF4444",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),(0,n.jsx)("h1",{className:"wpuf-text-[30px] wpuf-font-extrabold wpuf-leading-[36px] wpuf-text-center wpuf-text-gray-600 wpuf-mt-8 wpuf-m-0",children:(0,r.__)("Delete Confirmation","wp-user-frontend")}),(0,n.jsx)("p",{className:"wpuf-text-[20px] wpuf-font-medium wpuf-leading-[28px] wpuf-text-center wpuf-text-gray-500 wpuf-mt-3 wpuf-m-0",children:(0,r.__)("Are you sure you want to delete this? This action cannot be undone.","wp-user-frontend")})]}),(0,n.jsxs)("div",{className:"wpuf-flex wpuf-justify-center wpuf-gap-6 wpuf-mt-8",children:[(0,n.jsx)("button",{onClick:o,className:"wpuf-w-[101px] wpuf-h-[50px] wpuf-rounded-md wpuf-border wpuf-border-gray-300 wpuf-bg-white wpuf-text-gray-700 wpuf-font-medium hover:wpuf-bg-gray-50 wpuf-pt-[13px] wpuf-pb-[13px] wpuf-pl-[25px] wpuf-pr-[23px] wpuf-text-[16px] wpuf-leading-[24px]",children:"Cancel"}),(0,n.jsx)("button",{onClick:u,className:"wpuf-w-[151px] wpuf-h-[50px] wpuf-rounded-md wpuf-bg-[#EF4444] wpuf-text-white wpuf-font-medium wpuf-shadow-sm hover:wpuf-bg-red-600 wpuf-pt-[13px] wpuf-pb-[13px] wpuf-pl-[25px] wpuf-pr-[25px] wpuf-text-[16px] wpuf-leading-[24px]",style:{boxShadow:"0px 1px 2px 0px rgba(0, 0, 0, 0.05)"},children:"Delete"})]})]})}):null};function de(){var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function u(r,n,o,u){var a=n&&n.prototype instanceof s?n:s,l=Object.create(a.prototype);return me(l,"_invoke",function(r,n,o){var u,s,a,l=0,f=o||[],p=!1,c={p:0,n:0,v:e,a:w,f:w.bind(e,4),d:function(t,r){return u=t,s=0,a=e,c.n=r,i}};function w(r,n){for(s=r,a=n,t=0;!p&&l&&!o&&t3?(o=d===n)&&(a=u[(s=u[4])?5:(s=3,3)],u[4]=u[5]=e):u[0]<=w&&((o=r<2&&wn||n>d)&&(u[4]=r,u[5]=n,c.n=d,s=0))}if(o||r>1)return i;throw p=!0,n}return function(o,f,d){if(l>1)throw TypeError("Generator is already running");for(p&&1===f&&w(f,d),s=f,a=d;(t=s<2?e:a)||!p;){u||(s?s<3?(s>1&&(c.n=-1),w(s,a)):c.n=a:c.v=a);try{if(l=2,u){if(s||(o="next"),t=u[o]){if(!(t=t.call(u,a)))throw TypeError("iterator result is not an object");if(!t.done)return t;a=t.value,s<2&&(s=0)}else 1===s&&(t=u.return)&&t.call(u),s<2&&(a=TypeError("The iterator does not provide a '"+o+"' method"),s=1);u=e}else if((t=(p=c.n<0)?a:r.call(n,c))!==i)break}catch(t){u=e,s=1,a=t}finally{l=1}}return{value:t,done:p}}}(r,o,u),!0),l}var i={};function s(){}function a(){}function l(){}t=Object.getPrototypeOf;var f=[][n]?t(t([][n]())):(me(t={},n,function(){return this}),t),p=l.prototype=s.prototype=Object.create(f);function c(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,l):(e.__proto__=l,me(e,o,"GeneratorFunction")),e.prototype=Object.create(p),e}return a.prototype=l,me(p,"constructor",l),me(l,"constructor",a),a.displayName="GeneratorFunction",me(l,o,"GeneratorFunction"),me(p),me(p,o,"Generator"),me(p,n,function(){return this}),me(p,"toString",function(){return"[object Generator]"}),(de=function(){return{w:u,m:c}})()}function me(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}me=function(e,t,r,n){function u(t,r){me(e,t,function(e){return this._invoke(t,r,e)})}t?o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(u("next",0),u("throw",1),u("return",2))},me(e,t,r,n)}function xe(e,t,r,n,o,u,i){try{var s=e[u](i),a=s.value}catch(e){return void r(e)}s.done?t(a):Promise.resolve(a).then(n,o)}function he(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var u=e.apply(t,r);function i(e){xe(u,n,o,i,s,"next",e)}function s(e){xe(u,n,o,i,s,"throw",e)}i(void 0)})}}function ye(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,u,i,s=[],a=!0,l=!1;try{if(u=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;a=!1}else for(;!(a=(n=u.call(r)).done)&&(s.push(n.value),s.length!==t);a=!0);}catch(e){l=!0,o=e}finally{try{if(!a&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(l)throw o}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ge(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ge(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ge(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r0&&void 0!==s[0]?s[0]:1,y(!0),e.p=1,r=A.rest_url||"/wp-json/",n="".concat(r,"wpuf/v1/user_directory?page=").concat(t,"&per_page=").concat(10),e.n=2,fetch(n,{headers:{"X-WP-Nonce":A.rest_nonce||""}});case 2:return o=e.v,e.n=3,o.json();case 3:(u=e.v)&&u.success&&Array.isArray(u.result)?(c(u.result),u.pagination&&u.pagination.total_pages?C(u.pagination.total_pages):C(1)):(c([]),C(1)),e.n=5;break;case 4:e.p=4,i=e.v,console.error("Error fetching directories:",i),c([]),C(1);case 5:y(!1);case 6:return e.a(2)}},e,null,[[1,4]])}));return function(){return e.apply(this,arguments)}}(),E=function(){m(null),l("wizard")},D=function(){var e=he(de().m(function e(){var t,r,n;return de().w(function(e){for(;;)switch(e.p=e.n){case 0:if(k.dir){e.n=1;break}return e.a(2);case 1:return M(k.dir.ID),e.p=2,t=A.rest_url||"/wp-json/",e.n=3,fetch("".concat(t,"wpuf/v1/user_directory/").concat(k.dir.ID),{method:"DELETE",headers:{"X-WP-Nonce":A.rest_nonce||""}});case 3:if((r=e.v).ok){e.n=4;break}return alert("Server error: "+r.status),M(null),S({open:!1,dir:null}),e.a(2);case 4:return e.n=5,r.json();case 5:(n=e.v)&&n.success?F(b):alert(n&&n.message?n.message:"Failed to delete"),e.n=7;break;case 6:e.p=6,e.v,alert("Failed to delete");case 7:M(null),S({open:!1,dir:null});case 8:return e.a(2)}},e,null,[[2,6]])}));return function(){return e.apply(this,arguments)}}();if("wizard"===s)return(0,n.jsx)(ce,{onClose:function(){l("list"),m(null),F(b)},initialData:d,config:A});var P=p.length>=(A.free_directory_limit||1);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o,{}),(0,n.jsxs)("div",{className:"wpuf-w-[calc(100%+40px)] wpuf-ml-[-20px] wpuf-px-[20px] wpuf-my-10",children:[(0,n.jsxs)("div",{className:"wpuf-mb-8",children:[(0,n.jsx)("h1",{className:"wpuf-text-2xl wpuf-font-bold wpuf-m-0 wpuf-mb-6",children:(0,r.__)("User Directories","wp-user-frontend")}),(0,n.jsxs)("div",{className:"wpuf-flex wpuf-justify-between wpuf-items-center",children:[(0,n.jsx)("div",{}),(0,n.jsxs)("button",{className:"wpuf-btn-primary wpuf-flex disabled:wpuf-opacity-50 disabled:wpuf-cursor-not-allowed",onClick:E,disabled:P,children:[(0,n.jsx)("span",{className:"dashicons dashicons-plus-alt2"})," ",(0,r.__)("New Directory","wp-user-frontend")]})]}),P&&(0,n.jsxs)("div",{className:"wpuf-flex wpuf-items-start wpuf-gap-3 wpuf-p-4 wpuf-bg-amber-50 wpuf-border wpuf-border-amber-200 wpuf-rounded-lg wpuf-mt-6",children:[(0,n.jsx)("svg",{className:"wpuf-w-5 wpuf-h-5 wpuf-text-amber-600 wpuf-flex-shrink-0 wpuf-mt-0.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})}),(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"wpuf-font-semibold wpuf-text-amber-800 wpuf-m-0",children:(null===(e=A.i18n)||void 0===e?void 0:e.directory_limit)||(0,r.__)("You can only create 1 directory in the free version.","wp-user-frontend")}),(0,n.jsxs)("p",{className:"wpuf-text-amber-700 wpuf-mt-1 wpuf-m-0",children:[(0,n.jsx)("a",{href:A.upgrade_url||"https://wedevs.com/wp-user-frontend-pro/pricing/",target:"_blank",rel:"noopener noreferrer",className:"wpuf-text-indigo-600 wpuf-font-medium hover:wpuf-underline",children:(null===(u=A.i18n)||void 0===u?void 0:u.upgrade_to_pro)||(0,r.__)("Upgrade to Pro","wp-user-frontend")})," ",(0,r.__)("to create unlimited directories.","wp-user-frontend")]})]})]})]}),h?null:0===p.length?(0,n.jsx)(be,{onCreate:E,config:A}):(0,n.jsx)(a,{className:"wpuf-animate-fadein",directories:p,currentPage:b,totalPages:_,onPageChange:function(e){e<1||e>_||v(e)},fetchDirectories:F,onRequestDelete:function(e){S({open:!0,dir:e})},deletingId:O,onEdit:function(e){m(e),l("wizard")},config:A})]}),(0,n.jsx)(we,{isOpen:k.open,onCancel:function(){return S({open:!1,dir:null})},onConfirm:D})]})};document.addEventListener("DOMContentLoaded",function(){var t=document.getElementById("wpuf-ud-free-app");t&&(0,e.createRoot)(t).render((0,n.jsx)(ve,{}))})})(); +//# sourceMappingURL=wpuf-user-directory-free.js.map \ No newline at end of file diff --git a/assets/js/wpuf-user-directory-free.js.LICENSE.txt b/assets/js/wpuf-user-directory-free.js.LICENSE.txt new file mode 100644 index 000000000..775d3936b --- /dev/null +++ b/assets/js/wpuf-user-directory-free.js.LICENSE.txt @@ -0,0 +1 @@ +/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ diff --git a/assets/js/wpuf-user-directory-free.js.map b/assets/js/wpuf-user-directory-free.js.map new file mode 100644 index 000000000..24d62ad6e --- /dev/null +++ b/assets/js/wpuf-user-directory-free.js.map @@ -0,0 +1 @@ +{"version":3,"file":"wpuf-user-directory-free.js","mappings":";mBAAA,MAAM,EAA+BA,OAAW,GAAW,QCArD,EAA+BA,OAAc,MCA7C,EAA+BA,OAAW,GAAQ,KCAlD,EAA+BA,OAAwB,gBCgE7D,EA9Ce,SAAHC,GAAgC,IAAAC,EAAAD,EAA1BE,IAAAA,OAAG,IAAAD,EAAG,cAAaA,EAE3BE,EAAOJ,OAAOK,mBAAqB,CAAC,EACpCC,GAAWF,EAAKG,WAAa,IAAM,+BACnCC,GAAcJ,EAAKI,YAAc,oDAAsD,eAAiBL,EAAM,0BAC9GM,EAAUL,EAAKK,SAAW,GAEhC,OACIC,EAAAA,EAAAA,MAAA,OAAKC,UAAU,wKAAuKC,SAAA,EAClLF,EAAAA,EAAAA,MAAA,OAAKC,UAAU,iDAAgDC,SAAA,EAC3DC,EAAAA,EAAAA,KAAA,OAAKC,IAAKR,EAASS,IAAI,YAAYJ,UAAU,yBAC7CE,EAAAA,EAAAA,KAAA,MAAIF,UAAU,uDAAsDC,UAAEI,EAAAA,EAAAA,IAAG,mBAAoB,sBAC5FP,IACGC,EAAAA,EAAAA,MAAA,QAAMC,UAAU,yMAAwMC,SAAA,CAAC,IACnNH,SAIdC,EAAAA,EAAAA,MAAA,OAAKC,UAAU,0DAAyDC,SAAA,EAEpEF,EAAAA,EAAAA,MAAA,KACIC,UAAU,4NACVM,OAAO,SACPC,IAAI,sBACJC,KAAK,8BAA6BP,SAAA,CACrC,OACOI,EAAAA,EAAAA,IAAG,eAAgB,wBAI3BN,EAAAA,EAAAA,MAAA,KACIS,KAAMX,EACNS,OAAO,SACPC,IAAI,sBACJP,UAAU,uTAAsTC,SAAA,EAEhUC,EAAAA,EAAAA,KAAA,OAAKF,UAAU,oBAAoBS,KAAK,OAAOC,OAAO,eAAeC,QAAQ,YAAWV,UACpFC,EAAAA,EAAAA,KAAA,QAAMU,cAAc,QAAQC,eAAe,QAAQC,YAAa,EAAGC,EAAE,iCAExEV,EAAAA,EAAAA,IAAG,iBAAkB,4BAK1C,E,ggCClDA,IAAMW,EAAW,SAAHC,GAAA,IAAAC,EAAAC,EAAAC,EAAAC,EAAAJ,EAAMjB,UAAAA,OAAS,IAAAqB,EAAG,GAAEA,EAAA,OAC9BnB,EAAAA,EAAAA,KAAA,OACIC,MAAyB,QAAnBe,EAAA7B,OAAOiC,oBAAY,IAAAJ,OAAA,EAAnBA,EAAqBtB,aAA2B,QAAlBuB,EAAI9B,OAAOkC,eAAO,IAAAJ,OAAA,EAAdA,EAAgBvB,aAAqC,QAA5BwB,EAAI/B,OAAOK,yBAAiB,IAAA0B,OAAA,EAAxBA,EAA0BxB,YAAa,IAAM,wBAClHQ,IAAI,MACJJ,UAAWA,EACXwB,MAAO,CAAEC,MAAO,OAAQC,OAAQ,OAAQC,QAAS,eAAgBC,cAAe,WAClF,EA6NN,QA1NsB,SAAHtC,GAAmJ,IAA7IuC,EAAWvC,EAAXuC,YAAaC,EAAWxC,EAAXwC,YAAaC,EAAUzC,EAAVyC,WAAYC,EAAY1C,EAAZ0C,aAA8BC,GAAA3C,EAAhB4C,iBAAgB5C,EAAEU,WAAAA,OAAS,IAAAiC,EAAG,GAAEA,EAAEE,EAAe7C,EAAf6C,gBAAiBC,EAAU9C,EAAV8C,WAAYC,EAAM/C,EAAN+C,OACxFC,GAD8FhD,EAAEiD,OAChGC,GAAhBC,EAAAA,EAAAA,UAAU,MAAM,IAAzCC,EAAQJ,EAAA,GAAEK,EAAWL,EAAA,GACsBM,EAAAJ,GAAdC,EAAAA,EAAAA,UAAS,MAAK,GAA3CI,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAC1BG,GAAWC,EAAAA,EAAAA,QAAO,CAAC,GAgFzB,OApEAC,EAAAA,EAAAA,WAAU,WACN,GAAmB,OAAfJ,EAAJ,CACA,IAAMK,EAAqB,SAACC,GACxB,IAAMC,EAAWL,EAASM,QAAQR,GAC9BO,IAAaA,EAASE,SAASH,EAAM7C,SACrCwC,EAAc,KAEtB,EAEA,OADAS,SAASC,iBAAiB,YAAaN,GAChC,WACHK,SAASE,oBAAoB,YAAaP,EAC9C,CAV+B,CAWnC,EAAG,CAACL,KAyDA9C,EAAAA,EAAAA,MAAA2D,EAAAA,SAAA,CAAAzD,SAAA,EACIC,EAAAA,EAAAA,KAAA,OAAKF,UAAS,iFAAA2D,OAAmF3D,GAAYC,UACzGF,EAAAA,EAAAA,MAAA,SAAOC,UAAU,qDAAoDC,SAAA,EACjEC,EAAAA,EAAAA,KAAA,SAAAD,UACIF,EAAAA,EAAAA,MAAA,MAAAE,SAAA,EACIC,EAAAA,EAAAA,KAAA,MAAIF,UAAU,iHAAgHC,UAAEI,EAAAA,EAAAA,IAAG,iBAAkB,uBACrJH,EAAAA,EAAAA,KAAA,MAAIF,UAAU,0FAAyFC,UAAEI,EAAAA,EAAAA,IAAG,KAAM,uBAClHH,EAAAA,EAAAA,KAAA,MAAIF,UAAU,0FAAyFC,UAAEI,EAAAA,EAAAA,IAAG,UAAW,uBACvHH,EAAAA,EAAAA,KAAA,MAAIF,UAAU,0FAAyFC,UAAEI,EAAAA,EAAAA,IAAG,YAAa,uBACzHH,EAAAA,EAAAA,KAAA,MAAIF,UAAU,2FAA0FC,SAAC,YAGjHC,EAAAA,EAAAA,KAAA,SAAOF,UAAU,qCAAoCC,SACpD4B,EAAY+B,IAAK,SAAAC,GAAO,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAOjBC,EAAe,CAAC,EACpB,IACQd,EAAIc,cAA4C,iBAArBd,EAAIc,cAAyD,KAA5Bd,EAAIc,aAAaC,SAC7ED,EAAeE,KAAKC,MAAMjB,EAAIc,cAEtC,CAAE,MAAOI,GACLJ,EAAe,CAAC,CACpB,CAGA,IAAMK,GAA0B,QAAZlB,EAAAa,SAAY,IAAAb,OAAA,EAAZA,EAAcmB,gBAA4B,QAAhBlB,EAAIY,SAAY,IAAAZ,OAAA,EAAZA,EAAcmB,cAC1DC,GAA6B,QAAZnB,EAAAW,SAAY,IAAAX,OAAA,EAAZA,EAAcoB,oBAAgC,QAAhBnB,EAAIU,SAAY,IAAAV,OAAA,EAAZA,EAAcoB,cACnEC,GAA+B,QAAZpB,EAAAS,SAAY,IAAAT,OAAA,EAAZA,EAAcqB,gBAA4B,QAAhBpB,EAAIQ,SAAY,IAAAR,OAAA,EAAZA,EAAcqB,mBAG1C,SAArBF,IACAA,EAAmB,YAIvB,IAAMG,EAAYC,MAAMC,QAAQX,GAAeA,EAAYY,KAAK,KAAOZ,EAEjEa,EAAiB,CACnBC,GAAIjC,EAAIkC,GACRC,MAAmB,QAAd5B,EAAEO,SAAY,IAAAP,OAAA,EAAZA,EAAc4B,MACrBC,SAAsB,QAAd5B,EAAEM,SAAY,IAAAN,OAAA,EAAZA,EAAc4B,SACxBC,iBAA8B,QAAd5B,EAAEK,SAAY,IAAAL,OAAA,EAAZA,EAAc4B,iBAChCC,eAA4B,QAAd5B,EAAEI,SAAY,IAAAJ,OAAA,EAAZA,EAAc4B,eAC9BlB,aAAcQ,EACdL,iBAAkBD,EAClBiB,YAAyB,QAAd5B,EAAEG,SAAY,IAAAH,OAAA,EAAZA,EAAc4B,YAC3BZ,kBAAmBF,EACnBe,QAAqB,QAAd5B,EAAEE,SAAY,IAAAF,OAAA,EAAZA,EAAc4B,QACvBC,MAAmB,QAAd5B,EAAEC,SAAY,IAAAD,OAAA,EAAZA,EAAc4B,OAGnBC,EAAgB,qBAClBC,OAAOC,QAAQZ,GACVa,OAAO,SAAAC,GAAA,IAAAC,EAAApE,EAAAmE,EAAA,GAAOE,GAAFD,EAAA,GAAKA,EAAA,WAAMC,SAA6C,KAARA,CAAU,GACtEjD,IAAI,SAAAkD,GAAA,IAAAC,EAAAvE,EAAAsE,EAAA,GAAEE,EAAGD,EAAA,GAAEF,EAAGE,EAAA,aAAApD,OAAUqD,EAAG,MAAArD,OA5CR,SAACkD,GAEzB,MADmB,iBAARA,IAAkBA,EAAMI,OAAOJ,IACnCA,EAAIK,QAAQ,KAAM,UAAUA,QAAQ,MAAO,SAASA,QAAQ,MAAO,QAC9E,CAyCyCC,CAAoBN,GAAI,OACxDjB,KAAK,IACV,IAEEwB,EAAmB,0BAAHzD,OAA6BE,EAAIkC,GAAE,MACzD,OACIhG,EAAAA,EAAAA,MAAA,MAAiBC,UAAU,aAAYC,SAAA,EACnCC,EAAAA,EAAAA,KAAA,MAAIF,UAAU,gEAAgEqH,MAAO,OAASxD,EAAIkC,GAAG9F,UACjGC,EAAAA,EAAAA,KAAA,QAAMF,UAAU,oDAAoDsH,QAAS,WAAQjF,GAAUA,EAAOwB,EAAK,EAAE5D,SAAG4D,EAAI0D,gBAExHrH,EAAAA,EAAAA,KAAA,MAAIF,UAAU,8FAA6FC,SAAE4D,EAAIkC,MACjH7F,EAAAA,EAAAA,KAAA,MAAIF,UAAU,6EAA4EC,UACtFC,EAAAA,EAAAA,KAAA,QAAMF,UAAU,cAAaC,SAAC,SAElCC,EAAAA,EAAAA,KAAA,MAAIF,UAAU,8FAA6FC,UACvGF,EAAAA,EAAAA,MAAA,OAAKC,UAAU,8BAA6BC,SAAA,EACxCC,EAAAA,EAAAA,KAAA,QACIF,UAAU,yHACVqH,MAAK,SAAA1D,OAAWyD,EAAgB,+DAAAzD,OAA8D4C,GAAgBtG,SAE7GmH,IAEJ1E,IAAamB,EAAIkC,IACd7F,EAAAA,EAAAA,KAAA,QAAMF,UAAU,gCAA+BC,SAAC,aAEhDC,EAAAA,EAAAA,KAAA,UACIoH,QAAS,WAAF,OApK9BE,EAoKkDJ,EApKvCtB,EAoKyDjC,EAAIkC,GAnKzF0B,UAAUC,UAAUC,UAAWH,GAC/B7E,EAAamD,QACb8B,WAAY,kBAAMjF,EAAa,KAAM,EAAE,MAHxB,IAAE6E,EAAW1B,CAoKiE,EACrD9F,UAAU,sEACVqH,MAAM,iBAAgBpH,UAEtBC,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,KAAKC,OAAO,KAAKf,QAAQ,YAAYF,KAAK,OAAMR,UACvDC,EAAAA,EAAAA,KAAA,QACIa,EAAE,2pBACFL,OAAO,UAAUI,YAAY,MAAMF,cAAc,QACjDC,eAAe,oBAMvCX,EAAAA,EAAAA,KAAA,MAAIF,UAAU,6DAA4DC,UACtEF,EAAAA,EAAAA,MAAA,OAAKC,UAAU,gBAAeC,SAAA,EAC1BC,EAAAA,EAAAA,KAAA,UACIF,UAAU,oJACVsH,QAAS,WAAF,OAhLrBxB,EAgL8CjC,EAAIkC,QA/KxEjD,EAAcD,IAAeiD,EAAK,KAAOA,GADpB,IAACA,CAgLqD,EACvC,gBAAc,OACd,gBAAejD,IAAegB,EAAIkC,GAAG9F,UAErCC,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,KAAKC,OAAO,KAAKf,QAAQ,YAAYF,KAAK,OAAMR,UACvDC,EAAAA,EAAAA,KAAA,QAAMa,EAAE,qCAAqCL,OAAO,UAAUI,YAAY,IAAIF,cAAc,QAAQC,eAAe,cAG1HgC,IAAegB,EAAIkC,KAChBhG,EAAAA,EAAAA,MAAA,OAAKC,UAAU,8KAA8K6H,IAAK,SAAAC,GAAE,OAAI/E,EAASM,QAAQQ,EAAIkC,IAAM+B,CAAE,EAAC7H,SAAA,EAClOC,EAAAA,EAAAA,KAAA,UAAQF,UAAU,mHAAmHsH,QAAS,WAAQjF,GAAUA,EAAOwB,GAAMf,EAAc,KAAO,EAAE7C,UAAEI,EAAAA,EAAAA,IAAG,OAAQ,uBACjNN,EAAAA,EAAAA,MAAA,OAAKC,UAAU,+IAA8IC,SAAA,EACzJC,EAAAA,EAAAA,KAAA,QAAAD,UAAOI,EAAAA,EAAAA,IAAG,YAAa,uBACvBH,EAAAA,EAAAA,KAACc,EAAQ,QAEbd,EAAAA,EAAAA,KAAA,UAAQF,UAAU,kHAAkHsH,QAAS,WAAF,OAAQnF,EAAgB0B,EAAI,EAAEkE,SAAU3F,IAAeyB,EAAIkC,GAAG9F,SAAEmC,IAAeyB,EAAIkC,IAAK1F,EAAAA,EAAAA,IAAG,cAAe,qBAAsBA,EAAAA,EAAAA,IAAG,SAAU,gCArDnSwD,EAAIkC,GA4DrB,UApLS,WACrB,GAAIhE,GAAc,EAAG,OAAO,KAG5B,IAFA,IAAMiG,EAAQ,GAGNC,EAAIC,KAAKC,IAAK,EAAGrG,EAFX,GAGVmG,GAAKC,KAAKE,IAAKrG,EAAYD,EAHjB,GAIVmG,IAEAD,EAAMK,KAAMJ,GAEhB,OACI/H,EAAAA,EAAAA,KAAA,OAAKF,UAAU,4DAA2DC,UACtEF,EAAAA,EAAAA,MAAA,OAAKC,UAAU,0CAAyCC,SAAA,EACpDF,EAAAA,EAAAA,MAAA,UACIuH,QAAS,WAAF,OAAQtF,EAAcF,EAAc,EAAG,EAC9CiG,SAA0B,IAAhBjG,EACV9B,UAAS,yIAAA2D,OAA2J,IAAhB7B,EAAoB,0CAA4C,IAAK7B,SAAA,EAEzNC,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,KAAKC,OAAO,KAAKf,QAAQ,YAAYF,KAAK,OAAMR,UACvDC,EAAAA,EAAAA,KAAA,QACIa,EAAE,oYACFN,KAAK,cACP,gBAGVP,EAAAA,EAAAA,KAAA,OAAKF,UAAU,8BAA6BC,SACvC+H,EAAMpE,IAAK,SAAA0E,GAAI,OACZpI,EAAAA,EAAAA,KAAA,QAEIoH,QAAS,WAAF,OAAQtF,EAAcsG,EAAM,EACnCtI,UAAS,sIAAA2D,OAAwI2E,IAASxG,EAAc,wCAA0C,6CAA4C,kDAAiD7B,SAE9SqI,GAJIA,EAKF,MAGfvI,EAAAA,EAAAA,MAAA,UACIuH,QAAS,WAAF,OAAQtF,EAAcF,EAAc,EAAG,EAC9CiG,SAAUjG,IAAgBC,EAC1B/B,UAAS,yIAAA2D,OAA2I7B,IAAgBC,EAAa,0CAA4C,IAAK9B,SAAA,CACrO,SAEGC,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,KAAKC,OAAO,KAAKf,QAAQ,YAAYF,KAAK,OAAMR,UACvDC,EAAAA,EAAAA,KAAA,QACIa,EAAE,4XACFN,KAAK,qBAMjC,CAoIS8H,KAGb,E,sGC1MA,QAjCgB,SAAHtH,GAAgD,I,IAAzCuH,EAAOvH,EAAPuH,QAASvI,EAAQgB,EAARhB,SAAQoB,EAAAJ,EAAEjB,UAAAA,OAAS,IAAAqB,EAAG,GAAEA,EACJiB,G,GAAfG,EAAAA,EAAAA,WAAS,G,EAAM,E,o4BAAtCgG,EAAOnG,EAAA,GAAEoG,EAAUpG,EAAA,GACpBqG,EAAY,gBAAHhF,OAAmBuE,KAAKU,SAASC,SAAS,IAAIC,OAAO,EAAG,IAEvE,OACI/I,EAAAA,EAAAA,MAAA,QACIC,UAAW,iBAAA2D,OAAiB3D,GAAY4E,OACxCmE,aAAc,WAAF,OAAQL,GAAW,EAAK,EACpCM,aAAc,WAAF,OAAQN,GAAW,EAAM,EACrCO,QAAS,WAAF,OAAQP,GAAW,EAAK,EAC/BQ,OAAQ,WAAF,OAAQR,GAAW,EAAM,EAACzI,SAAA,EAEhCC,EAAAA,EAAAA,KAAA,QACIiJ,SAAU,EACV,mBAAkBV,EAAUE,OAAYS,EACxCpJ,UAAU,wCAAuCC,SAEhDA,IAEJwI,IACGvI,EAAAA,EAAAA,KAAA,QACI4F,GAAI6C,EACJU,KAAK,UACLrJ,UAAU,iOACVwB,MAAO,CAAE8H,WAAY,YAAarJ,SAEjCuI,MAKrB,E,olDCyOA,QAvQwB,SAAHvH,GAAgH,IAA1GsI,EAAOtI,EAAPsI,QAASC,EAAKvI,EAALuI,MAAOC,EAAQxI,EAARwI,SAAUC,EAAWzI,EAAXyI,YAAWC,EAAA1I,EAAE2I,SAAAA,OAAQ,IAAAD,GAAQA,EAAAE,EAAA5I,EAAE6I,WAAAA,OAAU,IAAAD,GAAOA,EAAAE,EAAA9I,EAAE+I,cAAAA,OAAa,IAAAD,EAAG,QAAOA,EAC/EzH,EAAAE,GAAfC,EAAAA,EAAAA,WAAS,GAAM,GAApCwH,EAAM3H,EAAA,GAAE4H,EAAS5H,EAAA,GACwBM,EAAAJ,GAAdC,EAAAA,EAAAA,UAAS,MAAK,GAAzC0H,EAASvH,EAAA,GAAEwH,EAAYxH,EAAA,GACkByH,EAAA7H,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAAzC6H,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAC1BG,GAAcxH,EAAAA,EAAAA,QAAO,MACrByH,GAAiBzH,EAAAA,EAAAA,QAAO,MAGxB0H,EAAuB,SAAC1D,GAC1B,IAAM2D,EAASpB,EAAQvC,GACvB,MAAsB,iBAAX2D,EACAA,EAEPA,GAA4B,WAAlBC,EAAOD,IAAuBA,EAAOE,MACxCF,EAAOE,MAEX7D,CACX,EAGM8D,EAAgB,SAAC9D,GAA4B,IAAvB+D,EAAUC,UAAAC,OAAA,QAAA7B,IAAA4B,UAAA,IAAAA,UAAA,GAC5BL,EAASpB,EAAQvC,GACvB,OAAI2D,GAA4B,WAAlBC,EAAOD,IAAuBA,EAAOO,KAE3CH,EACOI,MAAMC,aAAaT,EAAOO,KAAM,CACnCjL,SAAUkL,MAAMC,aAAaT,EAAOO,KAAKG,MAAMpL,SAAU,CACrDQ,KAAM,cAKX0K,MAAMC,aAAaT,EAAOO,KAAM,CACnCjL,SAAUkL,MAAMC,aAAaT,EAAOO,KAAKG,MAAMpL,SAAU,CACrDuB,MAAO,CACH8J,WAAY,6BAKrB,IACX,GAGArI,EAAAA,EAAAA,WAAU,WACN,IAAMsI,EAAc,SAACxG,GACbyF,EAAYnH,UAAYmH,EAAYnH,QAAQC,SAASyB,EAAEzE,UACvD4J,GAAU,GACVK,EAAc,IAEtB,EAEA,OADAhH,SAASC,iBAAiB,YAAa+H,GAChC,kBAAMhI,SAASE,oBAAoB,YAAa8H,EAAY,CACvE,EAAG,KAGHtI,EAAAA,EAAAA,WAAU,WACFgH,GAAUH,GAAcW,EAAepH,SACvCuE,WAAW,WAAM,IAAA4D,EACS,QAAtBA,EAAAf,EAAepH,eAAO,IAAAmI,GAAtBA,EAAwBC,OAC5B,EAAG,IAEX,EAAG,CAACxB,EAAQH,IAGZ,IAAM4B,EAAe,SAAC1E,GAClB,GAAY,QAARA,EAIA,OAHAyC,EAAS,CAAC,QACVS,GAAU,QACVK,EAAc,IAGlB,IAAIoB,EAAWnC,EAAM9C,OAAO,SAACkF,GAAC,MAAW,QAANA,CAAW,GACzCD,EAASE,SAAS7E,KACnB2E,EAAW,GAAHhI,OAAAmI,EAAOH,GAAQ,CAAE3E,KAE7ByC,EAASkC,GACTzB,GAAU,GACVK,EAAc,GAClB,EAoBMwB,EAAgB,WAAH,OAASnC,GAAYQ,EAAa,KAAK,EAiBpD4B,EAdqB,WACvB,IAAIC,EAAWzF,OAAO0F,KAAK3C,GAAS7C,OAAO,SAACM,GAAG,OAAMwC,EAAMqC,SAAS7E,EAAI,GAExE,GAAI8C,GAAcQ,EAAW1F,OAAQ,CACjC,IAAMuH,EAAc7B,EAAW8B,cAC/BH,EAAWA,EAASvF,OAAO,SAACM,GAExB,OADoB0D,EAAqB1D,GACtBoF,cAAcP,SAASM,EAC9C,EACJ,CAEA,OAAOF,CACX,CAEyBI,GA8BzB,OACItM,EAAAA,EAAAA,MAAA,OAAKC,UAAU,8BAA8B6H,IAAK2C,EAAYvK,SAAA,EAC1DF,EAAAA,EAAAA,MAAA,UACIuM,KAAK,SACLtM,UAAU,gLACVwB,MAAO,CACH+K,SAAU,QACV9K,MAAO,OACPC,OAAQ,OACR8K,aAAc,MACdC,YAAa,MACbC,WAAY,MACZC,aAAc,OACdC,cAAe,MACfC,YAAa,OACbC,gBAAiB,UACjBC,YAAa,UACbC,YAAa,QACbC,QAAS,EACTC,UAAW,cAEf,gBAAc,UACd,gBAAejD,EACf3C,QAAS,WAAF,OAAQ4C,EAAU,SAACiD,GAAI,OAAMA,CAAI,EAAC,EAAClN,SAAA,EAE1CC,EAAAA,EAAAA,KAAA,QACIF,UAA4B,IAAjBwJ,EAAMyB,OAAe,qBAAuB,qBACvDzJ,MAAO,CACH4L,SAAU,OACVzL,QAAS,QACT0L,SAAU,SACVC,aAAc,WACdhE,WAAY,SACZiD,SAAU,qBACZtM,SA5DO,IAAjBuJ,EAAMyB,OACCvB,EAGPF,EAAMyB,OAAS,EACR,GAAPtH,OAAU6F,EAAMyB,OAAM,KAAAtH,OAAIqG,EAAa,aAGpCR,EAAM+D,MAAM,EAAG,GAAG3J,IAAI,SAACgI,GAAC,OAAKlB,EAAqBkB,EAAE,GAAEhG,KAAK,SAwD1D1F,EAAAA,EAAAA,KAAA,OAAKF,UAAU,8BAA8BS,KAAK,OAAOC,OAAO,eAAeC,QAAQ,YAAWV,UAC9FC,EAAAA,EAAAA,KAAA,QAAMU,cAAc,QAAQC,eAAe,QAAQC,YAAY,IAAIC,EAAE,wBAG5EkJ,IACGlK,EAAAA,EAAAA,MAAA,MAAIC,UAAU,kKAAkKqJ,KAAK,UAASpJ,SAAA,CAEzL6J,IACG5J,EAAAA,EAAAA,KAAA,MAAIF,UAAU,mFAAkFC,UAC5FC,EAAAA,EAAAA,KAAA,SACI2H,IAAK4C,EACL6B,KAAK,OACL9C,MAAOc,EACPb,SAjED,SAAC1E,GACxBwF,EAAcxF,EAAEzE,OAAOkJ,MAC3B,EAgE4BgE,UA7DA,SAACzI,GACX,WAAVA,EAAEiC,KACFkD,GAAU,GACVK,EAAc,KACG,UAAVxF,EAAEiC,KAAmBgF,EAAiBf,OAAS,GACtDS,EAAaM,EAAiB,GAEtC,EAuD4BtC,aAAarJ,EAAAA,EAAAA,IAAG,oBAAqB,oBACrCL,UAAU,wMAIO,IAA5BgM,EAAiBf,SACd/K,EAAAA,EAAAA,KAAA,MAAIF,UAAU,sDAAqDC,SAC9DqK,EAAW1F,QAASvE,EAAAA,EAAAA,IAAG,sBAAuB,qBAAsBA,EAAAA,EAAAA,IAAG,kBAAmB,sBAGlG2L,EAAiBpI,IAAI,SAACoD,GAAG,OACtB9G,EAAAA,EAAAA,KAAA,MAEIF,UAAU,+FACVqJ,KAAK,SACL,iBAAe,EACfF,SAAU,EACV7B,QAAS,WAAF,OAAQoE,EAAa1E,EAAI,EAChCwG,UAAW,SAACzI,GAAsB,UAAVA,EAAEiC,KAA6B,MAAVjC,EAAEiC,KAAe0E,EAAa1E,EAAQ,EAAE/G,UAErFF,EAAAA,EAAAA,MAAA,QAAMC,UAAU,8BAA6BC,SAAA,CACxC6K,EAAc9D,GACd0D,EAAqB1D,OAVrBA,EAYJ,OAKjB9G,EAAAA,EAAAA,KAAA,OAAKF,UAAU,gDAA+CC,SACzDuJ,EAAM5F,IAAI,SAACoD,EAAKyG,GAAG,OAChB1N,EAAAA,EAAAA,MAAA,OAEIC,UACI,sKACC4J,EAAW,mBAAqB,IACjC,4IAEJ8D,UAAW9D,EACX+D,YAAa/D,EAAW,kBApJTA,GAAYQ,EAoJmBqD,EAAI,OAAGrE,EACrDwE,WAAYhE,EAAW,SAAC7E,GAAQA,EAAE8I,iBApJ/B,SAACC,GACpB,GAAKlE,GAA0B,OAAdO,GAAsBA,IAAc2D,EAArD,CACA,IAAMnC,EAAQG,EAAOtC,GACduE,EAAwCvL,EAA7BmJ,EAASqC,OAAO7D,EAAW,GAAE,GAAjC,GACdwB,EAASqC,OAAOF,EAAO,EAAGC,GAC1B3D,EAAa0D,GACbrE,EAASkC,EALyD,CAMtE,CA6IwEsC,CAAeR,EAAM,OAAIrE,EAC7E8E,UAAWtE,EAAWmC,OAAgB3C,EACtCD,SAAU,EACV,aAAYS,GAAWvJ,EAAAA,EAAAA,IAAG,kBAAmB,yBAAsB+I,EAAUnJ,SAAA,EAE7EF,EAAAA,EAAAA,MAAA,QAAMC,UAAU,iDAAgDC,SAAA,CAC3D6K,EAAc9D,GACd0D,EAAqB1D,OAE1B9G,EAAAA,EAAAA,KAAA,UACIoM,KAAK,SACLtM,UAAU,iOACV,cAAYK,EAAAA,EAAAA,IAAG,SAAU,oBACzBiH,QAAS,WAAF,OA5KV,SAACN,GAClB,GAAY,QAARA,EACAyC,EAAS,QACN,CACH,IAAMkC,EAAWnC,EAAM9C,OAAO,SAACkF,GAAC,OAAKA,IAAM5E,CAAG,GAC9CyC,EAASkC,EACb,CACJ,CAqKuCwC,CAAanH,EAAI,EAAC/G,SACpC,QAtBI+G,EAyBH,OAK1B,E,mPCvQA,IAAAjC,EAAAqJ,EAAAC,EAAA,mBAAAC,OAAAA,OAAA,GAAAC,EAAAF,EAAAG,UAAA,aAAAC,EAAAJ,EAAAK,aAAA,yBAAAzG,EAAAoG,EAAAE,EAAAE,EAAAxG,GAAA,IAAA0G,EAAAJ,GAAAA,EAAAK,qBAAAC,EAAAN,EAAAM,EAAAC,EAAAtI,OAAAuI,OAAAJ,EAAAC,WAAA,OAAAI,EAAAF,EAAA,mBAAAT,EAAAE,EAAAE,GAAA,IAAAxG,EAAA0G,EAAAG,EAAAG,EAAA,EAAAC,EAAAT,GAAA,GAAAU,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAX,EAAA,EAAAc,EAAAtK,EAAAuK,EAAAvO,EAAAkO,EAAAlO,EAAAwO,KAAAxK,EAAA,GAAAhE,EAAA,SAAAqN,EAAAC,GAAA,OAAApG,EAAAmG,EAAAO,EAAA,EAAAG,EAAA/J,EAAAqK,EAAAb,EAAAF,EAAAiB,CAAA,YAAAvO,EAAAsN,EAAAE,GAAA,IAAAI,EAAAN,EAAAS,EAAAP,EAAAH,EAAA,GAAAe,GAAAF,IAAAR,GAAAL,EAAAc,EAAAjE,OAAAmD,IAAA,KAAAK,EAAAxG,EAAAiH,EAAAd,GAAArN,EAAAqO,EAAAF,EAAAM,EAAAvH,EAAA,GAAAoG,EAAA,GAAAI,EAAAe,IAAAjB,KAAAO,EAAA7G,GAAA0G,EAAA1G,EAAA,OAAA0G,EAAA,MAAA1G,EAAA,GAAAA,EAAA,GAAAlD,GAAAkD,EAAA,IAAAlH,KAAA0N,EAAAJ,EAAA,GAAAtN,EAAAkH,EAAA,KAAA0G,EAAA,EAAAS,EAAAC,EAAAd,EAAAa,EAAAb,EAAAtG,EAAA,IAAAlH,EAAAyO,IAAAf,EAAAJ,EAAA,GAAApG,EAAA,GAAAsG,GAAAA,EAAAiB,KAAAvH,EAAA,GAAAoG,EAAApG,EAAA,GAAAsG,EAAAa,EAAAb,EAAAiB,EAAAb,EAAA,OAAAF,GAAAJ,EAAA,SAAAiB,EAAA,MAAAH,GAAA,EAAAZ,CAAA,iBAAAE,EAAAS,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAnO,EAAAmO,EAAAM,GAAAb,EAAAO,EAAAJ,EAAAU,GAAApB,EAAAO,EAAA,EAAA5J,EAAA+J,KAAAK,GAAA,CAAAlH,IAAA0G,EAAAA,EAAA,GAAAA,EAAA,IAAAS,EAAAb,GAAA,GAAAxN,EAAA4N,EAAAG,IAAAM,EAAAb,EAAAO,EAAAM,EAAAC,EAAAP,GAAA,OAAAG,EAAA,EAAAhH,EAAA,IAAA0G,IAAAF,EAAA,QAAAL,EAAAnG,EAAAwG,GAAA,MAAAL,EAAAA,EAAAsB,KAAAzH,EAAA6G,IAAA,MAAAW,UAAA,wCAAArB,EAAAuB,KAAA,OAAAvB,EAAAU,EAAAV,EAAA5E,MAAAmF,EAAA,IAAAA,EAAA,YAAAA,IAAAP,EAAAnG,EAAA,SAAAmG,EAAAsB,KAAAzH,GAAA0G,EAAA,IAAAG,EAAAW,UAAA,oCAAAhB,EAAA,YAAAE,EAAA,GAAA1G,EAAAlD,CAAA,UAAAqJ,GAAAe,EAAAC,EAAAb,EAAA,GAAAO,EAAAT,EAAAqB,KAAAnB,EAAAa,MAAAE,EAAA,YAAAlB,GAAAnG,EAAAlD,EAAA4J,EAAA,EAAAG,EAAAV,CAAA,SAAAa,EAAA,UAAAzF,MAAA4E,EAAAuB,KAAAR,EAAA,GAAAd,EAAAI,EAAAxG,IAAA,GAAA6G,CAAA,KAAAQ,EAAA,YAAAT,IAAA,UAAAe,IAAA,UAAAC,IAAA,CAAAzB,EAAA5H,OAAAsJ,eAAA,IAAAnB,EAAA,GAAAJ,GAAAH,EAAAA,EAAA,GAAAG,QAAAS,EAAAZ,EAAA,GAAAG,EAAA,yBAAAH,GAAAU,EAAAe,EAAAjB,UAAAC,EAAAD,UAAApI,OAAAuI,OAAAJ,GAAA,SAAAM,EAAAlK,GAAA,OAAAyB,OAAAuJ,eAAAvJ,OAAAuJ,eAAAhL,EAAA8K,IAAA9K,EAAAiL,UAAAH,EAAAb,EAAAjK,EAAA0J,EAAA,sBAAA1J,EAAA6J,UAAApI,OAAAuI,OAAAD,GAAA/J,CAAA,QAAA6K,EAAAhB,UAAAiB,EAAAb,EAAAF,EAAA,cAAAe,GAAAb,EAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,EAAAa,EAAApB,EAAA,qBAAAO,EAAAF,GAAAE,EAAAF,EAAAL,EAAA,aAAAO,EAAAF,EAAAP,EAAA,yBAAAS,EAAAF,EAAA,oDAAAoB,EAAA,kBAAAC,EAAAlI,EAAAmI,EAAAnB,EAAA,cAAAD,EAAAjK,EAAAsJ,EAAAE,EAAAH,GAAA,IAAAnG,EAAAzB,OAAA6J,eAAA,IAAApI,EAAA,gBAAAlD,GAAAkD,EAAA,EAAA+G,EAAA,SAAAjK,EAAAsJ,EAAAE,EAAAH,GAAA,SAAAK,EAAAJ,EAAAE,GAAAS,EAAAjK,EAAAsJ,EAAA,SAAAtJ,GAAA,YAAAuL,QAAAjC,EAAAE,EAAAxJ,EAAA,GAAAsJ,EAAApG,EAAAA,EAAAlD,EAAAsJ,EAAA,CAAA7E,MAAA+E,EAAAgC,YAAAnC,EAAAoC,cAAApC,EAAAqC,UAAArC,IAAArJ,EAAAsJ,GAAAE,GAAAE,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAO,EAAAjK,EAAAsJ,EAAAE,EAAAH,EAAA,UAAAsC,EAAAnC,EAAAH,EAAArJ,EAAAsJ,EAAAI,EAAAa,EAAAX,GAAA,QAAA1G,EAAAsG,EAAAe,GAAAX,GAAAG,EAAA7G,EAAAuB,KAAA,OAAA+E,GAAA,YAAAxJ,EAAAwJ,EAAA,CAAAtG,EAAA0H,KAAAvB,EAAAU,GAAA6B,QAAAC,QAAA9B,GAAA+B,KAAAxC,EAAAI,EAAA,UAAAqC,EAAA/L,EAAAsJ,GAAA,IAAAD,EAAA5H,OAAA0F,KAAAnH,GAAA,GAAAyB,OAAAuK,sBAAA,KAAAtC,EAAAjI,OAAAuK,sBAAAhM,GAAAsJ,IAAAI,EAAAA,EAAA/H,OAAA,SAAA2H,GAAA,OAAA7H,OAAAwK,yBAAAjM,EAAAsJ,GAAAkC,UAAA,IAAAnC,EAAA/F,KAAA4I,MAAA7C,EAAAK,EAAA,QAAAL,CAAA,UAAA8C,EAAAnM,GAAA,QAAAsJ,EAAA,EAAAA,EAAArD,UAAAC,OAAAoD,IAAA,KAAAD,EAAA,MAAApD,UAAAqD,GAAArD,UAAAqD,GAAA,GAAAA,EAAA,EAAAyC,EAAAtK,OAAA4H,IAAA,GAAA+C,QAAA,SAAA9C,GAAA+C,EAAArM,EAAAsJ,EAAAD,EAAAC,GAAA,GAAA7H,OAAA6K,0BAAA7K,OAAA8K,iBAAAvM,EAAAyB,OAAA6K,0BAAAjD,IAAA0C,EAAAtK,OAAA4H,IAAA+C,QAAA,SAAA9C,GAAA7H,OAAA6J,eAAAtL,EAAAsJ,EAAA7H,OAAAwK,yBAAA5C,EAAAC,GAAA,UAAAtJ,CAAA,UAAAqM,EAAArM,EAAAsJ,EAAAD,GAAA,OAAAC,EAAA,SAAAD,GAAA,IAAAnG,EAAA,SAAAmG,GAAA,aAAAxD,EAAAwD,KAAAA,EAAA,OAAAA,EAAA,IAAArJ,EAAAqJ,EAAAE,OAAAiD,aAAA,YAAAxM,EAAA,KAAAkD,EAAAlD,EAAA2K,KAAAtB,EAAAC,UAAA,aAAAzD,EAAA3C,GAAA,OAAAA,EAAA,UAAAwH,UAAA,uDAAAxI,OAAAmH,EAAA,CAAAoD,CAAApD,GAAA,gBAAAxD,EAAA3C,GAAAA,EAAAA,EAAA,GAAAwJ,CAAApD,MAAAtJ,EAAAyB,OAAA6J,eAAAtL,EAAAsJ,EAAA,CAAA7E,MAAA4E,EAAAmC,YAAA,EAAAC,cAAA,EAAAC,UAAA,IAAA1L,EAAAsJ,GAAAD,EAAArJ,CAAA,UAAAvC,EAAA6L,EAAAtJ,GAAA,gBAAAsJ,GAAA,GAAA3I,MAAAC,QAAA0I,GAAA,OAAAA,CAAA,CAAAqD,CAAArD,IAAA,SAAAA,EAAAmB,GAAA,IAAApB,EAAA,MAAAC,EAAA,yBAAAC,QAAAD,EAAAC,OAAAE,WAAAH,EAAA,uBAAAD,EAAA,KAAArJ,EAAAwJ,EAAAtG,EAAA6G,EAAAQ,EAAA,GAAAL,GAAA,EAAAR,GAAA,SAAAxG,GAAAmG,EAAAA,EAAAsB,KAAArB,IAAAsD,KAAA,IAAAnC,EAAA,IAAAhJ,OAAA4H,KAAAA,EAAA,OAAAa,GAAA,cAAAA,GAAAlK,EAAAkD,EAAAyH,KAAAtB,IAAAuB,QAAAL,EAAAjH,KAAAtD,EAAAyE,OAAA8F,EAAArE,SAAAuE,GAAAP,GAAA,UAAAZ,GAAAI,GAAA,EAAAF,EAAAF,CAAA,iBAAAY,GAAA,MAAAb,EAAA,SAAAU,EAAAV,EAAA,SAAA5H,OAAAsI,KAAAA,GAAA,kBAAAL,EAAA,MAAAF,CAAA,SAAAe,CAAA,EAAAsC,CAAAvD,EAAAtJ,IAAA8M,EAAAxD,EAAAtJ,IAAA,qBAAA0K,UAAA,6IAAAqC,EAAA,UAAAD,EAAAxD,EAAAiB,GAAA,GAAAjB,EAAA,qBAAAA,EAAA,OAAA0D,EAAA1D,EAAAiB,GAAA,IAAAlB,EAAA,GAAAvF,SAAA6G,KAAArB,GAAAd,MAAA,uBAAAa,GAAAC,EAAA2D,cAAA5D,EAAAC,EAAA2D,YAAAC,MAAA,QAAA7D,GAAA,QAAAA,EAAA1I,MAAAwM,KAAA7D,GAAA,cAAAD,GAAA,2CAAA+D,KAAA/D,GAAA2D,EAAA1D,EAAAiB,QAAA,YAAAyC,EAAA1D,EAAAiB,IAAA,MAAAA,GAAAA,EAAAjB,EAAApD,UAAAqE,EAAAjB,EAAApD,QAAA,QAAAlG,EAAA,EAAAwJ,EAAA7I,MAAA4J,GAAAvK,EAAAuK,EAAAvK,IAAAwJ,EAAAxJ,GAAAsJ,EAAAtJ,GAAA,OAAAwJ,CAAA,CA+SA,QA3SmB,SAAHtN,GAA0C,IAApCmR,EAAQnR,EAARmR,SAAUC,EAAWpR,EAAXoR,YACoB/P,GADDrB,EAANsB,OACOC,GAAZC,EAAAA,EAAAA,UAAS,IAAG,IAAzC6H,EAAUhI,EAAA,GAAEiI,EAAajI,EAAA,GACsBM,EAAAJ,GAAZC,EAAAA,EAAAA,UAAS,IAAG,GAA/C6P,EAAa1P,EAAA,GAAE2P,EAAgB3P,EAAA,GACeyH,EAAA7H,GAAfC,EAAAA,EAAAA,WAAS,GAAM,GAA9C+P,EAAWnI,EAAA,GAAEoI,EAAcpI,EAAA,GAC6BqI,EAAAlQ,GAAfC,EAAAA,EAAAA,WAAS,GAAM,GAAxDkQ,EAAgBD,EAAA,GAAEE,EAAmBF,EAAA,GACtCG,GAAmB7P,EAAAA,EAAAA,QAAO,MAC1B8P,GAAkB9P,EAAAA,EAAAA,QAAO,MAGzB+P,EAAW7B,EAAA,CACb8B,KAAK3S,EAAAA,EAAAA,IAAG,MAAO,qBACa,oBAAjBiB,cAAgCA,aAAa0E,MAClD1E,aAAa0E,MACO,oBAAZzE,SAA2BA,QAAQyE,MAAQzE,QAAQyE,MAAQ,CAAC,GAIxEiN,EAAavN,MAAMC,QAAQyM,EAASpM,OACpCoM,EAASpM,MACToM,EAASpM,MACL,CAACoM,EAASpM,OACV,CAAC,OAGLkN,EAAgBxN,MAAMC,QAAQyM,EAASe,gBACvCf,EAASe,eACT,GAQAC,EAAW,eAtCrB7E,EAsCqBjP,GAtCrBiP,EAsCqB2B,IAAAE,EAAG,SAAAiD,EAAOC,GAAM,IAAAC,EAAAC,EAAA,OAAAtD,IAAAC,EAAA,SAAAsD,GAAA,cAAAA,EAAAvE,EAAAuE,EAAAlF,GAAA,UACxB+E,KAAUA,EAAOrI,OAAS,GAAC,CAAAwI,EAAAlF,EAAA,QACP,OAArBgE,EAAiB,IAAIkB,EAAAnE,EAAA,UAIJ,OAArBmD,GAAe,GAAMgB,EAAAvE,EAAA,EAAAuE,EAAAlF,EAAA,EAGMmF,GAAGC,SAAS,CAC/BC,KAAM,uBAAFjQ,OAAyBkQ,mBAAmBP,GAAO,kBACzD,OAFIC,EAAQE,EAAApE,EAIdkD,EAAiBgB,EAAS3P,IAAI,SAAAkQ,GAAI,MAAK,CACnChO,GAAIgO,EAAKhO,GACTmM,KAAM6B,EAAK7B,KACX8B,SAAUD,EAAKE,KACfC,OAAQH,EAAKI,aAAeJ,EAAKI,YAAY,KAAS,GACzD,IAAIT,EAAAlF,EAAA,eAAAkF,EAAAvE,EAAA,EAAAsE,EAAAC,EAAApE,EAEL8E,QAAQC,MAAM,yBAAwBZ,GACtCjB,EAAiB,IAAI,OAEC,OAFDkB,EAAAvE,EAAA,EAErBuD,GAAe,GAAOgB,EAAAxE,EAAA,iBAAAwE,EAAAnE,EAAA,KAAA+D,EAAA,oBA7DlC,eAAAjF,EAAA,KAAArJ,EAAAiG,UAAA,WAAA2F,QAAA,SAAAtC,EAAAI,GAAA,IAAAa,EAAAf,EAAA0C,MAAA7C,EAAArJ,GAAA,SAAAsP,EAAA9F,GAAAmC,EAAApB,EAAAjB,EAAAI,EAAA4F,EAAAC,EAAA,OAAA/F,EAAA,UAAA+F,EAAA/F,GAAAmC,EAAApB,EAAAjB,EAAAI,EAAA4F,EAAAC,EAAA,QAAA/F,EAAA,CAAA8F,OAAA,OA+DK,gBAzBgBE,GAAA,OAAAjV,EAAA2R,MAAA,KAAAjG,UAAA,KAwEjB,OAbA/H,EAAAA,EAAAA,WAAU,WACN,IAAMC,EAAqB,SAACC,GACpB2P,EAAgBzP,UAAYyP,EAAgBzP,QAAQC,SAASH,EAAM7C,SACnEsS,GAAoB,EAE5B,EAGA,OADArP,SAASC,iBAAiB,YAAaN,GAChC,WACHK,SAASE,oBAAoB,YAAaP,EAC9C,CACJ,EAAG,KAGCnD,EAAAA,EAAAA,MAAA,OAAKC,UAAU,wDAAuDC,SAAA,EAClEC,EAAAA,EAAAA,KAAA,MAAIF,UAAU,mBACVwB,MAAO,CAEHgT,WAAY,IACZpH,SAAU,OACVqH,WAAY,OACZC,cAAe,KACfC,UAAW,SACXC,MAAO,WACT3U,UACJI,EAAAA,EAAAA,IAAG,mBAAoB,uBACzBH,EAAAA,EAAAA,KAAA,KAAGF,UAAU,6BACTwB,MAAO,CAEHgT,WAAY,IACZpH,SAAU,OACVqH,WAAY,OACZC,cAAe,KACfC,UAAW,SACXC,MAAO,WACT3U,UACJI,EAAAA,EAAAA,IAAG,mKAAoK,uBACzKN,EAAAA,EAAAA,MAAA,OAAKC,UAAU,aAAYC,SAAA,EACvBF,EAAAA,EAAAA,MAAA,SAAO8U,QAAQ,kBAAkB7U,UAAU,sFAAqFC,SAAA,EAC3HI,EAAAA,EAAAA,IAAG,kBAAmB,qBACvBH,EAAAA,EAAAA,KAAC4U,EAAO,CAAC9U,UAAU,YAAYwI,SAASnI,EAAAA,EAAAA,IAAG,iHAAkH,oBAAoBJ,UAC7KC,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,KAAKC,OAAO,KAAKf,QAAQ,YAAYF,KAAK,OAAOsU,MAAM,6BAA4B9U,UAACC,EAAAA,EAAAA,KAAA,QAAMa,EAAE,2UAA2UL,OAAO,UAAUI,YAAY,MAAMF,cAAc,QAAQC,eAAe,kBAGlgBX,EAAAA,EAAAA,KAAA,SACIoM,KAAK,OACLxG,GAAG,kBACHmM,KAAK,kBACLjS,UAAU,sJACVwB,MAAO,CACH+K,SAAU,QACV9K,MAAO,OACPC,OAAQ,OACR8K,aAAc,MACdC,YAAa,MACbC,WAAY,MACZC,aAAc,OACdC,cAAe,MACfC,YAAa,OACbC,gBAAiB,UACjBC,YAAa,UACbC,YAAa,QACbC,QAAS,EACTC,UAAW,aACXE,SAAU,QAEd5D,MAAO4I,EAAS4C,iBAAmB,GACnCvL,SApIK,SAAC1E,GAClB,IAAAkQ,EAAwBlQ,EAAEzE,OAAlB2R,EAAIgD,EAAJhD,KAAMzI,EAAKyL,EAALzL,MACd6I,EAAY,SAAA6C,GAAI,OAAAhE,EAAAA,EAAA,GAAUgE,GAAI,GAAA9D,EAAA,GAAGa,EAAOzI,GAAK,EACjD,EAkIgBE,aAAarJ,EAAAA,EAAAA,IAAG,kBAAmB,0BAG3CN,EAAAA,EAAAA,MAAA,OAAKC,UAAU,iBAAgBC,SAAA,EAC3BF,EAAAA,EAAAA,MAAA,SAAO8U,QAAQ,QAAQ7U,UAAU,sFAAqFC,SAAA,EACjHI,EAAAA,EAAAA,IAAG,6BAA8B,qBAClCH,EAAAA,EAAAA,KAAC4U,EAAO,CAAC9U,UAAU,YAAYwI,SAASnI,EAAAA,EAAAA,IAAG,6GAA8G,oBAAoBJ,UACzKC,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,KAAKC,OAAO,KAAKf,QAAQ,YAAYF,KAAK,OAAOsU,MAAM,6BAA4B9U,UAACC,EAAAA,EAAAA,KAAA,QAAMa,EAAE,2UAA2UL,OAAO,UAAUI,YAAY,MAAMF,cAAc,QAAQC,eAAe,kBAGlgBX,EAAAA,EAAAA,KAACiV,EAAW,CACRnL,cAAc,QACdT,QAASwJ,EACTvJ,MAAOyJ,EACPxJ,SAAU,SAAAzD,GAAK,OAAIqM,EAAY,SAAA6C,GAAI,OAAAhE,EAAAA,EAAA,GAAUgE,GAAI,IAAElP,MAAAA,GAAK,EAAI,EAC5D0D,aAAarJ,EAAAA,EAAAA,IAAG,kBAAmB,oBACnCuJ,UAAU,QAKlB7J,EAAAA,EAAAA,MAAA,OAAKC,UAAU,iBAAgBC,SAAA,EAC3BF,EAAAA,EAAAA,MAAA,SAAOC,UAAU,sFAAqFC,SAAA,EACjGI,EAAAA,EAAAA,IAAG,yBAA0B,qBAC9BH,EAAAA,EAAAA,KAAC4U,EAAO,CAAC9U,UAAU,YAAYwI,SAASnI,EAAAA,EAAAA,IAAG,sFAAuF,oBAAoBJ,UAClJC,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,KAAKC,OAAO,KAAKf,QAAQ,YAAYF,KAAK,OAAOsU,MAAM,6BAA4B9U,UAACC,EAAAA,EAAAA,KAAA,QAAMa,EAAE,2UAA2UL,OAAO,UAAUI,YAAY,MAAMF,cAAc,QAAQC,eAAe,kBAIlgBd,EAAAA,EAAAA,MAAA,OAAKC,UAAU,gBAAgB6H,IAAKiL,EAAgB7S,SAAA,EAEhDC,EAAAA,EAAAA,KAAA,SACIoM,KAAK,OACLtM,UAAU,sJACVwB,MAAO,CACH+K,SAAU,QACV9K,MAAO,OACPC,OAAQ,OACR8K,aAAc,MACdC,YAAa,MACbC,WAAY,MACZC,aAAc,OACdC,cAAe,MACfC,YAAa,OACbC,gBAAiB,UACjBC,YAAa,UACbC,YAAa,QACbC,QAAS,EACTC,UAAW,aACXE,SAAU,QAEd1D,aAAarJ,EAAAA,EAAAA,IAAG,6CAA8C,oBAC9DmJ,MAAOc,EACPb,SAxJO,SAAC1E,GACxB,IAAMyE,EAAQzE,EAAEzE,OAAOkJ,MACvBe,EAAcf,GAGVqJ,EAAiBxP,SACjB+R,aAAavC,EAAiBxP,SAIlCwP,EAAiBxP,QAAUuE,WAAW,WAClCwL,EAAY5J,EAChB,EAAG,IACP,EA4IoBP,QAAS,WAAF,OAAQ2J,GAAoB,EAAK,IAI3CD,GAAoBrI,IACjBvK,EAAAA,EAAAA,MAAA,OAAKC,UAAU,kKAAiKC,SAAA,CAC3KuS,IACGtS,EAAAA,EAAAA,KAAA,OAAKF,UAAU,2CAA0CC,UACpDI,EAAAA,EAAAA,IAAG,eAAgB,uBAI1BmS,GAAwC,IAAzBF,EAAcrH,QAAgBX,EAAWW,QAAU,IAChE/K,EAAAA,EAAAA,KAAA,OAAKF,UAAU,2CAA0CC,UACpDI,EAAAA,EAAAA,IAAG,iBAAkB,uBAI5BmS,GAAeF,EAAcrH,OAAS,IACpC/K,EAAAA,EAAAA,KAAA,MAAAD,SACKqS,EAAc1O,IAAI,SAAAkQ,GAEf,OADmBZ,EAAcmC,KAAK,SAAAvG,GAAC,OAAIA,EAAEhJ,KAAOgO,EAAKhO,EAAE,GACpC,MAGnB/F,EAAAA,EAAAA,MAAA,MAEIC,UAAU,4FACVsH,QAAS,WAAF,OArK3B,SAACwM,GACrB,I,EAAMwB,EAAmB,GAAH3R,O,+CAAOuP,I,qSAAa,CAAEY,IAC5CzB,EAAY,SAAA6C,GAAI,OAAAhE,EAAAA,EAAA,GAAUgE,GAAI,IAAE/B,eAAgBmC,GAAgB,GAChE/K,EAAc,IACdgI,EAAiB,IACjBK,GAAoB,EACxB,CA+J2D2C,CAAgBzB,EAAK,EAAC7T,SAAA,CAEpC6T,EAAKG,SACF/T,EAAAA,EAAAA,KAAA,OACIC,IAAK2T,EAAKG,OACV7T,IAAK0T,EAAK7B,KACVjS,UAAU,yCAGlBD,EAAAA,EAAAA,MAAA,OAAAE,SAAA,EACIC,EAAAA,EAAAA,KAAA,OAAKF,UAAU,sCAAqCC,SAAE6T,EAAK7B,QAC3DlS,EAAAA,EAAAA,MAAA,OAAKC,UAAU,kCAAiCC,SAAA,CAAC,IAAE6T,EAAKC,iBAbvDD,EAAKhO,GAiBtB,QAOfoN,EAAcjI,OAAS,IACpB/K,EAAAA,EAAAA,KAAA,OAAKF,UAAU,gDAA+CC,SACzDiT,EAActP,IAAI,SAAAkQ,GAAI,OACnB/T,EAAAA,EAAAA,MAAA,OAEIC,UAAU,qKAAoKC,SAAA,EAE9KF,EAAAA,EAAAA,MAAA,QAAMC,UAAU,yCAAwCC,SAAA,CACnD6T,EAAKG,SACF/T,EAAAA,EAAAA,KAAA,OACIC,IAAK2T,EAAKG,OACV7T,IAAK0T,EAAK7B,KACVjS,UAAU,wCAGjB8T,EAAK7B,SAEV/R,EAAAA,EAAAA,KAAA,UACIoM,KAAK,SACLtM,UAAU,mEACVsH,QAAS,WAAF,OAtMfkO,EAsM0C1B,EAAKhO,GArMjEwP,EAAmBpC,EAAcxM,OAAO,SAAAoN,GAAI,OAAIA,EAAKhO,KAAO0P,CAAM,QACxEnD,EAAY,SAAA6C,GAAI,OAAAhE,EAAAA,EAAA,GAAUgE,GAAI,IAAE/B,eAAgBmC,GAAgB,GAFzC,IAACE,EAClBF,CAqMoE,EAACrV,SAC9C,QAjBI6T,EAAKhO,GAoBR,aAQtC,E,kxCCnIA,QAvKmB,SAAH7E,GAA0C,IAApCmR,EAAQnR,EAARmR,SAAUC,EAAWpR,EAAXoR,YAEtBoD,GAFyCxU,EAANsB,OAEtB,YAEbmT,EAAe,SAAC3Q,GAClB,IAAAkQ,EAAwBlQ,EAAEzE,OAAlB2R,EAAIgD,EAAJhD,KAAMzI,EAAKyL,EAALzL,MAGd,GAAa,qBAATyI,GAA+BzI,IAAUiM,EAK7C,GAAa,qBAATxD,EAA6B,CAC7B,IAAM0D,ECXE,CACZ,WAAY,KACZ,WAAY,MACZ,WAAY,MACZ,WAAY,MACZ,WAAY,MACZ,WAAY,ODKiCnM,ICHvB,KDIlB6I,EAAY,SAAA6C,GAAI,OAAAhE,EAAAA,EAAA,GACTgE,GAAI,GAAA9D,EAAAA,EAAA,GACNa,EAAOzI,GAAK,cACAmM,GAAW,EAEhC,MACItD,EAAY,SAAA6C,GAAI,OAAAhE,EAAAA,EAAA,GAAUgE,GAAI,GAAA9D,EAAA,GAAGa,EAAOzI,GAAK,EAErD,EAGMoM,EAAyC,oBAAjBtU,cAAgCA,aAAauU,kBACrEvU,aAAauU,kBACO,oBAAZtU,SAA2BA,QAAQsU,kBAAoBtU,QAAQsU,kBAAoB,CAAC,EAG5FC,EAAqB,CACvB,WAAY,gBACZ,WAAY,wBACZ,WAAY,kBACZ,WAAY,mBACZ,WAAY,kBACZ,WAAY,oBAMhB,OACI5V,EAAAA,EAAAA,KAAA,OAAKF,UAAU,mFAAkFC,UAC7FF,EAAAA,EAAAA,MAAA,OAAKC,UAAU,wDAAuDC,SAAA,EAClEC,EAAAA,EAAAA,KAAA,MAAIF,UAAU,mBACVwB,MAAO,CAEHgT,WAAY,IACZpH,SAAU,OACVqH,WAAY,OACZC,cAAe,KACfC,UAAW,SACXC,MAAO,WACT3U,UAEDI,EAAAA,EAAAA,IAAG,mBAAoB,uBAE5BH,EAAAA,EAAAA,KAAA,KAAGF,UAAU,6BACTwB,MAAO,CAEHgT,WAAY,IACZpH,SAAU,OACVqH,WAAY,OACZC,cAAe,KACfC,UAAW,SACXC,MAAO,WACT3U,UACJI,EAAAA,EAAAA,IAAG,8KAAgL,uBACrLH,EAAAA,EAAAA,KAAA,OAAKF,UAAU,mDAAkDC,SAC5DuG,OAAOC,QAAQmP,GAAehS,IAAI,SAAAtE,GAAqB,IAAA4B,EAAAC,E,IAAAwF,G,EAAA,E,4CAAArH,I,s1BAAnBkK,EAAK7C,EAAA,GAAEgE,EAAMhE,EAAA,GACxCoP,EAAoBvM,IA/BHiM,EAgCjB1K,EAAaqH,EAASlM,mBAAqBsD,EAEjD,OACIzJ,EAAAA,EAAAA,MAAA,SAEIC,UAAS,qJAAA2D,OACLoS,EAAQ,0BAA4B,sBAAqB,KAAApS,OACzDoH,EAAa,sCAAwC,IACzDvJ,MAAO,CACHwU,OAAQD,EAAQ,qBAAwBhL,OAAa3B,EAAY,oBACjE6D,QAAS8I,EAAQ,GAAM,EACvBzK,WAAY,wBAEhBvC,aAAc,SAAChE,GAAYgR,IAAOhR,EAAEkR,cAAczU,MAAMuL,YAAc,UAAW,EACjF/D,aAAc,SAACjE,GAAYgR,IAAOhR,EAAEkR,cAAczU,MAAMuL,YAAc,UAAW,EAAE9M,SAAA,EAEnFC,EAAAA,EAAAA,KAAA,SACIoM,KAAK,QACL2F,KAAK,mBACLzI,MAAOA,EACP0M,QAASnL,EACTtB,SAAUiM,EACV1V,UAAU,eACV+H,SAAUgO,KAEdhW,EAAAA,EAAAA,MAAA,OAAKC,UAAU,4BAA2BC,SAAA,EACtCC,EAAAA,EAAAA,KAAA,OACIC,IAAKwK,EAAOwL,MACZ/V,IAAKuK,EAAOsH,KACZjS,UAAU,8DACVwB,MAAO,CAAE4U,eAAgB,cAAeC,oBAAqB,iBAIhEN,IACGhW,EAAAA,EAAAA,MAAA,OAAKC,UAAU,4GAA2GC,SAAA,EACtHC,EAAAA,EAAAA,KAAA,OACIC,MAAyB,QAAnBe,EAAA7B,OAAOiC,oBAAY,IAAAJ,OAAA,EAAnBA,EAAqBtB,aAA2B,QAAlBuB,EAAI9B,OAAOkC,eAAO,IAAAJ,OAAA,EAAdA,EAAgBvB,YAAa,IAAM,wBAC3EQ,IAAI,MACJJ,UAAU,YACVwB,MAAO,CAAEC,MAAO,OAAQC,OAAQ,WAEpCxB,EAAAA,EAAAA,KAAA,QAAMF,UAAU,6DAA4DC,SACvE6V,EAAmBtM,IAAUmB,EAAOsH,WAM/C8D,IACE7V,EAAAA,EAAAA,KAAA,OACIF,UAAU,mKACVwB,MAAO,CACHsL,gBAAiB,4BACjBN,aAAc,QAChBvM,UAEFC,EAAAA,EAAAA,KAAA,QACIsB,MAAO,CACH4L,SAAU,OACVoH,WAAY,IACZI,MAAO,WACT3U,SACJ6V,EAAmBtM,IAAUmB,EAAOsH,YAIjDlH,IAAegL,IACZ7V,EAAAA,EAAAA,KAAA,QACIF,UAAU,0EACVwB,MAAO,CACHC,MAAO,OACPC,OAAQ,OACR8K,aAAc,OACdM,gBAAiB,UACjBwJ,IAAK,OACLC,MAAO,OACPtJ,QAAS,GACXhN,UAEFC,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,IAAIC,OAAO,IAAIf,QAAQ,UAAUF,KAAK,OAAOsU,MAAM,6BAA4B9U,UACtFC,EAAAA,EAAAA,KAAA,QAAMa,EAAE,qCAAqCL,OAAO,QAAQI,YAAY,MAAMF,cAAc,QAAQC,eAAe,gBA7E1H2I,EAmFjB,SAKpB,E,kxCEXA,QA3JoB,SAAHvI,GAA0C,IAApCmR,EAAQnR,EAARmR,SAAUC,EAAWpR,EAAXoR,YAEvBoD,GAF0CxU,EAANsB,OAEvB,YAEbmT,EAAe,SAAC3Q,GAClB,IAAAkQ,EAAwBlQ,EAAEzE,OAAlB2R,EAAIgD,EAAJhD,KAAMzI,EAAKyL,EAALzL,MAGD,mBAATyI,GAA6BzI,IAAUiM,GAI3CpD,EAAY,SAAA6C,GAAI,OAAAhE,EAAAA,EAAA,GAAUgE,GAAI,GAAA9D,EAAA,GAAGa,EAAOzI,GAAK,EACjD,EAGMoM,EAAyC,oBAAjBtU,cAAgCA,aAAakV,gBACrElV,aAAakV,gBACO,oBAAZjV,SAA2BA,QAAQiV,gBAAkBjV,QAAQiV,gBAAkB,CAAC,EAK9F,OACIzW,EAAAA,EAAAA,MAAA,OAAKC,UAAU,wDAAuDC,SAAA,EAClEC,EAAAA,EAAAA,KAAA,MAAIF,UAAU,mBACVwB,MAAO,CAEHgT,WAAY,IACZpH,SAAU,OACVqH,WAAY,OACZC,cAAe,KACfC,UAAW,SACXC,MAAO,WACT3U,UAEDI,EAAAA,EAAAA,IAAG,iBAAkB,uBAE1BH,EAAAA,EAAAA,KAAA,KAAGF,UAAU,6BACTwB,MAAO,CAEHgT,WAAY,IACZpH,SAAU,OACVqH,WAAY,OACZC,cAAe,KACfC,UAAW,SACXC,MAAO,WACT3U,UACJI,EAAAA,EAAAA,IAAG,2GAA4G,uBACjHH,EAAAA,EAAAA,KAAA,OAAKF,UAAU,mDAAkDC,SAC5DuG,OAAOC,QAAQmP,GAAehS,IAAI,SAAAtE,GAAqB,IAAA4B,EAAAC,E,IAAAwF,G,EAAA,E,4CAAArH,I,s1BAAnBkK,EAAK7C,EAAA,GAAEgE,EAAMhE,EAAA,GACxCoP,EAAoBvM,IA9BCiM,EA+BrB1K,EAAaqH,EAASjM,iBAAmBqD,EAE/C,OACIzJ,EAAAA,EAAAA,MAAA,SAEIC,UAAS,iIAAA2D,OACLoS,EAAQ,0BAA4B,uBAExCvU,MAAO,CACHC,MAAO,QACPC,OAAQ,QACR8K,aAAc,OACdC,YAAasJ,EAAQ,MAAQ,MAC7B/I,YAAa+I,EAAQ,SAAW,QAChChJ,YAAahC,EAAa,UAAY,UACtC+B,gBAAiB,UACjBG,QAAS8I,EAAQ,GAAM,EACvBzK,WAAY,wBAEhBvC,aAAc,SAAChE,GAAYgR,IAAOhR,EAAEkR,cAAczU,MAAMuL,YAAc,UAAW,EACjF/D,aAAc,SAACjE,GAAYgR,IAAOhR,EAAEkR,cAAczU,MAAMuL,YAAc,UAAW,EAAE9M,SAAA,EAEnFC,EAAAA,EAAAA,KAAA,SACIoM,KAAK,QACL2F,KAAK,iBACLzI,MAAOA,EACP0M,QAASnL,EACTtB,SAAUiM,EACV1V,UAAU,eACV+H,SAAUgO,KAEd7V,EAAAA,EAAAA,KAAA,OACIC,IAAKwK,EAAOwL,MACZ/V,IAAKuK,EAAOsH,KACZzQ,MAAO,CACH+K,SAAU,OACVkK,UAAW,OACXC,QAAS,OACTN,eAAgB,cAChBC,oBAAqB,iBAK5BN,IACGhW,EAAAA,EAAAA,MAAA,OAAKC,UAAU,4GAA4GwB,MAAO,CAAEgL,aAAc,QAASvM,SAAA,EACvJC,EAAAA,EAAAA,KAAA,OACIC,MAAyB,QAAnBe,EAAA7B,OAAOiC,oBAAY,IAAAJ,OAAA,EAAnBA,EAAqBtB,aAA2B,QAAlBuB,EAAI9B,OAAOkC,eAAO,IAAAJ,OAAA,EAAdA,EAAgBvB,YAAa,IAAM,wBAC3EQ,IAAI,MACJJ,UAAU,YACVwB,MAAO,CAAEC,MAAO,OAAQC,OAAQ,WAEpCxB,EAAAA,EAAAA,KAAA,QAAMF,UAAU,6DAA4DC,SACvE0K,EAAOsH,WAMlB8D,IACE7V,EAAAA,EAAAA,KAAA,OACIF,UAAU,mKACVwB,MAAO,CACHsL,gBAAiB,4BACjBN,aAAc,QAChBvM,UAEFC,EAAAA,EAAAA,KAAA,QACIsB,MAAO,CACH4L,SAAU,OACVoH,WAAY,IACZI,MAAO,WACT3U,SACJ0K,EAAOsH,SAIhBlH,IAAegL,IACZ7V,EAAAA,EAAAA,KAAA,QACIF,UAAU,0EACVwB,MAAO,CACHC,MAAO,OACPC,OAAQ,OACR8K,aAAc,OACdM,gBAAiB,UACjBwJ,IAAK,OACLC,MAAO,OACPtJ,QAAS,GACXhN,UAEFC,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,IAAIC,OAAO,IAAIf,QAAQ,UAAUF,KAAK,OAAOsU,MAAM,6BAA4B9U,UACtFC,EAAAA,EAAAA,KAAA,QAAMa,EAAE,qCAAqCL,OAAO,QAAQI,YAAY,MAAMF,cAAc,QAAQC,eAAe,gBAvF1H2I,EA6FjB,OAIhB,E,+qEC6VA,QAtfiB,SAAHvI,GAA0C,IAAA0V,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAApC5E,EAAQnR,EAARmR,SAAUC,EAAWpR,EAAXoR,YAAa9P,EAAMtB,EAANsB,OAEjCyC,GAAczC,aAAM,EAANA,EAAQ2C,eAAgB,CACxC+R,OAAO5W,EAAAA,EAAAA,IAAG,QAAS,oBACnB6W,OAAO7W,EAAAA,EAAAA,IAAG,QAAS,oBACnB8W,UAAU9W,EAAAA,EAAAA,IAAG,WAAY,qBAIvB+W,EAAsB,SAACC,GACzB,OAAI3R,MAAMC,QAAQ0R,GACPA,EAEPA,GAAsC,WAAvBzM,EAAOyM,GAEf7Q,OAAO0F,KAAKmL,GAAa3Q,OAAO,SAAAM,GAAG,OAAIqQ,EAAYrQ,EAAI,GAE3D,CAAC,QACZ,EAUAsQ,GAA8B7U,EAAAA,EAAAA,UAAS,WACnC,IATmB6D,EASbiR,GATajR,EASc8L,EAASoF,mBARtC9R,MAAMC,QAAQW,GACPA,EAEJ,IAMDmR,EAAcL,EAAoBhF,EAASlN,cAG3CwS,EAAU,CAAC,EACjBlR,OAAO0F,KAAKlH,GAAamM,QAAQ,SAAAnK,GAAO,IAAA2Q,EACpCD,EAAQ1Q,GAAO,CACXA,IAAAA,EACA6D,MAAmC,iBAArB7F,EAAYgC,GACpBhC,EAAYgC,IACI,QAAhB2Q,EAAA3S,EAAYgC,UAAI,IAAA2Q,OAAA,EAAhBA,EAAkB9M,QAAS7D,EACjC4Q,QAASH,EAAY5L,SAAS7E,GAEtC,GAGA,IAAM6Q,EAAc,GAapB,OAZIN,EAAWtM,OAAS,GACpBsM,EAAWpG,QAAQ,SAAAnK,GACX0Q,EAAQ1Q,KACR6Q,EAAYxP,KAAKqP,EAAQ1Q,WAClB0Q,EAAQ1Q,GAEvB,GAIJR,OAAOsR,OAAOJ,GAASvG,QAAQ,SAAA4G,GAAG,OAAIF,EAAYxP,KAAK0P,EAAI,GAEpDF,CACX,GAAEvV,EAAAE,EAAA8U,EAAA,GA/BKU,EAAO1V,EAAA,GAAE2V,EAAU3V,EAAA,GAiCnBmV,EAAyEjV,GAA1DC,EAAAA,EAAAA,UAAS,kBAAM2U,EAAoBhF,EAASlN,aAAa,GAAC,GAA9D,GACkCmF,EAAA7H,GAAdC,EAAAA,EAAAA,UAAS,MAAK,GAA7CyV,EAAW7N,EAAA,GAAE8N,EAAc9N,EAAA,GACoBqI,EAAAlQ,GAAdC,EAAAA,EAAAA,UAAS,MAAK,GAA/C2V,EAAY1F,EAAA,GAAE2F,EAAe3F,EAAA,GACc4F,EAAA9V,GAAdC,EAAAA,EAAAA,UAAS,MAAK,GAA3C8V,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GACkCG,EAAAjW,GAAdC,EAAAA,EAAAA,UAAS,MAAK,GAA3DiW,EAAkBD,EAAA,GAAEE,EAAqBF,EAAA,GAQ1C1M,EAAgB,SAAChH,GACnBA,EAAE8I,iBACFsK,EAAe,MACfE,EAAgB,KACpB,EAEMpK,EAAiB,SAAClJ,GACpBA,EAAE8I,iBACF9I,EAAE6T,aAAaC,WAAa,MAChC,EAQMC,EAAkB,SAAC/T,GACjBA,EAAEzE,SAAWyE,EAAEkR,eACfoC,EAAgB,KAExB,EA2BA,OACItY,EAAAA,EAAAA,MAAA,OAAKC,UAAU,wDAAuDC,SAAA,EAClEC,EAAAA,EAAAA,KAAA,MAAIF,UAAU,mBACVwB,MAAO,CACHgT,WAAY,IACZpH,SAAU,OACVqH,WAAY,OACZC,cAAe,KACfC,UAAW,SACXC,MAAO,WACT3U,UAEDI,EAAAA,EAAAA,IAAG,kBAAmB,uBAE3BH,EAAAA,EAAAA,KAAA,KAAGF,UAAU,uCACTwB,MAAO,CACHgT,WAAY,IACZpH,SAAU,OACVqH,WAAY,OACZC,cAAe,KACfC,UAAW,SACXC,MAAO,WACT3U,UACJI,EAAAA,EAAAA,IAAG,4EAA6E,uBAGlFN,EAAAA,EAAAA,MAAA,OAAKC,UAAU,YAAWC,SAAA,EACtBC,EAAAA,EAAAA,KAAA,MAAIF,UAAU,6DAA4DC,UACrEI,EAAAA,EAAAA,IAAG,yBAA0B,uBAElCH,EAAAA,EAAAA,KAAA,KAAGF,UAAU,4CAA2CC,UACnDI,EAAAA,EAAAA,IAAG,oIAAqI,uBAI7IH,EAAAA,EAAAA,KAAA,OAAKF,UAAU,iBAAgBC,SAC1B+X,EAAQpU,IAAI,SAACmU,EAAKjK,GACG2J,EAAY5L,SAASkM,EAAI/Q,KADlB,IAAA9F,EAEnB6X,EAAab,IAAgBpK,EAC7BkL,EAAaZ,IAAiBtK,EAC9BmL,EAAYV,IAAeR,EAAI/Q,IAErC,OACIjH,EAAAA,EAAAA,MAAA,OAEIC,UAAS,6WAAA2D,OAKHoV,EAAa,oCAAsC,GAAE,0CAAApV,OACrDqV,EAAa,6CAA+C,uBAAsB,sCAExFtL,WAAW,EACXC,YAAa,SAAC5I,GAAC,OA3GnB,SAACA,EAAG+I,GACxBqK,EAAerK,GACf/I,EAAE6T,aAAaM,cAAgB,MACnC,CAwGgDC,CAAgBpU,EAAG+I,EAAM,EAC7CI,UAAWnC,EACX6B,WAAYK,EACZmL,YAAa,SAACrU,GAAC,OA9FnB,SAACA,EAAG+I,GACpBoK,IAAgBpK,GAChBuK,EAAgBvK,EAExB,CA0FgDuL,CAAgBtU,EAAG+I,EAAM,EAC7CwL,YAAaR,EACbS,OAAQ,SAACxU,GAAC,OApFnB,SAACA,EAAGyU,GAInB,GAHAzU,EAAE0U,kBACF1U,EAAE8I,iBAEkB,OAAhBqK,GAAwBA,IAAgBsB,EAAW,CACnD,IAAME,E,+CAAc1B,I,qSACd2B,EAAaD,EAAQxB,GAE3BwB,EAAQ1L,OAAOkK,EAAa,GAC5BwB,EAAQ1L,OAAOwL,EAAW,EAAGG,GAE7B1B,EAAWyB,GAGX,IAAME,EAAgBF,EAAQ9V,IAAI,SAAAwK,GAAC,OAAIA,EAAEpH,GAAG,GAC5CqL,EAAY,SAAA6C,GAAI,OAAAhE,EAAAA,EAAA,GACTgE,GAAI,IACPsC,mBAAoBoC,GAAa,EAEzC,C,MAEAzB,EAAe,MACfE,EAAgB,KACpB,CA6D2CwB,CAAW9U,EAAG+I,EAAM,EACnC/E,aAAc,WAAF,OAAQyP,EAAcT,EAAI/Q,IAAI,EAC1CgC,aAAc,WAAF,OAAQwP,EAAc,KAAK,EAACvY,SAAA,EAExCF,EAAAA,EAAAA,MAAA,OAAKC,UAAU,0CAAyCC,SAAA,EAEpDC,EAAAA,EAAAA,KAAA,OAAKF,UAAU,+CAA+CW,QAAQ,YAAYF,KAAK,OAAOsU,MAAM,6BAA4B9U,UAC5HC,EAAAA,EAAAA,KAAA,QAAMa,EAAE,0DAA0DL,OAAO,UAAUI,YAAY,MAAMF,cAAc,QAAQC,eAAe,aAI9IX,EAAAA,EAAAA,KAAA,QAAMF,UAAU,0EAAyEC,SACpF8X,EAAIlN,YAIb9K,EAAAA,EAAAA,MAAA,OAAKC,UAAU,uDAAsDC,SAAA,CAEhEgZ,IACG/Y,EAAAA,EAAAA,KAAA,OACIF,UAAU,0BACVwB,MAAO,CACH8U,IAAK,QACLwD,KAAM,MACNC,UAAW,oBACb9Z,UAEFC,EAAAA,EAAAA,KAAA,OACIC,MAAMoC,aAAM,EAANA,EAAQ3C,aAAgC,QAAvBsB,EAAI7B,OAAOiC,oBAAY,IAAAJ,OAAA,EAAnBA,EAAqBtB,YAAa,IAAM,wBACnEQ,IAAI,MACJoB,MAAO,CAAEC,MAAO,OAAQC,OAAQ,aAM5CxB,EAAAA,EAAAA,KAAA,OACIF,UAAU,sEACVW,QAAQ,YACRF,KAAK,OACLsU,MAAM,6BAA4B9U,UAElCC,EAAAA,EAAAA,KAAA,QAAMa,EAAE,8jCAA8jCN,KAAK,eAI/kCP,EAAAA,EAAAA,KAAA,OACIF,UAAU,iGACVwB,MAAO,CACHC,MAAO,OACPC,OAAQ,OACR8K,aAAc,MACdM,gBAAiB,WACnB7M,UAEFC,EAAAA,EAAAA,KAAA,QACIF,UAAU,oCACVwB,MAAO,CACHC,MAAO,OACPC,OAAQ,OACR8K,aAAc,MACdM,gBAAiB,UACjBkJ,OAAQ,oBACRgE,UAAW,uDACX1D,IAAK,OACLwD,KAAM,iBAhFjB/B,EAAI/Q,IAuFrB,SAKRjH,EAAAA,EAAAA,MAAA,OAAKC,UAAU,YAAWC,SAAA,EACtBC,EAAAA,EAAAA,KAAA,OAAKF,UAAU,6DAA4DC,UACvEC,EAAAA,EAAAA,KAAA,MACIsB,MAAO,CACHgT,WAAY,IACZpH,SAAU,OACVqH,WAAY,OACZC,cAAe,KACfE,MAAO,WACT3U,UAEDI,EAAAA,EAAAA,IAAG,sBAAuB,yBAInCH,EAAAA,EAAAA,KAAA,KAAGF,UAAU,YACTwB,MAAO,CACHgT,WAAY,IACZpH,SAAU,OACVqH,WAAY,OACZC,cAAe,KACfE,MAAO,WACT3U,UAEDI,EAAAA,EAAAA,IAAG,sMAAuM,uBAI/MN,EAAAA,EAAAA,MAAA,OACIC,UAAU,kCACV+I,aAAc,WAAF,OAAQ4P,EAAsB,cAAc,EACxD3P,aAAc,WAAF,OAAQ2P,EAAsB,KAAK,EAAC1Y,SAAA,EAEhDF,EAAAA,EAAAA,MAAA,UACIuM,KAAK,SACLtM,UAAS,+GAAA2D,OAAwI,gBAAvB+U,EAAuC,kBAAoB,mBACrLlX,MAAO,CACHC,MAAO,QACPC,OAAQ,OACR8K,aAAc,MACdE,WAAY,MACZC,aAAc,OACdC,cAAe,MACfC,YAAa,OACbC,gBAAiB,UACjBmN,IAAK,OACLjE,OAA+B,gBAAvB0C,EAAuC,qBAAuB,QAE1E3Q,UAAU,EAAK9H,SAAA,EAEfC,EAAAA,EAAAA,KAAA,OAAKF,UAAU,oBAAoBS,KAAK,OAAOC,OAAO,eAAeC,QAAQ,YAAWV,UACpFC,EAAAA,EAAAA,KAAA,QAAMU,cAAc,QAAQC,eAAe,QAAQC,YAAY,IAAIC,EAAE,sBAEzEb,EAAAA,EAAAA,KAAA,QAAMsB,MAAO,CACTgT,WAAY,IACZpH,SAAU,OACVqH,WAAY,OACZC,cAAe,KACfE,MAAO,WACT3U,UACGI,EAAAA,EAAAA,IAAG,cAAe,yBAKH,gBAAvBqY,IACGxY,EAAAA,EAAAA,KAAA,OAAKF,UAAU,gBAAgBwB,MAAO,CAAE8U,IAAK,QAASwD,KAAM,MAAOC,UAAW,oBAAqB9Z,UAC/FC,EAAAA,EAAAA,KAAA,OACIC,MAAMoC,aAAM,EAANA,EAAQ3C,aAAgC,QAAvB+W,EAAItX,OAAOiC,oBAAY,IAAAqV,OAAA,EAAnBA,EAAqB/W,YAAa,IAAM,wBACnEQ,IAAI,MACJoB,MAAO,CAAEC,MAAO,OAAQC,OAAQ,gBAOhDxB,EAAAA,EAAAA,KAAA,OAAKF,UAAU,oFAAoFwB,MAAO,CAAEC,MAAO,SAAUxB,UACzHF,EAAAA,EAAAA,MAAA,OAAKC,UAAU,6DAA4DC,SAAA,EAEvEF,EAAAA,EAAAA,MAAA,OACIC,UAAU,gBACV+I,aAAc,WAAF,OAAQ4P,EAAsB,aAAa,EACvD3P,aAAc,WAAF,OAAQ2P,EAAsB,KAAK,EAAC1Y,SAAA,CAExB,eAAvByY,IACGxY,EAAAA,EAAAA,KAAA,OAAKF,UAAU,0BAA0BwB,MAAO,CAAE8U,IAAK,QAASwD,KAAM,MAAOC,UAAW,oBAAqB9Z,UACzGC,EAAAA,EAAAA,KAAA,OACIC,MAAMoC,aAAM,EAANA,EAAQ3C,aAAgC,QAAvBgX,EAAIvX,OAAOiC,oBAAY,IAAAsV,OAAA,EAAnBA,EAAqBhX,YAAa,IAAM,wBACnEQ,IAAI,MACJoB,MAAO,CAAEC,MAAO,OAAQC,OAAQ,aAI5C3B,EAAAA,EAAAA,MAAA,UACIuM,KAAK,SACLtM,UAAS,2NAAA2D,OAAoP,eAAvB+U,EAAsC,kBAAoB,mBAChSlX,MAAO,CACHwU,OAA+B,eAAvB0C,EAAsC,qBAAuB,qBAEzE3Q,UAAU,EAAK9H,SAAA,EAEfC,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,KAAKC,OAAO,KAAKf,QAAQ,YAAYF,KAAK,OAAOsU,MAAM,6BAA4B9U,UAC1FC,EAAAA,EAAAA,KAAA,QAAMa,EAAE,snBAAsnBL,OAAO,UAAUI,YAAY,MAAMF,cAAc,QAAQC,eAAe,aAE1sBX,EAAAA,EAAAA,KAAA,QAAMF,UAAU,kEAAiEC,UAC5EI,EAAAA,EAAAA,IAAG,aAAc,6BAM9BN,EAAAA,EAAAA,MAAA,OACIC,UAAU,gBACV+I,aAAc,WAAF,OAAQ4P,EAAsB,UAAU,EACpD3P,aAAc,WAAF,OAAQ2P,EAAsB,KAAK,EAAC1Y,SAAA,CAExB,YAAvByY,IACGxY,EAAAA,EAAAA,KAAA,OAAKF,UAAU,0BAA0BwB,MAAO,CAAE8U,IAAK,QAASwD,KAAM,MAAOC,UAAW,oBAAqB9Z,UACzGC,EAAAA,EAAAA,KAAA,OACIC,MAAMoC,aAAM,EAANA,EAAQ3C,aAAgC,QAAvBiX,EAAIxX,OAAOiC,oBAAY,IAAAuV,OAAA,EAAnBA,EAAqBjX,YAAa,IAAM,wBACnEQ,IAAI,MACJoB,MAAO,CAAEC,MAAO,OAAQC,OAAQ,aAI5C3B,EAAAA,EAAAA,MAAA,UACIuM,KAAK,SACLtM,UAAS,2NAAA2D,OAAoP,YAAvB+U,EAAmC,kBAAoB,mBAC7RlX,MAAO,CACHwU,OAA+B,YAAvB0C,EAAmC,qBAAuB,qBAEtE3Q,UAAU,EAAK9H,SAAA,EAEfC,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,KAAKC,OAAO,KAAKf,QAAQ,YAAYF,KAAK,OAAOsU,MAAM,6BAA4B9U,UAC1FC,EAAAA,EAAAA,KAAA,QAAMa,EAAE,2PAA2PL,OAAO,UAAUI,YAAY,MAAMF,cAAc,QAAQC,eAAe,aAE/UX,EAAAA,EAAAA,KAAA,QAAMF,UAAU,kEAAiEC,UAC5EI,EAAAA,EAAAA,IAAG,UAAW,6BAM3BN,EAAAA,EAAAA,MAAA,OACIC,UAAU,gBACV+I,aAAc,WAAF,OAAQ4P,EAAsB,YAAY,EACtD3P,aAAc,WAAF,OAAQ2P,EAAsB,KAAK,EAAC1Y,SAAA,CAExB,cAAvByY,IACGxY,EAAAA,EAAAA,KAAA,OAAKF,UAAU,0BAA0BwB,MAAO,CAAE8U,IAAK,QAASwD,KAAM,MAAOC,UAAW,oBAAqB9Z,UACzGC,EAAAA,EAAAA,KAAA,OACIC,MAAMoC,aAAM,EAANA,EAAQ3C,aAAgC,QAAvBkX,EAAIzX,OAAOiC,oBAAY,IAAAwV,OAAA,EAAnBA,EAAqBlX,YAAa,IAAM,wBACnEQ,IAAI,MACJoB,MAAO,CAAEC,MAAO,OAAQC,OAAQ,aAI5C3B,EAAAA,EAAAA,MAAA,UACIuM,KAAK,SACLtM,UAAS,2NAAA2D,OAAoP,cAAvB+U,EAAqC,kBAAoB,mBAC/RlX,MAAO,CACHwU,OAA+B,cAAvB0C,EAAqC,qBAAuB,qBAExE3Q,UAAU,EAAK9H,SAAA,EAEfC,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,KAAKC,OAAO,KAAKf,QAAQ,YAAYF,KAAK,OAAOsU,MAAM,6BAA4B9U,UAC1FC,EAAAA,EAAAA,KAAA,QAAMa,EAAE,ofAAofL,OAAO,UAAUI,YAAY,MAAMF,cAAc,QAAQC,eAAe,aAExkBX,EAAAA,EAAAA,KAAA,QAAMF,UAAU,kEAAiEC,UAC5EI,EAAAA,EAAAA,IAAG,YAAa,6BAM7BN,EAAAA,EAAAA,MAAA,OACIC,UAAU,gBACV+I,aAAc,WAAF,OAAQ4P,EAAsB,UAAU,EACpD3P,aAAc,WAAF,OAAQ2P,EAAsB,KAAK,EAAC1Y,SAAA,CAExB,YAAvByY,IACGxY,EAAAA,EAAAA,KAAA,OAAKF,UAAU,0BAA0BwB,MAAO,CAAE8U,IAAK,QAASwD,KAAM,MAAOC,UAAW,oBAAqB9Z,UACzGC,EAAAA,EAAAA,KAAA,OACIC,MAAMoC,aAAM,EAANA,EAAQ3C,aAAgC,QAAvBmX,EAAI1X,OAAOiC,oBAAY,IAAAyV,OAAA,EAAnBA,EAAqBnX,YAAa,IAAM,wBACnEQ,IAAI,MACJoB,MAAO,CAAEC,MAAO,OAAQC,OAAQ,aAI5C3B,EAAAA,EAAAA,MAAA,UACIuM,KAAK,SACLtM,UAAS,2NAAA2D,OAAoP,YAAvB+U,EAAmC,kBAAoB,mBAC7RlX,MAAO,CACHwU,OAA+B,YAAvB0C,EAAmC,qBAAuB,qBAEtE3Q,UAAU,EAAK9H,SAAA,EAEfC,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,KAAKC,OAAO,KAAKf,QAAQ,YAAYF,KAAK,OAAOsU,MAAM,6BAA4B9U,UAC1FC,EAAAA,EAAAA,KAAA,QAAMa,EAAE,w/BAAw/BL,OAAO,UAAUI,YAAY,MAAMF,cAAc,QAAQC,eAAe,aAE5kCX,EAAAA,EAAAA,KAAA,QAAMF,UAAU,kEAAiEC,UAC5EI,EAAAA,EAAAA,IAAG,UAAW,6BAM3BN,EAAAA,EAAAA,MAAA,OACIC,UAAU,gBACV+I,aAAc,WAAF,OAAQ4P,EAAsB,aAAa,EACvD3P,aAAc,WAAF,OAAQ2P,EAAsB,KAAK,EAAC1Y,SAAA,CAExB,eAAvByY,IACGxY,EAAAA,EAAAA,KAAA,OAAKF,UAAU,0BAA0BwB,MAAO,CAAE8U,IAAK,QAASwD,KAAM,MAAOC,UAAW,oBAAqB9Z,UACzGC,EAAAA,EAAAA,KAAA,OACIC,MAAMoC,aAAM,EAANA,EAAQ3C,aAAgC,QAAvBoX,EAAI3X,OAAOiC,oBAAY,IAAA0V,OAAA,EAAnBA,EAAqBpX,YAAa,IAAM,wBACnEQ,IAAI,MACJoB,MAAO,CAAEC,MAAO,OAAQC,OAAQ,aAI5C3B,EAAAA,EAAAA,MAAA,UACIuM,KAAK,SACLtM,UAAS,2NAAA2D,OAAoP,eAAvB+U,EAAsC,kBAAoB,mBAChSlX,MAAO,CACHwU,OAA+B,eAAvB0C,EAAsC,qBAAuB,qBAEzE3Q,UAAU,EAAK9H,SAAA,EAEfC,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,KAAKC,OAAO,KAAKf,QAAQ,YAAYF,KAAK,OAAOsU,MAAM,6BAA4B9U,UAC1FC,EAAAA,EAAAA,KAAA,QAAMa,EAAE,6vBAA6vBL,OAAO,UAAUI,YAAY,MAAMF,cAAc,QAAQC,eAAe,aAEj1BX,EAAAA,EAAAA,KAAA,QAAMF,UAAU,kEAAiEC,UAC5EI,EAAAA,EAAAA,IAAG,aAAc,sCAStD,E,kxCCZA,QAveqB,SAAHY,GAA0C,I,IAApCmR,EAAQnR,EAARmR,SAAUC,EAAWpR,EAAXoR,YAAa9P,EAAMtB,EAANsB,OAEaD,G,GAAdG,EAAAA,EAAAA,UAAS,M,EAAK,E,o4BAAjDyX,EAAa5X,EAAA,GAAE6X,EAAgB7X,EAAA,GAGhC8X,EAAkB,CAAC,OACnBC,EAAkB,CAAC,MACnBC,EAAmB,CAAC,aAEpB5E,EAAe,SAAC3Q,GAClB,IAAAkQ,EAAuClQ,EAAEzE,OAAjC2R,EAAIgD,EAAJhD,KAAMzI,EAAKyL,EAALzL,MAAO8C,EAAI2I,EAAJ3I,KAAM4J,EAAOjB,EAAPiB,QAE3B,GAAa,mBAATjE,EACAI,EAAY,SAAA6C,GAAI,OAAAhE,EAAAA,EAAA,GACTgE,GAAI,IACPqF,eAAgB/Q,EAChBgR,kBAAmBhR,GAAK,QAEzB,GAAa,aAATyI,EAAqB,CAE5B,IAAIwI,EACU,KAAVjR,SAAgBA,EAChBiR,EAAe,MAEfA,EAAeC,SAASlR,GAEpBmR,MAAMF,KACNA,EAAe,OAGvBpI,EAAY,SAAA6C,GAAI,OAAAhE,EAAAA,EAAA,GACTgE,GAAI,IACP0F,SAAUH,GAAY,EAE9B,KAAoB,oBAATxI,EAEHoI,EAAgBxO,SAASrC,IACzB6I,EAAY,SAAA6C,GAAI,OAAAhE,EAAAA,EAAA,GACTgE,GAAI,IACP2F,gBAAiBrR,EACjBnD,QAASmD,GAAK,GAGN,uBAATyI,EACPI,EAAY,SAAA6C,GAAI,OAAAhE,EAAAA,EAAA,GACTgE,GAAI,IACP4F,mBAAoBtR,EACpBlD,MAAOkD,EAAMuR,eAAa,GAEd,gBAAT9I,EAEHmI,EAAgBvO,SAASrC,IACzB6I,EAAY,SAAA6C,GAAI,OAAAhE,EAAAA,EAAA,GAAUgE,GAAI,GAAA9D,EAAA,GAAGa,EAAOzI,GAAK,GAEjC,iBAATyI,EAEHqI,EAAiBzO,SAASrC,IAC1B6I,EAAY,SAAA6C,GAAI,OAAAhE,EAAAA,EAAA,GAAUgE,GAAI,GAAA9D,EAAA,GAAGa,EAAOzI,GAAK,GAIjD6I,EAFgB,iBAATJ,EAEK,SAAAiD,GAAI,OAAAhE,EAAAA,EAAA,GAAUgE,GAAI,GAAA9D,EAAA,GAAGa,EAAOzI,GAAK,EAC7B,aAAT8C,EACK,SAAA4I,GAAI,OAAAhE,EAAAA,EAAA,GAAUgE,GAAI,GAAA9D,EAAA,GAAGa,EAAOiE,GAAO,EAEnC,SAAAhB,GAAI,OAAAhE,EAAAA,EAAA,GAAUgE,GAAI,GAAA9D,EAAA,GAAGa,EAAOzI,GAAK,EAErD,EAGMwR,EAAa,CACfzO,SAAU,QACV9K,MAAO,OACPC,OAAQ,OACR8K,aAAc,MACdC,YAAa,MACbC,WAAY,MACZC,aAAc,OACdC,cAAe,MACfC,YAAa,OACbC,gBAAiB,UACjBC,YAAa,UACbC,YAAa,QACbC,QAAS,EACTC,UAAW,aACXE,SAAU,OACVqH,WAAY,IACZ9S,QAAS,OACTsZ,WAAY,SACZC,gBAAiB,oPACjBC,iBAAkB,YAClBC,mBAAoB,oBACpBC,eAAgB,OAChBC,WAAY,OACZC,iBAAkB,OAClBC,cAAe,QAIbxa,EAAW,SAAH1B,GAAA,IAAA4B,EAAAua,EAAAnc,EAAMoc,MAAAA,OAAK,IAAAD,GAAQA,EAAA,OAC7Bvb,EAAAA,EAAAA,KAAA,OACIC,MAAMoC,aAAM,EAANA,EAAQ3C,aAAgC,QAAvBsB,EAAI7B,OAAOiC,oBAAY,IAAAJ,OAAA,EAAnBA,EAAqBtB,YAAa,IAAM,wBACnEQ,IAAI,MACJoB,MAAO,CAAEC,MAAOia,EAAQ,OAAS,OAAQha,OAAQga,EAAQ,OAAS,SACpE,EAIAC,EAAc,CAChB,CAAEnS,MAAO,KAAMqB,OAAOxK,EAAAA,EAAAA,IAAG,UAAW,oBAAqBub,QAAQ,GACjE,CAAEpS,MAAO,eAAgBqB,OAAOxK,EAAAA,EAAAA,IAAG,eAAgB,oBAAqBub,QAAQ,GAChF,CAAEpS,MAAO,kBAAmBqB,OAAOxK,EAAAA,EAAAA,IAAG,oBAAqB,oBAAqBub,QAAQ,GACxF,CAAEpS,MAAO,aAAcqB,OAAOxK,EAAAA,EAAAA,IAAG,WAAY,oBAAqBub,QAAQ,GAC1E,CAAEpS,MAAO,aAAcqB,OAAOxK,EAAAA,EAAAA,IAAG,QAAS,oBAAqBub,QAAQ,GACvE,CAAEpS,MAAO,aAAcqB,OAAOxK,EAAAA,EAAAA,IAAG,aAAc,oBAAqBub,QAAQ,IAe1EC,EAAe,CACjB,CAAErS,MAAO,YAAaqB,OAAOxK,EAAAA,EAAAA,IAAG,YAAa,oBAAqBub,QAAQ,GAC1E,CAAEpS,MAAO,SAAUqB,OAAOxK,EAAAA,EAAAA,IAAG,SAAU,oBAAqBub,QAAQ,GACpE,CAAEpS,MAAO,QAASqB,OAAOxK,EAAAA,EAAAA,IAAG,QAAS,oBAAqBub,QAAQ,GAClE,CAAEpS,MAAO,OAAQqB,OAAOxK,EAAAA,EAAAA,IAAG,OAAQ,oBAAqBub,QAAQ,IAY9DE,EAAe,CACjB,CAAEtS,MAAO,WAAYqB,OAAOxK,EAAAA,EAAAA,IAAG,WAAY,qBAC3C,CAAEmJ,MAAO,UAAWqB,OAAOxK,EAAAA,EAAAA,IAAG,UAAW,sBAG7C,OACIN,EAAAA,EAAAA,MAAA,OAAKC,UAAU,wDAAuDC,SAAA,EAClEC,EAAAA,EAAAA,KAAA,MAAIF,UAAU,mBACVwB,MAAO,CACHgT,WAAY,IACZpH,SAAU,OACVqH,WAAY,OACZC,cAAe,KACfC,UAAW,SACXC,MAAO,WACT3U,UAEDI,EAAAA,EAAAA,IAAG,mBAAoB,uBAE5BH,EAAAA,EAAAA,KAAA,KAAGF,UAAU,6BACTwB,MAAO,CACHgT,WAAY,IACZpH,SAAU,OACVqH,WAAY,OACZC,cAAe,KACfC,UAAW,SACXC,MAAO,WACT3U,UACJI,EAAAA,EAAAA,IAAG,+GAAgH,uBAErHN,EAAAA,EAAAA,MAAA,OAAKC,UAAU,YAAWC,SAAA,EAEtBF,EAAAA,EAAAA,MAAA,OAAKC,UAAU,iBAAgBC,SAAA,EAC3BF,EAAAA,EAAAA,MAAA,SAAO8U,QAAQ,iBAAiB7U,UAAU,sFAAqFC,SAAA,EAC1HI,EAAAA,EAAAA,IAAG,iBAAkB,qBACtBH,EAAAA,EAAAA,KAAC4U,EAAO,CAAC9U,UAAU,YAAYwI,SAASnI,EAAAA,EAAAA,IAAG,kEAAmE,oBAAoBJ,UAC9HC,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,KAAKC,OAAO,KAAKf,QAAQ,YAAYF,KAAK,OAAOsU,MAAM,6BAA4B9U,UAACC,EAAAA,EAAAA,KAAA,QAAMa,EAAE,2UAA2UL,OAAO,UAAUI,YAAY,MAAMF,cAAc,QAAQC,eAAe,kBAGlgBX,EAAAA,EAAAA,KAAA,SACIoM,KAAK,SACLxG,GAAG,iBACHmM,KAAK,iBACL7J,IAAI,IACJD,IAAI,MACJnI,UAAU,yGACVwB,MAAK0P,EAAAA,EAAA,GACE8J,GAAU,IACbE,gBAAiB,SAErB1R,MAAO4I,EAASmI,gBAAkBnI,EAASoI,mBAAqB,GAChE/Q,SAAUiM,QAKlB3V,EAAAA,EAAAA,MAAA,OAAKC,UAAU,iBAAgBC,SAAA,EAC3BF,EAAAA,EAAAA,MAAA,SAAO8U,QAAQ,WAAW7U,UAAU,sFAAqFC,SAAA,EACpHI,EAAAA,EAAAA,IAAG,+BAAgC,qBACpCH,EAAAA,EAAAA,KAAC4U,EAAO,CAAC9U,UAAU,YAAYwI,SAASnI,EAAAA,EAAAA,IAAG,2GAA4G,oBAAoBJ,UACvKC,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,KAAKC,OAAO,KAAKf,QAAQ,YAAYF,KAAK,OAAOsU,MAAM,6BAA4B9U,UAACC,EAAAA,EAAAA,KAAA,QAAMa,EAAE,2UAA2UL,OAAO,UAAUI,YAAY,MAAMF,cAAc,QAAQC,eAAe,kBAGlgBX,EAAAA,EAAAA,KAAA,SACIoM,KAAK,SACLxG,GAAG,WACHmM,KAAK,WACLjS,UAAU,yGACVwB,MAAK0P,EAAAA,EAAA,GACE8J,GAAU,IACbE,gBAAiB,SAErB1R,MAAO4I,EAASwI,UAAY,GAC5BnR,SAAUiM,EACVhM,aAAarJ,EAAAA,EAAAA,IAAG,yBAA0B,0BAKlDN,EAAAA,EAAAA,MAAA,OAAKC,UAAU,iBAAgBC,SAAA,EAC3BF,EAAAA,EAAAA,MAAA,SAAO8U,QAAQ,kBAAkB7U,UAAU,sFAAqFC,SAAA,EAC3HI,EAAAA,EAAAA,IAAG,kBAAmB,qBACvBH,EAAAA,EAAAA,KAAC4U,EAAO,CAAC9U,UAAU,YAAYwI,SAASnI,EAAAA,EAAAA,IAAG,4DAA6D,oBAAoBJ,UACxHC,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,KAAKC,OAAO,KAAKf,QAAQ,YAAYF,KAAK,OAAOsU,MAAM,6BAA4B9U,UAACC,EAAAA,EAAAA,KAAA,QAAMa,EAAE,2UAA2UL,OAAO,UAAUI,YAAY,MAAMF,cAAc,QAAQC,eAAe,kBAGlgBX,EAAAA,EAAAA,KAAA,OAAKF,UAAU,sCAAqCC,SAC/C0b,EAAY/X,IAAI,SAAA+G,GACb,IAAMI,GAAcqH,EAASyI,iBAAmBzI,EAAS/L,SAAW,QAAUsE,EAAOnB,MAC/EyP,EAAYiB,IAAkB,QAALvW,OAAagH,EAAOnB,OAEnD,OACIzJ,EAAAA,EAAAA,MAAA,OAEIC,UAAU,gBACV+I,aAAc,WAAF,OAAS4B,EAAOiR,QAAUzB,EAAiB,QAADxW,OAASgH,EAAOnB,OAAQ,EAC9ER,aAAc,WAAF,OAAQmR,EAAiB,KAAK,EAACla,SAAA,EAGzC0K,EAAOiR,QAAU3C,IACf/Y,EAAAA,EAAAA,KAAA,OAAKF,UAAU,0BAA0BwB,MAAO,CAAE8U,IAAK,QAASwD,KAAM,MAAOC,UAAW,oBAAqB9Z,UACzGC,EAAAA,EAAAA,KAACc,EAAQ,CAAC0a,OAAK,OAGvBxb,EAAAA,EAAAA,KAAA,UACIoM,KAAK,SACLhF,QAAS,WAAF,OAAQqD,EAAOiR,QAAUlG,EAAa,CAAEpV,OAAQ,CAAE2R,KAAM,kBAAmBzI,MAAOmB,EAAOnB,QAAU,EAC1GxJ,UAAS,yFAAA2D,OACJgH,EAAOiR,OAEF7Q,EACI,mEACA,mFAJI,2BAAApH,OACmBsV,EAAY,kBAAoB,kBAAiB,wCAKtFzX,MAAO,CACHwU,QAASrL,EAAOiR,QAAU3C,EAAY,qBAAuB,YAC7DlM,YAAcpC,EAAOiR,OAAsB7Q,EAAa,UAAY,UAAtC,UAC9BgR,SAAU,SAEdhU,UAAW4C,EAAOiR,OAAO3b,SAExB0K,EAAOE,UA5BPF,EAAOnB,MAgCxB,SAKRzJ,EAAAA,EAAAA,MAAA,OAAKC,UAAU,iBAAgBC,SAAA,EAC3BF,EAAAA,EAAAA,MAAA,SAAO8U,QAAQ,qBAAqB7U,UAAU,sFAAqFC,SAAA,EAC9HI,EAAAA,EAAAA,IAAG,qBAAsB,qBAC1BH,EAAAA,EAAAA,KAAC4U,EAAO,CAAC9U,UAAU,YAAYwI,SAASnI,EAAAA,EAAAA,IAAG,kGAAmG,oBAAoBJ,UAC9JC,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,KAAKC,OAAO,KAAKf,QAAQ,YAAYF,KAAK,OAAOsU,MAAM,6BAA4B9U,UAACC,EAAAA,EAAAA,KAAA,QAAMa,EAAE,2UAA2UL,OAAO,UAAUI,YAAY,MAAMF,cAAc,QAAQC,eAAe,kBAGlgBd,EAAAA,EAAAA,MAAA,UACI+F,GAAG,qBACHmM,KAAK,qBACLjS,UAAU,0FACVwB,MAAOwZ,EACPxR,MAAO4I,EAAS0I,oBAAsB1I,EAAS9L,OAAS,OACxDmD,SAAUiM,EAAazV,SAAA,EAEvBC,EAAAA,EAAAA,KAAA,UAAQsJ,MAAM,MAAKvJ,UAAEI,EAAAA,EAAAA,IAAG,MAAO,uBAC/BH,EAAAA,EAAAA,KAAA,UAAQsJ,MAAM,OAAMvJ,UAAEI,EAAAA,EAAAA,IAAG,OAAQ,6BAKzCN,EAAAA,EAAAA,MAAA,OAAKC,UAAU,iBAAgBC,SAAA,EAC3BF,EAAAA,EAAAA,MAAA,SAAO8U,QAAQ,eAAe7U,UAAU,sFAAqFC,SAAA,EACxHI,EAAAA,EAAAA,IAAG,8BAA+B,qBACnCH,EAAAA,EAAAA,KAAC4U,EAAO,CAAC9U,UAAU,YAAYwI,SAASnI,EAAAA,EAAAA,IAAG,qIAAsI,oBAAoBJ,UACjMC,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,KAAKC,OAAO,KAAKf,QAAQ,YAAYF,KAAK,OAAOsU,MAAM,6BAA4B9U,UAACC,EAAAA,EAAAA,KAAA,QAAMa,EAAE,2UAA2UL,OAAO,UAAUI,YAAY,MAAMF,cAAc,QAAQC,eAAe,kBAGlgBX,EAAAA,EAAAA,KAAA,UACI4F,GAAG,eACHmM,KAAK,eACLjS,UAAU,yGACVwB,MAAOwZ,EACPxR,MAAO4I,EAAS7M,cAAgB,WAChCkE,SAAUiM,EAAazV,SAEtB6b,EAAalY,IAAI,SAAA+G,GAAM,OACpBzK,EAAAA,EAAAA,KAAA,UAA2BsJ,MAAOmB,EAAOnB,MAAMvJ,SAAE0K,EAAOE,OAA3CF,EAAOnB,MAAmD,SAMnFzJ,EAAAA,EAAAA,MAAA,OAAKC,UAAU,iBAAgBC,SAAA,EAC3BF,EAAAA,EAAAA,MAAA,SAAOC,UAAU,sFAAqFC,SAAA,EACjGI,EAAAA,EAAAA,IAAG,yBAA0B,qBAC9BH,EAAAA,EAAAA,KAAC4U,EAAO,CAAC9U,UAAU,YAAYwI,SAASnI,EAAAA,EAAAA,IAAG,6DAA8D,oBAAoBJ,UACzHC,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,KAAKC,OAAO,KAAKf,QAAQ,YAAYF,KAAK,OAAOsU,MAAM,6BAA4B9U,UAACC,EAAAA,EAAAA,KAAA,QAAMa,EAAE,2UAA2UL,OAAO,UAAUI,YAAY,MAAMF,cAAc,QAAQC,eAAe,kBAGlgBd,EAAAA,EAAAA,MAAA,OACIC,UAAU,gBACV+I,aAAc,WAAF,OAAQoR,EAAiB,kBAAkB,EACvDnR,aAAc,WAAF,OAAQmR,EAAiB,KAAK,EAACla,SAAA,CAGxB,oBAAlBia,IACGha,EAAAA,EAAAA,KAAA,OAAKF,UAAU,0BAA0BwB,MAAO,CAAE8U,IAAK,QAASwD,KAAM,MAAOC,UAAW,oBAAqB9Z,UACzGC,EAAAA,EAAAA,KAACc,EAAQ,OAGjBd,EAAAA,EAAAA,KAAA,OACIF,UAAS,wFAAA2D,OAA4G,oBAAlBuW,EAAsC,kBAAoB,mBAC7J1Y,MAAO,CACHwU,OAA0B,oBAAlBkE,EAAsC,qBAAuB,oBACrEpN,gBAAiB,WACnB7M,SA5MH,CACnB,CAAEuJ,MAAO,WAAYqB,MAAO,YAC5B,CAAErB,MAAO,UAAWqB,MAAO,eAC3B,CAAErB,MAAO,WAAYqB,MAAO,YAC5B,CAAErB,MAAO,YAAaqB,MAAO,cA0MOjH,IAAI,SAAAoY,GAAO,OACvB9b,EAAAA,EAAAA,KAAA,QAEIF,UAAU,uFAAsFC,SAE/F+b,EAAQnR,OAHJmR,EAAQxS,MAIV,YAOvBzJ,EAAAA,EAAAA,MAAA,OAAKC,UAAU,iBAAgBC,SAAA,EAC3BF,EAAAA,EAAAA,MAAA,SAAOC,UAAU,sFAAqFC,SAAA,EACjGI,EAAAA,EAAAA,IAAG,6BAA8B,qBAClCH,EAAAA,EAAAA,KAAC4U,EAAO,CAAC9U,UAAU,YAAYwI,SAASnI,EAAAA,EAAAA,IAAG,qDAAsD,oBAAoBJ,UACjHC,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,KAAKC,OAAO,KAAKf,QAAQ,YAAYF,KAAK,OAAOsU,MAAM,6BAA4B9U,UAACC,EAAAA,EAAAA,KAAA,QAAMa,EAAE,2UAA2UL,OAAO,UAAUI,YAAY,MAAMF,cAAc,QAAQC,eAAe,kBAGlgBX,EAAAA,EAAAA,KAAA,OAAKF,UAAU,sCAAqCC,SAC/C4b,EAAajY,IAAI,SAAA+G,GACd,IAAMI,GAAcqH,EAAS/M,cAAgB,eAAiBsF,EAAOnB,MAC/DyP,EAAYiB,IAAkB,WAALvW,OAAgBgH,EAAOnB,OAEtD,OACIzJ,EAAAA,EAAAA,MAAA,OAEIC,UAAU,gBACV+I,aAAc,WAAF,OAAS4B,EAAOiR,QAAUzB,EAAiB,WAADxW,OAAYgH,EAAOnB,OAAQ,EACjFR,aAAc,WAAF,OAAQmR,EAAiB,KAAK,EAACla,SAAA,EAGzC0K,EAAOiR,QAAU3C,IACf/Y,EAAAA,EAAAA,KAAA,OAAKF,UAAU,0BAA0BwB,MAAO,CAAE8U,IAAK,QAASwD,KAAM,MAAOC,UAAW,oBAAqB9Z,UACzGC,EAAAA,EAAAA,KAACc,EAAQ,CAAC0a,OAAK,OAGvBxb,EAAAA,EAAAA,KAAA,UACIoM,KAAK,SACLhF,QAAS,WAAF,OAAQqD,EAAOiR,QAAUlG,EAAa,CAAEpV,OAAQ,CAAE2R,KAAM,eAAgBzI,MAAOmB,EAAOnB,QAAU,EACvGxJ,UAAS,yFAAA2D,OACJgH,EAAOiR,OAEF7Q,EACI,mEACA,mFAJI,2BAAApH,OACmBsV,EAAY,kBAAoB,kBAAiB,wCAKtFzX,MAAO,CACHwU,QAASrL,EAAOiR,QAAU3C,EAAY,qBAAuB,YAC7DlM,YAAcpC,EAAOiR,OAAsB7Q,EAAa,UAAY,UAAtC,UAC9BgR,SAAU,SAEdhU,UAAW4C,EAAOiR,OAAO3b,SAExB0K,EAAOE,UA5BPF,EAAOnB,MAgCxB,SAKRzJ,EAAAA,EAAAA,MAAA,OAAKC,UAAU,iBAAgBC,SAAA,EAC3BF,EAAAA,EAAAA,MAAA,SAAOC,UAAU,sFAAqFC,SAAA,EACjGI,EAAAA,EAAAA,IAAG,cAAe,qBACnBH,EAAAA,EAAAA,KAAC4U,EAAO,CAAC9U,UAAU,YAAYwI,SAASnI,EAAAA,EAAAA,IAAG,sDAAuD,oBAAoBJ,UAClHC,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,KAAKC,OAAO,KAAKf,QAAQ,YAAYF,KAAK,OAAOsU,MAAM,6BAA4B9U,UAACC,EAAAA,EAAAA,KAAA,QAAMa,EAAE,2UAA2UL,OAAO,UAAUI,YAAY,MAAMF,cAAc,QAAQC,eAAe,kBAGlgBX,EAAAA,EAAAA,KAAA,OAAKF,UAAU,sCAAqCC,SAxShD,CAChB,CAAEuJ,MAAO,KAAMqB,MAAO,QAAS+Q,QAAQ,GACvC,CAAEpS,MAAO,KAAMqB,MAAO,QAAS+Q,QAAQ,GACvC,CAAEpS,MAAO,KAAMqB,MAAO,QAAS+Q,QAAQ,GACvC,CAAEpS,MAAO,MAAOqB,MAAO,UAAW+Q,QAAQ,GAC1C,CAAEpS,MAAO,MAAOqB,MAAO,UAAW+Q,QAAQ,GAC1C,CAAEpS,MAAO,MAAOqB,MAAO,UAAW+Q,QAAQ,GAC1C,CAAEpS,MAAO,MAAOqB,MAAO,UAAW+Q,QAAQ,IAkSbhY,IAAI,SAAAqY,GACb,IAAMlR,GAAcqH,EAAShM,aAAe,SAAW6V,EAAKzS,MACtDyP,EAAYiB,IAAkB,UAALvW,OAAesY,EAAKzS,OAEnD,OACIzJ,EAAAA,EAAAA,MAAA,OAEIC,UAAU,gBACV+I,aAAc,WAAF,OAASkT,EAAKL,QAAUzB,EAAiB,UAADxW,OAAWsY,EAAKzS,OAAQ,EAC5ER,aAAc,WAAF,OAAQmR,EAAiB,KAAK,EAACla,SAAA,EAGzCgc,EAAKL,QAAU3C,IACb/Y,EAAAA,EAAAA,KAAA,OAAKF,UAAU,0BAA0BwB,MAAO,CAAE8U,IAAK,QAASwD,KAAM,MAAOC,UAAW,oBAAqB9Z,UACzGC,EAAAA,EAAAA,KAACc,EAAQ,CAAC0a,OAAK,OAGvB3b,EAAAA,EAAAA,MAAA,SACIC,UAAS,yJAAA2D,OACJsY,EAAKL,OAEA7Q,EACI,+DACA,kFAJE,2BAAApH,OACqBsV,EAAY,kBAAoB,kBAAiB,qBAKtFzX,MAAO,CACHwU,QAASiG,EAAKL,QAAU3C,EAAY,qBAAuB,YAC3DlM,YAAckP,EAAKL,OAAsB7Q,EAAa,UAAY,UAAtC,WAC9B9K,SAAA,EAEFC,EAAAA,EAAAA,KAAA,SACIoM,KAAK,QACL2F,KAAK,cACLzI,MAAOyS,EAAKzS,MACZ0M,QAASnL,EACTtB,SAAUiM,EACV1V,UAAU,eACV+H,UAAWkU,EAAKL,SAGnB7Q,GAAckR,EAAKL,SAChB1b,EAAAA,EAAAA,KAAA,QAAMF,UAAU,wCAAuCC,UACnDF,EAAAA,EAAAA,MAAA,OAAK0B,MAAM,KAAKC,OAAO,KAAKf,QAAQ,YAAYF,KAAK,OAAOsU,MAAM,6BAA4B9U,SAAA,EAC1FC,EAAAA,EAAAA,KAAA,QAAMuB,MAAM,KAAKC,OAAO,KAAKwa,GAAG,KAAKzb,KAAK,aAC1CP,EAAAA,EAAAA,KAAA,QAAMa,EAAE,yBAAyBL,OAAO,QAAQI,YAAY,MAAMF,cAAc,QAAQC,eAAe,gBAKnHX,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,KAAKC,OAAO,KAAKf,QAAQ,YAAYF,KAAK,OAAOsU,MAAM,6BAA6B/U,UAAU,YAAWC,UAChHC,EAAAA,EAAAA,KAAA,QACIa,EAAE,+jBACFL,OAASub,EAAKL,QAAqB7Q,EAAa,UAAzB,UACvBjK,YAAY,MACZF,cAAc,QACdC,eAAe,aAGvBX,EAAAA,EAAAA,KAAA,OAAKF,UAAS,oDAAA2D,OAAuDsY,EAAKL,OAAgC,GAAvB,sBAA4B3b,SAC1Ggc,EAAKpR,aArDToR,EAAKzS,MA0DtB,aAMxB,ECvbA,GAxCc,SAAHvI,GAAgE,IAA1Dkb,EAAOlb,EAAPkb,QAAOC,EAAAnb,EAAEqL,KAAAA,OAAI,IAAA8P,EAAG,UAASA,EAAEC,EAAOpb,EAAPob,QAAOC,EAAArb,EAAEsb,SAAAA,OAAQ,IAAAD,EAAG,IAAIA,GAChErZ,EAAAA,EAAAA,WAAU,WACN,IAAMuZ,EAAQ5U,WAAW,WACrByU,GACJ,EAAGE,GAEH,OAAO,kBAAMnH,aAAaoH,EAAM,CACpC,EAAG,CAACD,EAAUF,IAEd,IAAMI,EAAmB,YAATnQ,EAAqB,qBAAuB,iBACtDoQ,EAAqB,YAATpQ,EAAqB,wBAA0B,oBAC3DS,EAAuB,YAATT,EAAqB,0BAA4B,sBAC/DqQ,EAAqB,YAATrQ,EAAqB,wBAA0B,oBAEjE,OACIpM,EAAAA,EAAAA,KAAA,OAAKF,UAAU,wEAAuEC,UAClFF,EAAAA,EAAAA,MAAA,OAAKC,UAAS,8DAAA2D,OAAgE8Y,EAAO,KAAA9Y,OAAIoJ,EAAW,+CAA8C9M,SAAA,CACpI,YAATqM,GACGpM,EAAAA,EAAAA,KAAA,OAAKF,UAAS,qBAAA2D,OAAuBgZ,GAAalc,KAAK,OAAOC,OAAO,eAAeC,QAAQ,YAAWV,UACnGC,EAAAA,EAAAA,KAAA,QAAMU,cAAc,QAAQC,eAAe,QAAQC,YAAa,EAAGC,EAAE,sBAGzEb,EAAAA,EAAAA,KAAA,OAAKF,UAAS,qBAAA2D,OAAuBgZ,GAAalc,KAAK,OAAOC,OAAO,eAAeC,QAAQ,YAAWV,UACnGC,EAAAA,EAAAA,KAAA,QAAMU,cAAc,QAAQC,eAAe,QAAQC,YAAa,EAAGC,EAAE,4BAG7Eb,EAAAA,EAAAA,KAAA,QAAMF,UAAS,iCAAA2D,OAAmC+Y,GAAYzc,SAAEkc,KAChEjc,EAAAA,EAAAA,KAAA,UACIoH,QAAS+U,EACTrc,UAAU,wDAAuDC,UAEjEC,EAAAA,EAAAA,KAAA,OAAKF,UAAU,oBAAoBS,KAAK,OAAOC,OAAO,eAAeC,QAAQ,YAAWV,UACpFC,EAAAA,EAAAA,KAAA,QAAMU,cAAc,QAAQC,eAAe,QAAQC,YAAa,EAAGC,EAAE,iCAM7F,E,uPC/CA,IAAAgE,EAAAqJ,EAAAC,EAAA,mBAAAC,OAAAA,OAAA,GAAAC,EAAAF,EAAAG,UAAA,aAAAC,EAAAJ,EAAAK,aAAA,yBAAAzG,EAAAoG,EAAAE,EAAAE,EAAAxG,GAAA,IAAA0G,EAAAJ,GAAAA,EAAAK,qBAAAC,EAAAN,EAAAM,EAAAC,EAAAtI,OAAAuI,OAAAJ,EAAAC,WAAA,OAAAI,GAAAF,EAAA,mBAAAT,EAAAE,EAAAE,GAAA,IAAAxG,EAAA0G,EAAAG,EAAAG,EAAA,EAAAC,EAAAT,GAAA,GAAAU,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAX,EAAA,EAAAc,EAAAtK,EAAAuK,EAAAvO,EAAAkO,EAAAlO,EAAAwO,KAAAxK,EAAA,GAAAhE,EAAA,SAAAqN,EAAAC,GAAA,OAAApG,EAAAmG,EAAAO,EAAA,EAAAG,EAAA/J,EAAAqK,EAAAb,EAAAF,EAAAiB,CAAA,YAAAvO,EAAAsN,EAAAE,GAAA,IAAAI,EAAAN,EAAAS,EAAAP,EAAAH,EAAA,GAAAe,GAAAF,IAAAR,GAAAL,EAAAc,EAAAjE,OAAAmD,IAAA,KAAAK,EAAAxG,EAAAiH,EAAAd,GAAArN,EAAAqO,EAAAF,EAAAM,EAAAvH,EAAA,GAAAoG,EAAA,GAAAI,EAAAe,IAAAjB,KAAAO,EAAA7G,GAAA0G,EAAA1G,EAAA,OAAA0G,EAAA,MAAA1G,EAAA,GAAAA,EAAA,GAAAlD,GAAAkD,EAAA,IAAAlH,KAAA0N,EAAAJ,EAAA,GAAAtN,EAAAkH,EAAA,KAAA0G,EAAA,EAAAS,EAAAC,EAAAd,EAAAa,EAAAb,EAAAtG,EAAA,IAAAlH,EAAAyO,IAAAf,EAAAJ,EAAA,GAAApG,EAAA,GAAAsG,GAAAA,EAAAiB,KAAAvH,EAAA,GAAAoG,EAAApG,EAAA,GAAAsG,EAAAa,EAAAb,EAAAiB,EAAAb,EAAA,OAAAF,GAAAJ,EAAA,SAAAiB,EAAA,MAAAH,GAAA,EAAAZ,CAAA,iBAAAE,EAAAS,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAnO,EAAAmO,EAAAM,GAAAb,EAAAO,EAAAJ,EAAAU,GAAApB,EAAAO,EAAA,EAAA5J,EAAA+J,KAAAK,GAAA,CAAAlH,IAAA0G,EAAAA,EAAA,GAAAA,EAAA,IAAAS,EAAAb,GAAA,GAAAxN,EAAA4N,EAAAG,IAAAM,EAAAb,EAAAO,EAAAM,EAAAC,EAAAP,GAAA,OAAAG,EAAA,EAAAhH,EAAA,IAAA0G,IAAAF,EAAA,QAAAL,EAAAnG,EAAAwG,GAAA,MAAAL,EAAAA,EAAAsB,KAAAzH,EAAA6G,IAAA,MAAAW,UAAA,wCAAArB,EAAAuB,KAAA,OAAAvB,EAAAU,EAAAV,EAAA5E,MAAAmF,EAAA,IAAAA,EAAA,YAAAA,IAAAP,EAAAnG,EAAA,SAAAmG,EAAAsB,KAAAzH,GAAA0G,EAAA,IAAAG,EAAAW,UAAA,oCAAAhB,EAAA,YAAAE,EAAA,GAAA1G,EAAAlD,CAAA,UAAAqJ,GAAAe,EAAAC,EAAAb,EAAA,GAAAO,EAAAT,EAAAqB,KAAAnB,EAAAa,MAAAE,EAAA,YAAAlB,GAAAnG,EAAAlD,EAAA4J,EAAA,EAAAG,EAAAV,CAAA,SAAAa,EAAA,UAAAzF,MAAA4E,EAAAuB,KAAAR,EAAA,GAAAd,EAAAI,EAAAxG,IAAA,GAAA6G,CAAA,KAAAQ,EAAA,YAAAT,IAAA,UAAAe,IAAA,UAAAC,IAAA,CAAAzB,EAAA5H,OAAAsJ,eAAA,IAAAnB,EAAA,GAAAJ,GAAAH,EAAAA,EAAA,GAAAG,QAAAS,GAAAZ,EAAA,GAAAG,EAAA,yBAAAH,GAAAU,EAAAe,EAAAjB,UAAAC,EAAAD,UAAApI,OAAAuI,OAAAJ,GAAA,SAAAM,EAAAlK,GAAA,OAAAyB,OAAAuJ,eAAAvJ,OAAAuJ,eAAAhL,EAAA8K,IAAA9K,EAAAiL,UAAAH,EAAAb,GAAAjK,EAAA0J,EAAA,sBAAA1J,EAAA6J,UAAApI,OAAAuI,OAAAD,GAAA/J,CAAA,QAAA6K,EAAAhB,UAAAiB,EAAAb,GAAAF,EAAA,cAAAe,GAAAb,GAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,GAAAa,EAAApB,EAAA,qBAAAO,GAAAF,GAAAE,GAAAF,EAAAL,EAAA,aAAAO,GAAAF,EAAAP,EAAA,yBAAAS,GAAAF,EAAA,oDAAAoB,GAAA,kBAAAC,EAAAlI,EAAAmI,EAAAnB,EAAA,cAAAD,GAAAjK,EAAAsJ,EAAAE,EAAAH,GAAA,IAAAnG,EAAAzB,OAAA6J,eAAA,IAAApI,EAAA,gBAAAlD,GAAAkD,EAAA,EAAA+G,GAAA,SAAAjK,EAAAsJ,EAAAE,EAAAH,GAAA,SAAAK,EAAAJ,EAAAE,GAAAS,GAAAjK,EAAAsJ,EAAA,SAAAtJ,GAAA,YAAAuL,QAAAjC,EAAAE,EAAAxJ,EAAA,GAAAsJ,EAAApG,EAAAA,EAAAlD,EAAAsJ,EAAA,CAAA7E,MAAA+E,EAAAgC,YAAAnC,EAAAoC,cAAApC,EAAAqC,UAAArC,IAAArJ,EAAAsJ,GAAAE,GAAAE,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAO,GAAAjK,EAAAsJ,EAAAE,EAAAH,EAAA,UAAAsC,GAAAnC,EAAAH,EAAArJ,EAAAsJ,EAAAI,EAAAa,EAAAX,GAAA,QAAA1G,EAAAsG,EAAAe,GAAAX,GAAAG,EAAA7G,EAAAuB,KAAA,OAAA+E,GAAA,YAAAxJ,EAAAwJ,EAAA,CAAAtG,EAAA0H,KAAAvB,EAAAU,GAAA6B,QAAAC,QAAA9B,GAAA+B,KAAAxC,EAAAI,EAAA,UAAAmO,GAAArO,GAAA,sBAAAH,EAAA,KAAArJ,EAAAiG,UAAA,WAAA2F,QAAA,SAAAtC,EAAAI,GAAA,IAAAa,EAAAf,EAAA0C,MAAA7C,EAAArJ,GAAA,SAAAsP,EAAA9F,GAAAmC,GAAApB,EAAAjB,EAAAI,EAAA4F,EAAAC,EAAA,OAAA/F,EAAA,UAAA+F,EAAA/F,GAAAmC,GAAApB,EAAAjB,EAAAI,EAAA4F,EAAAC,EAAA,QAAA/F,EAAA,CAAA8F,OAAA,eAAAvD,GAAA/L,EAAAsJ,GAAA,IAAAD,EAAA5H,OAAA0F,KAAAnH,GAAA,GAAAyB,OAAAuK,sBAAA,KAAAtC,EAAAjI,OAAAuK,sBAAAhM,GAAAsJ,IAAAI,EAAAA,EAAA/H,OAAA,SAAA2H,GAAA,OAAA7H,OAAAwK,yBAAAjM,EAAAsJ,GAAAkC,UAAA,IAAAnC,EAAA/F,KAAA4I,MAAA7C,EAAAK,EAAA,QAAAL,CAAA,UAAA8C,GAAAnM,GAAA,QAAAsJ,EAAA,EAAAA,EAAArD,UAAAC,OAAAoD,IAAA,KAAAD,EAAA,MAAApD,UAAAqD,GAAArD,UAAAqD,GAAA,GAAAA,EAAA,EAAAyC,GAAAtK,OAAA4H,IAAA,GAAA+C,QAAA,SAAA9C,GAAA+C,GAAArM,EAAAsJ,EAAAD,EAAAC,GAAA,GAAA7H,OAAA6K,0BAAA7K,OAAA8K,iBAAAvM,EAAAyB,OAAA6K,0BAAAjD,IAAA0C,GAAAtK,OAAA4H,IAAA+C,QAAA,SAAA9C,GAAA7H,OAAA6J,eAAAtL,EAAAsJ,EAAA7H,OAAAwK,yBAAA5C,EAAAC,GAAA,UAAAtJ,CAAA,UAAAqM,GAAArM,EAAAsJ,EAAAD,GAAA,OAAAC,EAAA,SAAAD,GAAA,IAAAnG,EAAA,SAAAmG,GAAA,aAAAxD,GAAAwD,KAAAA,EAAA,OAAAA,EAAA,IAAArJ,EAAAqJ,EAAAE,OAAAiD,aAAA,YAAAxM,EAAA,KAAAkD,EAAAlD,EAAA2K,KAAAtB,EAAAC,UAAA,aAAAzD,GAAA3C,GAAA,OAAAA,EAAA,UAAAwH,UAAA,uDAAAxI,OAAAmH,EAAA,CAAAoD,CAAApD,GAAA,gBAAAxD,GAAA3C,GAAAA,EAAAA,EAAA,GAAAwJ,CAAApD,MAAAtJ,EAAAyB,OAAA6J,eAAAtL,EAAAsJ,EAAA,CAAA7E,MAAA4E,EAAAmC,YAAA,EAAAC,cAAA,EAAAC,UAAA,IAAA1L,EAAAsJ,GAAAD,EAAArJ,CAAA,UAAAvC,GAAA6L,EAAAtJ,GAAA,gBAAAsJ,GAAA,GAAA3I,MAAAC,QAAA0I,GAAA,OAAAA,CAAA,CAAAqD,CAAArD,IAAA,SAAAA,EAAAmB,GAAA,IAAApB,EAAA,MAAAC,EAAA,yBAAAC,QAAAD,EAAAC,OAAAE,WAAAH,EAAA,uBAAAD,EAAA,KAAArJ,EAAAwJ,EAAAtG,EAAA6G,EAAAQ,EAAA,GAAAL,GAAA,EAAAR,GAAA,SAAAxG,GAAAmG,EAAAA,EAAAsB,KAAArB,IAAAsD,KAAA,IAAAnC,EAAA,IAAAhJ,OAAA4H,KAAAA,EAAA,OAAAa,GAAA,cAAAA,GAAAlK,EAAAkD,EAAAyH,KAAAtB,IAAAuB,QAAAL,EAAAjH,KAAAtD,EAAAyE,OAAA8F,EAAArE,SAAAuE,GAAAP,GAAA,UAAAZ,GAAAI,GAAA,EAAAF,EAAAF,CAAA,iBAAAY,GAAA,MAAAb,EAAA,SAAAU,EAAAV,EAAA,SAAA5H,OAAAsI,KAAAA,GAAA,kBAAAL,EAAA,MAAAF,CAAA,SAAAe,CAAA,EAAAsC,CAAAvD,EAAAtJ,IAAA,SAAAsJ,EAAAiB,GAAA,GAAAjB,EAAA,qBAAAA,EAAA,OAAA0D,GAAA1D,EAAAiB,GAAA,IAAAlB,EAAA,GAAAvF,SAAA6G,KAAArB,GAAAd,MAAA,uBAAAa,GAAAC,EAAA2D,cAAA5D,EAAAC,EAAA2D,YAAAC,MAAA,QAAA7D,GAAA,QAAAA,EAAA1I,MAAAwM,KAAA7D,GAAA,cAAAD,GAAA,2CAAA+D,KAAA/D,GAAA2D,GAAA1D,EAAAiB,QAAA,GAAAuC,CAAAxD,EAAAtJ,IAAA,qBAAA0K,UAAA,6IAAAqC,EAAA,UAAAC,GAAA1D,EAAAiB,IAAA,MAAAA,GAAAA,EAAAjB,EAAApD,UAAAqE,EAAAjB,EAAApD,QAAA,QAAAlG,EAAA,EAAAwJ,EAAA7I,MAAA4J,GAAAvK,EAAAuK,EAAAvK,IAAAwJ,EAAAxJ,GAAAsJ,EAAAtJ,GAAA,OAAAwJ,CAAA,CAkBA,IAAMsO,GAAW,CACb7H,gBAAiB,GACjB9O,iBAAkB,WAClBC,eAAgB,WAChBF,SAAU,GACV6W,cAAe,EACfzW,QAAS,KACTC,MAAO,OACPF,YAAa,MACbf,aAAc,SACd0X,eAAe,EACf/W,MAAO,IA0SX,SAvSwB,SAAH/E,GAA8C,IAAxCob,EAAOpb,EAAPob,QAASW,EAAW/b,EAAX+b,YAAWC,EAAAhc,EAAEsB,OAAAA,OAAM,IAAA0a,EAAG,CAAC,EAACA,EACC3a,EAAAE,IAAzBC,EAAAA,EAAAA,UAAQyO,GAAC,CAAC,EAAI2L,KAAW,GAAlDzK,EAAQ9P,EAAA,GAAE+P,EAAW/P,EAAA,GACiBM,EAAAJ,IAAfC,EAAAA,EAAAA,WAAS,GAAM,GAAtCya,EAAOta,EAAA,GAAEua,EAAUva,EAAA,GACYyH,EAAA7H,IAAZC,EAAAA,EAAAA,UAAS,IAAG,GAA/B2R,EAAK/J,EAAA,GAAE+S,EAAQ/S,EAAA,GACgCqI,EAAAlQ,IAAdC,EAAAA,EAAAA,UAAS,MAAK,GAA/C4a,EAAY3K,EAAA,GAAE4K,EAAe5K,EAAA,GAG9B6K,EAAQ,CACV,CAAEzX,GAAI,SAAU+E,OAAOxK,EAAAA,EAAAA,IAAG,mBAAoB,qBAC9C,CAAEyF,GAAI,SAAU+E,OAAOxK,EAAAA,EAAAA,IAAG,mBAAoB,qBAC9C,CAAEyF,GAAI,UAAW+E,OAAOxK,EAAAA,EAAAA,IAAG,iBAAkB,qBAC7C,CAAEyF,GAAI,UAAW+E,OAAOxK,EAAAA,EAAAA,IAAG,kBAAmB,qBAC9C,CAAEyF,GAAI,WAAY+E,OAAOxK,EAAAA,EAAAA,IAAG,mBAAoB,sBAGOiY,EAAA9V,IAAXC,EAAAA,EAAAA,UAAS,GAAE,GAApD+a,EAAgBlF,EAAA,GAAEmF,EAAmBnF,EAAA,GACNG,EAAAjW,IAAdC,EAAAA,EAAAA,WAAS,GAAK,GAA/Bib,EAAIjF,EAAA,GAAEkF,EAAOlF,EAAA,GACdmF,GAAgB5a,EAAAA,EAAAA,QAAO,IAE7BC,EAAAA,EAAAA,WAAU,WACN,GAAI+Z,GAAeA,EAAYrY,aAC3B,IACI,IAAMkZ,EAAgBhZ,KAAKC,MAAMkY,EAAYrY,cAAgB,MAC7D0N,EAAWnB,GAAAA,GAAAA,GAAC,CAAC,EACN2L,IAAQ,IACX7H,gBAAiBgI,EAAYzV,YAAc,IACxCsW,GAAa,IAChB9X,GAAIiX,EAAYjX,KAExB,CAAE,MAAOhB,GACLsN,EAAWnB,GAAAA,GAAC,CAAC,EACN2L,IAAQ,IACX7H,gBAAiBgI,EAAYzV,YAAc,GAC3CxB,GAAIiX,EAAYjX,KAExB,CAER,EAAG,CAACiX,IAGJ,IAmCMc,EAAY,eAAAxe,EAAAsd,GAAA1M,KAAAE,EAAG,SAAAiD,IAAA,IAAA0K,EAAAC,EAAAzK,EAAA0K,EAAAzK,EAAA,OAAAtD,KAAAC,EAAA,SAAAsD,GAAA,cAAAA,EAAAvE,EAAAuE,EAAAlF,GAAA,OAQ2B,OAP5C4O,GAAW,GACXC,EAAS,IAAI3J,EAAAvE,EAAA,EAGH6O,EAAUxb,EAAO2b,UAAY,YAC7BF,EAAM5L,EAASrM,GAAE,GAAApC,OACdoa,EAAO,2BAAApa,OAA0ByO,EAASrM,IAAE,GAAApC,OAC5Coa,EAAO,0BAAwBtK,EAAAlF,EAAA,EAEjB4P,MAAMH,EAAK,CAC9BI,OAAQhM,EAASrM,GAAK,MAAQ,OAC9BsY,QAAS,CACL,eAAgB,mBAChB,aAAc9b,EAAO+b,YAAc,IAEvCC,KAAM1Z,KAAK2Z,UAAUpM,KACvB,OAPY,IAARmB,EAAQE,EAAApE,GASAoP,GAAI,CAAFhL,EAAAlF,EAAA,eAAAkF,EAAAlF,EAAA,EACOgF,EAASmL,OAAM,OAAxB,MAAJT,EAAIxK,EAAApE,EACJ,IAAIsP,MAAMV,EAAK9B,UAAW9b,EAAAA,EAAAA,IAAG,uBAAwB,qBAAoB,OAGnFid,EAAgB,CAAEsB,MAAMve,EAAAA,EAAAA,IAAG,yCAA0C,oBAAqBiM,KAAM,YAChG6Q,GAAW,GAEXvV,WAAW,WACPyU,GACJ,EAAG,MAAM5I,EAAAlF,EAAA,eAAAkF,EAAAvE,EAAA,EAAAsE,EAAAC,EAAApE,EAET+N,EAAS5J,EAAI2I,UAAW9b,EAAAA,EAAAA,IAAG,uBAAwB,qBACnD8c,GAAW,GAAO,cAAA1J,EAAAnE,EAAA,KAAA+D,EAAA,iBAEzB,kBAlCiB,OAAA/T,EAAA2R,MAAA,KAAAjG,UAAA,KAoCZ6T,EAAiB,eAAAlY,EAAAiW,GAAA1M,KAAAE,EAAG,SAAA0O,IAAA,OAAA5O,KAAAC,EAAA,SAAA4O,GAAA,cAAAA,EAAAxQ,GAAA,cAAAwQ,EAAAxQ,EAAA,EAChBuP,IAAc,cAAAiB,EAAAzP,EAAA,KAAAwP,EAAA,IACvB,kBAFsB,OAAAnY,EAAAsK,MAAA,KAAAjG,UAAA,KAwBjBgU,EAAaxB,IAAqBD,EAAMtS,OAAS,EAEvD,OACIlL,EAAAA,EAAAA,MAAA,OAAKC,UAAU,+CAA8CC,SAAA,EACzDF,EAAAA,EAAAA,MAAA,OAAKC,UAAU,0CAAyCC,SAAA,EACpDF,EAAAA,EAAAA,MAAA,KAAGS,KAAK,IAAI8G,QAAS,SAACvC,GAAQA,EAAE8I,iBAAkBwO,GAAW,EAAGrc,UAAU,4FAA2FC,SAAA,EACjKC,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,KAAKC,OAAO,KAAKf,QAAQ,YAAYF,KAAK,OAAOsU,MAAM,6BAA6B/U,UAAU,YAAWC,UAChHC,EAAAA,EAAAA,KAAA,QAAMa,EAAE,wFAAwFL,OAAO,eAAeI,YAAY,OAAOF,cAAc,QAAQC,eAAe,aAElLX,EAAAA,EAAAA,KAAA,QAAMF,UAAU,qDAAoDC,UAAEI,EAAAA,EAAAA,IAAG,iBAAkB,0BAG/FN,EAAAA,EAAAA,MAAA,UACIuH,QAASuX,EACT7e,UAAU,iLACV+H,SAAUmV,EAAQjd,SAAA,CAEjBid,IACGhd,EAAAA,EAAAA,KAAA,QAAMF,UAAU,mJAElBkd,GAAU7c,EAAAA,EAAAA,IAAI,YAAa,qBAAuBA,EAAAA,EAAAA,IAAI,gBAAiB,2BAIjFH,EAAAA,EAAAA,KAAA,OAAKF,UAAU,gCAA+BC,UAC1CF,EAAAA,EAAAA,MAAA,OAAKC,UAAU,4BAA2BC,SAAA,EACtCC,EAAAA,EAAAA,KAAA,KAAGF,UAAU,qEAAoEC,UAAEI,EAAAA,EAAAA,IAAI,wBAAyB,uBAEhHH,EAAAA,EAAAA,KAAA,OAAK,aAAW,WAAWF,UAAU,2CAA0CC,UAC3EC,EAAAA,EAAAA,KAAA,MAAImJ,KAAK,OAAOrJ,UAAU,+DAA8DC,SACnFsd,EAAM3Z,IAAI,SAACqb,EAAMnR,GAAK,OACnB5N,EAAAA,EAAAA,KAAA,MAAkBF,UAAU,+BAA8BC,UACtDF,EAAAA,EAAAA,MAAA,OAAKC,UAAS,iBAAA2D,OAAmBmK,IAAUyP,EAAMtS,OAAS,EAAI,aAAe,IAAKhL,SAAA,CAE7E6N,IAAUyP,EAAMtS,OAAS,IACtB/K,EAAAA,EAAAA,KAAA,OAAKF,UAAU,yDAAyD,cAAY,OAAMC,UACtFC,EAAAA,EAAAA,KAAA,OAAKF,UAAS,0BAAA2D,OAA4BmK,EAAQ0P,EAAmB,sBAAwB,yBAKrGtd,EAAAA,EAAAA,KAAA,KACIM,KAAK,IACL8G,QAAS,SAACvC,GA1I3B,IAACma,EA0IkCna,EAAE8I,iBA1IpCqR,EA0IqEpR,EAzIzF6P,GAAQ,GACR/V,WAAW,WACPgW,EAAcva,QAAUma,EACxBC,EAAoByB,GACpBvB,GAAQ,EACZ,EAAG,IAoI8F,EAC7D3d,UAAS,wFAAA2D,OACLmK,GAAS0P,EACH,GACA,+EAEVhc,MAAO,CACHC,MAAO,OACPC,OAAQ,OACR8K,aAAc,OACdS,QAAS,EACTH,gBAAiBgB,GAAS0P,EAAmB,UAAY,IAC3Dvd,UAEFC,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,IAAIC,OAAO,IAAIf,QAAQ,UAAUF,KAAK,OAAOsU,MAAM,6BAA6B,cAAY,OAAM9U,UACzGC,EAAAA,EAAAA,KAAA,QAAMa,EAAE,kCAAkCL,OAAO,QAAQI,YAAY,MAAMF,cAAc,QAAQC,eAAe,eAKxHX,EAAAA,EAAAA,KAAA,QACIF,UAAU,wGACVwB,MAAO,CACHgT,WAAY,IACZpH,SAAU,OACVqH,WAAY,OACZC,cAAe,KACfC,UAAW,SACXC,MAAO9G,GAAS0P,EAAmB,UAAY,WACjDvd,SAEDgf,EAAKpU,YA3CToU,EAAKnZ,GA8CT,aAQzB5F,EAAAA,EAAAA,KAAA,OAAKF,UAAU,+DAA8DC,UACzEF,EAAAA,EAAAA,MAAA,OAAKC,UAAS,8DAAA2D,OAAgE+Z,EAAO,mBAAqB,kBAAmBzd,SAAA,CACxHmU,IACGlU,EAAAA,EAAAA,KAAA,OAAKF,UAAU,sEAAqEC,SAC/EmU,IA5GG,WACxB,IAAM+K,EAAY,CAAE/M,SAAAA,EAAUC,YAAAA,EAAa9P,OAAAA,GAE3C,OAAQib,GACJ,KAAK,EACD,OAAOtd,EAAAA,EAAAA,KAACkf,EAAUlO,GAAA,GAAKiO,IAC3B,KAAK,EACD,OAAOjf,EAAAA,EAAAA,KAACmf,EAAUnO,GAAA,GAAKiO,IAC3B,KAAK,EACD,OAAOjf,EAAAA,EAAAA,KAACof,EAAWpO,GAAA,GAAKiO,IAC5B,KAAK,EACD,OAAOjf,EAAAA,EAAAA,KAACqf,EAAQrO,GAAA,GAAKiO,IACzB,KAAK,EACD,OAAOjf,EAAAA,EAAAA,KAACsf,EAAYtO,GAAA,GAAKiO,IAC7B,QACI,OAAO,KAEnB,CA8FiBM,SAKTvf,EAAAA,EAAAA,KAAA,OAAKF,UAAU,8HACVwB,MAAO,CAAEsY,KAAMvW,SAASgb,KAAKmB,UAAUpc,SAAS,UAAY,OAAS,SAAUrD,UAChFC,EAAAA,EAAAA,KAAA,OAAKF,UAAU,8BAA6BC,UACxCF,EAAAA,EAAAA,MAAA,OAAKC,UAAU,mGAAkGC,SAAA,EAE7GC,EAAAA,EAAAA,KAAA,OAAKF,UAAU,yCAAwCC,SAC7B,IAArBud,GACGtd,EAAAA,EAAAA,KAAA,UACIoH,QAAS+U,EACTrc,UAAU,qJAAoJC,UAE7JI,EAAAA,EAAAA,IAAG,SAAU,uBAGlBN,EAAAA,EAAAA,MAAA,UACIuH,QAvLT,WACfkW,EAAmB,IACnBG,GAAQ,GACR/V,WAAW,WACPgW,EAAcva,QAAUma,EACxBC,EAAoBD,EAAmB,GACvCG,GAAQ,EACZ,EAAG,KAEX,EA+KgC3d,UAAU,iLAAgLC,SAAA,EAE1LC,EAAAA,EAAAA,KAAA,OAAKF,UAAU,8BAA8BS,KAAK,OAAOC,OAAO,eAAeC,QAAQ,YAAWV,UAC9FC,EAAAA,EAAAA,KAAA,QAAMU,cAAc,QAAQC,eAAe,QAAQC,YAAa,EAAGC,EAAE,uBAExEV,EAAAA,EAAAA,IAAG,WAAY,0BAM5BH,EAAAA,EAAAA,KAAA,OAAAD,UACIF,EAAAA,EAAAA,MAAA,UACIuH,QApNL,WACAkW,IAAqBD,EAAMtS,OAAS,EAUnD6S,KAPAH,GAAQ,GACR/V,WAAW,WACPgW,EAAcva,QAAUma,EACxBC,EAAoBD,EAAmB,GACvCG,GAAQ,EACZ,EAAG,KAIX,EAwM4B5V,SAAUmV,EACVld,UAAU,iNAAgNC,SAAA,CAEzNid,GAAW8B,IACR9e,EAAAA,EAAAA,KAAA,QAAMF,UAAU,gJAEnBgf,EACM9B,GAAU7c,EAAAA,EAAAA,IAAG,YAAa,qBAAsBA,EAAAA,EAAAA,IAAG,eAAgB,qBACpEA,EAAAA,EAAAA,IAAG,OAAQ,qBAEf6c,IAAY8B,IACV9e,EAAAA,EAAAA,KAAA,OAAKF,UAAU,8BAA8BS,KAAK,OAAOC,OAAO,eAAeC,QAAQ,YAAWV,UAC9FC,EAAAA,EAAAA,KAAA,QAAMU,cAAc,QAAQC,eAAe,QAAQC,YAAa,EAAGC,EAAE,+BAUhGsc,IACGnd,EAAAA,EAAAA,KAACyf,GAAK,CACFxD,QAASkB,EAAauB,KACtBtS,KAAM+Q,EAAa/Q,KACnB+P,QAAS,WAAF,OAAQiB,EAAgB,KAAK,MAKxD,ECtQA,GArD2B,SAAHrc,GAAwC,IAAlCgJ,EAAMhJ,EAANgJ,OAAQ2V,EAAQ3e,EAAR2e,SAAUC,EAAS5e,EAAT4e,UAC5C,OAAK5V,GAED/J,EAAAA,EAAAA,KAAA,OACIF,UAAU,qHAAoHC,UAC9HF,EAAAA,EAAAA,MAAA,OACIC,UAAU,2KAA0KC,SAAA,EAGpLC,EAAAA,EAAAA,KAAA,UACIoH,QAASsY,EACT5f,UAAU,iHAAgHC,UAC1HC,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,KAAKC,OAAO,KAAKf,QAAQ,YAAYF,KAAK,OAAOsU,MAAM,6BAA4B9U,UAC1FC,EAAAA,EAAAA,KAAA,QAAMa,EAAE,uBAAuBL,OAAO,UAAUI,YAAY,MAAMF,cAAc,QAAQC,eAAe,eAK/Gd,EAAAA,EAAAA,MAAA,OAAKC,UAAU,4CAA2CC,SAAA,EACtDF,EAAAA,EAAAA,MAAA,OAAK0B,MAAM,MAAMC,OAAO,MAAMf,QAAQ,cAAcF,KAAK,OAAOsU,MAAM,6BAA4B9U,SAAA,EAC9FC,EAAAA,EAAAA,KAAA,QAAM4f,EAAE,WAAWre,MAAM,QAAQC,OAAO,MAAMwa,GAAG,UAAUzb,KAAK,aAChEP,EAAAA,EAAAA,KAAA,QAAMa,EAAE,ovBAAovBL,OAAO,UAAUI,YAAY,IAAIF,cAAc,QAAQC,eAAe,cAGt0BX,EAAAA,EAAAA,KAAA,MAAIF,UAAU,kHAAiHC,UAC1HI,EAAAA,EAAAA,IAAI,sBAAuB,uBAGhCH,EAAAA,EAAAA,KAAA,KAAGF,UAAU,+GAA8GC,UACtHI,EAAAA,EAAAA,IAAI,sEAAuE,0BAKpFN,EAAAA,EAAAA,MAAA,OAAKC,UAAU,qDAAoDC,SAAA,EAC/DC,EAAAA,EAAAA,KAAA,UACIoH,QAASsY,EACT5f,UAAU,yPAAwPC,SAAC,YAIvQC,EAAAA,EAAAA,KAAA,UACIoH,QAASuY,EACT7f,UAAU,wOACVwB,MAAO,CAAEwY,UAAW,uCAAwC/Z,SAAC,mBA3C7D,IAkDxB,E,cC7DA,IAAA8E,EAAAqJ,EAAAC,EAAA,mBAAAC,OAAAA,OAAA,GAAAC,EAAAF,EAAAG,UAAA,aAAAC,EAAAJ,EAAAK,aAAA,yBAAAzG,EAAAoG,EAAAE,EAAAE,EAAAxG,GAAA,IAAA0G,EAAAJ,GAAAA,EAAAK,qBAAAC,EAAAN,EAAAM,EAAAC,EAAAtI,OAAAuI,OAAAJ,EAAAC,WAAA,OAAAI,GAAAF,EAAA,mBAAAT,EAAAE,EAAAE,GAAA,IAAAxG,EAAA0G,EAAAG,EAAAG,EAAA,EAAAC,EAAAT,GAAA,GAAAU,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAX,EAAA,EAAAc,EAAAtK,EAAAuK,EAAAvO,EAAAkO,EAAAlO,EAAAwO,KAAAxK,EAAA,GAAAhE,EAAA,SAAAqN,EAAAC,GAAA,OAAApG,EAAAmG,EAAAO,EAAA,EAAAG,EAAA/J,EAAAqK,EAAAb,EAAAF,EAAAiB,CAAA,YAAAvO,EAAAsN,EAAAE,GAAA,IAAAI,EAAAN,EAAAS,EAAAP,EAAAH,EAAA,GAAAe,GAAAF,IAAAR,GAAAL,EAAAc,EAAAjE,OAAAmD,IAAA,KAAAK,EAAAxG,EAAAiH,EAAAd,GAAArN,EAAAqO,EAAAF,EAAAM,EAAAvH,EAAA,GAAAoG,EAAA,GAAAI,EAAAe,IAAAjB,KAAAO,EAAA7G,GAAA0G,EAAA1G,EAAA,OAAA0G,EAAA,MAAA1G,EAAA,GAAAA,EAAA,GAAAlD,GAAAkD,EAAA,IAAAlH,KAAA0N,EAAAJ,EAAA,GAAAtN,EAAAkH,EAAA,KAAA0G,EAAA,EAAAS,EAAAC,EAAAd,EAAAa,EAAAb,EAAAtG,EAAA,IAAAlH,EAAAyO,IAAAf,EAAAJ,EAAA,GAAApG,EAAA,GAAAsG,GAAAA,EAAAiB,KAAAvH,EAAA,GAAAoG,EAAApG,EAAA,GAAAsG,EAAAa,EAAAb,EAAAiB,EAAAb,EAAA,OAAAF,GAAAJ,EAAA,SAAAiB,EAAA,MAAAH,GAAA,EAAAZ,CAAA,iBAAAE,EAAAS,EAAAM,GAAA,GAAAP,EAAA,QAAAQ,UAAA,oCAAAN,GAAA,IAAAD,GAAAnO,EAAAmO,EAAAM,GAAAb,EAAAO,EAAAJ,EAAAU,GAAApB,EAAAO,EAAA,EAAA5J,EAAA+J,KAAAK,GAAA,CAAAlH,IAAA0G,EAAAA,EAAA,GAAAA,EAAA,IAAAS,EAAAb,GAAA,GAAAxN,EAAA4N,EAAAG,IAAAM,EAAAb,EAAAO,EAAAM,EAAAC,EAAAP,GAAA,OAAAG,EAAA,EAAAhH,EAAA,IAAA0G,IAAAF,EAAA,QAAAL,EAAAnG,EAAAwG,GAAA,MAAAL,EAAAA,EAAAsB,KAAAzH,EAAA6G,IAAA,MAAAW,UAAA,wCAAArB,EAAAuB,KAAA,OAAAvB,EAAAU,EAAAV,EAAA5E,MAAAmF,EAAA,IAAAA,EAAA,YAAAA,IAAAP,EAAAnG,EAAA,SAAAmG,EAAAsB,KAAAzH,GAAA0G,EAAA,IAAAG,EAAAW,UAAA,oCAAAhB,EAAA,YAAAE,EAAA,GAAA1G,EAAAlD,CAAA,UAAAqJ,GAAAe,EAAAC,EAAAb,EAAA,GAAAO,EAAAT,EAAAqB,KAAAnB,EAAAa,MAAAE,EAAA,YAAAlB,GAAAnG,EAAAlD,EAAA4J,EAAA,EAAAG,EAAAV,CAAA,SAAAa,EAAA,UAAAzF,MAAA4E,EAAAuB,KAAAR,EAAA,GAAAd,EAAAI,EAAAxG,IAAA,GAAA6G,CAAA,KAAAQ,EAAA,YAAAT,IAAA,UAAAe,IAAA,UAAAC,IAAA,CAAAzB,EAAA5H,OAAAsJ,eAAA,IAAAnB,EAAA,GAAAJ,GAAAH,EAAAA,EAAA,GAAAG,QAAAS,GAAAZ,EAAA,GAAAG,EAAA,yBAAAH,GAAAU,EAAAe,EAAAjB,UAAAC,EAAAD,UAAApI,OAAAuI,OAAAJ,GAAA,SAAAM,EAAAlK,GAAA,OAAAyB,OAAAuJ,eAAAvJ,OAAAuJ,eAAAhL,EAAA8K,IAAA9K,EAAAiL,UAAAH,EAAAb,GAAAjK,EAAA0J,EAAA,sBAAA1J,EAAA6J,UAAApI,OAAAuI,OAAAD,GAAA/J,CAAA,QAAA6K,EAAAhB,UAAAiB,EAAAb,GAAAF,EAAA,cAAAe,GAAAb,GAAAa,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAjB,GAAAa,EAAApB,EAAA,qBAAAO,GAAAF,GAAAE,GAAAF,EAAAL,EAAA,aAAAO,GAAAF,EAAAP,EAAA,yBAAAS,GAAAF,EAAA,oDAAAoB,GAAA,kBAAAC,EAAAlI,EAAAmI,EAAAnB,EAAA,cAAAD,GAAAjK,EAAAsJ,EAAAE,EAAAH,GAAA,IAAAnG,EAAAzB,OAAA6J,eAAA,IAAApI,EAAA,gBAAAlD,GAAAkD,EAAA,EAAA+G,GAAA,SAAAjK,EAAAsJ,EAAAE,EAAAH,GAAA,SAAAK,EAAAJ,EAAAE,GAAAS,GAAAjK,EAAAsJ,EAAA,SAAAtJ,GAAA,YAAAuL,QAAAjC,EAAAE,EAAAxJ,EAAA,GAAAsJ,EAAApG,EAAAA,EAAAlD,EAAAsJ,EAAA,CAAA7E,MAAA+E,EAAAgC,YAAAnC,EAAAoC,cAAApC,EAAAqC,UAAArC,IAAArJ,EAAAsJ,GAAAE,GAAAE,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAO,GAAAjK,EAAAsJ,EAAAE,EAAAH,EAAA,UAAAsC,GAAAnC,EAAAH,EAAArJ,EAAAsJ,EAAAI,EAAAa,EAAAX,GAAA,QAAA1G,EAAAsG,EAAAe,GAAAX,GAAAG,EAAA7G,EAAAuB,KAAA,OAAA+E,GAAA,YAAAxJ,EAAAwJ,EAAA,CAAAtG,EAAA0H,KAAAvB,EAAAU,GAAA6B,QAAAC,QAAA9B,GAAA+B,KAAAxC,EAAAI,EAAA,UAAAmO,GAAArO,GAAA,sBAAAH,EAAA,KAAArJ,EAAAiG,UAAA,WAAA2F,QAAA,SAAAtC,EAAAI,GAAA,IAAAa,EAAAf,EAAA0C,MAAA7C,EAAArJ,GAAA,SAAAsP,EAAA9F,GAAAmC,GAAApB,EAAAjB,EAAAI,EAAA4F,EAAAC,EAAA,OAAA/F,EAAA,UAAA+F,EAAA/F,GAAAmC,GAAApB,EAAAjB,EAAAI,EAAA4F,EAAAC,EAAA,QAAA/F,EAAA,CAAA8F,OAAA,eAAA7R,GAAA6L,EAAAtJ,GAAA,gBAAAsJ,GAAA,GAAA3I,MAAAC,QAAA0I,GAAA,OAAAA,CAAA,CAAAqD,CAAArD,IAAA,SAAAA,EAAAmB,GAAA,IAAApB,EAAA,MAAAC,EAAA,yBAAAC,QAAAD,EAAAC,OAAAE,WAAAH,EAAA,uBAAAD,EAAA,KAAArJ,EAAAwJ,EAAAtG,EAAA6G,EAAAQ,EAAA,GAAAL,GAAA,EAAAR,GAAA,SAAAxG,GAAAmG,EAAAA,EAAAsB,KAAArB,IAAAsD,KAAA,IAAAnC,EAAA,IAAAhJ,OAAA4H,KAAAA,EAAA,OAAAa,GAAA,cAAAA,GAAAlK,EAAAkD,EAAAyH,KAAAtB,IAAAuB,QAAAL,EAAAjH,KAAAtD,EAAAyE,OAAA8F,EAAArE,SAAAuE,GAAAP,GAAA,UAAAZ,GAAAI,GAAA,EAAAF,EAAAF,CAAA,iBAAAY,GAAA,MAAAb,EAAA,SAAAU,EAAAV,EAAA,SAAA5H,OAAAsI,KAAAA,GAAA,kBAAAL,EAAA,MAAAF,CAAA,SAAAe,CAAA,EAAAsC,CAAAvD,EAAAtJ,IAAA,SAAAsJ,EAAAiB,GAAA,GAAAjB,EAAA,qBAAAA,EAAA,OAAA0D,GAAA1D,EAAAiB,GAAA,IAAAlB,EAAA,GAAAvF,SAAA6G,KAAArB,GAAAd,MAAA,uBAAAa,GAAAC,EAAA2D,cAAA5D,EAAAC,EAAA2D,YAAAC,MAAA,QAAA7D,GAAA,QAAAA,EAAA1I,MAAAwM,KAAA7D,GAAA,cAAAD,GAAA,2CAAA+D,KAAA/D,GAAA2D,GAAA1D,EAAAiB,QAAA,GAAAuC,CAAAxD,EAAAtJ,IAAA,qBAAA0K,UAAA,6IAAAqC,EAAA,UAAAC,GAAA1D,EAAAiB,IAAA,MAAAA,GAAAA,EAAAjB,EAAApD,UAAAqE,EAAAjB,EAAApD,QAAA,QAAAlG,EAAA,EAAAwJ,EAAA7I,MAAA4J,GAAAvK,EAAAuK,EAAAvK,IAAAwJ,EAAAxJ,GAAAsJ,EAAAtJ,GAAA,OAAAwJ,CAAA,CAcA,IAwLMwR,GAAa,SAAHpZ,GAA6B,IAAvBqZ,EAAQrZ,EAARqZ,SAEZC,GAF4BtZ,EAANpE,QACflD,OAAOiC,cAAgBjC,OAAOkC,SAAW,CAAC,GACjC3B,WAAa,IAEnC,OACIG,EAAAA,EAAAA,MAAA,OAAKC,UAAU,uGAAsGC,SAAA,EACjHF,EAAAA,EAAAA,MAAA,OAAKC,UAAU,8BAA6BC,SAAA,EACxCF,EAAAA,EAAAA,MAAA,OAAKC,UAAU,yDAAwDC,SAAA,EACnEC,EAAAA,EAAAA,KAAA,OACIC,IAAK8f,EAAW,0CAChB7f,IAAI,cACJJ,UAAU,yBAEdE,EAAAA,EAAAA,KAAA,OACIC,IAAK8f,EAAW,0CAChB7f,IAAI,cACJJ,UAAU,yBAEdE,EAAAA,EAAAA,KAAA,OACIC,IAAK8f,EAAW,0CAChB7f,IAAI,cACJJ,UAAU,4BAGlBE,EAAAA,EAAAA,KAAA,MAAIF,UAAU,qDAAoDC,UAAEI,EAAAA,EAAAA,IAAG,2BAA4B,uBACnGH,EAAAA,EAAAA,KAAA,KAAGF,UAAU,8DAA6DC,UAAEI,EAAAA,EAAAA,IAAG,0DAA2D,0BAE9IH,EAAAA,EAAAA,KAAA,OAAKF,UAAU,YAAWC,UACtBF,EAAAA,EAAAA,MAAA,UACIuH,QAAS0Y,EACThgB,UAAU,6BAA4BC,SAAA,EAEtCC,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,KAAKC,OAAO,KAAKf,QAAQ,YAAYF,KAAK,OAAOsU,MAAM,6BAA4B9U,UAC1FC,EAAAA,EAAAA,KAAA,QAAMa,EAAE,4EACFL,OAAO,QAAQI,YAAY,IAAIF,cAAc,QAAQC,eAAe,aAE9EX,EAAAA,EAAAA,KAAA,QAAMF,UAAU,YAAWC,UACtBI,EAAAA,EAAAA,IAAG,oBAAqB,4BAIrCH,EAAAA,EAAAA,KAAA,OAAKF,UAAU,YAAWC,UACtBF,EAAAA,EAAAA,MAAA,KACIS,KAAK,wHACLF,OAAO,SACPC,IAAI,sBACJP,UAAU,8BAA6BC,SAAA,EAEvCC,EAAAA,EAAAA,KAAA,QAAMF,UAAU,iEAAgEC,UAC3EI,EAAAA,EAAAA,IAAG,OAAQ,uBAEhBH,EAAAA,EAAAA,KAAA,OAAKuB,MAAM,KAAKC,OAAO,KAAKf,QAAQ,YAAYF,KAAK,OAAOsU,MAAM,6BAA4B9U,UAC1FC,EAAAA,EAAAA,KAAA,QAAMa,EAAE,0EAA0EL,OAAO,UAAUI,YAAY,MAAMF,cAAc,QAAQC,eAAe,mBAMlL,EAEA,SApPY,WAAM,IAAAqf,EAAAC,EAC0B7d,EAAAE,IAAhBC,EAAAA,EAAAA,UAAS,QAAO,GAAjC2d,EAAI9d,EAAA,GAAE+d,EAAO/d,EAAA,GAC8BM,EAAAJ,IAAZC,EAAAA,EAAAA,UAAS,IAAG,GAA3CZ,EAAWe,EAAA,GAAE0d,EAAc1d,EAAA,GACsByH,EAAA7H,IAAdC,EAAAA,EAAAA,UAAS,MAAK,GAAjD8d,EAAalW,EAAA,GAAEmW,EAAgBnW,EAAA,GACMqI,EAAAlQ,IAAdC,EAAAA,EAAAA,WAAS,GAAK,GAArCya,EAAOxK,EAAA,GAAEyK,EAAUzK,EAAA,GACuB4F,EAAA9V,IAAXC,EAAAA,EAAAA,UAAS,GAAE,GAA1CX,EAAWwW,EAAA,GAAEmI,EAAcnI,EAAA,GACaG,EAAAjW,IAAXC,EAAAA,EAAAA,UAAS,GAAE,GAAxCV,EAAU0W,EAAA,GAAEiI,EAAajI,EAAA,GAC0CkI,EAAAne,IAApCC,EAAAA,EAAAA,UAAS,CAAE0K,MAAM,EAAOtJ,IAAK,OAAO,GAAnE+c,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GACgBG,EAAAte,IAAdC,EAAAA,EAAAA,UAAS,MAAK,GAA3CL,EAAU0e,EAAA,GAAEC,EAAaD,EAAA,GAE1Bve,EAASlD,OAAOiC,cAAgBjC,OAAOkC,SAAW,CAAC,GAIzD0B,EAAAA,EAAAA,WAAU,WACNf,EAAiBJ,EACrB,EAAG,CAACA,IAEJ,IAAMI,EAAgB,eAAAjB,EAAA2b,GAAA1M,KAAAE,EAAG,SAAAiD,IAAA,IAAA/K,EAAAyV,EAAAC,EAAAzK,EAAA0K,EAAAzK,EAAAwN,EAAAhW,UAAA,OAAAkF,KAAAC,EAAA,SAAAsD,GAAA,cAAAA,EAAAvE,EAAAuE,EAAAlF,GAAA,OAI4D,OAJrDjG,EAAI0Y,EAAA/V,OAAA,QAAA7B,IAAA4X,EAAA,GAAAA,EAAA,GAAG,EACnC7D,GAAW,GAAM1J,EAAAvE,EAAA,EAEP6O,EAAUxb,EAAO2b,UAAY,YAC7BF,EAAM,GAAHra,OAAMoa,EAAO,gCAAApa,OAA+B2E,EAAI,cAAA3E,OAXjD,IAWqE8P,EAAAlF,EAAA,EACtD4P,MAAMH,EAAK,CAC9BK,QAAS,CACL,aAAc9b,EAAO+b,YAAc,MAEzC,OAJY,OAAR/K,EAAQE,EAAApE,EAAAoE,EAAAlF,EAAG,EAKEgF,EAASmL,OAAM,QAA5BT,EAAIxK,EAAApE,IACE4O,EAAKgD,SAAWvb,MAAMC,QAAQsY,EAAKiD,SAC3CZ,EAAerC,EAAKiD,QAChBjD,EAAKkD,YAAclD,EAAKkD,WAAWC,YACnCV,EAAczC,EAAKkD,WAAWC,aAE9BV,EAAc,KAGlBJ,EAAe,IACfI,EAAc,IACjBjN,EAAAlF,EAAA,eAAAkF,EAAAvE,EAAA,EAAAsE,EAAAC,EAAApE,EAED8E,QAAQC,MAAM,8BAA6BZ,GAC3C8M,EAAe,IACfI,EAAc,GAAG,OAErBvD,GAAW,GAAO,cAAA1J,EAAAnE,EAAA,KAAA+D,EAAA,iBACrB,kBA5BqB,OAAApS,EAAAgQ,MAAA,KAAAjG,UAAA,KAmChBqW,EAAe,WACjBb,EAAiB,MACjBH,EAAQ,SACZ,EAiBMiB,EAAY,eAAAhiB,EAAAsd,GAAA1M,KAAAE,EAAG,SAAA0O,IAAA,IAAAf,EAAAxK,EAAA2N,EAAA,OAAAhR,KAAAC,EAAA,SAAA4O,GAAA,cAAAA,EAAA7P,EAAA6P,EAAAxQ,GAAA,UACZqS,EAAY/c,IAAK,CAAFkb,EAAAxQ,EAAA,eAAAwQ,EAAAzP,EAAA,UAG8B,OAFlDyR,EAAcH,EAAY/c,IAAIkC,IAAIgZ,EAAA7P,EAAA,EAExB6O,EAAUxb,EAAO2b,UAAY,YAAWa,EAAAxQ,EAAA,EACvB4P,MAAM,GAADxa,OAAIoa,EAAO,2BAAApa,OAA0Bid,EAAY/c,IAAIkC,IAAM,CACnFqY,OAAQ,SACRC,QAAS,CACL,aAAc9b,EAAO+b,YAAc,MAEzC,OALY,IAAR/K,EAAQwL,EAAA1P,GAMAoP,GAAI,CAAFM,EAAAxQ,EAAA,QAG+B,OAF3CgT,MAAM,iBAAmBhO,EAASiO,QAClCT,EAAc,MACdF,EAAe,CAAE1T,MAAM,EAAOtJ,IAAK,OAAQkb,EAAAzP,EAAA,iBAAAyP,EAAAxQ,EAAA,EAG1BgF,EAASmL,OAAM,QAA9BwC,EAAMnC,EAAA1P,IACE6R,EAAOD,QACjB/e,EAAiBJ,GAEjByf,MAAML,GAAUA,EAAO/E,QAAU+E,EAAO/E,QAAU,oBACrD4C,EAAAxQ,EAAA,eAAAwQ,EAAA7P,EAAA,EAAA6P,EAAA1P,EAEDkS,MAAM,oBAAoB,OAE9BR,EAAc,MACdF,EAAe,CAAE1T,MAAM,EAAOtJ,IAAK,OAAQ,cAAAkb,EAAAzP,EAAA,KAAAwP,EAAA,iBAC9C,kBA5BiB,OAAAxf,EAAA2R,MAAA,KAAAjG,UAAA,KA8BlB,GAAa,WAAToV,EACA,OACIlgB,EAAAA,EAAAA,KAACuhB,GAAe,CACZpF,QA3CQ,WAChBgE,EAAQ,QACRG,EAAiB,MACjBte,EAAiBJ,EACrB,EAwCYkb,YAAauD,EACbhe,OAAQA,IAKpB,IAAMmf,EAAkB7f,EAAYoJ,SAAW1I,EAAOof,sBAAwB,GAE9E,OACI5hB,EAAAA,EAAAA,MAAA2D,EAAAA,SAAA,CAAAzD,SAAA,EACIC,EAAAA,EAAAA,KAAC0hB,EAAM,KACP7hB,EAAAA,EAAAA,MAAA,OAAKC,UAAU,qEAAoEC,SAAA,EAC/EF,EAAAA,EAAAA,MAAA,OAAKC,UAAU,YAAWC,SAAA,EACtBC,EAAAA,EAAAA,KAAA,MAAIF,UAAU,kDAAiDC,UAAEI,EAAAA,EAAAA,IAAG,mBAAoB,uBAExFN,EAAAA,EAAAA,MAAA,OAAKC,UAAU,mDAAkDC,SAAA,EAC7DC,EAAAA,EAAAA,KAAA,WAEAH,EAAAA,EAAAA,MAAA,UACIC,UAAU,uFACVsH,QAAS+Z,EACTtZ,SAAU2Z,EAAgBzhB,SAAA,EAE1BC,EAAAA,EAAAA,KAAA,QAAMF,UAAU,kCAAuC,KAEtDK,EAAAA,EAAAA,IAAG,gBAAiB,0BAK5BqhB,IACG3hB,EAAAA,EAAAA,MAAA,OAAKC,UAAU,8HAA6HC,SAAA,EACxIC,EAAAA,EAAAA,KAAA,OAAKF,UAAU,uEAAuES,KAAK,OAAOC,OAAO,eAAeC,QAAQ,YAAWV,UACvIC,EAAAA,EAAAA,KAAA,QAAMU,cAAc,QAAQC,eAAe,QAAQC,YAAa,EAAGC,EAAE,4IAEzEhB,EAAAA,EAAAA,MAAA,OAAAE,SAAA,EACIC,EAAAA,EAAAA,KAAA,KAAGF,UAAU,kDAAiDC,UAC9C,QAAXigB,EAAA3d,EAAOsf,YAAI,IAAA3B,OAAA,EAAXA,EAAa4B,mBAAmBzhB,EAAAA,EAAAA,IAAG,uDAAwD,uBAEhGN,EAAAA,EAAAA,MAAA,KAAGC,UAAU,yCAAwCC,SAAA,EACjDC,EAAAA,EAAAA,KAAA,KAAGM,KAAM+B,EAAOwf,aAAe,mDAAoDzhB,OAAO,SAASC,IAAI,sBAAsBP,UAAU,6DAA4DC,UACnL,QAAXkgB,EAAA5d,EAAOsf,YAAI,IAAA1B,OAAA,EAAXA,EAAa6B,kBAAkB3hB,EAAAA,EAAAA,IAAG,iBAAkB,sBACrD,KAAEA,EAAAA,EAAAA,IAAG,mCAAoC,gCAOhE6c,EAAU,KAA+B,IAAvBrb,EAAYoJ,QAC3B/K,EAAAA,EAAAA,KAAC6f,GAAU,CAACC,SAAUqB,EAAc9e,OAAQA,KAE5CrC,EAAAA,EAAAA,KAAC+hB,EAAa,CACVjiB,UAAU,sBACV6B,YAAaA,EACbC,YAAaA,EACbC,WAAYA,EACZC,aApHK,SAACsG,GAClBA,EAAO,GAAKA,EAAOvG,GACvB0e,EAAenY,EACnB,EAkHoBpG,iBAAkBA,EAClBC,gBAjGQ,SAAC0B,GACzBgd,EAAe,CAAE1T,MAAM,EAAMtJ,IAAAA,GACjC,EAgGoBzB,WAAYA,EACZC,OA9GD,SAAC6f,GAChB1B,EAAiB0B,GACjB7B,EAAQ,SACZ,EA4GoB9d,OAAQA,QAKpBrC,EAAAA,EAAAA,KAACiiB,GAAkB,CACflY,OAAQ2W,EAAYzT,KACpByS,SAAU,WAAF,OAAQiB,EAAe,CAAE1T,MAAM,EAAOtJ,IAAK,MAAO,EAC1Dgc,UAAWyB,MAI3B,ECrLA/d,SAASC,iBAAiB,mBAAoB,WAC1C,IAAM4e,EAAY7e,SAAS8e,eAAe,oBAEtCD,IACaE,EAAAA,EAAAA,YAAWF,GACnBG,QAAOriB,EAAAA,EAAAA,KAACsiB,GAAG,IAExB,E","sources":["webpack://wp-user-frontend/external window [\"wp\",\"element\"]","webpack://wp-user-frontend/external window \"React\"","webpack://wp-user-frontend/external window [\"wp\",\"i18n\"]","webpack://wp-user-frontend/external window \"ReactJSXRuntime\"","webpack://wp-user-frontend/./src/js/user-directory/components/common/Header.js","webpack://wp-user-frontend/./src/js/user-directory/components/DirectoryList.js","webpack://wp-user-frontend/./src/js/user-directory/components/common/Tooltip.js","webpack://wp-user-frontend/./src/js/user-directory/components/common/MultiSelect.js","webpack://wp-user-frontend/./src/js/user-directory/components/steps/StepBasics.js","webpack://wp-user-frontend/./src/js/user-directory/components/steps/StepLayout.js","webpack://wp-user-frontend/./src/js/user-directory/utils/avatarSizeHelper.js","webpack://wp-user-frontend/./src/js/user-directory/components/steps/StepProfile.js","webpack://wp-user-frontend/./src/js/user-directory/components/steps/StepTabs.js","webpack://wp-user-frontend/./src/js/user-directory/components/steps/StepAdvanced.js","webpack://wp-user-frontend/./src/js/user-directory/components/common/Toast.js","webpack://wp-user-frontend/./src/js/user-directory/components/DirectoryWizard.js","webpack://wp-user-frontend/./src/js/user-directory/components/common/DeleteConfirmModal.js","webpack://wp-user-frontend/./src/js/user-directory/App.js","webpack://wp-user-frontend/./src/js/user-directory/index.js"],"sourcesContent":["const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"element\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"React\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"i18n\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"ReactJSXRuntime\"];","/**\n * User Directory Free - Header Component\n *\n * @package WPUF\n * @subpackage Free/User_Directory\n * @since 4.3.0\n */\n\nimport React from 'react';\nimport { __ } from '@wordpress/i18n';\n\n// Pro Badge Component\nconst ProBadge = ({ className = '' }) => (\n \n PRO\n \n);\n\nconst Header = ({ utm = 'wpuf-header' }) => {\n // Get wpuf_admin_script from global\n const wpuf = window.wpuf_admin_script || {};\n const logoUrl = (wpuf.asset_url || '') + '/images/wpuf-icon-circle.svg';\n const upgradeUrl = (wpuf.upgradeUrl || 'https://wedevs.com/wp-user-frontend-pro/pricing/') + '?utm_source=' + utm + '&utm_medium=wpuf-header';\n const version = wpuf.version || '';\n\n return (\n

\n );\n};\n\nexport default Header;\n","/**\n * User Directory Free - Directory List Component\n *\n * @package WPUF\n * @subpackage Free/User_Directory\n * @since 4.3.0\n */\n\nimport React, {useState, useEffect, useRef} from 'react';\nimport { __ } from '@wordpress/i18n';\n\n// Pro Badge Component - uses the same SVG as modules page\nconst ProBadge = ({ className = '' }) => (\n \"Pro\"\n);\n\nconst DirectoryList = ( {directories, currentPage, totalPages, onPageChange, fetchDirectories, className = '', onRequestDelete, deletingId, onEdit, config = {}} ) => {\n const [copiedId, setCopiedId] = useState( null );\n const [openMenuId, setOpenMenuId] = useState(null);\n const menuRefs = useRef({});\n\n const handleCopy = ( shortcode, id ) => {\n navigator.clipboard.writeText( shortcode );\n setCopiedId( id );\n setTimeout( () => setCopiedId( null ), 1500 );\n };\n\n const handleMenuToggle = (id) => {\n setOpenMenuId(openMenuId === id ? null : id);\n };\n\n useEffect(() => {\n if (openMenuId === null) return;\n const handleClickOutside = (event) => {\n const menuNode = menuRefs.current[openMenuId];\n if (menuNode && !menuNode.contains(event.target)) {\n setOpenMenuId(null);\n }\n };\n document.addEventListener('mousedown', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [openMenuId]);\n\n const renderPagination = () => {\n if (totalPages <= 1) return null;\n const range = [];\n const delta = 2;\n for (\n let i = Math.max( 1, currentPage - delta );\n i <= Math.min( totalPages, currentPage + delta );\n i++\n ) {\n range.push( i );\n }\n return (\n
\n \n
\n );\n };\n\n return (\n <>\n
\n \n \n \n \n \n \n \n \n \n \n \n {directories.map( dir => {\n // Helper to escape shortcode attribute values\n const escapeShortcodeAttr = (val) => {\n if (typeof val !== 'string') val = String(val);\n return val.replace(/\"/g, '"').replace(/\\[/g, '[').replace(/\\]/g, ']');\n };\n\n let post_content = {};\n try {\n if (dir.post_content && typeof dir.post_content === 'string' && dir.post_content.trim() !== '') {\n post_content = JSON.parse(dir.post_content);\n }\n } catch (e) {\n post_content = {};\n }\n // Supported attributes and their mapping to post_content keys\n // Handle field name mapping between frontend storage and shortcode attributes\n const defaultTabs = post_content?.default_tabs || post_content?.profile_tabs;\n const galleryImgSize = post_content?.gallery_img_size || post_content?.profile_size;\n let profilePermalink = post_content?.profile_base || post_content?.profile_permalink;\n \n // Handle legacy 'user' value by mapping it to 'username'\n if (profilePermalink === 'user') {\n profilePermalink = 'username';\n }\n \n // Convert array to comma-separated string if needed\n const tabsValue = Array.isArray(defaultTabs) ? defaultTabs.join(',') : defaultTabs;\n \n const shortcodeAttrs = {\n id: dir.ID,\n roles: post_content?.roles,\n per_page: post_content?.per_page,\n directory_layout: post_content?.directory_layout,\n profile_layout: post_content?.profile_layout,\n default_tabs: tabsValue,\n gallery_img_size: galleryImgSize,\n avatar_size: post_content?.avatar_size,\n profile_permalink: profilePermalink,\n orderby: post_content?.orderby,\n order: post_content?.order,\n };\n // Build full shortcode string with all attributes (for copying)\n const fullShortcode = '[wpuf_user_listing' +\n Object.entries(shortcodeAttrs)\n .filter(([key, val]) => val !== undefined && val !== null && val !== '')\n .map(([key, val]) => ` ${key}=\"${escapeShortcodeAttr(val)}\"`)\n .join('') +\n ']';\n // Build simple ID-based shortcode for display\n const displayShortcode = `[wpuf_user_listing id=\"${dir.ID}\"]`;\n return (\n \n \n \n \n \n \n \n );\n } )}\n \n
{__('Directory Name', 'wp-user-frontend')}{__('ID', 'wp-user-frontend')}{__('Members', 'wp-user-frontend')}{__('Shortcode', 'wp-user-frontend')} 
\n { onEdit && onEdit(dir);}} >{dir.post_title}\n {dir.ID}\n \n \n
\n \n {displayShortcode}\n \n {copiedId === dir.ID ? (\n Copied!\n ) : (\n handleCopy( displayShortcode, dir.ID )}\n className=\"wpuf-text-gray-500 hover:wpuf-text-gray-700 wpuf-focus:outline-none\"\n title=\"Copy shortcode\"\n >\n \n \n \n \n )}\n
\n
\n
\n handleMenuToggle(dir.ID)}\n aria-haspopup=\"true\"\n aria-expanded={openMenuId === dir.ID}\n >\n \n \n \n \n {openMenuId === dir.ID && (\n
menuRefs.current[dir.ID] = el}>\n \n
\n {__('Duplicate', 'wp-user-frontend')}\n \n
\n \n
\n )}\n
\n
\n
\n {renderPagination()}\n \n );\n};\n\nexport default DirectoryList;\n","import { useState } from '@wordpress/element';\n\nconst Tooltip = ( { content, children, className = '' } ) => {\n const [visible, setVisible] = useState(false);\n const tooltipId = `wpuf-tooltip-${Math.random().toString(36).substr(2, 9)}`;\n\n return (\n setVisible(true)}\n onMouseLeave={() => setVisible(false)}\n onFocus={() => setVisible(true)}\n onBlur={() => setVisible(false)}\n >\n \n {children}\n \n {visible && (\n \n {content}\n \n )}\n \n );\n};\n\nexport default Tooltip;\n","import { useState, useRef, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n const MultiSelect = ({ options, value, onChange, placeholder, sortable = false, searchable = true, selectedLabel = 'items' }) => {\n const [isOpen, setIsOpen] = useState(false);\n const [dragIndex, setDragIndex] = useState(null);\n const [searchTerm, setSearchTerm] = useState('');\n const dropdownRef = useRef(null);\n const searchInputRef = useRef(null);\n\n // Helper function to get display text from option value\n const getOptionDisplayText = (key) => {\n const option = options[key];\n if (typeof option === 'string') {\n return option;\n }\n if (option && typeof option === 'object' && option.label) {\n return option.label;\n }\n return key;\n };\n\n // Helper function to get icon from option value with dynamic coloring\n const getOptionIcon = (key, isSelected = false) => {\n const option = options[key];\n if (option && typeof option === 'object' && option.icon) {\n // Clone the icon and modify its fill color if selected\n if (isSelected) {\n return React.cloneElement(option.icon, {\n children: React.cloneElement(option.icon.props.children, {\n fill: '#059669' // Emerald-600\n })\n });\n }\n // For unselected state, add transition styles\n return React.cloneElement(option.icon, {\n children: React.cloneElement(option.icon.props.children, {\n style: {\n transition: 'fill 0.2s ease-in-out'\n }\n })\n });\n }\n return null;\n };\n\n // Close dropdown on outside click\n useEffect(() => {\n const handleClick = (e) => {\n if (dropdownRef.current && !dropdownRef.current.contains(e.target)) {\n setIsOpen(false);\n setSearchTerm('');\n }\n };\n document.addEventListener('mousedown', handleClick);\n return () => document.removeEventListener('mousedown', handleClick);\n }, []);\n\n // Focus search input when dropdown opens\n useEffect(() => {\n if (isOpen && searchable && searchInputRef.current) {\n setTimeout(() => {\n searchInputRef.current?.focus();\n }, 100);\n }\n }, [isOpen, searchable]);\n\n // Handle select/deselect with 'all' logic\n const handleSelect = (key) => {\n if (key === 'all') {\n onChange(['all']);\n setIsOpen(false);\n setSearchTerm('');\n return;\n }\n let newValue = value.filter((k) => k !== 'all');\n if (!newValue.includes(key)) {\n newValue = [...newValue, key];\n }\n onChange(newValue);\n setIsOpen(false);\n setSearchTerm('');\n };\n const handleRemove = (key) => {\n if (key === 'all') {\n onChange([]);\n } else {\n const newValue = value.filter((k) => k !== key);\n onChange(newValue);\n }\n };\n\n // Drag and drop handlers (only if sortable)\n const handleDragStart = (index) => sortable && setDragIndex(index);\n const handleDragOver = (index) => {\n if (!sortable || dragIndex === null || dragIndex === index) return;\n const newValue = [...value];\n const [removed] = newValue.splice(dragIndex, 1);\n newValue.splice(index, 0, removed);\n setDragIndex(index);\n onChange(newValue);\n };\n const handleDragEnd = () => sortable && setDragIndex(null);\n\n // Filter options based on search term and already selected values\n const getFilteredOptions = () => {\n let filtered = Object.keys(options).filter((key) => !value.includes(key));\n\n if (searchable && searchTerm.trim()) {\n const searchLower = searchTerm.toLowerCase();\n filtered = filtered.filter((key) => {\n const displayText = getOptionDisplayText(key);\n return displayText.toLowerCase().includes(searchLower);\n });\n }\n\n return filtered;\n };\n\n const availableOptions = getFilteredOptions();\n\n // Get display text for selected values\n const getDisplayText = () => {\n if (value.length === 0) {\n return placeholder;\n }\n // Show count if more than 3 items selected\n if (value.length > 3) {\n return `${value.length} ${selectedLabel} selected`;\n }\n // Show first 3 items if 3 or fewer selected\n return value.slice(0, 3).map((k) => getOptionDisplayText(k)).join(', ');\n };\n\n // Handle search input change\n const handleSearchChange = (e) => {\n setSearchTerm(e.target.value);\n };\n\n // Handle search input keydown\n const handleSearchKeyDown = (e) => {\n if (e.key === 'Escape') {\n setIsOpen(false);\n setSearchTerm('');\n } else if (e.key === 'Enter' && availableOptions.length > 0) {\n handleSelect(availableOptions[0]);\n }\n };\n\n return (\n
\n setIsOpen((open) => !open)}\n >\n \n {getDisplayText()}\n \n \n \n \n \n {isOpen && (\n
    \n {/* Search input */}\n {searchable && (\n
  • \n \n
  • \n )}\n {availableOptions.length === 0 && (\n
  • \n {searchTerm.trim() ? __('No matching options', 'wp-user-frontend') : __('No more options', 'wp-user-frontend')}\n
  • \n )}\n {availableOptions.map((key) => (\n handleSelect(key)}\n onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') { handleSelect(key); } }}\n >\n \n {getOptionIcon(key)}\n {getOptionDisplayText(key)}\n \n \n ))}\n
\n )}\n {/* Pills for selected items */}\n
\n {value.map((key, idx) => (\n handleDragStart(idx) : undefined}\n onDragOver={sortable ? (e) => { e.preventDefault(); handleDragOver(idx); } : undefined}\n onDragEnd={sortable ? handleDragEnd : undefined}\n tabIndex={0}\n aria-label={sortable ? __('Drag to reorder', 'wp-user-frontend') : undefined}\n >\n \n {getOptionIcon(key)}\n {getOptionDisplayText(key)}\n \n handleRemove(key)}\n >\n ×\n \n
\n ))}\n
\n \n );\n};\n\nexport default MultiSelect;\n","import React, { useState, useEffect, useRef } from 'react';\nimport { __ } from '@wordpress/i18n';\nimport Tooltip from '../common/Tooltip';\nimport MultiSelect from '../common/MultiSelect';\n\nconst StepBasics = ({ formData, setFormData, config }) => {\n const [searchTerm, setSearchTerm] = useState('');\n const [searchResults, setSearchResults] = useState([]);\n const [isSearching, setIsSearching] = useState(false);\n const [showUserDropdown, setShowUserDropdown] = useState(false);\n const searchTimeoutRef = useRef(null);\n const userDropdownRef = useRef(null);\n\n // Prepare options: always include 'all' as the first option\n const roleOptions = {\n all: __('All', 'wp-user-frontend'),\n ...(typeof wpuf_ud_free !== 'undefined' && wpuf_ud_free.roles \n ? wpuf_ud_free.roles \n : (typeof wpuf_ud !== 'undefined' && wpuf_ud.roles ? wpuf_ud.roles : {}))\n };\n\n // Ensure roles is always an array\n const rolesValue = Array.isArray(formData.roles)\n ? formData.roles\n : formData.roles\n ? [formData.roles]\n : ['all'];\n\n // Ensure excluded_users is always an array\n const excludedUsers = Array.isArray(formData.excluded_users)\n ? formData.excluded_users\n : [];\n\n const handleChange = (e) => {\n const { name, value } = e.target;\n setFormData(prev => ({ ...prev, [name]: value }));\n };\n\n // Search users via WordPress REST API\n const searchUsers = async (search) => {\n if (!search || search.length < 2) {\n setSearchResults([]);\n return;\n }\n\n setIsSearching(true);\n \n try {\n const response = await wp.apiFetch({\n path: `/wp/v2/users?search=${encodeURIComponent(search)}&per_page=10`\n });\n \n setSearchResults(response.map(user => ({\n id: user.id,\n name: user.name,\n username: user.slug,\n avatar: user.avatar_urls && user.avatar_urls['48'] || ''\n })));\n } catch (error) {\n console.error('Error searching users:', error);\n setSearchResults([]);\n } finally {\n setIsSearching(false);\n }\n };\n\n // Handle search input change with debounce\n const handleSearchChange = (e) => {\n const value = e.target.value;\n setSearchTerm(value);\n \n // Clear previous timeout\n if (searchTimeoutRef.current) {\n clearTimeout(searchTimeoutRef.current);\n }\n \n // Set new timeout for debounced search\n searchTimeoutRef.current = setTimeout(() => {\n searchUsers(value);\n }, 300);\n };\n\n // Add user to excluded list\n const addExcludedUser = (user) => {\n const newExcludedUsers = [...excludedUsers, user];\n setFormData(prev => ({ ...prev, excluded_users: newExcludedUsers }));\n setSearchTerm('');\n setSearchResults([]);\n setShowUserDropdown(false);\n };\n\n // Remove user from excluded list\n const removeExcludedUser = (userId) => {\n const newExcludedUsers = excludedUsers.filter(user => user.id !== userId);\n setFormData(prev => ({ ...prev, excluded_users: newExcludedUsers }));\n };\n\n // Close dropdown when clicking outside\n useEffect(() => {\n const handleClickOutside = (event) => {\n if (userDropdownRef.current && !userDropdownRef.current.contains(event.target)) {\n setShowUserDropdown(false);\n }\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, []);\n\n return (\n
\n

{__('Directory Basics', 'wp-user-frontend')}

\n

{__('Set the foundation of your user directory by giving it a name and choosing who you want to include. This helps define the purpose and audience of your directory', 'wp-user-frontend')}

\n
\n \n \n
\n
\n \n setFormData(prev => ({ ...prev, roles }))}\n placeholder={__('Select roles...', 'wp-user-frontend')}\n sortable={false}\n />\n
\n \n {/* Exclude Users Section - Free Feature */}\n
\n \n \n
\n {/* Search Input */}\n setShowUserDropdown(true)}\n />\n \n {/* Search Results Dropdown */}\n {showUserDropdown && searchTerm && (\n
\n {isSearching && (\n
\n {__('Searching...', 'wp-user-frontend')}\n
\n )}\n \n {!isSearching && searchResults.length === 0 && searchTerm.length >= 2 && (\n
\n {__('No users found', 'wp-user-frontend')}\n
\n )}\n \n {!isSearching && searchResults.length > 0 && (\n
    \n {searchResults.map(user => {\n const isExcluded = excludedUsers.some(u => u.id === user.id);\n if (isExcluded) return null;\n \n return (\n addExcludedUser(user)}\n >\n {user.avatar && (\n {user.name}\n\n )}\n
    \n
    {user.name}
    \n
    @{user.username}
    \n
    \n \n );\n })}\n
\n )}\n
\n )}\n \n {/* Selected Excluded Users */}\n {excludedUsers.length > 0 && (\n
\n {excludedUsers.map(user => (\n \n \n {user.avatar && (\n {user.name}\n\n )}\n {user.name}\n \n removeExcludedUser(user.id)}\n >\n ×\n \n
\n ))}\n
\n )}\n
\n
\n \n );\n};\n\nexport default StepBasics;\n","import React from 'react';\nimport { __ } from '@wordpress/i18n';\nimport { getOptimalAvatarSize } from '../../utils/avatarSizeHelper';\n\nconst StepLayout = ({ formData, setFormData, config }) => {\n // Free version only allows layout-3\n const freeLayout = 'layout-3';\n\n const handleChange = (e) => {\n const { name, value } = e.target;\n \n // In free version, only allow layout-3\n if (name === 'directory_layout' && value !== freeLayout) {\n return; // Ignore clicks on Pro layouts\n }\n \n // Auto-select avatar size when directory layout changes\n if (name === 'directory_layout') {\n const optimalSize = getOptimalAvatarSize(value);\n setFormData(prev => ({\n ...prev,\n [name]: value,\n avatar_size: optimalSize\n }));\n } else {\n setFormData(prev => ({ ...prev, [name]: value }));\n }\n };\n\n // Check both wpuf_ud_free (Free version) and wpuf_ud (Pro version) for layout options\n const layoutOptions = (typeof wpuf_ud_free !== 'undefined' && wpuf_ud_free.directory_layouts) \n ? wpuf_ud_free.directory_layouts \n : (typeof wpuf_ud !== 'undefined' && wpuf_ud.directory_layouts ? wpuf_ud.directory_layouts : {});\n \n // Custom display names for layouts\n const layoutDisplayNames = {\n 'layout-1': 'Classic Table',\n 'layout-2': 'Rounded Sidecard (2x)',\n 'layout-3': 'Round Grid (3x)',\n 'layout-4': 'Square Grid (3x)',\n 'layout-5': 'Round Grid (4x)',\n 'layout-6': 'Square Grid (4x)'\n };\n\n // Check if a layout is Pro-only\n const isProLayout = (layout) => layout !== freeLayout;\n\n return (\n
\n
\n

\n {__('Directory Layout', 'wp-user-frontend')}\n

\n

{__('Choose how your user directory will be displayed. Pick a style that feels natural for your site—list, grid or wide layouts that match your site\\'s style and user experience', 'wp-user-frontend')}

\n
\n {Object.entries(layoutOptions).map(([value, option]) => {\n const isPro = isProLayout(value);\n const isSelected = formData.directory_layout === value;\n \n return (\n { if (isPro) e.currentTarget.style.borderColor = '#3B82F6'; }}\n onMouseLeave={(e) => { if (isPro) e.currentTarget.style.borderColor = '#E5E7EB'; }}\n >\n \n
\n \n \n {/* Pro Badge for locked layouts */}\n {isPro && (\n
\n \"Pro\"\n \n {layoutDisplayNames[value] || option.name}\n \n
\n )}\n \n {/* Hover overlay with layout name (only for free layout) */}\n {!isPro && (\n
\n {layoutDisplayNames[value] || option.name}\n
\n )}\n
\n {isSelected && !isPro && (\n \n \n \n \n \n )}\n \n );\n })}\n
\n
\n
\n );\n};\n\nexport default StepLayout;\n","/**\n * Utility function to get optimal avatar size based on directory layout\n * \n * @param {string} layout - The directory layout (layout-1, layout-2, etc.)\n * @returns {string} - The optimal avatar size in pixels\n */\nexport const getOptimalAvatarSize = (layout) => {\n const sizeMap = {\n 'layout-1': '48', // Table layout - smaller avatars\n 'layout-2': '128', // Grid layout - medium avatars\n 'layout-3': '128', // Card layout - medium avatars\n 'layout-4': '192', // Large card layout - larger avatars\n 'layout-5': '128', // Grid layout - medium avatars\n 'layout-6': '265' // Grid layout - medium avatars\n };\n return sizeMap[layout] || '48'; // Default to 48 if layout not found\n};","import React from 'react';\nimport { __ } from '@wordpress/i18n';\n\nconst StepProfile = ({ formData, setFormData, config }) => {\n // Free version only allows layout-2\n const freeLayout = 'layout-2';\n\n const handleChange = (e) => {\n const { name, value } = e.target;\n \n // In free version, only allow layout-2\n if (name === 'profile_layout' && value !== freeLayout) {\n return; // Ignore clicks on Pro layouts\n }\n \n setFormData(prev => ({ ...prev, [name]: value }));\n };\n\n // Check both wpuf_ud_free (Free version) and wpuf_ud (Pro version) for layout options\n const layoutOptions = (typeof wpuf_ud_free !== 'undefined' && wpuf_ud_free.profile_layouts) \n ? wpuf_ud_free.profile_layouts \n : (typeof wpuf_ud !== 'undefined' && wpuf_ud.profile_layouts ? wpuf_ud.profile_layouts : {});\n\n // Check if a layout is Pro-only\n const isProLayout = (layout) => layout !== freeLayout;\n\n return (\n
\n

\n {__('Profile Layout', 'wp-user-frontend')}\n

\n

{__('Decide how individual user profiles will appear. Select a layout that best organizes profile information', 'wp-user-frontend')}

\n
\n {Object.entries(layoutOptions).map(([value, option]) => {\n const isPro = isProLayout(value);\n const isSelected = formData.profile_layout === value;\n \n return (\n { if (isPro) e.currentTarget.style.borderColor = '#3B82F6'; }}\n onMouseLeave={(e) => { if (isPro) e.currentTarget.style.borderColor = '#E5E7EB'; }}\n >\n \n \n \n {/* Pro Badge for locked layouts */}\n {isPro && (\n
\n \"Pro\"\n \n {option.name}\n \n
\n )}\n \n {/* Hover overlay with layout name - only for free layout */}\n {!isPro && (\n
\n {option.name}\n
\n )}\n \n {isSelected && !isPro && (\n \n \n \n \n \n )}\n \n );\n })}\n
\n
\n );\n};\n\nexport default StepProfile;\n","import React, { useState } from 'react';\nimport { __ } from '@wordpress/i18n';\n\nconst StepTabs = ({ formData, setFormData, config }) => {\n // Initialize tabs from config or use defaults\n const defaultTabs = config?.profile_tabs || {\n about: __('About', 'wp-user-frontend'),\n posts: __('Posts', 'wp-user-frontend'),\n comments: __('Comments', 'wp-user-frontend'),\n };\n\n // Helper to ensure we have a valid array for enabled tabs\n const getEnabledTabsArray = (profileTabs) => {\n if (Array.isArray(profileTabs)) {\n return profileTabs;\n }\n if (profileTabs && typeof profileTabs === 'object') {\n // If it's an object (from Pro), extract keys that are enabled\n return Object.keys(profileTabs).filter(key => profileTabs[key]);\n }\n return ['about']; // Default\n };\n\n const getOrderArray = (order) => {\n if (Array.isArray(order)) {\n return order;\n }\n return [];\n };\n\n // State for draggable tabs\n const [allTabs, setAllTabs] = useState(() => {\n const savedOrder = getOrderArray(formData.profile_tabs_order);\n const enabledTabs = getEnabledTabsArray(formData.profile_tabs);\n \n // Create tabs array\n const tabsMap = {};\n Object.keys(defaultTabs).forEach(key => {\n tabsMap[key] = {\n key,\n label: typeof defaultTabs[key] === 'string' \n ? defaultTabs[key] \n : defaultTabs[key]?.label || key,\n enabled: enabledTabs.includes(key)\n };\n });\n \n // Order tabs based on saved order\n const orderedTabs = [];\n if (savedOrder.length > 0) {\n savedOrder.forEach(key => {\n if (tabsMap[key]) {\n orderedTabs.push(tabsMap[key]);\n delete tabsMap[key];\n }\n });\n }\n \n // Add remaining tabs\n Object.values(tabsMap).forEach(tab => orderedTabs.push(tab));\n \n return orderedTabs;\n });\n\n const [enabledTabs] = useState(() => getEnabledTabsArray(formData.profile_tabs));\n const [draggedItem, setDraggedItem] = useState(null);\n const [dragOverItem, setDragOverItem] = useState(null);\n const [hoveredTab, setHoveredTab] = useState(null);\n const [hoveredContentType, setHoveredContentType] = useState(null);\n\n // Drag and drop handlers\n const handleDragStart = (e, index) => {\n setDraggedItem(index);\n e.dataTransfer.effectAllowed = 'move';\n };\n\n const handleDragEnd = (e) => {\n e.preventDefault();\n setDraggedItem(null);\n setDragOverItem(null);\n };\n\n const handleDragOver = (e) => {\n e.preventDefault();\n e.dataTransfer.dropEffect = 'move';\n };\n\n const handleDragEnter = (e, index) => {\n if (draggedItem !== index) {\n setDragOverItem(index);\n }\n };\n\n const handleDragLeave = (e) => {\n if (e.target === e.currentTarget) {\n setDragOverItem(null);\n }\n };\n\n const handleDrop = (e, dropIndex) => {\n e.stopPropagation();\n e.preventDefault();\n \n if (draggedItem !== null && draggedItem !== dropIndex) {\n const newTabs = [...allTabs];\n const draggedTab = newTabs[draggedItem];\n \n newTabs.splice(draggedItem, 1);\n newTabs.splice(dropIndex, 0, draggedTab);\n \n setAllTabs(newTabs);\n \n // Update form data with new order only (toggle is Pro feature)\n const completeOrder = newTabs.map(t => t.key);\n setFormData(prev => ({\n ...prev,\n profile_tabs_order: completeOrder\n }));\n }\n \n setDraggedItem(null);\n setDragOverItem(null);\n };\n\n return (\n
\n

\n {__('Profile Content', 'wp-user-frontend')}\n

\n

{__('Customize user tab layout and content for an organized profile experience', 'wp-user-frontend')}

\n\n {/* Tabs Section */}\n
\n

\n {__('Customize Profile Tabs', 'wp-user-frontend')}\n

\n

\n {__('Easily manage your profile tabs. Drag to reorder, toggle visibility on the front end, and customize tab names using the edit icon', 'wp-user-frontend')}\n

\n \n {/* Draggable Tabs */}\n
\n {allTabs.map((tab, index) => {\n const isEnabled = enabledTabs.includes(tab.key);\n const isDragging = draggedItem === index;\n const isDragOver = dragOverItem === index;\n const isHovered = hoveredTab === tab.key;\n \n return (\n handleDragStart(e, index)}\n onDragEnd={handleDragEnd}\n onDragOver={handleDragOver}\n onDragEnter={(e) => handleDragEnter(e, index)}\n onDragLeave={handleDragLeave}\n onDrop={(e) => handleDrop(e, index)}\n onMouseEnter={() => setHoveredTab(tab.key)}\n onMouseLeave={() => setHoveredTab(null)}\n >\n
\n {/* Drag Handle */}\n \n \n \n \n {/* Tab Name */}\n \n {tab.label}\n \n
\n \n
\n {/* Pro Badge on hover - positioned in center above both icons */}\n {isHovered && (\n
\n \"Pro\"\n
\n )}\n \n {/* Edit Button - Pro Only (same icon as Pro version) */}\n \n \n \n \n {/* Toggle Switch - Pro Only, always ON by default in free (same style as Pro version) */}\n
\n \n
\n
\n
\n );\n })}\n
\n
\n\n {/* Configure About Tab Section - Pro Feature Preview */}\n
\n
\n \n {__('Configure About Tab', 'wp-user-frontend')}\n \n
\n \n

\n {__('Define content for About tab by selecting fields, post types, or files. Map custom meta—including WPUF fields—to showcase user data such as skills, achievements, media, and other key information.', 'wp-user-frontend')}\n

\n \n {/* Add Content Button - Disabled with Pro Badge on hover */}\n
setHoveredContentType('add-content')}\n onMouseLeave={() => setHoveredContentType(null)}\n >\n \n \n \n \n \n {__('Add Content', 'wp-user-frontend')}\n \n \n \n {/* Pro Badge on hover */}\n {hoveredContentType === 'add-content' && (\n
\n \"Pro\"\n
\n )}\n
\n \n {/* Content Type Buttons Preview - Disabled with Pro Badges on hover */}\n
\n
\n {/* Meta Field */}\n
setHoveredContentType('meta-field')}\n onMouseLeave={() => setHoveredContentType(null)}\n >\n {hoveredContentType === 'meta-field' && (\n
\n \"Pro\"\n
\n )}\n \n \n \n \n \n {__('Meta Field', 'wp-user-frontend')}\n \n \n
\n \n {/* Section */}\n
setHoveredContentType('section')}\n onMouseLeave={() => setHoveredContentType(null)}\n >\n {hoveredContentType === 'section' && (\n
\n \"Pro\"\n
\n )}\n \n \n \n \n \n {__('Section', 'wp-user-frontend')}\n \n \n
\n \n {/* Post Type */}\n
setHoveredContentType('post-type')}\n onMouseLeave={() => setHoveredContentType(null)}\n >\n {hoveredContentType === 'post-type' && (\n
\n \"Pro\"\n
\n )}\n \n \n \n \n \n {__('Post Type', 'wp-user-frontend')}\n \n \n
\n \n {/* Comment */}\n
setHoveredContentType('comment')}\n onMouseLeave={() => setHoveredContentType(null)}\n >\n {hoveredContentType === 'comment' && (\n
\n \"Pro\"\n
\n )}\n \n \n \n \n \n {__('Comment', 'wp-user-frontend')}\n \n \n
\n \n {/* Image/File */}\n
setHoveredContentType('image-file')}\n onMouseLeave={() => setHoveredContentType(null)}\n >\n {hoveredContentType === 'image-file' && (\n
\n \"Pro\"\n
\n )}\n \n \n \n \n \n {__('Image/File', 'wp-user-frontend')}\n \n \n
\n
\n
\n
\n \n );\n};\n\nexport default StepTabs;\n","import React, { useState } from 'react';\nimport { __ } from '@wordpress/i18n';\nimport Tooltip from '../common/Tooltip';\n\nconst StepAdvanced = ({ formData, setFormData, config }) => {\n // Hover states for Pro features\n const [hoveredOption, setHoveredOption] = useState(null);\n \n // Free version options\n const freeAvatarSizes = ['192']; // Only 192 is free\n const freeSortOptions = ['ID']; // Only User ID is free\n const freeGallerySizes = ['thumbnail']; // Only thumbnail is free\n \n const handleChange = (e) => {\n const { name, value, type, checked } = e.target;\n \n if (name === 'users_per_page') {\n setFormData(prev => ({\n ...prev,\n users_per_page: value,\n max_item_per_page: value\n }));\n } else if (name === 'max_item') {\n // Convert empty string to null, handle -1 specially, and ensure numeric values\n let numericValue;\n if (value === '' || value === null || value === undefined) {\n numericValue = null;\n } else {\n numericValue = parseInt(value);\n // Handle NaN case\n if (isNaN(numericValue)) {\n numericValue = null;\n }\n }\n setFormData(prev => ({\n ...prev,\n max_item: numericValue\n }));\n } else if (name === 'default_sort_by') {\n // Only allow free sort options\n if (freeSortOptions.includes(value)) {\n setFormData(prev => ({\n ...prev,\n default_sort_by: value,\n orderby: value\n }));\n }\n } else if (name === 'default_sort_order') {\n setFormData(prev => ({\n ...prev,\n default_sort_order: value,\n order: value.toUpperCase()\n }));\n } else if (name === 'avatar_size') {\n // Only allow free avatar sizes\n if (freeAvatarSizes.includes(value)) {\n setFormData(prev => ({ ...prev, [name]: value }));\n }\n } else if (name === 'profile_size') {\n // Only allow free gallery sizes\n if (freeGallerySizes.includes(value)) {\n setFormData(prev => ({ ...prev, [name]: value }));\n }\n } else if (name === 'profile_base') {\n // Profile permalink is all free\n setFormData(prev => ({ ...prev, [name]: value }));\n } else if (type === 'checkbox') {\n setFormData(prev => ({ ...prev, [name]: checked }));\n } else {\n setFormData(prev => ({ ...prev, [name]: value }));\n }\n };\n\n // Common input style\n const inputStyle = {\n maxWidth: '793px',\n width: '100%',\n height: '42px',\n borderRadius: '6px',\n borderWidth: '1px',\n paddingTop: '9px',\n paddingRight: '37px',\n paddingBottom: '9px',\n paddingLeft: '13px',\n backgroundColor: '#FFFFFF',\n borderColor: '#CBD5E1',\n borderStyle: 'solid',\n opacity: 1,\n boxSizing: 'border-box',\n fontSize: '16px',\n lineHeight: '1',\n display: 'flex',\n alignItems: 'center',\n backgroundImage: 'url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns=\\'http://www.w3.org/2000/svg\\' fill=\\'none\\' stroke=\\'%23374151\\' viewBox=\\'0 0 24 24\\'%3E%3Cpath stroke-linecap=\\'round\\' stroke-linejoin=\\'round\\' stroke-width=\\'2\\' d=\\'M19 9l-7 7-7-7\\'/%3E%3C/svg%3E\")',\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'right 13px center',\n backgroundSize: '16px',\n appearance: 'none',\n WebkitAppearance: 'none',\n MozAppearance: 'none'\n };\n\n // Pro badge component\n const ProBadge = ({ small = false }) => (\n \"Pro\"\n );\n\n // Sort options with Pro status\n const sortOptions = [\n { value: 'ID', label: __('User ID', 'wp-user-frontend'), isFree: true },\n { value: 'display_name', label: __('Display Name', 'wp-user-frontend'), isFree: false },\n { value: 'user_registered', label: __('Registration Date', 'wp-user-frontend'), isFree: false },\n { value: 'user_login', label: __('Username', 'wp-user-frontend'), isFree: false },\n { value: 'user_email', label: __('Email', 'wp-user-frontend'), isFree: false },\n { value: 'post_count', label: __('Post Count', 'wp-user-frontend'), isFree: false },\n ];\n\n // Avatar sizes with Pro status\n const avatarSizes = [\n { value: '32', label: '32×32', isFree: false },\n { value: '48', label: '48×48', isFree: false },\n { value: '80', label: '80×80', isFree: false },\n { value: '128', label: '128×128', isFree: false },\n { value: '160', label: '160×160', isFree: false },\n { value: '192', label: '192×192', isFree: true },\n { value: '265', label: '265×265', isFree: false },\n ];\n\n // Gallery image sizes with Pro status\n const gallerySizes = [\n { value: 'thumbnail', label: __('Thumbnail', 'wp-user-frontend'), isFree: true },\n { value: 'medium', label: __('Medium', 'wp-user-frontend'), isFree: false },\n { value: 'large', label: __('Large', 'wp-user-frontend'), isFree: false },\n { value: 'full', label: __('Full', 'wp-user-frontend'), isFree: false },\n ];\n\n // Social profiles options (all Pro)\n const socialProfiles = [\n { value: 'facebook', label: 'Facebook' },\n { value: 'twitter', label: 'X (Twitter)' },\n { value: 'linkedin', label: 'LinkedIn' },\n { value: 'instagram', label: 'Instagram' },\n ];\n\n // Profile permalink options (all free)\n const profileBases = [\n { value: 'username', label: __('Username', 'wp-user-frontend') },\n { value: 'user_id', label: __('User ID', 'wp-user-frontend') },\n ];\n\n return (\n
\n

\n {__('Advanced Control', 'wp-user-frontend')}\n

\n

{__('Fine-tune your directory settings with customizable options for sorting, pagination, and display preferences', 'wp-user-frontend')}

\n \n
\n {/* Users Per Page - Available in Free */}\n
\n \n \n
\n\n {/* Number of Users in Directory - Available in Free */}\n
\n \n \n
\n\n {/* Default Sort By - User ID is free, rest are Pro */}\n
\n \n
\n {sortOptions.map(option => {\n const isSelected = (formData.default_sort_by || formData.orderby || 'ID') === option.value;\n const isHovered = hoveredOption === `sort-${option.value}`;\n \n return (\n !option.isFree && setHoveredOption(`sort-${option.value}`)}\n onMouseLeave={() => setHoveredOption(null)}\n >\n {/* Pro Badge on hover */}\n {!option.isFree && isHovered && (\n
\n \n
\n )}\n option.isFree && handleChange({ target: { name: 'default_sort_by', value: option.value } })}\n className={`wpuf-px-4 wpuf-py-2 wpuf-rounded-lg wpuf-text-sm wpuf-font-medium wpuf-transition-all ${\n !option.isFree \n ? `wpuf-cursor-not-allowed ${isHovered ? 'wpuf-opacity-80' : 'wpuf-opacity-60'} wpuf-bg-gray-50 wpuf-text-gray-400`\n : isSelected \n ? 'wpuf-bg-emerald-50 wpuf-text-emerald-600 wpuf-border-emerald-500' \n : 'wpuf-bg-white wpuf-text-gray-700 wpuf-border-gray-300 hover:wpuf-border-gray-400'\n }`}\n style={{\n border: !option.isFree && isHovered ? '2px dashed #9CA3AF' : '1px solid',\n borderColor: !option.isFree ? '#E5E7EB' : (isSelected ? '#059669' : '#D1D5DB'),\n minWidth: '100px'\n }}\n disabled={!option.isFree}\n >\n {option.label}\n \n
\n );\n })}\n
\n
\n\n {/* Default Sort Order - Free */}\n
\n \n \n \n \n \n
\n\n {/* Profile Permalink Structure - All Free */}\n
\n \n \n {profileBases.map(option => (\n \n ))}\n \n
\n\n {/* Select Social Profiles - All Pro */}\n
\n \n
setHoveredOption('social-profiles')}\n onMouseLeave={() => setHoveredOption(null)}\n >\n {/* Pro Badge on hover */}\n {hoveredOption === 'social-profiles' && (\n
\n \n
\n )}\n
\n {socialProfiles.map(profile => (\n \n {profile.label}\n \n ))}\n
\n
\n
\n\n {/* Profile Gallery Image Size - Thumbnail is free, rest are Pro */}\n
\n \n
\n {gallerySizes.map(option => {\n const isSelected = (formData.profile_size || 'thumbnail') === option.value;\n const isHovered = hoveredOption === `gallery-${option.value}`;\n \n return (\n !option.isFree && setHoveredOption(`gallery-${option.value}`)}\n onMouseLeave={() => setHoveredOption(null)}\n >\n {/* Pro Badge on hover */}\n {!option.isFree && isHovered && (\n
\n \n
\n )}\n option.isFree && handleChange({ target: { name: 'profile_size', value: option.value } })}\n className={`wpuf-px-4 wpuf-py-2 wpuf-rounded-lg wpuf-text-sm wpuf-font-medium wpuf-transition-all ${\n !option.isFree \n ? `wpuf-cursor-not-allowed ${isHovered ? 'wpuf-opacity-80' : 'wpuf-opacity-60'} wpuf-bg-gray-50 wpuf-text-gray-400`\n : isSelected \n ? 'wpuf-bg-emerald-50 wpuf-text-emerald-600 wpuf-border-emerald-500' \n : 'wpuf-bg-white wpuf-text-gray-700 wpuf-border-gray-300 hover:wpuf-border-gray-400'\n }`}\n style={{\n border: !option.isFree && isHovered ? '2px dashed #9CA3AF' : '1px solid',\n borderColor: !option.isFree ? '#E5E7EB' : (isSelected ? '#059669' : '#D1D5DB'),\n minWidth: '100px'\n }}\n disabled={!option.isFree}\n >\n {option.label}\n \n
\n );\n })}\n
\n
\n\n {/* Avatar Size - Only 192 is free */}\n
\n \n
\n {avatarSizes.map(size => {\n const isSelected = (formData.avatar_size || '192') === size.value;\n const isHovered = hoveredOption === `avatar-${size.value}`;\n \n return (\n !size.isFree && setHoveredOption(`avatar-${size.value}`)}\n onMouseLeave={() => setHoveredOption(null)}\n >\n {/* Pro Badge on hover */}\n {!size.isFree && isHovered && (\n
\n \n
\n )}\n \n \n {/* Checkmark for selected free items */}\n {isSelected && size.isFree && (\n \n \n \n \n \n \n )}\n {/* Avatar Icon */}\n \n \n \n
\n {size.label}\n
\n \n
\n );\n })}\n
\n \n \n \n );\n};\n\nexport default StepAdvanced;\n","/**\n * Toast Component\n *\n * @package WPUF\n * @subpackage Free/User_Directory\n * @since 4.3.0\n */\n\nimport React, { useEffect } from 'react';\n\nconst Toast = ({ message, type = 'success', onClose, duration = 3000 }) => {\n useEffect(() => {\n const timer = setTimeout(() => {\n onClose();\n }, duration);\n \n return () => clearTimeout(timer);\n }, [duration, onClose]);\n\n const bgColor = type === 'success' ? 'wpuf-bg-emerald-50' : 'wpuf-bg-red-50';\n const textColor = type === 'success' ? 'wpuf-text-emerald-800' : 'wpuf-text-red-800';\n const borderColor = type === 'success' ? 'wpuf-border-emerald-200' : 'wpuf-border-red-200';\n const iconColor = type === 'success' ? 'wpuf-text-emerald-500' : 'wpuf-text-red-500';\n\n return (\n
\n
\n {type === 'success' ? (\n \n \n \n ) : (\n \n \n \n )}\n {message}\n \n \n \n \n \n
\n
\n );\n};\n\nexport default Toast;\n","/**\n * User Directory Free - Directory Wizard Component\n *\n * @package WPUF\n * @subpackage Free/User_Directory\n * @since 4.3.0\n */\n\nimport React, { useState, useRef, useEffect } from 'react';\nimport { __ } from '@wordpress/i18n';\n\nimport StepBasics from './steps/StepBasics';\nimport StepLayout from './steps/StepLayout';\nimport StepProfile from './steps/StepProfile';\nimport StepTabs from './steps/StepTabs';\nimport StepAdvanced from './steps/StepAdvanced';\nimport Toast from './common/Toast';\n\n// Default form values for free version\nconst DEFAULTS = {\n directory_title: '',\n directory_layout: 'layout-3',\n profile_layout: 'layout-2',\n per_page: 12,\n users_per_row: 3,\n orderby: 'ID',\n order: 'DESC',\n avatar_size: '192',\n profile_size: 'medium',\n enable_search: true,\n roles: [],\n};\n\nconst DirectoryWizard = ({ onClose, initialData, config = {} }) => {\n const [formData, setFormData] = useState({ ...DEFAULTS });\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState('');\n const [toastMessage, setToastMessage] = useState(null);\n\n // Step definitions for Free version\n const steps = [\n { id: 'basics', label: __('Directory Basics', 'wp-user-frontend') },\n { id: 'layout', label: __('Directory Layout', 'wp-user-frontend') },\n { id: 'profile', label: __('Profile Layout', 'wp-user-frontend') },\n { id: 'content', label: __('Profile Content', 'wp-user-frontend') },\n { id: 'advanced', label: __('Advanced Control', 'wp-user-frontend') },\n ];\n \n const [currentStepIndex, setCurrentStepIndex] = useState(0);\n const [fade, setFade] = useState(true);\n const prevStepIndex = useRef(0);\n\n useEffect(() => {\n if (initialData && initialData.post_content) {\n try {\n const parsedContent = JSON.parse(initialData.post_content || '{}');\n setFormData({\n ...DEFAULTS,\n directory_title: initialData.post_title || '',\n ...parsedContent,\n ID: initialData.ID,\n });\n } catch (e) {\n setFormData({\n ...DEFAULTS,\n directory_title: initialData.post_title || '',\n ID: initialData.ID,\n });\n }\n }\n }, [initialData]);\n\n // Navigation between steps\n const navigateToStep = (stepIndex) => {\n setFade(false);\n setTimeout(() => {\n prevStepIndex.current = currentStepIndex;\n setCurrentStepIndex(stepIndex);\n setFade(true);\n }, 200);\n };\n\n const handleNextStep = () => {\n const isLastStep = currentStepIndex === steps.length - 1;\n \n if (!isLastStep) {\n setFade(false);\n setTimeout(() => {\n prevStepIndex.current = currentStepIndex;\n setCurrentStepIndex(currentStepIndex + 1);\n setFade(true);\n }, 200);\n } else {\n handleSubmit();\n }\n };\n\n const handlePrevStep = () => {\n if (currentStepIndex > 0) {\n setFade(false);\n setTimeout(() => {\n prevStepIndex.current = currentStepIndex;\n setCurrentStepIndex(currentStepIndex - 1);\n setFade(true);\n }, 200);\n }\n };\n\n const handleSubmit = async () => {\n setLoading(true);\n setError('');\n \n try {\n const restUrl = config.rest_url || '/wp-json/';\n const url = formData.ID\n ? `${restUrl}wpuf/v1/user_directory/${formData.ID}`\n : `${restUrl}wpuf/v1/user_directory`;\n \n const response = await fetch(url, {\n method: formData.ID ? 'PUT' : 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'X-WP-Nonce': config.rest_nonce || '',\n },\n body: JSON.stringify(formData),\n });\n\n if (!response.ok) {\n const data = await response.json();\n throw new Error(data.message || __('Something went wrong', 'wp-user-frontend'));\n }\n \n setToastMessage({ text: __('Directory settings saved successfully!', 'wp-user-frontend'), type: 'success' });\n setLoading(false);\n \n setTimeout(() => {\n onClose();\n }, 1500);\n } catch (err) {\n setError(err.message || __('Something went wrong', 'wp-user-frontend'));\n setLoading(false);\n }\n };\n\n const handleSaveAndExit = async () => {\n await handleSubmit();\n };\n\n // Render the current step component\n const renderStepComponent = () => {\n const stepProps = { formData, setFormData, config };\n \n switch (currentStepIndex) {\n case 0:\n return ;\n case 1:\n return ;\n case 2:\n return ;\n case 3:\n return ;\n case 4:\n return ;\n default:\n return null;\n }\n };\n\n const isLastStep = currentStepIndex === steps.length - 1;\n\n return (\n
\n
\n { e.preventDefault(); onClose(); }} className=\"wpuf-flex wpuf-items-center wpuf-text-gray-500 hover:wpuf-text-gray-700 wpuf-no-underline\">\n \n \n \n {__('Directory List', 'wp-user-frontend')}\n \n\n \n {loading && (\n \n )}\n { loading ? __( 'Saving...', 'wp-user-frontend' ) : __( 'Save and Exit', 'wp-user-frontend' ) }\n \n
\n\n
\n
\n

{__( 'Set up your Directory', 'wp-user-frontend' )}

\n\n \n
\n
\n\n {/* Step Content */}\n
\n
\n {error && (\n
\n {error}\n
\n )}\n {renderStepComponent()}\n
\n
\n\n {/* Footer Navigation */}\n
\n
\n
\n {/* Left buttons */}\n
\n {currentStepIndex === 0 ? (\n \n {__('Cancel', 'wp-user-frontend')}\n \n ) : (\n \n \n \n \n {__('Previous', 'wp-user-frontend')}\n \n )}\n
\n\n {/* Right buttons */}\n
\n \n {loading && isLastStep && (\n \n )}\n {isLastStep\n ? (loading ? __('Saving...', 'wp-user-frontend') : __('Save Changes', 'wp-user-frontend'))\n : __('Next', 'wp-user-frontend')\n }\n {!loading && !isLastStep && (\n \n \n \n )}\n \n
\n
\n
\n
\n\n {/* Toast */}\n {toastMessage && (\n setToastMessage(null)}\n />\n )}\n
\n );\n};\n\nexport default DirectoryWizard;\n","/**\n * User Directory Free - Delete Confirm Modal Component\n *\n * @package WPUF\n * @subpackage Free/User_Directory\n * @since 4.3.0\n */\n\nimport React from 'react';\nimport { __ } from '@wordpress/i18n';\n\nconst DeleteConfirmModal = ( {isOpen, onCancel, onConfirm} ) => {\n if (!isOpen) return null;\n return (\n \n \n\n {/* Close Button */}\n \n \n \n \n \n\n {/* Content Section */}\n
\n \n \n \n \n\n

\n {__( 'Delete Confirmation', 'wp-user-frontend' )}\n

\n\n

\n {__( 'Are you sure you want to delete this? This action cannot be undone.', 'wp-user-frontend' )}\n

\n
\n\n {/* Buttons Section */}\n
\n \n Cancel\n \n\n \n Delete\n \n
\n \n \n );\n};\n\nexport default DeleteConfirmModal;\n","/**\n * User Directory Free - Main App Component\n *\n * @package WPUF\n * @subpackage Free/User_Directory\n * @since 4.3.0\n */\n\nimport React, { useState, useEffect } from 'react';\nimport { __ } from '@wordpress/i18n';\nimport Header from './components/common/Header';\nimport DirectoryList from './components/DirectoryList';\nimport DirectoryWizard from './components/DirectoryWizard';\nimport DeleteConfirmModal from './components/common/DeleteConfirmModal';\n\nconst App = () => {\n const [view, setView] = useState('list'); // 'list' or 'wizard'\n const [directories, setDirectories] = useState([]);\n const [editDirectory, setEditDirectory] = useState(null);\n const [loading, setLoading] = useState(true);\n const [currentPage, setCurrentPage] = useState(1);\n const [totalPages, setTotalPages] = useState(1);\n const [deleteModal, setDeleteModal] = useState({ open: false, dir: null });\n const [deletingId, setDeletingId] = useState(null);\n\n const config = window.wpuf_ud_free || window.wpuf_ud || {};\n const perPage = 10;\n\n // Fetch directories on mount and when page changes\n useEffect(() => {\n fetchDirectories(currentPage);\n }, [currentPage]);\n\n const fetchDirectories = async (page = 1) => {\n setLoading(true);\n try {\n const restUrl = config.rest_url || '/wp-json/';\n const url = `${restUrl}wpuf/v1/user_directory?page=${page}&per_page=${perPage}`;\n const response = await fetch(url, {\n headers: {\n 'X-WP-Nonce': config.rest_nonce || '',\n },\n });\n const data = await response.json();\n if (data && data.success && Array.isArray(data.result)) {\n setDirectories(data.result);\n if (data.pagination && data.pagination.total_pages) {\n setTotalPages(data.pagination.total_pages);\n } else {\n setTotalPages(1);\n }\n } else {\n setDirectories([]);\n setTotalPages(1);\n }\n } catch (error) {\n console.error('Error fetching directories:', error);\n setDirectories([]);\n setTotalPages(1);\n }\n setLoading(false);\n };\n\n const handlePageChange = (page) => {\n if (page < 1 || page > totalPages) return;\n setCurrentPage(page);\n };\n\n const handleCreate = () => {\n setEditDirectory(null);\n setView('wizard');\n };\n\n const handleEdit = (directory) => {\n setEditDirectory(directory);\n setView('wizard');\n };\n\n const handleClose = () => {\n setView('list');\n setEditDirectory(null);\n fetchDirectories(currentPage);\n };\n\n const handleRequestDelete = (dir) => {\n setDeleteModal({ open: true, dir });\n };\n\n const handleDelete = async () => {\n if (!deleteModal.dir) return;\n setDeletingId(deleteModal.dir.ID);\n try {\n const restUrl = config.rest_url || '/wp-json/';\n const response = await fetch(`${restUrl}wpuf/v1/user_directory/${deleteModal.dir.ID}`, {\n method: 'DELETE',\n headers: {\n 'X-WP-Nonce': config.rest_nonce || '',\n },\n });\n if (!response.ok) {\n alert('Server error: ' + response.status);\n setDeletingId(null);\n setDeleteModal({ open: false, dir: null });\n return;\n }\n const result = await response.json();\n if (result && result.success) {\n fetchDirectories(currentPage);\n } else {\n alert(result && result.message ? result.message : 'Failed to delete');\n }\n } catch (e) {\n alert('Failed to delete');\n }\n setDeletingId(null);\n setDeleteModal({ open: false, dir: null });\n };\n\n if (view === 'wizard') {\n return (\n \n );\n }\n\n const hasReachedLimit = directories.length >= (config.free_directory_limit || 1);\n\n return (\n <>\n
\n
\n
\n

{__('User Directories', 'wp-user-frontend')}

\n \n
\n
\n \n \n \n  \n {__('New Directory', 'wp-user-frontend')}\n \n
\n\n {/* Limit Warning */}\n {hasReachedLimit && (\n
\n \n \n \n
\n

\n {config.i18n?.directory_limit || __('You can only create 1 directory in the free version.', 'wp-user-frontend')}\n

\n

\n \n {config.i18n?.upgrade_to_pro || __('Upgrade to Pro', 'wp-user-frontend')}\n {__('to create unlimited directories.', 'wp-user-frontend')}\n

\n
\n
\n )}\n
\n\n {loading ? null : (directories.length === 0 ? (\n \n ) : (\n \n ))}\n
\n\n setDeleteModal({ open: false, dir: null })}\n onConfirm={handleDelete}\n />\n \n );\n};\n\n// Empty State Component - matches Pro design exactly\nconst EmptyState = ({ onCreate, config }) => {\n const wpuf = window.wpuf_ud_free || window.wpuf_ud || {};\n const assetUrl = wpuf.asset_url || '';\n \n return (\n
\n
\n
\n \n \n \n
\n

{__('No directories added yet', 'wp-user-frontend')}

\n

{__('Create directories to organize users and manage access.', 'wp-user-frontend')}

\n
\n
\n \n \n \n \n \n {__('Add New Directory', 'wp-user-frontend')}\n \n \n
\n
\n \n \n {__('Docs', 'wp-user-frontend')}\n \n \n \n \n \n
\n
\n );\n};\n\nexport default App;\n","/**\n * User Directory Free - Main Entry Point\n *\n * React-based admin for User Directory\n *\n * @package WPUF\n * @subpackage Free/User_Directory\n * @since 4.3.0\n */\n\nimport { createRoot } from '@wordpress/element';\nimport App from './App';\nimport './styles/main.css';\n\n// Wait for DOM ready\ndocument.addEventListener('DOMContentLoaded', () => {\n const container = document.getElementById('wpuf-ud-free-app');\n \n if (container) {\n const root = createRoot(container);\n root.render();\n }\n});\n"],"names":["window","_ref2","_ref2$utm","utm","wpuf","wpuf_admin_script","logoUrl","asset_url","upgradeUrl","version","_jsxs","className","children","_jsx","src","alt","__","target","rel","href","fill","stroke","viewBox","strokeLinecap","strokeLinejoin","strokeWidth","d","ProBadge","_ref","_window$wpuf_ud_free","_window$wpuf_ud","_window$wpuf_admin_sc","_ref$className","wpuf_ud_free","wpuf_ud","style","width","height","display","verticalAlign","directories","currentPage","totalPages","onPageChange","_ref2$className","fetchDirectories","onRequestDelete","deletingId","onEdit","_useState2","config","_slicedToArray","useState","copiedId","setCopiedId","_useState4","openMenuId","setOpenMenuId","menuRefs","useRef","useEffect","handleClickOutside","event","menuNode","current","contains","document","addEventListener","removeEventListener","_Fragment","concat","map","dir","_post_content","_post_content2","_post_content3","_post_content4","_post_content5","_post_content6","_post_content7","_post_content8","_post_content9","_post_content0","_post_content1","_post_content10","_post_content11","post_content","trim","JSON","parse","e","defaultTabs","default_tabs","profile_tabs","galleryImgSize","gallery_img_size","profile_size","profilePermalink","profile_base","profile_permalink","tabsValue","Array","isArray","join","shortcodeAttrs","id","ID","roles","per_page","directory_layout","profile_layout","avatar_size","orderby","order","fullShortcode","Object","entries","filter","_ref3","_ref4","val","_ref5","_ref6","key","String","replace","escapeShortcodeAttr","displayShortcode","title","onClick","post_title","shortcode","navigator","clipboard","writeText","setTimeout","ref","el","disabled","range","i","Math","max","min","push","page","renderPagination","content","visible","setVisible","tooltipId","random","toString","substr","onMouseEnter","onMouseLeave","onFocus","onBlur","tabIndex","undefined","role","whiteSpace","options","value","onChange","placeholder","_ref$sortable","sortable","_ref$searchable","searchable","_ref$selectedLabel","selectedLabel","isOpen","setIsOpen","dragIndex","setDragIndex","_useState6","searchTerm","setSearchTerm","dropdownRef","searchInputRef","getOptionDisplayText","option","_typeof","label","getOptionIcon","isSelected","arguments","length","icon","React","cloneElement","props","transition","handleClick","_searchInputRef$curre","focus","handleSelect","newValue","k","includes","_toConsumableArray","handleDragEnd","availableOptions","filtered","keys","searchLower","toLowerCase","getFilteredOptions","type","maxWidth","borderRadius","borderWidth","paddingTop","paddingRight","paddingBottom","paddingLeft","backgroundColor","borderColor","borderStyle","opacity","boxSizing","open","fontSize","overflow","textOverflow","slice","onKeyDown","idx","draggable","onDragStart","onDragOver","preventDefault","index","removed","splice","handleDragOver","onDragEnd","handleRemove","t","r","Symbol","n","iterator","o","toStringTag","c","prototype","Generator","u","create","_regeneratorDefine2","f","p","y","G","v","a","bind","l","TypeError","call","done","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_invoke","enumerable","configurable","writable","asyncGeneratorStep","Promise","resolve","then","ownKeys","getOwnPropertySymbols","getOwnPropertyDescriptor","apply","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","toPrimitive","_toPrimitive","_toPropertyKey","_arrayWithHoles","next","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","constructor","name","from","test","formData","setFormData","searchResults","setSearchResults","isSearching","setIsSearching","_useState8","showUserDropdown","setShowUserDropdown","searchTimeoutRef","userDropdownRef","roleOptions","all","rolesValue","excludedUsers","excluded_users","searchUsers","_callee","search","response","_t","_context","wp","apiFetch","path","encodeURIComponent","user","username","slug","avatar","avatar_urls","console","error","_next","_throw","_x","fontWeight","lineHeight","letterSpacing","textAlign","color","htmlFor","Tooltip","xmlns","directory_title","_e$target","prev","MultiSelect","clearTimeout","some","newExcludedUsers","addExcludedUser","userId","freeLayout","handleChange","optimalSize","layoutOptions","directory_layouts","layoutDisplayNames","isPro","border","currentTarget","checked","image","imageRendering","WebkitFontSmoothing","top","right","profile_layouts","maxHeight","padding","_window$wpuf_ud_free2","_window$wpuf_ud_free3","_window$wpuf_ud_free4","_window$wpuf_ud_free5","_window$wpuf_ud_free6","_window$wpuf_ud_free7","about","posts","comments","getEnabledTabsArray","profileTabs","_useState","savedOrder","profile_tabs_order","enabledTabs","tabsMap","_defaultTabs$key","enabled","orderedTabs","values","tab","allTabs","setAllTabs","draggedItem","setDraggedItem","dragOverItem","setDragOverItem","_useState0","hoveredTab","setHoveredTab","_useState10","hoveredContentType","setHoveredContentType","dataTransfer","dropEffect","handleDragLeave","isDragging","isDragOver","isHovered","effectAllowed","handleDragStart","onDragEnter","handleDragEnter","onDragLeave","onDrop","dropIndex","stopPropagation","newTabs","draggedTab","completeOrder","handleDrop","left","transform","boxShadow","gap","hoveredOption","setHoveredOption","freeAvatarSizes","freeSortOptions","freeGallerySizes","users_per_page","max_item_per_page","numericValue","parseInt","isNaN","max_item","default_sort_by","default_sort_order","toUpperCase","inputStyle","alignItems","backgroundImage","backgroundRepeat","backgroundPosition","backgroundSize","appearance","WebkitAppearance","MozAppearance","_ref2$small","small","sortOptions","isFree","gallerySizes","profileBases","minWidth","profile","size","rx","message","_ref$type","onClose","_ref$duration","duration","timer","bgColor","textColor","iconColor","_asyncToGenerator","DEFAULTS","users_per_row","enable_search","initialData","_ref$config","loading","setLoading","setError","toastMessage","setToastMessage","steps","currentStepIndex","setCurrentStepIndex","fade","setFade","prevStepIndex","parsedContent","handleSubmit","restUrl","url","data","rest_url","fetch","method","headers","rest_nonce","body","stringify","ok","json","Error","text","handleSaveAndExit","_callee2","_context2","isLastStep","step","stepIndex","stepProps","StepBasics","StepLayout","StepProfile","StepTabs","StepAdvanced","renderStepComponent","classList","Toast","onCancel","onConfirm","x","EmptyState","onCreate","assetUrl","_config$i18n","_config$i18n2","view","setView","setDirectories","editDirectory","setEditDirectory","setCurrentPage","setTotalPages","_useState12","deleteModal","setDeleteModal","_useState14","setDeletingId","_args","success","result","pagination","total_pages","handleCreate","handleDelete","alert","status","DirectoryWizard","hasReachedLimit","free_directory_limit","Header","i18n","directory_limit","upgrade_url","upgrade_to_pro","DirectoryList","directory","DeleteConfirmModal","container","getElementById","createRoot","render","App"],"ignoreList":[],"sourceRoot":""} \ No newline at end of file diff --git a/assets/js/wpuf-user-directory-frontend.js b/assets/js/wpuf-user-directory-frontend.js new file mode 100644 index 000000000..30f8d7ec3 --- /dev/null +++ b/assets/js/wpuf-user-directory-frontend.js @@ -0,0 +1,66 @@ +/** + * User Directory Free - Frontend Scripts + * + * @package WPUF + * @subpackage Free/User_Directory + * @since 4.3.0 + */ + +(function($) { + 'use strict'; + + // Initialize when document is ready + $(document).ready(function() { + initUserDirectory(); + }); + + /** + * Initialize User Directory functionality + */ + function initUserDirectory() { + // Handle search form submission + $('.wpuf-ud-search-form').on('submit', function(e) { + var searchInput = $(this).find('.wpuf-ud-search-input'); + var searchValue = searchInput.val().trim(); + + // If empty search, remove the parameter + if (!searchValue) { + e.preventDefault(); + window.location.href = removeUrlParam(window.location.href, 'udsearch'); + } + }); + + // Handle pagination with loading state + $('.wpuf-ud-pagination a').on('click', function() { + var $grid = $(this).closest('.wpuf-user-directory').find('.wpuf-ud-grid'); + $grid.css('opacity', '0.5'); + }); + } + + /** + * Remove a URL parameter + * + * @param {string} url URL to modify + * @param {string} param Parameter to remove + * @return {string} Modified URL + */ + function removeUrlParam(url, param) { + var urlParts = url.split('?'); + + if (urlParts.length < 2) { + return url; + } + + var params = new URLSearchParams(urlParts[1]); + params.delete(param); + + var newParams = params.toString(); + + if (newParams) { + return urlParts[0] + '?' + newParams; + } + + return urlParts[0]; + } + +})(jQuery); diff --git a/includes/Free/Free_Loader.php b/includes/Free/Free_Loader.php index 6e7fa1b8f..acb76bab3 100644 --- a/includes/Free/Free_Loader.php +++ b/includes/Free/Free_Loader.php @@ -76,11 +76,36 @@ public function includes() { // class files to include pro elements require_once WPUF_INCLUDES . '/functions/user/edit-user.php'; require_once WPUF_INCLUDES . '/Hooks/Form_Settings_Cleanup.php'; + + // User Directory Free - only load if Pro module is not active + if ( ! $this->is_pro_user_directory_active() ) { + require_once WPUF_INCLUDES . '/Free/User_Directory/User_Directory.php'; + } + } + + /** + * Check if Pro User Directory module is active + * + * @since 4.3.0 + * + * @return bool + */ + private function is_pro_user_directory_active() { + if ( ! wpuf_is_pro_active() ) { + return false; + } + + return class_exists( 'WPUF_User_Listing' ); } public function instantiate() { $this->edit_profile = new Edit_Profile(); + // Initialize User Directory Free if Pro module is not active + if ( ! $this->is_pro_user_directory_active() ) { + User_Directory\User_Directory::get_instance(); + } + if ( is_admin() ) { /** diff --git a/includes/Free/User_Directory/Admin_Menu.php b/includes/Free/User_Directory/Admin_Menu.php new file mode 100644 index 000000000..d99101ca6 --- /dev/null +++ b/includes/Free/User_Directory/Admin_Menu.php @@ -0,0 +1,493 @@ +is_pro_module_active() ) { + return; + } + + $hook = add_submenu_page( + 'wp-user-frontend', + __( 'User Directories', 'wp-user-frontend' ), + __( 'User Directories', 'wp-user-frontend' ), + 'manage_options', + 'wpuf_userlisting', + [ $this, 'render_page' ] + ); + + add_action( 'load-' . $hook, [ $this, 'enqueue_scripts' ] ); + } + + /** + * Render the admin page + * + * @since 4.3.0 + * + * @return void + */ + public function render_page() { + ?> +
+ +

...

+
+ [ 'wp-element', 'wp-i18n', 'wp-components' ], + 'version' => WPUF_VERSION, + ]; + } + + // Enqueue React-based script with WordPress dependencies + wp_enqueue_script( + 'wpuf-user-directory-free', + WPUF_ASSET_URI . '/js/wpuf-user-directory-free.js', + $asset['dependencies'], + $asset['version'], + true + ); + + wp_enqueue_style( + 'wpuf-user-directory-free', + WPUF_ASSET_URI . '/css/wpuf-user-directory-free.css', + [], + $asset['version'] + ); + + // Localize script data + wp_localize_script( + 'wpuf-user-directory-free', + 'wpuf_ud_free', + $this->get_localized_data() + ); + } + + /** + * Get localized data for JavaScript + * + * @since 4.3.0 + * + * @return array + */ + private function get_localized_data() { + return [ + 'site_url' => site_url(), + 'rest_url' => rest_url(), + 'asset_url' => WPUF_ASSET_URI, + 'rest_nonce' => wp_create_nonce( 'wp_rest' ), + 'is_pro_active' => wpuf_is_pro_active(), + 'upgrade_url' => $this->get_upgrade_url(), + 'free_directory_limit' => User_Directory::FREE_DIRECTORY_LIMIT, + 'free_directory_layout'=> User_Directory::FREE_DIRECTORY_LAYOUT, + 'free_profile_layout' => User_Directory::FREE_PROFILE_LAYOUT, + 'roles' => $this->get_user_roles(), + 'directory_layouts' => $this->get_directory_layouts(), + 'profile_layouts' => $this->get_profile_layouts(), + 'avatar_sizes' => $this->get_avatar_sizes(), + 'profile_sizes' => $this->get_profile_sizes(), + 'orderby_options' => $this->get_orderby_options(), + 'profile_tabs' => $this->get_profile_tabs(), + 'i18n' => $this->get_i18n_strings(), + ]; + } + + /** + * Get user roles + * + * @since 4.3.0 + * + * @return array + */ + private function get_user_roles() { + global $wp_roles; + + $roles = []; + + if ( ! empty( $wp_roles->roles ) ) { + foreach ( $wp_roles->roles as $key => $role ) { + $roles[ $key ] = $role['name']; + } + } + + return $roles; + } + + /** + * Get directory layouts with free/pro status + * + * @since 4.3.0 + * + * @return array + */ + private function get_directory_layouts() { + $image_base = $this->get_layout_images_url(); + + return [ + 'layout-3' => [ + 'name' => __( 'Grid Round', 'wp-user-frontend' ), + 'image' => $image_base . 'directory-layout-3.png', + 'is_free' => true, + ], + 'layout-1' => [ + 'name' => __( 'Table', 'wp-user-frontend' ), + 'image' => $image_base . 'directory-layout-1.png', + 'is_free' => false, + ], + 'layout-2' => [ + 'name' => __( 'Grid Square', 'wp-user-frontend' ), + 'image' => $image_base . 'directory-layout-2.png', + 'is_free' => false, + ], + 'layout-4' => [ + 'name' => __( 'Cards', 'wp-user-frontend' ), + 'image' => $image_base . 'directory-layout-4.png', + 'is_free' => false, + ], + 'layout-5' => [ + 'name' => __( 'List', 'wp-user-frontend' ), + 'image' => $image_base . 'directory-layout-5.png', + 'is_free' => false, + ], + 'layout-6' => [ + 'name' => __( 'Compact', 'wp-user-frontend' ), + 'image' => $image_base . 'directory-layout-6.png', + 'is_free' => false, + ], + ]; + } + + /** + * Get URL base for layout preview images + * + * Tries Pro plugin first, falls back to free plugin assets + * + * @since 4.3.0 + * + * @return string + */ + private function get_layout_images_url() { + // Check if Pro module images exist + if ( defined( 'WPUF_PRO_MODULES' ) ) { + $pro_images_path = WPUF_PRO_MODULES . '/user-directory/assets/images/'; + if ( file_exists( $pro_images_path . 'directory-layout-1.png' ) ) { + return plugins_url( 'modules/user-directory/assets/images/', WPUF_PRO_MODULES . '/wpuf-pro.php' ); + } + } + + // Fall back to free plugin images + return WPUF_ASSET_URI . '/images/user-directory/'; + } + + /** + * Get profile layouts with free/pro status + * + * @since 4.3.0 + * + * @return array + */ + private function get_profile_layouts() { + $image_base = $this->get_layout_images_url(); + + return [ + 'layout-2' => [ + 'name' => __( 'Centered', 'wp-user-frontend' ), + 'image' => $image_base . 'profile-layout-2.png', + 'is_free' => true, + ], + 'layout-1' => [ + 'name' => __( 'Navigator', 'wp-user-frontend' ), + 'image' => $image_base . 'profile-layout-1.png', + 'is_free' => false, + ], + 'layout-3' => [ + 'name' => __( 'Spotlight', 'wp-user-frontend' ), + 'image' => $image_base . 'profile-layout-3.png', + 'is_free' => false, + ], + ]; + } + + /** + * Get avatar sizes with free/pro status + * + * @since 4.3.0 + * + * @return array + */ + private function get_avatar_sizes() { + return [ + '192' => [ + 'label' => '192 x 192', + 'is_free' => true, + ], + '128' => [ + 'label' => '128 x 128', + 'is_free' => true, + ], + '32' => [ + 'label' => '32 x 32', + 'is_free' => false, + ], + '48' => [ + 'label' => '48 x 48', + 'is_free' => false, + ], + '80' => [ + 'label' => '80 x 80', + 'is_free' => false, + ], + '160' => [ + 'label' => '160 x 160', + 'is_free' => false, + ], + '256' => [ + 'label' => '256 x 256', + 'is_free' => false, + ], + ]; + } + + /** + * Get profile image sizes with free/pro status + * + * @since 4.3.0 + * + * @return array + */ + private function get_profile_sizes() { + $sizes = []; + + // Get registered image sizes + $registered_sizes = wp_get_registered_image_subsizes(); + + // Free sizes: thumbnail and medium + $free_sizes = [ 'thumbnail', 'medium' ]; + + foreach ( $registered_sizes as $name => $size ) { + $sizes[ $name ] = [ + 'label' => ucfirst( str_replace( '_', ' ', $name ) ) . ' (' . $size['width'] . 'x' . $size['height'] . ')', + 'is_free' => in_array( $name, $free_sizes, true ), + ]; + } + + return $sizes; + } + + /** + * Get orderby options with free/pro status + * + * @since 4.3.0 + * + * @return array + */ + private function get_orderby_options() { + return [ + 'ID' => [ + 'label' => __( 'User ID', 'wp-user-frontend' ), + 'is_free' => true, + ], + 'display_name' => [ + 'label' => __( 'Display Name', 'wp-user-frontend' ), + 'is_free' => false, + ], + 'user_login' => [ + 'label' => __( 'Username', 'wp-user-frontend' ), + 'is_free' => false, + ], + 'user_email' => [ + 'label' => __( 'Email', 'wp-user-frontend' ), + 'is_free' => false, + ], + 'user_registered' => [ + 'label' => __( 'Registration Date', 'wp-user-frontend' ), + 'is_free' => false, + ], + 'post_count' => [ + 'label' => __( 'Post Count', 'wp-user-frontend' ), + 'is_free' => false, + ], + ]; + } + + /** + * Get profile tabs configuration + * + * @since 4.3.0 + * + * @return array + */ + private function get_profile_tabs() { + return [ + 'about' => [ + 'label' => __( 'About', 'wp-user-frontend' ), + 'default' => 'About', + 'is_active' => true, + 'is_free' => true, + ], + 'posts' => [ + 'label' => __( 'Posts', 'wp-user-frontend' ), + 'default' => 'Posts', + 'is_active' => true, + 'is_free' => false, + ], + 'file' => [ + 'label' => __( 'Files', 'wp-user-frontend' ), + 'default' => 'File/Image', + 'is_active' => true, + 'is_free' => false, + ], + 'comments' => [ + 'label' => __( 'Comments', 'wp-user-frontend' ), + 'default' => 'Comments', + 'is_active' => true, + 'is_free' => false, + ], + ]; + } + + /** + * Get i18n strings for JavaScript + * + * @since 4.3.0 + * + * @return array + */ + private function get_i18n_strings() { + return [ + 'user_directories' => __( 'User Directories', 'wp-user-frontend' ), + 'new_directory' => __( 'New Directory', 'wp-user-frontend' ), + 'edit_directory' => __( 'Edit Directory', 'wp-user-frontend' ), + 'delete_directory' => __( 'Delete Directory', 'wp-user-frontend' ), + 'search_directories' => __( 'Search Directories', 'wp-user-frontend' ), + 'no_directories' => __( 'No directories found', 'wp-user-frontend' ), + 'create_first' => __( 'Create your first directory', 'wp-user-frontend' ), + 'pro_feature' => __( 'Pro Feature', 'wp-user-frontend' ), + 'upgrade_to_pro' => __( 'Upgrade to Pro', 'wp-user-frontend' ), + 'directory_limit' => __( 'You can only create 1 directory in the free version.', 'wp-user-frontend' ), + 'step_basic' => __( 'Basic', 'wp-user-frontend' ), + 'step_layout' => __( 'Directory Layout', 'wp-user-frontend' ), + 'step_profile' => __( 'Profile Layout', 'wp-user-frontend' ), + 'step_tabs' => __( 'Profile Tabs', 'wp-user-frontend' ), + 'step_advanced' => __( 'Advanced', 'wp-user-frontend' ), + 'next' => __( 'Next', 'wp-user-frontend' ), + 'previous' => __( 'Previous', 'wp-user-frontend' ), + 'save' => __( 'Save', 'wp-user-frontend' ), + 'cancel' => __( 'Cancel', 'wp-user-frontend' ), + 'saving' => __( 'Saving...', 'wp-user-frontend' ), + 'saved' => __( 'Saved!', 'wp-user-frontend' ), + 'error_saving' => __( 'Error saving directory', 'wp-user-frontend' ), + 'confirm_delete' => __( 'Are you sure you want to delete this directory?', 'wp-user-frontend' ), + 'directory_name' => __( 'Directory Name', 'wp-user-frontend' ), + 'select_roles' => __( 'Select Roles', 'wp-user-frontend' ), + 'all_roles' => __( 'All Roles', 'wp-user-frontend' ), + 'users_per_page' => __( 'Users Per Page', 'wp-user-frontend' ), + 'users_per_row' => __( 'Users Per Row', 'wp-user-frontend' ), + 'sort_by' => __( 'Sort By', 'wp-user-frontend' ), + 'sort_order' => __( 'Sort Order', 'wp-user-frontend' ), + 'ascending' => __( 'Ascending', 'wp-user-frontend' ), + 'descending' => __( 'Descending', 'wp-user-frontend' ), + 'avatar_size' => __( 'Avatar Size', 'wp-user-frontend' ), + 'profile_image_size' => __( 'Profile Gallery Image Size', 'wp-user-frontend' ), + 'enable_search' => __( 'Enable Search', 'wp-user-frontend' ), + 'exclude_users' => __( 'Exclude Users', 'wp-user-frontend' ), + 'exclude_users_desc' => __( 'Enter user IDs separated by commas', 'wp-user-frontend' ), + 'shortcode' => __( 'Shortcode', 'wp-user-frontend' ), + 'copy_shortcode' => __( 'Copy Shortcode', 'wp-user-frontend' ), + 'copied' => __( 'Copied!', 'wp-user-frontend' ), + ]; + } + + /** + * Get upgrade URL + * + * @since 4.3.0 + * + * @return string + */ + private function get_upgrade_url() { + if ( class_exists( 'WeDevs\Wpuf\Free\Pro_Prompt' ) ) { + return \WeDevs\Wpuf\Free\Pro_Prompt::get_upgrade_to_pro_popup_url(); + } + + return 'https://wedevs.com/wp-user-frontend-pro/pricing/'; + } + + /** + * Check if Pro User Directory module is active + * + * @since 4.3.0 + * + * @return bool + */ + private function is_pro_module_active() { + if ( ! wpuf_is_pro_active() ) { + return false; + } + + return class_exists( 'WPUF_User_Listing' ); + } +} diff --git a/includes/Free/User_Directory/Api/Directory.php b/includes/Free/User_Directory/Api/Directory.php new file mode 100644 index 000000000..a92628471 --- /dev/null +++ b/includes/Free/User_Directory/Api/Directory.php @@ -0,0 +1,699 @@ +namespace, + '/' . $this->rest_base, + [ + [ + 'methods' => WP_REST_Server::READABLE, + 'callback' => [ $this, 'get_items' ], + 'permission_callback' => [ $this, 'permissions_check' ], + ], + [ + 'methods' => WP_REST_Server::CREATABLE, + 'callback' => [ $this, 'create_item' ], + 'permission_callback' => [ $this, 'permissions_check' ], + ], + ] + ); + + // Get single / Update / Delete + register_rest_route( + $this->namespace, + '/' . $this->rest_base . '/(?P[\d]+)', + [ + [ + 'methods' => WP_REST_Server::READABLE, + 'callback' => [ $this, 'get_item' ], + 'permission_callback' => [ $this, 'permissions_check' ], + ], + [ + 'methods' => WP_REST_Server::EDITABLE, + 'callback' => [ $this, 'update_item' ], + 'permission_callback' => [ $this, 'permissions_check' ], + ], + [ + 'methods' => WP_REST_Server::DELETABLE, + 'callback' => [ $this, 'delete_item' ], + 'permission_callback' => [ $this, 'permissions_check' ], + ], + ] + ); + + // Public search endpoint (no auth required for frontend AJAX) + register_rest_route( + $this->namespace, + '/' . $this->rest_base . '/search', + [ + [ + 'methods' => WP_REST_Server::READABLE, + 'callback' => [ $this, 'search_users' ], + 'permission_callback' => '__return_true', // Public endpoint + ], + ] + ); + + // User count endpoint + register_rest_route( + $this->namespace, + '/' . $this->rest_base . '/user_count', + [ + [ + 'methods' => WP_REST_Server::READABLE, + 'callback' => [ $this, 'get_user_count' ], + 'permission_callback' => [ $this, 'permissions_check' ], + ], + ] + ); + } + + /** + * Check permissions for API access + * + * @since 4.3.0 + * + * @param WP_REST_Request $request Request object. + * + * @return bool|WP_Error + */ + public function permissions_check( $request ) { + if ( ! current_user_can( 'manage_options' ) ) { + return new WP_Error( + 'rest_forbidden', + __( 'You do not have permission to access this resource.', 'wp-user-frontend' ), + [ 'status' => rest_authorization_required_code() ] + ); + } + + return true; + } + + /** + * Get all directories + * + * @since 4.3.0 + * + * @param WP_REST_Request $request Request object. + * + * @return WP_REST_Response|WP_Error + */ + public function get_items( $request ) { + $per_page = ! empty( $request['per_page'] ) ? absint( $request['per_page'] ) : 10; + $page = ! empty( $request['page'] ) ? absint( $request['page'] ) : 1; + $search = ! empty( $request['s'] ) ? sanitize_text_field( $request['s'] ) : ''; + $offset = ( $page - 1 ) * $per_page; + + $query_args = [ + 'post_type' => User_Directory::POST_TYPE, + 'post_status' => 'any', + 'posts_per_page' => $per_page, + 'offset' => $offset, + 'orderby' => 'ID', + 'order' => 'DESC', + ]; + + if ( $search ) { + $query_args['s'] = $search; + } + + $query = new \WP_Query( $query_args ); + + $directories = []; + + if ( $query->have_posts() ) { + while ( $query->have_posts() ) { + $query->the_post(); + $directories[] = [ + 'ID' => get_the_ID(), + 'post_title' => get_the_title(), + 'post_status' => get_post_status(), + 'post_content' => get_the_content(), + ]; + } + } + + wp_reset_postdata(); + + $total_items = $query->found_posts; + $total_pages = $per_page > 0 ? (int) ceil( $total_items / $per_page ) : 1; + + return rest_ensure_response( [ + 'success' => true, + 'result' => $directories, + 'pagination' => [ + 'total_pages' => $total_pages, + 'total_items' => $total_items, + 'per_page' => $per_page, + 'current_page' => $page, + ], + ] ); + } + + /** + * Get single directory + * + * @since 4.3.0 + * + * @param WP_REST_Request $request Request object. + * + * @return WP_REST_Response|WP_Error + */ + public function get_item( $request ) { + $id = absint( $request['id'] ); + $post = get_post( $id ); + + if ( ! $post || User_Directory::POST_TYPE !== $post->post_type ) { + return new WP_Error( + 'not_found', + __( 'Directory not found.', 'wp-user-frontend' ), + [ 'status' => 404 ] + ); + } + + return rest_ensure_response( [ + 'success' => true, + 'result' => [ + 'ID' => $post->ID, + 'post_title' => $post->post_title, + 'post_status' => $post->post_status, + 'post_content' => $post->post_content, + ], + ] ); + } + + /** + * Create a new directory + * + * @since 4.3.0 + * + * @param WP_REST_Request $request Request object. + * + * @return WP_REST_Response|WP_Error + */ + public function create_item( $request ) { + // Check free limit + if ( User_Directory::has_reached_limit() ) { + return new WP_Error( + 'limit_reached', + __( 'You can only create 1 directory in the free version. Upgrade to Pro for unlimited directories.', 'wp-user-frontend' ), + [ 'status' => 403 ] + ); + } + + $params = $request->get_json_params(); + + // Sanitize title + $post_title = ! empty( $params['directory_title'] ) + ? sanitize_text_field( $params['directory_title'] ) + : __( 'Unnamed Directory', 'wp-user-frontend' ); + + // Build settings array + $settings = $this->sanitize_settings( $params ); + + // Force free version defaults + $settings = $this->enforce_free_limits( $settings ); + + // Insert post + $post_id = wp_insert_post( [ + 'post_title' => $post_title, + 'post_type' => User_Directory::POST_TYPE, + 'post_status' => 'publish', + 'post_content' => wp_json_encode( $settings ), + ] ); + + if ( is_wp_error( $post_id ) ) { + return $post_id; + } + + if ( ! $post_id ) { + return new WP_Error( + 'save_failed', + __( 'Failed to save directory.', 'wp-user-frontend' ), + [ 'status' => 500 ] + ); + } + + // Flush rewrite rules for pretty URLs + flush_rewrite_rules(); + + return rest_ensure_response( [ + 'success' => true, + 'message' => __( 'Directory created successfully.', 'wp-user-frontend' ), + 'post_id' => $post_id, + ] ); + } + + /** + * Update a directory + * + * @since 4.3.0 + * + * @param WP_REST_Request $request Request object. + * + * @return WP_REST_Response|WP_Error + */ + public function update_item( $request ) { + $id = absint( $request['id'] ); + $post = get_post( $id ); + + if ( ! $post || User_Directory::POST_TYPE !== $post->post_type ) { + return new WP_Error( + 'not_found', + __( 'Directory not found.', 'wp-user-frontend' ), + [ 'status' => 404 ] + ); + } + + $params = $request->get_json_params(); + + // Sanitize title + $post_title = ! empty( $params['directory_title'] ) + ? sanitize_text_field( $params['directory_title'] ) + : $post->post_title; + + // Build settings array + $settings = $this->sanitize_settings( $params ); + + // Force free version defaults + $settings = $this->enforce_free_limits( $settings ); + + // Update post + $updated = wp_update_post( [ + 'ID' => $id, + 'post_title' => $post_title, + 'post_content' => wp_json_encode( $settings ), + ] ); + + if ( is_wp_error( $updated ) ) { + return $updated; + } + + return rest_ensure_response( [ + 'success' => true, + 'message' => __( 'Directory updated successfully.', 'wp-user-frontend' ), + 'post_id' => $id, + ] ); + } + + /** + * Delete a directory + * + * @since 4.3.0 + * + * @param WP_REST_Request $request Request object. + * + * @return WP_REST_Response|WP_Error + */ + public function delete_item( $request ) { + $id = absint( $request['id'] ); + $post = get_post( $id ); + + if ( ! $post || User_Directory::POST_TYPE !== $post->post_type ) { + return new WP_Error( + 'not_found', + __( 'Directory not found.', 'wp-user-frontend' ), + [ 'status' => 404 ] + ); + } + + $deleted = wp_delete_post( $id, true ); + + if ( ! $deleted ) { + return new WP_Error( + 'delete_failed', + __( 'Failed to delete directory.', 'wp-user-frontend' ), + [ 'status' => 500 ] + ); + } + + return rest_ensure_response( [ + 'success' => true, + 'message' => __( 'Directory deleted successfully.', 'wp-user-frontend' ), + ] ); + } + + /** + * Get user count based on filters + * + * @since 4.3.0 + * + * @param WP_REST_Request $request Request object. + * + * @return WP_REST_Response + */ + public function get_user_count( $request ) { + $roles = ! empty( $request['roles'] ) ? sanitize_text_field( $request['roles'] ) : ''; + $exclude_users = ! empty( $request['exclude_users'] ) ? sanitize_text_field( $request['exclude_users'] ) : ''; + $max_item = ! empty( $request['max_item'] ) ? absint( $request['max_item'] ) : 0; + + $args = [ + 'count_total' => true, + 'number' => $max_item > 0 ? $max_item : -1, + ]; + + if ( $roles ) { + $args['role__in'] = array_map( 'trim', explode( ',', $roles ) ); + } + + if ( $exclude_users ) { + $args['exclude'] = array_map( 'absint', explode( ',', $exclude_users ) ); + } + + $user_query = new \WP_User_Query( $args ); + + return rest_ensure_response( [ + 'success' => true, + 'count' => $user_query->get_total(), + ] ); + } + + /** + * Search users for frontend AJAX + * + * @since 4.3.0 + * + * @param WP_REST_Request $request Request object. + * + * @return WP_REST_Response + */ + public function search_users( $request ) { + $directory_id = ! empty( $request['directory_id'] ) ? absint( $request['directory_id'] ) : 0; + $search = ! empty( $request['search'] ) ? sanitize_text_field( $request['search'] ) : ''; + $page = ! empty( $request['page'] ) ? absint( $request['page'] ) : 1; + $orderby = ! empty( $request['orderby'] ) ? sanitize_text_field( $request['orderby'] ) : 'ID'; + $order = ! empty( $request['order'] ) ? strtoupper( sanitize_text_field( $request['order'] ) ) : 'DESC'; + $max_item = ! empty( $request['max_item'] ) ? absint( $request['max_item'] ) : 12; + $avatar_size = ! empty( $request['avatar_size'] ) ? absint( $request['avatar_size'] ) : 128; + $base_url = ! empty( $request['base_url'] ) ? sanitize_text_field( $request['base_url'] ) : ''; + + // Get directory settings + $settings = []; + if ( $directory_id ) { + $post = get_post( $directory_id ); + if ( $post && User_Directory::POST_TYPE === $post->post_type ) { + $settings = json_decode( $post->post_content, true ) ?: []; + } + } + + // Merge with defaults + $settings = wp_parse_args( $settings, User_Directory::get_default_settings() ); + + // Build user query args - check users_per_page first (admin setting), then per_page + $settings_per_page = absint( $settings['users_per_page'] ?? ( $settings['per_page'] ?? 12 ) ); + $per_page = $max_item > 0 ? $max_item : $settings_per_page; + $offset = ( $page - 1 ) * $per_page; + + // Map orderby values + $orderby_map = [ + 'id' => 'ID', + 'username' => 'user_login', + 'email' => 'user_email', + 'display_name' => 'display_name', + 'user_registered' => 'user_registered', + ]; + $orderby = isset( $orderby_map[ strtolower( $orderby ) ] ) ? $orderby_map[ strtolower( $orderby ) ] : 'ID'; + + $args = [ + 'number' => $per_page, + 'offset' => $offset, + 'orderby' => $orderby, + 'order' => in_array( $order, [ 'ASC', 'DESC' ], true ) ? $order : 'DESC', + ]; + + // Roles filter + if ( ! empty( $settings['roles'] ) && is_array( $settings['roles'] ) ) { + $args['role__in'] = array_map( 'sanitize_text_field', $settings['roles'] ); + } + + // Exclude users + if ( ! empty( $settings['exclude_users'] ) ) { + $exclude_ids = array_map( 'absint', explode( ',', $settings['exclude_users'] ) ); + $args['exclude'] = $exclude_ids; + } + + // Search + if ( $search ) { + $args['search'] = '*' . $search . '*'; + $args['search_columns'] = [ 'user_login', 'user_nicename', 'display_name', 'user_email' ]; + } + + // Execute query + $user_query = new \WP_User_Query( $args ); + $users = $user_query->get_results(); + $total = $user_query->get_total(); + $max_pages = (int) ceil( $total / $per_page ); + + // Build rows HTML + $rows_html = ''; + if ( ! empty( $users ) ) { + ob_start(); + // Set avatar size for row template (variable name must match what row-3.php expects) + $avatar_size = $avatar_size > 0 ? $avatar_size : absint( $settings['avatar_size'] ?? 192 ); + foreach ( $users as $user ) { + // Build all_data for template + $all_data = [ + 'id' => $directory_id, + 'directory_id' => $directory_id, + 'profile_permalink' => $settings['profile_base'] ?? 'username', + 'base_url' => $base_url, + 'is_shortcode' => true, + 'current_page' => $page, + 'orderby' => strtolower( $orderby === 'ID' ? 'id' : $orderby ), + 'order' => strtolower( $order ), + 'search' => $search, + ]; + include WPUF_UD_FREE_TEMPLATES . '/directory/template-parts/row-3.php'; + } + $rows_html = ob_get_clean(); + } + + // Build pagination HTML + $pagination_html = ''; + if ( $max_pages > 1 ) { + $pagination = [ + 'total_pages' => $max_pages, + 'current_page' => $page, + 'per_page' => $per_page, + 'total_items' => $total, + ]; + + // Build query args for pagination - always include orderby and order + $query_args = []; + if ( $search ) { + $query_args['search'] = $search; + } + // Always include orderby and order so dropdowns stay in sync + $query_args['orderby'] = strtolower( $orderby === 'ID' ? 'id' : $orderby ); + $query_args['order'] = strtolower( $order ); + + $layout = 'layout-3'; + + ob_start(); + include WPUF_UD_FREE_TEMPLATES . '/directory/template-parts/pagination-shortcode.php'; + $pagination_html = ob_get_clean(); + } + + return rest_ensure_response( [ + 'success' => true, + 'usercount' => count( $users ), + 'total' => $total, + 'max_pages' => $max_pages, + 'current_page' => $page, + 'rows_html' => $rows_html, + 'pagination_html' => $pagination_html, + 'announce' => sprintf( + /* translators: %d: number of users found */ + _n( '%d user found', '%d users found', $total, 'wp-user-frontend' ), + $total + ), + ] ); + } + + /** + * Sanitize settings from request + * + * @since 4.3.0 + * + * @param array $params Request parameters. + * + * @return array + */ + private function sanitize_settings( $params ) { + $settings = []; + + // Text fields + $text_fields = [ + 'directory_layout', 'profile_layout', 'profile_base', + 'avatar_size', 'profile_size', 'orderby', 'order', + 'exclude_users', 'search_placeholder', + ]; + + foreach ( $text_fields as $field ) { + if ( isset( $params[ $field ] ) ) { + $settings[ $field ] = sanitize_text_field( $params[ $field ] ); + } + } + + // Integer fields + $int_fields = [ 'per_page', 'users_per_row', 'users_per_page', 'max_users' ]; + + foreach ( $int_fields as $field ) { + if ( isset( $params[ $field ] ) ) { + $settings[ $field ] = absint( $params[ $field ] ); + } + } + + // Boolean fields + $bool_fields = [ 'enable_search', 'enable_pagination' ]; + + foreach ( $bool_fields as $field ) { + if ( isset( $params[ $field ] ) ) { + $settings[ $field ] = filter_var( $params[ $field ], FILTER_VALIDATE_BOOLEAN ); + } + } + + // Array fields + if ( isset( $params['roles'] ) && is_array( $params['roles'] ) ) { + $settings['roles'] = array_map( 'sanitize_text_field', $params['roles'] ); + } + + if ( isset( $params['searchable_fields'] ) && is_array( $params['searchable_fields'] ) ) { + $settings['searchable_fields'] = array_map( 'sanitize_text_field', $params['searchable_fields'] ); + } + + // Profile tabs (complex array) + if ( isset( $params['profile_tabs'] ) && is_array( $params['profile_tabs'] ) ) { + $settings['profile_tabs'] = $params['profile_tabs']; + } + + if ( isset( $params['profile_tabs_order'] ) && is_array( $params['profile_tabs_order'] ) ) { + $settings['profile_tabs_order'] = array_map( 'sanitize_text_field', $params['profile_tabs_order'] ); + } + + // Handle excluded_users array (like Pro version) - convert to exclude_users string + if ( isset( $params['excluded_users'] ) && is_array( $params['excluded_users'] ) ) { + $settings['excluded_users'] = $params['excluded_users']; + // Also store as exclude_users string for backward compatibility + $user_ids = $this->extract_user_ids_from_excluded_users( $params['excluded_users'] ); + $settings['exclude_users'] = $user_ids; + } + + return $settings; + } + + /** + * Enforce free version limits on settings + * + * @since 4.3.0 + * + * @param array $settings Settings array. + * + * @return array + */ + private function enforce_free_limits( $settings ) { + if ( wpuf_is_pro_active() ) { + return $settings; + } + + // Force free layout + $settings['directory_layout'] = User_Directory::FREE_DIRECTORY_LAYOUT; + $settings['profile_layout'] = User_Directory::FREE_PROFILE_LAYOUT; + + // Force free orderby (User ID only) + $settings['orderby'] = 'ID'; + + // Force free avatar size + if ( ! in_array( $settings['avatar_size'] ?? '', [ '192', '128' ], true ) ) { + $settings['avatar_size'] = '192'; + } + + // Force free profile size + if ( ! in_array( $settings['profile_size'] ?? '', [ 'thumbnail', 'medium' ], true ) ) { + $settings['profile_size'] = 'medium'; + } + + // Profile tabs: Don't set profile_tabs in Free version to avoid breaking Pro + // Pro will use its own defaults when profile_tabs is not set + + return $settings; + } + + /** + * Extract user IDs from excluded_users array + * + * @since 4.3.0 + * + * @param array $excluded_users Array of user objects or user IDs. + * + * @return string Comma-separated user IDs. + */ + private function extract_user_ids_from_excluded_users( $excluded_users ) { + if ( ! is_array( $excluded_users ) || empty( $excluded_users ) ) { + return ''; + } + + $user_ids = []; + + foreach ( $excluded_users as $user ) { + if ( is_array( $user ) && isset( $user['id'] ) ) { + $user_ids[] = absint( $user['id'] ); + } elseif ( is_numeric( $user ) ) { + $user_ids[] = absint( $user ); + } + } + + return implode( ',', array_unique( array_filter( $user_ids ) ) ); + } +} diff --git a/includes/Free/User_Directory/DirectoryStyles.php b/includes/Free/User_Directory/DirectoryStyles.php new file mode 100644 index 000000000..5d12ddfef --- /dev/null +++ b/includes/Free/User_Directory/DirectoryStyles.php @@ -0,0 +1,453 @@ +should_hide_title() ) { + // Add a marker for JavaScript to detect + return ''; + } + } + + return $block_content; + } + + /** + * Filter specifically for post-title blocks + * + * @param string $block_content The block content + * @param array $parsed_block The parsed block + * @param object $block The block instance + * @return string Modified block content + */ + public function filter_post_title_block( $block_content, $parsed_block, $block ) { + if ( $this->should_hide_title() ) { + return ''; + } + return $block_content; + } + + /** + * Pre-filter blocks before rendering + * + * @param string|null $pre_render The pre-rendered content + * @param array $block The block being rendered + * @return string|null + */ + public function pre_filter_block( $pre_render, $block ) { + // If already handled, return + if ( $pre_render !== null ) { + return $pre_render; + } + + // Check if it's a title block and we should hide it + if ( isset( $block['blockName'] ) && + ( $block['blockName'] === 'core/post-title' || $block['blockName'] === 'core/query-title' ) && + $this->should_hide_title() ) { + return ''; // Return empty string to prevent rendering + } + + return $pre_render; + } + + /** + * Add styles for directory pages + */ + public function add_styles() { + // Check if we're on a directory page + if ( ! $this->is_directory_page() ) { + return; + } + + // Add different styles based on page type + if ( $this->is_single_profile_page() ) { + // Add minimal CSS for block themes as fallback + $this->add_profile_hide_css(); + } else { + // Add listing page styles + $this->output_listing_title_styles(); + } + } + + /** + * Add minimal CSS to hide titles on profile pages + */ + private function add_profile_hide_css() { + ?> + + post_content, 'wpuf_user_listing' ) || + has_shortcode( $post->post_content, 'wpuf_user_listing_id' ) ); + + return $has_shortcode; + } + + /** + * Output listing page title styles + */ + private function output_listing_title_styles() { + ?> + + is_directory_page() ) { + return; + } + ?> + + is_directory_page(); + } + } + + // For pretty URLs: Check if current page slug matches and has additional segment + global $post; + if ( ! is_a( $post, 'WP_Post' ) ) { + return false; + } + + // Must have directory functionality + if ( ! $this->has_directory_shortcode( $post ) ) { + return false; + } + + // Check URL structure + $current_uri = trim( $_SERVER['REQUEST_URI'], '/' ); + $page_slug = $post->post_name; + + // Pattern: /page-slug/username-or-id/ + if ( preg_match( '/\/' . preg_quote( $page_slug, '/' ) . '\/([^\/]+)\/?$/', '/' . $current_uri, $matches ) ) { + $potential_user = $matches[1]; + + // Exclude WordPress system paths + $system_paths = ['page', 'feed', 'rss', 'trackback', 'comment-page', 'embed']; + if ( ! empty( $potential_user ) && ! in_array( $potential_user, $system_paths ) ) { + return true; + } + } + + return false; + } + + /** + * Check if post has directory shortcode + */ + private function has_directory_shortcode( $post ) { + if ( ! is_a( $post, 'WP_Post' ) ) { + return false; + } + + // Check for shortcodes + $has_shortcode = ( has_shortcode( $post->post_content, 'wpuf_user_listing' ) || + has_shortcode( $post->post_content, 'wpuf_user_listing_id' ) ); + + return $has_shortcode; + } + + /** + * Filter the page title + * + * @param string $title The post title + * @param int $id The post ID + * @return string + */ + public function filter_page_title( $title, $id = null ) { + // Only filter if we should hide title and it's the main page title + if ( $this->should_hide_title() && $this->is_main_page_title( $id ) ) { + return ''; + } + + return $title; + } + + /** + * Check if this is the main page title (not widget titles, menu titles, etc.) + */ + private function is_main_page_title( $id ) { + global $post; + + // Must be in the main loop and query + if ( ! in_the_loop() || ! is_main_query() ) { + return false; + } + + // Must be on a singular page + if ( ! is_singular() ) { + return false; + } + + // Check if this is the current page's title + if ( $id && is_a( $post, 'WP_Post' ) && $post->ID == $id ) { + return true; + } + + return false; + } + + /** + * Filter single post title + * + * @param string $title The single post title + * @param object $post The post object + * @return string + */ + public function filter_single_post_title( $title, $post = null ) { + if ( $this->should_hide_title() ) { + return ''; + } + + return $title; + } + + /** + * Determine if title should be hidden + */ + private function should_hide_title() { + // Must be on a directory page first + if ( ! $this->is_directory_page() ) { + return false; + } + + // Then check if viewing a single profile + if ( ! $this->is_single_profile_page() ) { + return false; + } + + return true; + } + + + /** + * Add body class for CSS targeting + * + * @param array $classes Body classes + * @return array + */ + public function add_body_class( $classes ) { + // Only add classes if on a directory page viewing a profile + if ( $this->is_directory_page() && $this->is_single_profile_page() ) { + $classes[] = 'wpuf-single-user-profile'; + $classes[] = 'wpuf-viewing-profile'; + } + + return $classes; + } +} diff --git a/includes/Free/User_Directory/Helpers.php b/includes/Free/User_Directory/Helpers.php new file mode 100644 index 000000000..962509949 --- /dev/null +++ b/includes/Free/User_Directory/Helpers.php @@ -0,0 +1,739 @@ + 'wpuf-bg-purple-600', + 'primary_700' => 'wpuf-bg-purple-700', + 'text_primary_600' => 'wpuf-text-purple-600', + 'border_primary_600' => 'wpuf-border-purple-600', + 'hover_primary_600' => 'hover:wpuf-text-purple-600', + 'hover_primary_700' => 'hover:wpuf-bg-purple-700', + 'hover_border_primary_600' => 'hover:wpuf-border-purple-600', + 'focus_ring_primary_500' => 'focus:wpuf-ring-purple-500', + ]; +} + +/** + * Alias for wpuf_ud_get_layout_colors (Pro compatibility) + * + * @since 4.3.0 + * + * @param string $layout Layout name. + * + * @return array Colors array. + */ +function wpuf_ud_get_layout_colors( $layout = 'layout-3' ) { + return wpuf_ud_free_get_layout_colors( $layout ); +} + +/** + * Get profile layout colors + * + * @since 4.3.0 + * + * @param string $layout Layout name. + * + * @return array Colors array. + */ +function wpuf_ud_get_profile_layout_colors( $layout = 'layout-2' ) { + return wpuf_ud_free_get_layout_colors( $layout ); +} + +/** + * Build page URL for pagination + * + * @since 4.3.0 + * + * @param string $base_url Base URL. + * @param array $query_args Query args. + * @param int $page Page number. + * + * @return string URL. + */ +function wpuf_ud_build_page_url( $base_url, $query_args, $page ) { + global $wp_rewrite; + + // Ensure we have valid parameters + if ( empty( $base_url ) ) { + $base_url = '/'; + } + + if ( ! is_array( $query_args ) ) { + $query_args = []; + } + + $page = absint( $page ); + if ( $page < 1 ) { + $page = 1; + } + + $is_pretty = $wp_rewrite && $wp_rewrite->using_permalinks(); + + // Remove trailing slash for consistency + $base_url = untrailingslashit( $base_url ); + + if ( $is_pretty ) { + // Remove existing /page/X/ if present + $base_url = preg_replace( '#/page/\\d+/?$#', '', $base_url ); + + if ( $page > 1 ) { + $url = $base_url . '/page/' . $page . '/'; + } else { + $url = $base_url . '/'; + } + + if ( ! empty( $query_args ) ) { + $url = add_query_arg( $query_args, $url ); + } + } else { + if ( $page > 1 ) { + $query_args['page'] = $page; + } + $url = add_query_arg( $query_args, $base_url ); + } + + return esc_url( $url ); +} + +/** + * Get avatar URL for a user (checks wpuf_profile_photo first, then gravatar) + * + * @since 4.3.0 + * + * @param WP_User $user User object. + * @param int $size Size in pixels. + * + * @return string|false Avatar URL or false if no custom avatar. + */ +function wpuf_ud_get_avatar_url( $user, $size = 128 ) { + if ( ! $user || ! is_object( $user ) || ! isset( $user->ID ) ) { + return false; + } + + // First check for wpuf_profile_photo meta + $profile_photo_id = get_user_meta( $user->ID, 'wpuf_profile_photo', true ); + + if ( $profile_photo_id ) { + $photo_url = wp_get_attachment_url( $profile_photo_id ); + if ( $photo_url ) { + return $photo_url; + } + } + + // Check if user has a real Gravatar (with caching to avoid repeated remote calls) + $cache_key = 'wpuf_gravatar_check_' . md5( $user->user_email ); + $has_gravatar = get_transient( $cache_key ); + + if ( false === $has_gravatar ) { + $email_hash = md5( strtolower( trim( $user->user_email ) ) ); + $gravatar_check_url = "https://www.gravatar.com/avatar/{$email_hash}?d=404&s={$size}"; + + $response = wp_remote_head( $gravatar_check_url, [ 'timeout' => 2 ] ); + + if ( ! is_wp_error( $response ) && 200 === wp_remote_retrieve_response_code( $response ) ) { + $has_gravatar = 'yes'; + } else { + $has_gravatar = 'no'; + } + + // Cache for 1 day + set_transient( $cache_key, $has_gravatar, DAY_IN_SECONDS ); + } + + if ( 'yes' === $has_gravatar ) { + $email_hash = md5( strtolower( trim( $user->user_email ) ) ); + return "https://www.gravatar.com/avatar/{$email_hash}?s={$size}"; + } + + // No custom avatar found + return false; +} + +/** + * Get user avatar HTML with fallback to initials (matching Pro behavior) + * + * @since 4.3.0 + * + * @param WP_User $user User object. + * @param int $size Avatar size. + * @param string $class CSS classes. + * + * @return string Avatar HTML. + */ +function wpuf_ud_get_user_avatar_html( $user, $size = 128, $class = '' ) { + // Get user object if ID is passed + if ( is_numeric( $user ) ) { + $user = get_user_by( 'id', $user ); + } + + if ( ! $user ) { + return ''; + } + + // Get avatar URL (checks wpuf_profile_photo first, then gravatar) + $avatar_url = wpuf_ud_get_avatar_url( $user, $size ); + + // Get user's name for initials + $first_name = get_user_meta( $user->ID, 'first_name', true ); + $last_name = get_user_meta( $user->ID, 'last_name', true ); + + // Calculate initials + if ( $first_name && $last_name ) { + $initials = strtoupper( substr( $first_name, 0, 1 ) . substr( $last_name, 0, 1 ) ); + } else { + $name = $user->display_name ?: $user->user_login; + $name_parts = explode( ' ', $name ); + if ( count( $name_parts ) >= 2 ) { + $initials = strtoupper( substr( $name_parts[0], 0, 1 ) . substr( $name_parts[1], 0, 1 ) ); + } else { + $initials = strtoupper( substr( $name, 0, 2 ) ); + } + } + + // If we have an avatar URL, return just the img + if ( $avatar_url ) { + return sprintf( + '%s', + esc_url( $avatar_url ), + esc_attr( $user->display_name ), + esc_attr( $class ), + $size, + $size, + $size, + $size + ); + } + + // No avatar URL, show initials directly + return sprintf( + '
%s
', + esc_attr( $class ), + $size, + $size, + max( (int) ( $size / 2.5 ), 16 ), + esc_html( $initials ) + ); +} + +/** + * Get profile URL for a user + * + * @since 4.3.0 + * + * @param WP_User $user User object. + * @param array $data Profile data. + * + * @return string Profile URL. + */ +function wpuf_ud_get_profile_url( $user, $data = [] ) { + // Handle null user + if ( ! $user || ! is_object( $user ) || ! isset( $user->ID ) ) { + return ''; + } + + $profile_base = isset( $data['profile_base'] ) ? $data['profile_base'] : 'username'; + + // Get current page permalink (directory page) + $current_url = ''; + + // First, check if base_url is provided in data (from AJAX requests) + if ( ! empty( $data['base_url'] ) ) { + // Use the base URL provided from AJAX request + $current_url = $data['base_url']; + + // If it's just a path, build a full URL + if ( strpos( $current_url, 'http' ) !== 0 ) { + $scheme = is_ssl() ? 'https' : 'http'; + $host = isset( $_SERVER['HTTP_HOST'] ) ? $_SERVER['HTTP_HOST'] : ''; + $current_url = $scheme . '://' . $host . $current_url; + } + } else { + // Fallback to detecting current URL + $current_url = get_permalink(); + + // Fallback to current URL if no permalink + if ( empty( $current_url ) ) { + $current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . strtok( $_SERVER['REQUEST_URI'], '?' ); + } + } + + if ( 'user_id' === $profile_base ) { + $slug = $user->ID; + } else { + $slug = rawurlencode( $user->user_login ); + } + + // For shortcodes (AJAX requests), ALWAYS use clean URL format - no query parameters + if ( ! empty( $data['is_shortcode'] ) || ! empty( $data['base_url'] ) ) { + // Generate clean URL: /directory/username or /directory/123 + $clean_base_url = strtok( $current_url, '?' ); + // Remove pagination from URL if present to get the base directory URL + $clean_base_url = preg_replace( '#/page/\d+/?$#', '', $clean_base_url ); + $clean_base_url = rtrim( $clean_base_url, '/' ); + + return esc_url( $clean_base_url . '/' . $slug ); + } + + // Check if pretty URLs are enabled + if ( get_option( 'permalink_structure' ) ) { + // Clean URL format matching Pro: /ud/username (no extra /user/ segment) + $current_url = rtrim( $current_url, '/' ); + + return esc_url( $current_url . '/' . $slug ); + } + + // Fallback to query parameter + return esc_url( add_query_arg( 'wpuf_user', $user->ID, $current_url ) ); +} + +/** + * Get profile data for template + * + * @since 4.3.0 + * + * @param WP_User $user User object. + * @param array $template_data Template data. + * @param string $layout Layout name. + * + * @return array Profile data. + */ +function wpuf_ud_get_profile_data( $user, $template_data = [], $layout = 'layout-2' ) { + // Handle case when user is null or not a WP_User object + if ( ! $user || ! is_object( $user ) || ! isset( $user->ID ) ) { + return [ + 'user' => null, + 'user_id' => 0, + 'full_name' => '', + 'first_name' => '', + 'last_name' => '', + 'email' => '', + 'website' => '', + 'bio' => '', + 'avatar_size' => 192, + 'settings' => [], + 'back_url' => '', + 'layout' => $layout, + 'profile_tabs' => [], + 'about_fields' => [], + 'template_config' => wpuf_ud_get_default_template_config(), + 'user_meta' => wpuf_ud_get_default_user_meta(), + 'contact_info' => [], + 'social_media' => [], + 'navigation' => wpuf_ud_get_default_navigation(), + 'tab_config' => wpuf_ud_get_default_tab_config(), + ]; + } + + $first_name = get_user_meta( $user->ID, 'first_name', true ); + $last_name = get_user_meta( $user->ID, 'last_name', true ); + $full_name = trim( $first_name . ' ' . $last_name ); + + if ( empty( $full_name ) ) { + $full_name = $user->display_name; + } + + $settings = isset( $template_data['settings'] ) ? $template_data['settings'] : []; + $avatar_size = isset( $template_data['avatar_size'] ) ? $template_data['avatar_size'] : 192; + $back_url = isset( $template_data['back_url'] ) ? $template_data['back_url'] : ''; + + // Build user_meta array + $user_meta = [ + 'display_name' => $full_name, + 'first_name' => $first_name, + 'last_name' => $last_name, + 'email' => $user->user_email, + 'website' => $user->user_url, + 'bio' => get_user_meta( $user->ID, 'description', true ), + ]; + + // Build contact info with proper icons for layout-2 (emerald/green theme) + $contact_info = []; + if ( ! empty( $user->user_email ) ) { + $contact_info['email'] = [ + 'label' => __( 'Email', 'wp-user-frontend' ), + 'value' => $user->user_email, + 'display_value' => $user->user_email, + 'icon' => '', + ]; + } + if ( ! empty( $user->user_url ) ) { + $parsed_url = wp_parse_url( $user->user_url ); + $contact_info['website'] = [ + 'label' => __( 'Website', 'wp-user-frontend' ), + 'value' => $user->user_url, + 'display_value' => isset( $parsed_url['host'] ) ? $parsed_url['host'] : $user->user_url, + 'icon' => '', + ]; + } + + // Build template config + $template_config = [ + 'show_avatar' => true, + 'enable_tabs' => true, + 'default_tabs' => [ 'about', 'posts', 'comments' ], + 'default_active_tab'=> 'about', + 'avatar_size' => $avatar_size, + 'custom_tab_labels' => [ + 'about' => __( 'About', 'wp-user-frontend' ), + 'posts' => __( 'Posts', 'wp-user-frontend' ), + 'comments' => __( 'Comments', 'wp-user-frontend' ), + ], + ]; + + // Build navigation + $navigation = [ + 'back_url' => $back_url, + 'back_label' => __( 'Back to Directory', 'wp-user-frontend' ), + ]; + + // Build tab config + $tab_config = [ + 'about' => [ + 'label' => __( 'About', 'wp-user-frontend' ), + 'is_active' => true, + 'content' => 'bio', + ], + 'posts' => [ + 'label' => __( 'Posts', 'wp-user-frontend' ), + 'is_active' => false, + 'content' => 'posts', + ], + 'comments' => [ + 'label' => __( 'Comments', 'wp-user-frontend' ), + 'is_active' => false, + 'content' => 'comments', + ], + ]; + + return [ + 'user' => $user, + 'user_id' => $user->ID, + 'full_name' => $full_name, + 'first_name' => $first_name, + 'last_name' => $last_name, + 'email' => $user->user_email, + 'website' => $user->user_url, + 'bio' => get_user_meta( $user->ID, 'description', true ), + 'avatar_size' => $avatar_size, + 'settings' => $settings, + 'back_url' => $back_url, + 'layout' => $layout, + 'profile_tabs' => isset( $settings['profile_tabs'] ) ? $settings['profile_tabs'] : [], + 'about_fields' => isset( $settings['about_fields'] ) ? $settings['about_fields'] : [], + 'template_config' => $template_config, + 'user_meta' => $user_meta, + 'contact_info' => $contact_info, + 'social_media' => [], // Pro feature + 'navigation' => $navigation, + 'tab_config' => $tab_config, + ]; +} + +/** + * Get default template config + * + * @since 4.3.0 + * + * @return array Default config. + */ +function wpuf_ud_get_default_template_config() { + return [ + 'show_avatar' => true, + 'enable_tabs' => true, + 'default_tabs' => [ 'about', 'posts', 'comments' ], + 'default_active_tab'=> 'about', + 'avatar_size' => 192, + 'custom_tab_labels' => [ + 'about' => __( 'About', 'wp-user-frontend' ), + 'posts' => __( 'Posts', 'wp-user-frontend' ), + 'comments' => __( 'Comments', 'wp-user-frontend' ), + ], + ]; +} + +/** + * Get default user meta + * + * @since 4.3.0 + * + * @return array Default user meta. + */ +function wpuf_ud_get_default_user_meta() { + return [ + 'display_name' => '', + 'first_name' => '', + 'last_name' => '', + 'email' => '', + 'website' => '', + 'bio' => '', + ]; +} + +/** + * Get default navigation + * + * @since 4.3.0 + * + * @return array Default navigation. + */ +function wpuf_ud_get_default_navigation() { + return [ + 'back_url' => '', + 'back_label' => __( 'Back to Directory', 'wp-user-frontend' ), + ]; +} + +/** + * Get default tab config + * + * @since 4.3.0 + * + * @return array Default tab config. + */ +function wpuf_ud_get_default_tab_config() { + return [ + 'about' => [ + 'label' => __( 'About', 'wp-user-frontend' ), + 'is_active' => true, + 'content' => 'bio', + ], + 'posts' => [ + 'label' => __( 'Posts', 'wp-user-frontend' ), + 'is_active' => false, + 'content' => 'posts', + ], + 'comments' => [ + 'label' => __( 'Comments', 'wp-user-frontend' ), + 'is_active' => false, + 'content' => 'comments', + ], + ]; +} + +/** + * Get tab label + * + * @since 4.3.0 + * + * @param string $tab Tab key. + * @param array $profile_data Profile data. + * + * @return string Tab label. + */ +function wpuf_ud_get_tab_label( $tab, $profile_data = [] ) { + $labels = [ + 'about' => __( 'About', 'wp-user-frontend' ), + 'posts' => __( 'Posts', 'wp-user-frontend' ), + 'comments' => __( 'Comments', 'wp-user-frontend' ), + 'files' => __( 'Files', 'wp-user-frontend' ), + 'activity' => __( 'Activity', 'wp-user-frontend' ), + ]; + + // Check for custom label in profile tabs + if ( ! empty( $profile_data['profile_tabs'][ $tab ]['label'] ) ) { + return $profile_data['profile_tabs'][ $tab ]['label']; + } + + return isset( $labels[ $tab ] ) ? $labels[ $tab ] : ucfirst( $tab ); +} + +/** + * Get block avatar data + * + * @since 4.3.0 + * + * @param WP_User $user User object. + * @param int $size Avatar size. + * @param string $type Avatar type. + * + * @return array Avatar data. + */ +function wpuf_ud_get_block_avatar_data( $user, $size = 128, $type = 'initials' ) { + if ( ! $user || ! is_object( $user ) || ! isset( $user->ID ) ) { + return [ + 'url' => '', + 'initials' => '??', + 'size' => $size, + 'type' => 'initials', + 'alt' => '', + ]; + } + + // Use our custom avatar URL function (checks wpuf_profile_photo first) + $avatar_url = wpuf_ud_get_avatar_url( $user, $size ); + $initials = wpuf_ud_get_user_initials( $user ); + + if ( $avatar_url ) { + return [ + 'url' => $avatar_url, + 'initials' => $initials, + 'size' => $size, + 'type' => 'custom', + 'alt' => sprintf( __( '%s avatar', 'wp-user-frontend' ), $user->display_name ), + ]; + } + + // No avatar, return initials type + return [ + 'url' => '', + 'initials' => $initials, + 'size' => $size, + 'type' => 'initials', + 'alt' => sprintf( __( '%s avatar', 'wp-user-frontend' ), $user->display_name ), + ]; +} + +/** + * Get user initials + * + * @since 4.3.0 + * + * @param WP_User $user User object. + * + * @return string Initials. + */ +function wpuf_ud_get_user_initials( $user ) { + if ( ! $user || ! is_object( $user ) || ! isset( $user->ID ) ) { + return '??'; + } + + $first_name = get_user_meta( $user->ID, 'first_name', true ); + $last_name = get_user_meta( $user->ID, 'last_name', true ); + + $initials = ''; + if ( $first_name ) { + $initials .= strtoupper( substr( $first_name, 0, 1 ) ); + } + if ( $last_name ) { + $initials .= strtoupper( substr( $last_name, 0, 1 ) ); + } + + if ( empty( $initials ) && isset( $user->display_name ) && $user->display_name ) { + $initials = strtoupper( substr( $user->display_name, 0, 2 ) ); + } + + return $initials ? $initials : '??'; +} + +/** + * Get user social links (Free version - returns empty) + * + * @since 4.3.0 + * + * @param WP_User $user User object. + * + * @return array Social links (empty in free version). + */ +function wpuf_ud_get_user_social_links( $user ) { + // Social links are Pro feature - return empty + return []; +} + +/** + * Check if user has files (Free version - returns false) + * + * @since 4.3.0 + * + * @param int $user_id User ID. + * @param string $meta_key Meta key. + * + * @return bool Always false in free version. + */ +function wpuf_ud_user_has_files( $user_id, $meta_key ) { + // Files are Pro feature + return false; +} + +/** + * Render meta field (Free version - no-op) + * + * @since 4.3.0 + * + * @param array $field Field data. + * @param WP_User $user User object. + * @param int $user_id User ID. + * @param string $layout Layout. + * + * @return void + */ +function wpuf_ud_render_meta_field( $field, $user, $user_id, $layout ) { + // Meta fields are Pro feature +} + +/** + * Get social fields (Free version - returns empty) + * + * @since 4.3.0 + * + * @return array Empty array. + */ +function wpuf_ud_get_social_fields() { + return []; +} + +/** + * Get social icons (Free version - returns empty) + * + * @since 4.3.0 + * + * @param string $class CSS class. + * + * @return array Empty array. + */ +function wpuf_ud_get_social_icons( $class = '' ) { + return []; +} + +/** + * Render posts table (Free version - no-op) + * + * @since 4.3.0 + * + * @param array $field Field data. + * @param int $user_id User ID. + * @param string $layout Layout. + * + * @return void + */ +function wpuf_ud_render_posts_table( $field, $user_id, $layout ) { + // Posts table is Pro feature +} + +/** + * Render files grid (Free version - no-op) + * + * @since 4.3.0 + * + * @param array $field Field data. + * @param int $user_id User ID. + * @param array $template_data Template data. + * @param string $color Color scheme. + * + * @return void + */ +function wpuf_ud_render_files_grid( $field, $user_id, $template_data, $color ) { + // Files grid is Pro feature +} diff --git a/includes/Free/User_Directory/Post_Type.php b/includes/Free/User_Directory/Post_Type.php new file mode 100644 index 000000000..45589f2ec --- /dev/null +++ b/includes/Free/User_Directory/Post_Type.php @@ -0,0 +1,101 @@ +is_pro_module_active() ) { + return; + } + + $labels = [ + 'name' => __( 'User Directories', 'wp-user-frontend' ), + 'singular_name' => __( 'User Directory', 'wp-user-frontend' ), + 'add_new' => __( 'Add New', 'wp-user-frontend' ), + 'add_new_item' => __( 'Add New Directory', 'wp-user-frontend' ), + 'edit_item' => __( 'Edit Directory', 'wp-user-frontend' ), + 'new_item' => __( 'New Directory', 'wp-user-frontend' ), + 'view_item' => __( 'View Directory', 'wp-user-frontend' ), + 'search_items' => __( 'Search Directories', 'wp-user-frontend' ), + 'not_found' => __( 'No directories found', 'wp-user-frontend' ), + 'not_found_in_trash' => __( 'No directories found in Trash', 'wp-user-frontend' ), + ]; + + $args = [ + 'labels' => $labels, + 'public' => false, + 'publicly_queryable' => false, + 'show_ui' => false, + 'show_in_menu' => false, + 'show_in_rest' => true, + 'rest_base' => 'wpuf_user_listing', + 'rest_controller_class' => 'WP_REST_Posts_Controller', + 'query_var' => false, + 'rewrite' => false, + 'capability_type' => 'post', + 'map_meta_cap' => true, + 'has_archive' => false, + 'hierarchical' => false, + 'supports' => [ 'title' ], + ]; + + register_post_type( User_Directory::POST_TYPE, $args ); + } + + /** + * Check if Pro User Directory module is active + * + * @since 4.3.0 + * + * @return bool + */ + private function is_pro_module_active() { + // Check if Pro is active and User Directory module is enabled + if ( ! wpuf_is_pro_active() ) { + return false; + } + + // Check if the Pro module class exists + if ( class_exists( 'WPUF_User_Listing' ) ) { + return true; + } + + return false; + } +} diff --git a/includes/Free/User_Directory/PrettyUrls.php b/includes/Free/User_Directory/PrettyUrls.php new file mode 100644 index 000000000..8c8ed750a --- /dev/null +++ b/includes/Free/User_Directory/PrettyUrls.php @@ -0,0 +1,147 @@ +is_pro_module_active() ) { + return; + } + + add_action( 'init', [ $this, 'add_rewrite_rules' ], 5 ); + add_filter( 'query_vars', [ $this, 'add_query_vars' ] ); + add_action( 'save_post', [ $this, 'maybe_flush_rules' ] ); + } + + /** + * Add rewrite rules for user profile pages + * + * @since 4.3.0 + * + * @return void + */ + public function add_rewrite_rules() { + // Get pages with directory shortcodes + $pages = $this->get_directory_pages(); + + foreach ( $pages as $page ) { + $page_slug = $page->post_name; + + // Add rewrite rule matching Pro: /page-slug/username/ (no /user/ segment) + add_rewrite_rule( + '^' . preg_quote( $page_slug, '/' ) . '/([^/]+)/?$', + 'index.php?pagename=' . $page_slug . '&wpuf_user_profile=$matches[1]', + 'top' + ); + } + } + + /** + * Add query vars + * + * @since 4.3.0 + * + * @param array $vars Query vars. + * + * @return array + */ + public function add_query_vars( $vars ) { + $vars[] = 'wpuf_user_profile'; + + return $vars; + } + + /** + * Get pages containing directory shortcodes + * + * @since 4.3.0 + * + * @return array Array of WP_Post objects. + */ + private function get_directory_pages() { + $pages = get_posts( [ + 'post_type' => 'page', + 'post_status' => 'publish', + 'posts_per_page' => -1, + ] ); + + $directory_pages = []; + + foreach ( $pages as $page ) { + if ( has_shortcode( $page->post_content, 'wpuf_user_listing' ) || + has_shortcode( $page->post_content, 'wpuf_user_listing_id' ) ) { + $directory_pages[] = $page; + } + } + + return $directory_pages; + } + + /** + * Flush rewrite rules when a page with directory shortcode is saved + * + * @since 4.3.0 + * + * @param int $post_id Post ID. + * + * @return void + */ + public function maybe_flush_rules( $post_id ) { + // Skip auto-saves + if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) { + return; + } + + $post = get_post( $post_id ); + + if ( ! $post || 'page' !== $post->post_type ) { + return; + } + + // Check if page has directory shortcode + if ( has_shortcode( $post->post_content, 'wpuf_user_listing' ) || + has_shortcode( $post->post_content, 'wpuf_user_listing_id' ) ) { + flush_rewrite_rules(); + } + } + + /** + * Check if Pro module is active + * + * @since 4.3.0 + * + * @return bool + */ + private function is_pro_module_active() { + if ( ! wpuf_is_pro_active() ) { + return false; + } + + return class_exists( 'WPUF_User_Listing' ); + } +} diff --git a/includes/Free/User_Directory/Shortcode.php b/includes/Free/User_Directory/Shortcode.php new file mode 100644 index 000000000..afd050d99 --- /dev/null +++ b/includes/Free/User_Directory/Shortcode.php @@ -0,0 +1,561 @@ +register_hooks(); + } + + /** + * Register hooks + * + * @since 4.3.0 + * + * @return void + */ + private function register_hooks() { + // Only register if Pro module is not active + if ( $this->is_pro_module_active() ) { + return; + } + + add_shortcode( 'wpuf_user_listing', [ $this, 'render_shortcode' ] ); + add_shortcode( 'wpuf_user_listing_id', [ $this, 'render_shortcode_with_id' ] ); + add_action( 'wp_enqueue_scripts', [ $this, 'register_assets' ] ); + } + + /** + * Register frontend assets + * + * @since 4.3.0 + * + * @return void + */ + public function register_assets() { + // Use the built Tailwind CSS file for frontend + wp_register_style( + 'wpuf-user-directory-frontend', + WPUF_ASSET_URI . '/css/wpuf-user-directory-free.css', + [], + WPUF_VERSION + ); + + wp_register_script( + 'wpuf-user-directory-frontend', + WPUF_ASSET_URI . '/js/wpuf-user-directory-frontend.js', + [ 'jquery' ], + WPUF_VERSION, + true + ); + + // Register AJAX search script + wp_register_script( + 'wpuf-ud-search-shortcode', + WPUF_ASSET_URI . '/js/ud-search-shortcode.js', + [], + WPUF_VERSION, + true + ); + } + + /** + * Render shortcode output + * + * @since 4.3.0 + * + * @param array $atts Shortcode attributes. + * + * @return string HTML output. + */ + public function render_shortcode( $atts ) { + // Parse attributes + $atts = shortcode_atts( + [ + 'id' => '', + ], + $atts, + 'wpuf_user_listing' + ); + + // If ID provided, use stored settings + if ( ! empty( $atts['id'] ) ) { + return $this->render_from_stored_settings( $atts['id'] ); + } + + // Try to get first available directory + $directory = User_Directory::get_first_directory(); + + if ( $directory ) { + return $this->render_from_stored_settings( $directory->ID ); + } + + // No directory found + return $this->render_no_directory_message(); + } + + /** + * Render shortcode with ID as value + * + * @since 4.3.0 + * + * @param array $atts Shortcode attributes. + * + * @return string HTML output. + */ + public function render_shortcode_with_id( $atts ) { + if ( is_array( $atts ) && ! empty( $atts ) ) { + $directory_id = reset( $atts ); + + return $this->render_from_stored_settings( $directory_id ); + } + + return ''; + } + + /** + * Render from stored directory settings + * + * @since 4.3.0 + * + * @param int $directory_id Directory post ID. + * + * @return string HTML output. + */ + private function render_from_stored_settings( $directory_id ) { + $directory_id = absint( $directory_id ); + + if ( ! $directory_id ) { + return ''; + } + + // Get directory post + $post = get_post( $directory_id ); + + if ( ! $post || User_Directory::POST_TYPE !== $post->post_type ) { + return ''; + } + + // Parse settings + $settings = []; + + if ( ! empty( $post->post_content ) ) { + $settings = json_decode( $post->post_content, true ) ?: []; + } + + // Merge with defaults + $settings = wp_parse_args( $settings, User_Directory::get_default_settings() ); + + // Enqueue assets + wp_enqueue_style( 'wpuf-user-directory-frontend' ); + wp_enqueue_script( 'wpuf-user-directory-frontend' ); + wp_enqueue_script( 'wpuf-ud-search-shortcode' ); + + // Localize script with REST API data + wp_localize_script( + 'wpuf-ud-search-shortcode', + 'wpufUserDirectorySearch', + [ + 'restUrl' => rest_url( 'wpuf/v1/user_directory/search' ), + 'nonce' => wp_create_nonce( 'wp_rest' ), + ] + ); + + // Check if viewing a profile + $profile_user = $this->get_profile_user( $settings ); + + if ( $profile_user ) { + return $this->render_profile( $profile_user, $settings, $directory_id ); + } + + // Render directory list + return $this->render_directory( $settings, $directory_id ); + } + + /** + * Get profile user from URL + * + * @since 4.3.0 + * + * @param array $settings Directory settings. + * + * @return \WP_User|null + */ + private function get_profile_user( $settings ) { + // Check pretty URL + $profile_slug = get_query_var( 'wpuf_user_profile' ); + + if ( $profile_slug ) { + $profile_base = $settings['profile_base'] ?? 'username'; + + if ( 'user_id' === $profile_base ) { + return get_user_by( 'id', absint( $profile_slug ) ); + } + + return get_user_by( 'login', sanitize_user( $profile_slug ) ); + } + + // Check query parameter + // phpcs:ignore WordPress.Security.NonceVerification.Recommended + if ( isset( $_GET['wpuf_user'] ) ) { + // phpcs:ignore WordPress.Security.NonceVerification.Recommended + $user_id = absint( $_GET['wpuf_user'] ); + + return get_user_by( 'id', $user_id ); + } + + return null; + } + + /** + * Render user directory list + * + * @since 4.3.0 + * + * @param array $settings Directory settings. + * @param int $directory_id Directory post ID. + * + * @return string HTML output. + */ + private function render_directory( $settings, $directory_id ) { + // Get current page - check WordPress query var first (for /page/X/ URLs), then legacy udpage param + $paged = get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1; + if ( ! $paged || 1 === $paged ) { + $paged = get_query_var( 'page' ) ? absint( get_query_var( 'page' ) ) : 1; + } + // Fallback to legacy udpage param for backwards compatibility + // phpcs:ignore WordPress.Security.NonceVerification.Recommended + if ( ! $paged || 1 === $paged ) { + $paged = isset( $_GET['udpage'] ) ? absint( $_GET['udpage'] ) : 1; + } + $paged = max( 1, $paged ); // Ensure paged is at least 1 + + // Get search term + // phpcs:ignore WordPress.Security.NonceVerification.Recommended + $search = isset( $_GET['udsearch'] ) ? sanitize_text_field( wp_unslash( $_GET['udsearch'] ) ) : ''; + + // Get orderby from DB settings first, then allow URL override + $db_orderby = ! empty( $settings['orderby'] ) ? sanitize_text_field( $settings['orderby'] ) : 'ID'; + $db_order = ! empty( $settings['order'] ) ? strtoupper( sanitize_text_field( $settings['order'] ) ) : 'DESC'; + + // Allow URL params to override DB settings + $allowed_orderby = [ 'ID', 'id', 'user_login', 'login', 'user_nicename', 'nicename', 'user_email', 'email', 'display_name', 'user_registered', 'registered' ]; + // phpcs:ignore WordPress.Security.NonceVerification.Recommended + $orderby_param = isset( $_GET['orderby'] ) ? sanitize_text_field( wp_unslash( $_GET['orderby'] ) ) : ''; + $orderby = ! empty( $orderby_param ) && in_array( $orderby_param, $allowed_orderby, true ) ? $orderby_param : $db_orderby; + + // phpcs:ignore WordPress.Security.NonceVerification.Recommended + $order_param = isset( $_GET['order'] ) ? strtoupper( sanitize_text_field( wp_unslash( $_GET['order'] ) ) ) : ''; + $order = ! empty( $order_param ) && in_array( $order_param, [ 'ASC', 'DESC' ], true ) ? $order_param : $db_order; + + // Build user query args - check users_per_page first (admin setting), then per_page + $per_page = absint( $settings['users_per_page'] ?? ( $settings['per_page'] ?? 12 ) ); + $offset = ( $paged - 1 ) * $per_page; + + $args = [ + 'number' => $per_page, + 'offset' => $offset, + 'orderby' => $orderby, + 'order' => $order, + ]; + + // Roles filter + if ( ! empty( $settings['roles'] ) && is_array( $settings['roles'] ) ) { + $args['role__in'] = array_map( 'sanitize_text_field', $settings['roles'] ); + } + + // Exclude users + if ( ! empty( $settings['exclude_users'] ) ) { + $exclude_ids = array_map( 'absint', explode( ',', $settings['exclude_users'] ) ); + $args['exclude'] = $exclude_ids; + } + + // Search + if ( $search ) { + $args['search'] = '*' . $search . '*'; + $args['search_columns'] = [ 'user_login', 'user_nicename', 'display_name', 'user_email' ]; + } + + /** + * Filter user query args + * + * @since 4.3.0 + * + * @param array $args User query args. + * @param array $settings Directory settings. + * @param int $directory_id Directory post ID. + */ + $args = apply_filters( 'wpuf_ud_free_user_query_args', $args, $settings, $directory_id ); + + // Execute query + $user_query = new \WP_User_Query( $args ); + $users = $user_query->get_results(); + $total = $user_query->get_total(); + $max_pages = (int) ceil( $total / $per_page ); + + // Build block ID for data attributes (use shortcode_ prefix to match Pro pattern) + $block_id = 'shortcode_' . $directory_id; + $page_id = get_the_ID(); + + // Build pagination data + $pagination = [ + 'total_pages' => $max_pages, + 'current_page' => $paged, + 'per_page' => $per_page, + 'total_items' => $total, + ]; + + // Build all_data array for template compatibility with Pro + $all_data = [ + 'id' => $directory_id, + 'directory_id' => $directory_id, + 'orderby' => $orderby, + 'order' => $order, + 'max_item' => $per_page, + 'profile_permalink' => $settings['profile_base'] ?? 'username', + 'enable_search' => ! empty( $settings['enable_search'] ), + 'enable_frontend_sorting' => true, // Always enable sorting in Free + 'search_placeholder' => __( 'Search users...', 'wp-user-frontend' ), + ]; + + // Build template data + $template_data = [ + 'users' => $users, + 'total' => $total, + 'paged' => $paged, + 'max_pages' => $max_pages, + 'per_page' => $per_page, + 'search' => $search, + 'orderby' => $orderby, + 'order' => $order, + 'settings' => $settings, + 'directory_id' => $directory_id, + 'users_per_row' => absint( $settings['users_per_row'] ?? 3 ), + 'avatar_size' => absint( $settings['avatar_size'] ?? 192 ), + // Pro template compatibility + 'block_id' => $block_id, + 'page_id' => $page_id, + 'directory_layout' => 'layout-3', + 'enable_search' => ! empty( $settings['enable_search'] ), + 'enable_frontend_sorting' => true, + 'all_data' => $all_data, + 'pagination' => $pagination, + ]; + + /** + * Filter template data + * + * @since 4.3.0 + * + * @param array $template_data Template data. + * @param array $settings Directory settings. + * @param int $directory_id Directory post ID. + */ + $template_data = apply_filters( 'wpuf_ud_free_template_data', $template_data, $settings, $directory_id ); + + // Load template + ob_start(); + $this->load_template( 'directory/layout-3', $template_data ); + + return ob_get_clean(); + } + + /** + * Render user profile + * + * @since 4.3.0 + * + * @param \WP_User $user User object. + * @param array $settings Directory settings. + * @param int $directory_id Directory post ID. + * + * @return string HTML output. + */ + private function render_profile( $user, $settings, $directory_id ) { + // Build profile data + $profile_data = [ + 'user' => $user, + 'settings' => $settings, + 'directory_id' => $directory_id, + 'avatar_size' => absint( $settings['avatar_size'] ?? 192 ), + 'back_url' => $this->get_directory_url(), + ]; + + /** + * Filter profile data + * + * @since 4.3.0 + * + * @param array $profile_data Profile data. + * @param \WP_User $user User object. + * @param array $settings Directory settings. + * @param int $directory_id Directory post ID. + */ + $profile_data = apply_filters( 'wpuf_ud_free_profile_data', $profile_data, $user, $settings, $directory_id ); + + // Add template_data key for Pro template compatibility + $profile_data['template_data'] = $profile_data; + + // Load template + ob_start(); + $this->load_template( 'profile/layout-2', $profile_data ); + + return ob_get_clean(); + } + + /** + * Load template file + * + * @since 4.3.0 + * + * @param string $template Template name. + * @param array $data Template data. + * + * @return void + */ + private function load_template( $template, $data ) { + // Extract data for template use + // phpcs:ignore WordPress.PHP.DontExtract.extract_extract + extract( $data ); + + $template_file = WPUF_UD_FREE_VIEWS . '/' . $template . '.php'; + + /** + * Filter template file path + * + * @since 4.3.0 + * + * @param string $template_file Template file path. + * @param string $template Template name. + * @param array $data Template data. + */ + $template_file = apply_filters( 'wpuf_ud_free_template_path', $template_file, $template, $data ); + + if ( file_exists( $template_file ) ) { + include $template_file; + } + } + + /** + * Get current page number (matching Pro logic) + * + * @since 4.3.0 + * + * @return int + */ + private function get_current_page() { + $current_page = 1; + + // Support both ?page=2 and /page/2/ + if ( get_query_var( 'paged' ) ) { + $current_page = (int) get_query_var( 'paged' ); + } elseif ( ! empty( $_GET['page'] ) ) { + // phpcs:ignore WordPress.Security.NonceVerification.Recommended + $current_page = (int) $_GET['page']; + } + + return max( 1, $current_page ); + } + + /** + * Get directory URL (current page without profile params) + * + * @since 4.3.0 + * + * @return string URL. + */ + private function get_directory_url() { + $url = remove_query_arg( [ 'wpuf_user', 'wpuf_user_profile' ] ); + + return esc_url( $url ); + } + + /** + * Generate profile URL for a user + * + * @since 4.3.0 + * + * @param \WP_User $user User object. + * @param array $settings Directory settings. + * + * @return string Profile URL. + */ + public function get_profile_url( $user, $settings = [] ) { + $profile_base = $settings['profile_base'] ?? 'username'; + $current_url = get_permalink(); + + if ( 'user_id' === $profile_base ) { + $slug = $user->ID; + } else { + $slug = $user->user_login; + } + + // Try pretty URL first + $pretty_url = trailingslashit( $current_url ) . 'user/' . $slug; + + // Check if pretty URLs are enabled + if ( get_option( 'permalink_structure' ) ) { + return esc_url( $pretty_url ); + } + + // Fallback to query parameter + return esc_url( add_query_arg( 'wpuf_user', $user->ID, $current_url ) ); + } + + /** + * Render no directory message + * + * @since 4.3.0 + * + * @return string HTML output. + */ + private function render_no_directory_message() { + $message = __( 'No user directory has been configured yet.', 'wp-user-frontend' ); + + if ( current_user_can( 'manage_options' ) ) { + $admin_url = admin_url( 'admin.php?page=wpuf_userlisting' ); + $message .= ' ' . __( 'Create one now', 'wp-user-frontend' ) . ''; + } + + return '
' . wp_kses_post( $message ) . '
'; + } + + /** + * Check if Pro module is active + * + * @since 4.3.0 + * + * @return bool + */ + private function is_pro_module_active() { + if ( ! wpuf_is_pro_active() ) { + return false; + } + + return class_exists( 'WPUF_User_Listing' ); + } +} diff --git a/includes/Free/User_Directory/User_Directory.php b/includes/Free/User_Directory/User_Directory.php new file mode 100644 index 000000000..fe73351a9 --- /dev/null +++ b/includes/Free/User_Directory/User_Directory.php @@ -0,0 +1,320 @@ +define_constants(); + $this->includes(); + $this->init_hooks(); + } + + /** + * Define constants + * + * @since 4.3.0 + * + * @return void + */ + private function define_constants() { + if ( ! defined( 'WPUF_UD_FREE_VERSION' ) ) { + define( 'WPUF_UD_FREE_VERSION', self::VERSION ); + } + + if ( ! defined( 'WPUF_UD_FREE_ROOT' ) ) { + define( 'WPUF_UD_FREE_ROOT', dirname( __FILE__ ) ); + } + + if ( ! defined( 'WPUF_UD_FREE_VIEWS' ) ) { + define( 'WPUF_UD_FREE_VIEWS', WPUF_UD_FREE_ROOT . '/views' ); + } + + // Templates constant for template parts (like Pro's WPUF_UD_TEMPLATES) + if ( ! defined( 'WPUF_UD_FREE_TEMPLATES' ) ) { + define( 'WPUF_UD_FREE_TEMPLATES', WPUF_UD_FREE_VIEWS ); + } + } + + /** + * Include required files + * + * @since 4.3.0 + * + * @return void + */ + private function includes() { + require_once WPUF_UD_FREE_ROOT . '/Helpers.php'; + require_once WPUF_UD_FREE_ROOT . '/Post_Type.php'; + require_once WPUF_UD_FREE_ROOT . '/Admin_Menu.php'; + require_once WPUF_UD_FREE_ROOT . '/Shortcode.php'; + require_once WPUF_UD_FREE_ROOT . '/PrettyUrls.php'; + require_once WPUF_UD_FREE_ROOT . '/DirectoryStyles.php'; + require_once WPUF_UD_FREE_ROOT . '/Api/Directory.php'; + } + + /** + * Initialize hooks + * + * @since 4.3.0 + * + * @return void + */ + private function init_hooks() { + // Register post type + new Post_Type(); + + // Admin menu + if ( is_admin() ) { + $this->admin_menu = new Admin_Menu(); + } + + // REST API + add_action( 'rest_api_init', [ $this, 'register_rest_routes' ] ); + + // Shortcode + $this->shortcode = new Shortcode(); + + // Pretty URLs + $this->pretty_urls = new PrettyUrls(); + + // Directory Styles (hide page title on profile pages) + new DirectoryStyles(); + } + + /** + * Register REST API routes + * + * @since 4.3.0 + * + * @return void + */ + public function register_rest_routes() { + $api = new Api\Directory(); + $api->register_routes(); + } + + /** + * Check if free directory limit has been reached + * + * @since 4.3.0 + * + * @return bool + */ + public static function has_reached_limit() { + if ( wpuf_is_pro_active() ) { + return false; + } + + $count = self::get_directory_count(); + + return $count >= self::FREE_DIRECTORY_LIMIT; + } + + /** + * Get the count of directories + * + * @since 4.3.0 + * + * @return int + */ + public static function get_directory_count() { + $directories = get_posts( [ + 'post_type' => self::POST_TYPE, + 'post_status' => 'any', + 'posts_per_page' => -1, + 'fields' => 'ids', + ] ); + + return count( $directories ); + } + + /** + * Get the first directory (for free version) + * + * @since 4.3.0 + * + * @return \WP_Post|null + */ + public static function get_first_directory() { + $directories = get_posts( [ + 'post_type' => self::POST_TYPE, + 'post_status' => 'publish', + 'posts_per_page' => 1, + 'orderby' => 'date', + 'order' => 'ASC', + ] ); + + return ! empty( $directories ) ? $directories[0] : null; + } + + /** + * Check if a layout is available in free version + * + * @since 4.3.0 + * + * @param string $layout Layout ID. + * @param string $type Layout type (directory or profile). + * + * @return bool + */ + public static function is_layout_free( $layout, $type = 'directory' ) { + if ( wpuf_is_pro_active() ) { + return true; + } + + if ( 'directory' === $type ) { + return self::FREE_DIRECTORY_LAYOUT === $layout; + } + + if ( 'profile' === $type ) { + return self::FREE_PROFILE_LAYOUT === $layout; + } + + return false; + } + + /** + * Get default settings for a new directory + * + * @since 4.3.0 + * + * @return array + */ + public static function get_default_settings() { + $defaults = [ + 'directory_layout' => self::FREE_DIRECTORY_LAYOUT, + 'profile_layout' => self::FREE_PROFILE_LAYOUT, + 'per_page' => 12, + 'users_per_row' => 3, + 'orderby' => 'ID', + 'order' => 'DESC', + 'roles' => [], + 'exclude_users' => '', + 'profile_base' => 'username', + 'avatar_size' => '192', + 'profile_size' => 'medium', + 'searchable_fields' => [ 'display_name', 'user_login' ], + 'enable_search' => true, + 'enable_pagination' => true, + 'profile_tabs' => [ + 'about' => [ + 'label' => __( 'About', 'wp-user-frontend' ), + 'is_active' => true, + ], + ], + 'about_fields' => [], + ]; + + /** + * Filter default directory settings + * + * @since 4.3.0 + * + * @param array $defaults Default settings. + */ + return apply_filters( 'wpuf_ud_free_default_settings', $defaults ); + } +} diff --git a/includes/Free/User_Directory/views/admin-page.php b/includes/Free/User_Directory/views/admin-page.php new file mode 100644 index 000000000..99c9f77f7 --- /dev/null +++ b/includes/Free/User_Directory/views/admin-page.php @@ -0,0 +1,21 @@ + +
+ +

...

+
diff --git a/includes/Free/User_Directory/views/directory/layout-3.php b/includes/Free/User_Directory/views/directory/layout-3.php new file mode 100644 index 000000000..3cd5df9d4 --- /dev/null +++ b/includes/Free/User_Directory/views/directory/layout-3.php @@ -0,0 +1,93 @@ +
data-directory-id="" data-avatar-size="" data-max-item=""> + + +
+ + + + + + + +
+ +
+ +
+
    + +
+
+ +
+
+
+ + + +
+

+ +

+

+ +

+
+
+ +
+
+ +
+
diff --git a/includes/Free/User_Directory/views/directory/template-parts/pagination-shortcode.php b/includes/Free/User_Directory/views/directory/template-parts/pagination-shortcode.php new file mode 100644 index 000000000..582d5fd27 --- /dev/null +++ b/includes/Free/User_Directory/views/directory/template-parts/pagination-shortcode.php @@ -0,0 +1,151 @@ + 2 ) { + $pages[] = '...'; + } + + // Add the range of pages + for ( $i = $start; $i <= $end; $i++ ) { + $pages[] = $i; + } + + // Add ellipsis if needed after range + if ( $end < $total - 1 ) { + $pages[] = '...'; + } + + // Always show last page + $pages[] = $total; +} +?> + +
+ +
diff --git a/includes/Free/User_Directory/views/directory/template-parts/row-3.php b/includes/Free/User_Directory/views/directory/template-parts/row-3.php new file mode 100644 index 000000000..8e03f457e --- /dev/null +++ b/includes/Free/User_Directory/views/directory/template-parts/row-3.php @@ -0,0 +1,160 @@ +display_name; +$user_login = $user->user_login; +$user_email = $user->user_email; +$user_url = $user->user_url; +$user_bio = get_user_meta( $user->ID, 'description', true ); + +// Get first and last name +$first_name = get_user_meta( $user->ID, 'first_name', true ); +$last_name = get_user_meta( $user->ID, 'last_name', true ); + +// Get phone number +$phone = get_user_meta( $user->ID, 'wpuf_profile_phone', true ); + +// Get avatar size for card layout +$card_avatar_size = ! empty( $avatar_size ) ? $avatar_size : 128; + +// Use simple rounded-full class - size is applied via inline style in the function +$avatar = wpuf_ud_get_user_avatar_html( $user, $card_avatar_size, '!wpuf-rounded-full' ); +?> + +
  • + +
    + +
    + +
    + + +
    + +

    + +

    + + + +

    + + + +

    + + + + +

    + + + +

    + + + + +

    + + + +

    + + + + +
    +
    + + +
    + 1 ) { + $dir_params['dir_page'] = $current_page; + } + + // Preserve sorting and search parameters - check all_data first (AJAX), then GET + if ( ! empty( $all_data['orderby'] ) ) { + $dir_params['orderby'] = sanitize_text_field( $all_data['orderby'] ); + } elseif ( isset( $_GET['orderby'] ) ) { + $dir_params['orderby'] = sanitize_text_field( $_GET['orderby'] ); + } + + if ( ! empty( $all_data['order'] ) ) { + $dir_params['order'] = sanitize_text_field( $all_data['order'] ); + } elseif ( isset( $_GET['order'] ) ) { + $dir_params['order'] = sanitize_text_field( $_GET['order'] ); + } + + if ( ! empty( $all_data['search'] ) ) { + $dir_params['search'] = sanitize_text_field( $all_data['search'] ); + } elseif ( isset( $_GET['search'] ) ) { + $dir_params['search'] = sanitize_text_field( $_GET['search'] ); + } + + // Add parameters to profile URL if any exist + if ( ! empty( $dir_params ) ) { + $profile_url = add_query_arg( $dir_params, $profile_url ); + } + ?> + + + , + +
    +
  • diff --git a/includes/Free/User_Directory/views/directory/template-parts/search-field.php b/includes/Free/User_Directory/views/directory/template-parts/search-field.php new file mode 100644 index 000000000..1455455fd --- /dev/null +++ b/includes/Free/User_Directory/views/directory/template-parts/search-field.php @@ -0,0 +1,55 @@ + + + +
    + + +
    + + +
    + + +
    + +
    + +
    diff --git a/includes/Free/User_Directory/views/directory/template-parts/social-icons.php b/includes/Free/User_Directory/views/directory/template-parts/social-icons.php new file mode 100644 index 000000000..2fce4e97e --- /dev/null +++ b/includes/Free/User_Directory/views/directory/template-parts/social-icons.php @@ -0,0 +1,74 @@ +ID, 'wpuf_social_facebook', true ) : ''; +$twitter_url = in_array( 'twitter', $allowed_social_fields ) ? get_user_meta( $user->ID, 'wpuf_social_twitter', true ) : ''; +$linkedin_url = in_array( 'linkedin', $allowed_social_fields ) ? get_user_meta( $user->ID, 'wpuf_social_linkedin', true ) : ''; +$instagram_url = in_array( 'instagram', $allowed_social_fields ) ? get_user_meta( $user->ID, 'wpuf_social_instagram', true ) : ''; + +// Check if any social links exist +$has_social_links = $facebook_url || $twitter_url || $linkedin_url || $instagram_url; + +if ( $has_social_links ) : ?> + + diff --git a/includes/Free/User_Directory/views/directory/template-parts/sort-field.php b/includes/Free/User_Directory/views/directory/template-parts/sort-field.php new file mode 100644 index 000000000..c315c93c9 --- /dev/null +++ b/includes/Free/User_Directory/views/directory/template-parts/sort-field.php @@ -0,0 +1,57 @@ + + + +
    + + +
    + +
    + + +
    + +
    + + + + +
    diff --git a/includes/Free/User_Directory/views/profile/layout-2.php b/includes/Free/User_Directory/views/profile/layout-2.php new file mode 100644 index 000000000..c332aa964 --- /dev/null +++ b/includes/Free/User_Directory/views/profile/layout-2.php @@ -0,0 +1,539 @@ + + +
    + +
    + +
    + + +
    + +
    + +
    + +
    +
    + +
    +
    + + +

    + +

    + + +
    + $contact_item ) : ?> +
    +
    + +
    +
    + + + + + + + + + + + + +
    +
    + +
    + + +
    + ID ) : + // Get account page link for private messaging + $account_page_id = wpuf_get_option( 'account_page', 'wpuf_my_account', false ); + if ( $account_page_id ) : + $account_page_link = get_page_link( $account_page_id ); + $private_message_link = $account_page_link . '?section=message#/user/' . $user->ID; + ?> + + + + + + + ID ) : + // Get account page link for edit profile + $account_page_id = wpuf_get_option( 'account_page', 'wpuf_my_account', false ); + if ( $account_page_id ) : + $edit_profile_link = get_page_link( $account_page_id ) . '?section=edit-profile'; + ?> + + + + +
    +
    + + + ID, 'description', true ); + if ( $user_bio ) : + ?> +
    + 150; + $bio_id = 'bio-layout2-' . $user->ID . '-' . uniqid(); + ?> + + +

    + + ... + + + + +

    + +

    + +

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

    +
    +
    + + + + +
    + +
    + +
    +
    + +
    +
    + + + + + + + diff --git a/includes/Free/User_Directory/views/profile/template-parts/about-2.php b/includes/Free/User_Directory/views/profile/template-parts/about-2.php new file mode 100644 index 000000000..ad1c72b31 --- /dev/null +++ b/includes/Free/User_Directory/views/profile/template-parts/about-2.php @@ -0,0 +1,41 @@ + + +
    +
    +
    + + + +
    +

    +

    + + + + + + + + + + + + +
    +
    + + diff --git a/includes/Free/User_Directory/views/profile/template-parts/comments-2.php b/includes/Free/User_Directory/views/profile/template-parts/comments-2.php new file mode 100644 index 000000000..675be7128 --- /dev/null +++ b/includes/Free/User_Directory/views/profile/template-parts/comments-2.php @@ -0,0 +1,214 @@ + $user->ID, + 'status' => 'approve', + 'count' => true +]; +$total_comments_count = get_comments( $total_comments_args ); + +// Calculate offset +$offset = ( $comments_page - 1 ) * $comments_per_page; + +// Get paginated comments +$comments = get_comments([ + 'user_id' => $user->ID, + 'status' => 'approve', + 'orderby' => 'comment_date', + 'order' => 'DESC', + 'number' => $comments_per_page, + 'offset' => $offset +]); + +// Prepare pagination data +$pagination = [ + 'total_pages' => ceil( $total_comments_count / $comments_per_page ), + 'current_page' => $comments_page, + 'per_page' => $comments_per_page, + 'total_items' => $total_comments_count +]; +?> + +
    +

    + +

    + + +
    + +
    +
    +
    +

    + comment_post_ID ) ); ?> +

    +
    + comment_date ) ); ?> +
    +
    + + + + + + +
    +
    +

    comment_content, 30, '...' ); ?>

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

    +

    +
    + + + 1 ) { + // Build base URL and query args for pagination + $current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; + $parsed_url = wp_parse_url( $current_url ); + $base_url = $parsed_url['path'] ?? ''; + + // Parse current URL to get all parameters + $all_params = []; + if ( ! empty( $parsed_url['query'] ) ) { + parse_str( $parsed_url['query'], $all_params ); + } + + // Create clean query args with only directory-related parameters + $clean_query_args = []; + $preserve_params = ['dir_page', 'orderby', 'order', 'search']; + foreach ( $preserve_params as $param ) { + if ( isset( $all_params[$param] ) ) { + $clean_query_args[$param] = $all_params[$param]; + } + } + + // Helper function to build pagination URLs for comments + if ( ! function_exists( 'wpuf_ud_build_comments_page_url' ) ) { + function wpuf_ud_build_comments_page_url( $base_url, $clean_args, $page ) { + // Set the tab and page for comments + $final_args = $clean_args; + $final_args['tab'] = 'comments'; + $final_args['comments_page'] = $page; + + return add_query_arg( $final_args, $base_url ); + } + } + + $current = $pagination['current_page']; + $total = $pagination['total_pages']; + + // Calculate visible page range - show max 7 pages + $max_visible = 7; + $pages = []; + + if ( $total <= $max_visible ) { + for ( $i = 1; $i <= $total; $i++ ) { + $pages[] = $i; + } + } else { + $pages[] = 1; + $start = max( 2, $current - 2 ); + $end = min( $total - 1, $current + 2 ); + + if ( $start > 2 ) { + $pages[] = '...'; + } + + for ( $i = $start; $i <= $end; $i++ ) { + $pages[] = $i; + } + + if ( $end < $total - 1 ) { + $pages[] = '...'; + } + + $pages[] = $total; + } + ?> + +
    + +
    + +
    \ No newline at end of file diff --git a/includes/Free/User_Directory/views/profile/template-parts/posts-2.php b/includes/Free/User_Directory/views/profile/template-parts/posts-2.php new file mode 100644 index 000000000..1961fda80 --- /dev/null +++ b/includes/Free/User_Directory/views/profile/template-parts/posts-2.php @@ -0,0 +1,226 @@ +ID; + +// Get current page from query string for posts pagination +$posts_page = isset( $_GET['posts_page'] ) ? max( 1, intval( $_GET['posts_page'] ) ) : 1; +$posts_per_page = 10; + +// Get user posts using WP_Query +$post_args = [ + 'author' => $user_id, + 'post_status' => 'publish', + 'posts_per_page' => $posts_per_page, + 'paged' => $posts_page, +]; + +$user_posts = new WP_Query( $post_args ); + +// Prepare pagination data +$pagination = [ + 'total_pages' => $user_posts->max_num_pages, + 'current_page' => $posts_page, + 'per_page' => $posts_per_page, + 'total_items' => $user_posts->found_posts, +]; +?> + +
    +

    + +

    + + have_posts() ) : ?> +
    + +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    + + +
    + have_posts() ) : $user_posts->the_post(); ?> +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    + + +
    +
    + + + +
    +

    +

    +
    + + + 1 ) { + // Build base URL and query args for pagination + $current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; + $parsed_url = wp_parse_url( $current_url ); + $base_url = $parsed_url['path'] ?? ''; + + // Parse current URL to get all parameters + $all_params = []; + if ( ! empty( $parsed_url['query'] ) ) { + parse_str( $parsed_url['query'], $all_params ); + } + + // Create clean query args with only directory-related parameters + $clean_query_args = []; + $preserve_params = ['dir_page', 'orderby', 'order', 'search']; + foreach ( $preserve_params as $param ) { + if ( isset( $all_params[$param] ) ) { + $clean_query_args[$param] = $all_params[$param]; + } + } + + // Helper function to build pagination URLs for posts + if ( ! function_exists( 'wpuf_ud_build_posts_page_url' ) ) { + function wpuf_ud_build_posts_page_url( $base_url, $clean_args, $page ) { + // Set the tab and page for posts + $final_args = $clean_args; + $final_args['tab'] = 'posts'; + $final_args['posts_page'] = $page; + + return add_query_arg( $final_args, $base_url ); + } + } + + $current = $pagination['current_page']; + $total = $pagination['total_pages']; + + // Calculate visible page range - show max 7 pages + $max_visible = 7; + $pages = []; + + if ( $total <= $max_visible ) { + for ( $i = 1; $i <= $total; $i++ ) { + $pages[] = $i; + } + } else { + $pages[] = 1; + $start = max( 2, $current - 2 ); + $end = min( $total - 1, $current + 2 ); + + if ( $start > 2 ) { + $pages[] = '...'; + } + + for ( $i = $start; $i <= $end; $i++ ) { + $pages[] = $i; + } + + if ( $end < $total - 1 ) { + $pages[] = '...'; + } + + $pages[] = $total; + } + ?> + +
    + +
    + +
    + + \ No newline at end of file diff --git a/includes/Free/User_Directory/views/profile/template-parts/user-avatar.php b/includes/Free/User_Directory/views/profile/template-parts/user-avatar.php new file mode 100644 index 000000000..163ec45d7 --- /dev/null +++ b/includes/Free/User_Directory/views/profile/template-parts/user-avatar.php @@ -0,0 +1,56 @@ +ID; + +?> +
    + + + <?php echo esc_attr( $avatar_alt ); ?> + + + + +
    + +
    + +
    \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 7fdad30c1..25ea15ab2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,10 +22,16 @@ "vue-router": "^4.3.2" }, "devDependencies": { + "@babel/core": "^7.28.0", + "@babel/preset-env": "^7.28.0", + "@babel/preset-react": "^7.27.1", "@tailwindcss/forms": "^0.5.7", "@types/node": "^18.11.18", "@vitejs/plugin-vue": "^5.0.4", + "@wordpress/dependency-extraction-webpack-plugin": "^6.23.0", "autoprefixer": "^10.4.16", + "babel-loader": "^9.2.1", + "css-loader": "^7.1.2", "daisyui": "^4.12.2", "grunt": "^1.5.3", "grunt-contrib-clean": "~1.0.0", @@ -45,12 +51,16 @@ "grunt-wp-i18n": "^1.0.3", "grunt-wp-readme-to-markdown": "^2.0.1", "jshint-stylish": "^2.2.1", + "mini-css-extract-plugin": "^2.9.2", "postcss": "^8.4.31", + "postcss-loader": "^8.1.1", "prettier": "^3.2.5", "prettier-plugin-tailwindcss": "^0.5.11", "tailwindcss": "^3.3.5", "vitawind": "^2.3.0", - "vite": "^5.1.4" + "vite": "^5.1.4", + "webpack": "^5.101.0", + "webpack-cli": "^5.1.4" } }, "node_modules/@alloc/quick-lru": { @@ -65,34 +75,1690 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", + "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", + "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.4", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/core/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@babel/core/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", + "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.5.tgz", + "integrity": "sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.28.5", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz", + "integrity": "sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "regexpu-core": "^6.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz", + "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "debug": "^4.4.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.22.10" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@babel/helper-define-polyfill-provider/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", + "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", + "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-wrap-function": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-string-parser": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", - "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz", + "integrity": "sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.3", + "@babel/types": "^7.28.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.5" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.28.5.tgz", + "integrity": "sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", + "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz", + "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", + "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz", + "integrity": "sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz", + "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", + "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", + "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", + "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz", + "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1", + "@babel/traverse": "^7.28.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", + "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", + "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.5.tgz", + "integrity": "sha512-45DmULpySVvmq9Pj3X9B+62Xe+DJGov27QravQJU1LLcapR6/10i+gYVAucGGJpHBp5mYxIMK4nDAT/QDLr47g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz", + "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz", + "integrity": "sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.3", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.4.tgz", + "integrity": "sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-globals": "^7.28.0", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/traverse": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", + "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/template": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz", + "integrity": "sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz", + "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", + "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", + "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-explicit-resource-management": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz", + "integrity": "sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.5.tgz", + "integrity": "sha512-D4WIMaFtwa2NizOp+dnoFjRez/ClKiC2BqqImwKd1X28nqBtZEyCYJ2ozQrrzlxAFrcrjxo39S6khe9RNDlGzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", + "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", + "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", + "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz", + "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", + "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.5.tgz", + "integrity": "sha512-axUuqnUTBuXyHGcJEVVh9pORaN6wC5bYfE7FGzPiaWa3syib9m7g+/IT/4VgCOe2Upef43PHzeAvcrVek6QuuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", + "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", + "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", + "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.28.5.tgz", + "integrity": "sha512-vn5Jma98LCOeBy/KpeQhXcV2WZgaRUtjwQmjoBuLNlOmkg0fB5pdvYVeWRYI69wWKwK2cD1QbMiUQnoujWvrew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", + "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", + "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz", + "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz", + "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.4.tgz", + "integrity": "sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/traverse": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", + "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz", + "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.5.tgz", + "integrity": "sha512-N6fut9IZlPnjPwgiQkXNhb+cT8wQKFlJNqcZkWlcTqkcqx6/kU4ynGmLFoa4LViBSirn05YAwk+sQBbPfxtYzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", + "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz", + "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz", + "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", + "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz", + "integrity": "sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz", + "integrity": "sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz", + "integrity": "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz", + "integrity": "sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.4.tgz", + "integrity": "sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz", + "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", + "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", + "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz", + "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", + "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", + "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", - "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", + "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", + "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/parser": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", - "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz", + "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", + "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz", + "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.5.tgz", + "integrity": "sha512-S36mOoi1Sb6Fz98fBfE+UZSpYw5mJm0NUHtIKrOuNcqeFauy1J6dIvXm2KRVKobOSaGq4t/hBXdN4HGU3wL9Wg==", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.25.6" + "@babel/compat-data": "^7.28.5", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.3", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-import-assertions": "^7.27.1", + "@babel/plugin-syntax-import-attributes": "^7.27.1", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.28.0", + "@babel/plugin-transform-async-to-generator": "^7.27.1", + "@babel/plugin-transform-block-scoped-functions": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.28.5", + "@babel/plugin-transform-class-properties": "^7.27.1", + "@babel/plugin-transform-class-static-block": "^7.28.3", + "@babel/plugin-transform-classes": "^7.28.4", + "@babel/plugin-transform-computed-properties": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.5", + "@babel/plugin-transform-dotall-regex": "^7.27.1", + "@babel/plugin-transform-duplicate-keys": "^7.27.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-dynamic-import": "^7.27.1", + "@babel/plugin-transform-explicit-resource-management": "^7.28.0", + "@babel/plugin-transform-exponentiation-operator": "^7.28.5", + "@babel/plugin-transform-export-namespace-from": "^7.27.1", + "@babel/plugin-transform-for-of": "^7.27.1", + "@babel/plugin-transform-function-name": "^7.27.1", + "@babel/plugin-transform-json-strings": "^7.27.1", + "@babel/plugin-transform-literals": "^7.27.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.28.5", + "@babel/plugin-transform-member-expression-literals": "^7.27.1", + "@babel/plugin-transform-modules-amd": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-modules-systemjs": "^7.28.5", + "@babel/plugin-transform-modules-umd": "^7.27.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-new-target": "^7.27.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", + "@babel/plugin-transform-numeric-separator": "^7.27.1", + "@babel/plugin-transform-object-rest-spread": "^7.28.4", + "@babel/plugin-transform-object-super": "^7.27.1", + "@babel/plugin-transform-optional-catch-binding": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.28.5", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/plugin-transform-private-methods": "^7.27.1", + "@babel/plugin-transform-private-property-in-object": "^7.27.1", + "@babel/plugin-transform-property-literals": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.28.4", + "@babel/plugin-transform-regexp-modifiers": "^7.27.1", + "@babel/plugin-transform-reserved-words": "^7.27.1", + "@babel/plugin-transform-shorthand-properties": "^7.27.1", + "@babel/plugin-transform-spread": "^7.27.1", + "@babel/plugin-transform-sticky-regex": "^7.27.1", + "@babel/plugin-transform-template-literals": "^7.27.1", + "@babel/plugin-transform-typeof-symbol": "^7.27.1", + "@babel/plugin-transform-unicode-escapes": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.27.1", + "@babel/plugin-transform-unicode-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "core-js-compat": "^3.43.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", "bin": { - "parser": "bin/babel-parser.js" + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.28.5.tgz", + "integrity": "sha512-Z3J8vhRq7CeLjdC58jLv4lnZ5RKFUJWqH5emvxmv9Hv3BD1T9R/Im713R4MTKwvFaV74ejZ3sM01LyEKk4ugNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-transform-react-display-name": "^7.28.0", + "@babel/plugin-transform-react-jsx": "^7.27.1", + "@babel/plugin-transform-react-jsx-development": "^7.27.1", + "@babel/plugin-transform-react-pure-annotations": "^7.27.1" }, "engines": { - "node": ">=6.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/runtime": { @@ -106,19 +1772,88 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", + "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.5", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@babel/traverse/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, "node_modules/@babel/types": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", - "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", + "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", + "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.24.8", - "@babel/helper-validator-identifier": "^7.24.7", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/@esbuild/aix-ppc64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", @@ -554,17 +2289,25 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" } }, "node_modules/@jridgewell/resolve-uri": { @@ -576,13 +2319,15 @@ "node": ">=6.0.0" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "node_modules/@jridgewell/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", "dev": true, - "engines": { - "node": ">=6.0.0" + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" } }, "node_modules/@jridgewell/sourcemap-codec": { @@ -591,10 +2336,11 @@ "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -916,12 +2662,41 @@ "vue": "^2.7.0 || ^3.0.0" } }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, "node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/node": { "version": "18.19.80", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.80.tgz", @@ -1028,43 +2803,251 @@ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.4.tgz", "integrity": "sha512-ofyc0w6rbD5KtjhP1i9hGOKdxGpvmuB1jprP7Djlj0X7R5J/oLwuNuE98GJ8WW31Hu2VxQHtk/LYTAlW8xrJdw==", "dependencies": { - "@vue/reactivity": "3.5.4", - "@vue/runtime-core": "3.5.4", - "@vue/shared": "3.5.4", - "csstype": "^3.1.3" + "@vue/reactivity": "3.5.4", + "@vue/runtime-core": "3.5.4", + "@vue/shared": "3.5.4", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.4.tgz", + "integrity": "sha512-FbjV6DJLgKRetMYFBA1UXCroCiED/Ckr53/ba9wivyd7D/Xw9fpo0T6zXzCnxQwyvkyrL7y6plgYhWhNjGxY5g==", + "dependencies": { + "@vue/compiler-ssr": "3.5.4", + "@vue/shared": "3.5.4" + }, + "peerDependencies": { + "vue": "3.5.4" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.4.tgz", + "integrity": "sha512-L2MCDD8l7yC62Te5UUyPVpmexhL9ipVnYRw9CsWfm/BGRL5FwDX4a25bcJ/OJSD3+Hx+k/a8LDKcG2AFdJV3BA==" + }, + "node_modules/@vueform/multiselect": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/@vueform/multiselect/-/multiselect-2.6.9.tgz", + "integrity": "sha512-eW+pMaWFGnK+WGvUPcB/mEwLx/5Y4VB8wRFGFQZ9c5Wi+K/xFrm/nQ/NbtrFQUcX0nbuQWKYnFBmwa5MENGQxw==" + }, + "node_modules/@vuepic/vue-datepicker": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/@vuepic/vue-datepicker/-/vue-datepicker-8.8.1.tgz", + "integrity": "sha512-8ehfUz1m69Vuc16Pm4ukgb3Mg1VT14x4EsG1ag4O/qbSNRWztTo+pUV4JnFt0FGLl5gGb6NXlxIvR7EjLgD7Gg==", + "dependencies": { + "date-fns": "^3.6.0" + }, + "peerDependencies": { + "vue": ">=3.2.0" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, - "node_modules/@vue/server-renderer": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.4.tgz", - "integrity": "sha512-FbjV6DJLgKRetMYFBA1UXCroCiED/Ckr53/ba9wivyd7D/Xw9fpo0T6zXzCnxQwyvkyrL7y6plgYhWhNjGxY5g==", + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "dev": true, + "license": "MIT", "dependencies": { - "@vue/compiler-ssr": "3.5.4", - "@vue/shared": "3.5.4" + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.15.0" }, "peerDependencies": { - "vue": "3.5.4" + "webpack": "5.x.x", + "webpack-cli": "5.x.x" } }, - "node_modules/@vue/shared": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.4.tgz", - "integrity": "sha512-L2MCDD8l7yC62Te5UUyPVpmexhL9ipVnYRw9CsWfm/BGRL5FwDX4a25bcJ/OJSD3+Hx+k/a8LDKcG2AFdJV3BA==" - }, - "node_modules/@vueform/multiselect": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/@vueform/multiselect/-/multiselect-2.6.9.tgz", - "integrity": "sha512-eW+pMaWFGnK+WGvUPcB/mEwLx/5Y4VB8wRFGFQZ9c5Wi+K/xFrm/nQ/NbtrFQUcX0nbuQWKYnFBmwa5MENGQxw==" + "node_modules/@webpack-cli/info": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } }, - "node_modules/@vuepic/vue-datepicker": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/@vuepic/vue-datepicker/-/vue-datepicker-8.8.1.tgz", - "integrity": "sha512-8ehfUz1m69Vuc16Pm4ukgb3Mg1VT14x4EsG1ag4O/qbSNRWztTo+pUV4JnFt0FGLl5gGb6NXlxIvR7EjLgD7Gg==", - "dependencies": { - "date-fns": "^3.6.0" + "node_modules/@webpack-cli/serve": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.15.0" }, "peerDependencies": { - "vue": ">=3.2.0" + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } } }, "node_modules/@wordpress/api-fetch": { @@ -1080,6 +3063,23 @@ "node": ">=12" } }, + "node_modules/@wordpress/dependency-extraction-webpack-plugin": { + "version": "6.36.0", + "resolved": "https://registry.npmjs.org/@wordpress/dependency-extraction-webpack-plugin/-/dependency-extraction-webpack-plugin-6.36.0.tgz", + "integrity": "sha512-x59HhuZflt6gjm74m5ymuJgLsfvY0pwYhfy42SfrYN/V59vXkl5S6jEmzhlUsdDGVrQG6lSVDJm7n5btohPXvg==", + "dev": true, + "license": "GPL-2.0-or-later", + "dependencies": { + "json2php": "^0.0.7" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, "node_modules/@wordpress/hooks": { "version": "3.58.0", "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-3.58.0.tgz", @@ -1131,12 +3131,52 @@ "node": ">=12" } }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "license": "Apache-2.0" + }, "node_modules/abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-phases": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "acorn": "^8.14.0" + } + }, "node_modules/ajv": { "version": "4.11.8", "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", @@ -1148,6 +3188,41 @@ "json-stable-stringify": "^1.0.1" } }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, "node_modules/ajv/node_modules/co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -1581,6 +3656,76 @@ "dev": true, "optional": true }, + "node_modules/babel-loader": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", + "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-cache-dir": "^4.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", + "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.7", + "@babel/helper-define-polyfill-provider": "^0.6.5", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", + "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.5", + "core-js-compat": "^3.43.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", + "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.5" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -1606,6 +3751,16 @@ } ] }, + "node_modules/baseline-browser-mapping": { + "version": "2.8.31", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.31.tgz", + "integrity": "sha512-a28v2eWrrRWPpJSzxc+mKwm0ZtVx/G8SepdQZDArnXYU/XS+IF6mp8aB/4E+hH1tyGCoDo3KlUCdlSxGDsRkAw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, "node_modules/bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", @@ -1878,9 +4033,9 @@ } }, "node_modules/browserslist": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", - "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "version": "4.28.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.0.tgz", + "integrity": "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==", "dev": true, "funding": [ { @@ -1896,11 +4051,13 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001646", - "electron-to-chromium": "^1.5.4", - "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.0" + "baseline-browser-mapping": "^2.8.25", + "caniuse-lite": "^1.0.30001754", + "electron-to-chromium": "^1.5.249", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.1.4" }, "bin": { "browserslist": "cli.js" @@ -2096,6 +4253,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/camelcase": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", @@ -2128,9 +4295,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001712", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001712.tgz", - "integrity": "sha512-MBqPpGYYdQ7/hfKiet9SCI+nmN5/hp4ZzveOJubl5DTAMa5oggjAuoi0Z4onBpKPFI2ePGnQuQIzF3VxDjDJig==", + "version": "1.0.30001757", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001757.tgz", + "integrity": "sha512-r0nnL/I28Zi/yjk1el6ilj27tKcdjLsNqAOZr0yVjWPrSQyHgKI2INaEWw21bAQSv2LXRt1XuCS/GomNpWOxsQ==", "dev": true, "funding": [ { @@ -2145,7 +4312,8 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/capture-stack-trace": { "version": "1.0.2", @@ -2267,6 +4435,16 @@ "node": ">=0.10.0" } }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, "node_modules/clap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", @@ -2349,6 +4527,21 @@ "node": ">=0.8" } }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/clone-stats": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", @@ -2417,6 +4610,13 @@ "color-support": "bin.js" } }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, "node_modules/colors": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", @@ -2443,8 +4643,14 @@ "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", "dev": true, - "optional": true + "license": "ISC" }, "node_modules/compress-commons": { "version": "1.2.2", @@ -2572,12 +4778,92 @@ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", "dev": true }, + "node_modules/core-js-compat": { + "version": "3.47.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.47.0.tgz", + "integrity": "sha512-IGfuznZ/n7Kp9+nypamBhvwdwLsW6KC8IOaURw2doAK5e98AG3acVLdh0woOnEqCfUtS+Vu882JE4k/DAm3ItQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, + "node_modules/cosmiconfig": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cosmiconfig/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/cosmiconfig/node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/cosmiconfig/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/crc": { "version": "3.8.0", "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", @@ -2695,6 +4981,55 @@ "node": ">=0.10.40" } }, + "node_modules/css-loader": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz", + "integrity": "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==", + "dev": true, + "license": "MIT", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.27.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/css-loader/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/css-selector-tokenizer": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz", @@ -3422,10 +5757,11 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.5.20", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.20.tgz", - "integrity": "sha512-74mdl6Fs1HHzK9SUX4CKFxAtAe3nUns48y79TskHNAG6fGOlLfyKA4j855x+0b5u8rWJIrlaG9tcTPstMlwjIw==", - "dev": true + "version": "1.5.262", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.262.tgz", + "integrity": "sha512-NlAsMteRHek05jRUxUR0a5jpjYq9ykk6+kO0yRaMi5moe7u0fVIOeQ3Y30A8dIiWFBNUoQGi1ljb1i5VtS9WQQ==", + "dev": true, + "license": "ISC" }, "node_modules/emoji-regex": { "version": "9.2.2", @@ -3458,7 +5794,21 @@ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, "dependencies": { - "once": "^1.4.0" + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.18.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", + "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" } }, "node_modules/entities": { @@ -3467,6 +5817,29 @@ "integrity": "sha512-LbLqfXgJMmy81t+7c14mnulFHJ170cM6E+0vMXR9k/ZiZwgX8i5pNgjTCX3SO4VeUsFLV+8InixoretwU+MjBQ==", "dev": true }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/envinfo": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.21.0.tgz", + "integrity": "sha512-Lw7I8Zp5YKHFCXL7+Dz95g4CcbMEpgvqZNNq3AmlT5XAV6CgAAk6gyAMqn2zjw08K9BHfcNuKrMiCPLByGafow==", + "dev": true, + "license": "MIT", + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/epic-spinners": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/epic-spinners/-/epic-spinners-2.0.0.tgz", @@ -3506,6 +5879,13 @@ "node": ">= 0.4" } }, + "node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "dev": true, + "license": "MIT" + }, "node_modules/esbuild": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", @@ -3549,6 +5929,7 @@ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -3562,6 +5943,20 @@ "node": ">=0.8.0" } }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", @@ -3575,17 +5970,70 @@ "node": ">=4" } }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, "node_modules/estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/eventemitter2": { "version": "0.4.14", "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=", "dev": true }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, "node_modules/exec-buffer": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-2.0.1.tgz", @@ -3802,6 +6250,13 @@ "node": ">= 0.10" } }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, "node_modules/fast-glob": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", @@ -3830,6 +6285,33 @@ "node": ">= 6" } }, + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.9.1" + } + }, "node_modules/fastparse": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", @@ -3941,6 +6423,23 @@ "node": ">=8" } }, + "node_modules/find-cache-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", + "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/find-up": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", @@ -4036,6 +6535,16 @@ "node": ">= 0.10" } }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } + }, "node_modules/for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -4160,6 +6669,16 @@ "node": ">= 0.10.0" } }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/get-intrinsic": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", @@ -4473,6 +6992,13 @@ "node": ">=0.10.0" } }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "license": "BSD-2-Clause" + }, "node_modules/global-modules": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", @@ -6207,10 +8733,11 @@ } }, "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, + "license": "MIT", "dependencies": { "function-bind": "^1.1.2" }, @@ -6366,6 +8893,19 @@ "node": ">=0.10.0" } }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -6602,6 +9142,80 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-local/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local/node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/indent-string": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", @@ -6708,12 +9322,16 @@ } }, "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "dev": true, + "license": "MIT", "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -7051,6 +9669,44 @@ "@pkgjs/parseargs": "^0.11.0" } }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, "node_modules/jiti": { "version": "1.21.6", "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", @@ -7079,6 +9735,13 @@ "node": ">=0.10.0" } }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, "node_modules/js-yaml": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", @@ -7099,6 +9762,19 @@ "dev": true, "optional": true }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/jshint": { "version": "2.9.5", "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.5.tgz", @@ -7209,6 +9885,13 @@ "node": ">=0.8.0" } }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, "node_modules/json-schema": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", @@ -7216,6 +9899,13 @@ "dev": true, "optional": true }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, "node_modules/json-stable-stringify": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz", @@ -7255,6 +9945,26 @@ "dev": true, "optional": true }, + "node_modules/json2php": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/json2php/-/json2php-0.0.7.tgz", + "integrity": "sha512-dnSoUiLAoVaMXxFsVi4CrPVYMKOuDBXTghXSmMINX44RZ8WM9cXlY7UqrQnlAcODCVO7FV3+8t/5nDKAjimLfg==", + "dev": true, + "license": "BSD" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/jsonify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", @@ -7487,6 +10197,33 @@ "node": ">=0.10.0" } }, + "node_modules/loader-runner": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", + "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", @@ -7556,6 +10293,13 @@ "dev": true, "optional": true }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true, + "license": "MIT" + }, "node_modules/lodash.escape": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", @@ -7970,8 +10714,29 @@ "dependencies": { "mime-db": "1.52.0" }, - "engines": { - "node": ">= 0.6" + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.9.4", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.4.tgz", + "integrity": "sha512-ZWYT7ln73Hptxqxk2DxPU9MmapXRhxkJD6tkSR04dnQxm8BGu2hzgKLugK5yySD97u/8yy7Ma7E76k9ZdvtjkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" } }, "node_modules/mini-svg-data-uri": { @@ -8102,11 +10867,19 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "license": "MIT" + }, "node_modules/node-releases": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", - "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", - "dev": true + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "dev": true, + "license": "MIT" }, "node_modules/node-status-codes": { "version": "1.0.0", @@ -8456,6 +11229,45 @@ "os-tmpdir": "^1.0.0" } }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/package-json-from-dist": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", @@ -8468,6 +11280,19 @@ "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", "dev": true }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/parse-filepath": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", @@ -8671,9 +11496,10 @@ "optional": true }, "node_modules/picocolors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", @@ -8751,6 +11577,97 @@ "node": ">= 6" } }, + "node_modules/pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^6.3.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, "node_modules/plur": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz", @@ -8873,6 +11790,152 @@ "url": "https://github.com/sponsors/antonk52" } }, + "node_modules/postcss-loader": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-8.2.0.tgz", + "integrity": "sha512-tHX+RkpsXVcc7st4dSdDGliI+r4aAQDuv+v3vFYHixb6YgjreG5AG4SEB0kDK8u2s6htqEEpKlkhSBUTvWKYnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cosmiconfig": "^9.0.0", + "jiti": "^2.5.1", + "semver": "^7.6.2" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/postcss-loader/node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/postcss-loader/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", + "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", + "dev": true, + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, "node_modules/postcss-nested": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", @@ -9136,6 +12199,16 @@ "node": ">=0.10.0" } }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, "node_modules/raw-body": { "version": "2.1.7", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz", @@ -9315,6 +12388,26 @@ "node": ">=0.10.0" } }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz", + "integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/regenerator-runtime": { "version": "0.14.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", @@ -9332,6 +12425,44 @@ "node": ">=0.10.0" } }, + "node_modules/regexpu-core": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz", + "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.2", + "regjsgen": "^0.8.0", + "regjsparser": "^0.13.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.2.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/regjsparser": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.0.tgz", + "integrity": "sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~3.1.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, "node_modules/remove-accents": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.5.0.tgz", @@ -9441,23 +12572,60 @@ "uuid": "bin/uuid" } }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.8.1", + "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/resolve-dir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", @@ -9471,6 +12639,16 @@ "node": ">=0.10.0" } }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -9598,6 +12776,56 @@ "dev": true, "optional": true }, + "node_modules/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, "node_modules/seek-bzip": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", @@ -9644,6 +12872,16 @@ "node": ">=0.10.0" } }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, "node_modules/set-function-length": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", @@ -9680,6 +12918,19 @@ "node": ">=0.10.0" } }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -9757,6 +13008,17 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/sparkles": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", @@ -10533,23 +13795,6 @@ "node": ">=0.10.0" } }, - "node_modules/tailwindcss/node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/tannin": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/tannin/-/tannin-1.2.0.tgz", @@ -10558,6 +13803,20 @@ "@tannin/plural-forms": "^1.1.0" } }, + "node_modules/tapable": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/tar-stream": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", @@ -10620,6 +13879,60 @@ "node": ">=0.10.0" } }, + "node_modules/terser": { + "version": "5.44.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.44.1.tgz", + "integrity": "sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.14", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz", + "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "serialize-javascript": "^6.0.2", + "terser": "^5.31.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -10802,14 +14115,6 @@ "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", "dev": true }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "engines": { - "node": ">=4" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -10940,6 +14245,50 @@ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "dev": true }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz", + "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz", + "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/unique-stream": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", @@ -11020,9 +14369,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", - "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz", + "integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==", "dev": true, "funding": [ { @@ -11038,9 +14387,10 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -11469,6 +14819,180 @@ "wrap-fn": "^0.1.0" } }, + "node_modules/watchpack": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", + "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack": { + "version": "5.103.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.103.0.tgz", + "integrity": "sha512-HU1JOuV1OavsZ+mfigY0j8d1TgQgbZ6M+J75zDkpEAwYeXjWSqrGJtgnPblJjd/mAyTNQ7ygw0MiKOn6etz8yw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.15.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.26.3", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.3", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.3.1", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^4.3.3", + "tapable": "^2.3.0", + "terser-webpack-plugin": "^5.3.11", + "watchpack": "^2.4.4", + "webpack-sources": "^3.3.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-cli": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/webpack-cli/node_modules/interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-cli/node_modules/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz", + "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, "node_modules/websocket-driver": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", @@ -11514,6 +15038,13 @@ "which": "bin/which" } }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true, + "license": "MIT" + }, "node_modules/window-size": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", @@ -11665,6 +15196,13 @@ "node": ">=0.4" } }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, "node_modules/yaml": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz", @@ -11709,6 +15247,19 @@ "fd-slicer": "~1.1.0" } }, + "node_modules/yocto-queue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", + "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/zip-stream": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", diff --git a/package.json b/package.json index dc5222a19..e10053418 100644 --- a/package.json +++ b/package.json @@ -7,18 +7,26 @@ "private": true, "scripts": { "release": "grunt release", - "build": "npm run build:forms-list && npm run build:subscriptions && npm run build:frontend-subscriptions && npm run build:ai-form-builder && npm run build:css", + "build": "npm run build:forms-list && npm run build:subscriptions && npm run build:frontend-subscriptions && npm run build:ai-form-builder && npm run build:user-directory && npm run build:css", "build:forms-list": "ENTRY=forms-list vite build", "build:subscriptions": "ENTRY=subscriptions vite build", "build:frontend-subscriptions": "ENTRY=frontend-subscriptions vite build", "build:ai-form-builder": "ENTRY=ai-form-builder vite build", + "build:user-directory": "NODE_ENV=production webpack --config webpack.user-directory.config.js --mode=production", + "dev:user-directory": "NODE_ENV=development webpack --config webpack.user-directory.config.js --watch --mode=development", "build:css": "grunt tailwind-minify" }, "devDependencies": { + "@babel/core": "^7.28.0", + "@babel/preset-env": "^7.28.0", + "@babel/preset-react": "^7.27.1", "@tailwindcss/forms": "^0.5.7", "@types/node": "^18.11.18", "@vitejs/plugin-vue": "^5.0.4", + "@wordpress/dependency-extraction-webpack-plugin": "^6.23.0", "autoprefixer": "^10.4.16", + "babel-loader": "^9.2.1", + "css-loader": "^7.1.2", "daisyui": "^4.12.2", "grunt": "^1.5.3", "grunt-contrib-clean": "~1.0.0", @@ -38,12 +46,16 @@ "grunt-wp-i18n": "^1.0.3", "grunt-wp-readme-to-markdown": "^2.0.1", "jshint-stylish": "^2.2.1", + "mini-css-extract-plugin": "^2.9.2", "postcss": "^8.4.31", + "postcss-loader": "^8.1.1", "prettier": "^3.2.5", "prettier-plugin-tailwindcss": "^0.5.11", "tailwindcss": "^3.3.5", "vitawind": "^2.3.0", - "vite": "^5.1.4" + "vite": "^5.1.4", + "webpack": "^5.101.0", + "webpack-cli": "^5.1.4" }, "dependencies": { "@headlessui/vue": "^1.7.23", diff --git a/postcss.user-directory.config.js b/postcss.user-directory.config.js new file mode 100644 index 000000000..cd24be379 --- /dev/null +++ b/postcss.user-directory.config.js @@ -0,0 +1,16 @@ +/** + * PostCSS Configuration for User Directory Free + * + * @package WPUF + * @subpackage Free/User_Directory + * @since 4.3.0 + */ + +module.exports = { + plugins: { + tailwindcss: { + config: './tailwind.user-directory.config.js', + }, + autoprefixer: {}, + }, +}; diff --git a/src/js/user-directory/App.js b/src/js/user-directory/App.js new file mode 100644 index 000000000..401bebb15 --- /dev/null +++ b/src/js/user-directory/App.js @@ -0,0 +1,260 @@ +/** + * User Directory Free - Main App Component + * + * @package WPUF + * @subpackage Free/User_Directory + * @since 4.3.0 + */ + +import React, { useState, useEffect } from 'react'; +import { __ } from '@wordpress/i18n'; +import Header from './components/common/Header'; +import DirectoryList from './components/DirectoryList'; +import DirectoryWizard from './components/DirectoryWizard'; +import DeleteConfirmModal from './components/common/DeleteConfirmModal'; + +const App = () => { + const [view, setView] = useState('list'); // 'list' or 'wizard' + const [directories, setDirectories] = useState([]); + const [editDirectory, setEditDirectory] = useState(null); + const [loading, setLoading] = useState(true); + const [currentPage, setCurrentPage] = useState(1); + const [totalPages, setTotalPages] = useState(1); + const [deleteModal, setDeleteModal] = useState({ open: false, dir: null }); + const [deletingId, setDeletingId] = useState(null); + + const config = window.wpuf_ud_free || window.wpuf_ud || {}; + const perPage = 10; + + // Fetch directories on mount and when page changes + useEffect(() => { + fetchDirectories(currentPage); + }, [currentPage]); + + const fetchDirectories = async (page = 1) => { + setLoading(true); + try { + const restUrl = config.rest_url || '/wp-json/'; + const url = `${restUrl}wpuf/v1/user_directory?page=${page}&per_page=${perPage}`; + const response = await fetch(url, { + headers: { + 'X-WP-Nonce': config.rest_nonce || '', + }, + }); + const data = await response.json(); + if (data && data.success && Array.isArray(data.result)) { + setDirectories(data.result); + if (data.pagination && data.pagination.total_pages) { + setTotalPages(data.pagination.total_pages); + } else { + setTotalPages(1); + } + } else { + setDirectories([]); + setTotalPages(1); + } + } catch (error) { + console.error('Error fetching directories:', error); + setDirectories([]); + setTotalPages(1); + } + setLoading(false); + }; + + const handlePageChange = (page) => { + if (page < 1 || page > totalPages) return; + setCurrentPage(page); + }; + + const handleCreate = () => { + setEditDirectory(null); + setView('wizard'); + }; + + const handleEdit = (directory) => { + setEditDirectory(directory); + setView('wizard'); + }; + + const handleClose = () => { + setView('list'); + setEditDirectory(null); + fetchDirectories(currentPage); + }; + + const handleRequestDelete = (dir) => { + setDeleteModal({ open: true, dir }); + }; + + const handleDelete = async () => { + if (!deleteModal.dir) return; + setDeletingId(deleteModal.dir.ID); + try { + const restUrl = config.rest_url || '/wp-json/'; + const response = await fetch(`${restUrl}wpuf/v1/user_directory/${deleteModal.dir.ID}`, { + method: 'DELETE', + headers: { + 'X-WP-Nonce': config.rest_nonce || '', + }, + }); + if (!response.ok) { + alert('Server error: ' + response.status); + setDeletingId(null); + setDeleteModal({ open: false, dir: null }); + return; + } + const result = await response.json(); + if (result && result.success) { + fetchDirectories(currentPage); + } else { + alert(result && result.message ? result.message : 'Failed to delete'); + } + } catch (e) { + alert('Failed to delete'); + } + setDeletingId(null); + setDeleteModal({ open: false, dir: null }); + }; + + if (view === 'wizard') { + return ( + + ); + } + + const hasReachedLimit = directories.length >= (config.free_directory_limit || 1); + + return ( + <> +
    +
    +
    +

    {__('User Directories', 'wp-user-frontend')}

    + +
    +
    + + +
    + + {/* Limit Warning */} + {hasReachedLimit && ( +
    + + + +
    +

    + {config.i18n?.directory_limit || __('You can only create 1 directory in the free version.', 'wp-user-frontend')} +

    +

    + + {config.i18n?.upgrade_to_pro || __('Upgrade to Pro', 'wp-user-frontend')} + {__('to create unlimited directories.', 'wp-user-frontend')} +

    +
    +
    + )} +
    + + {loading ? null : (directories.length === 0 ? ( + + ) : ( + + ))} +
    + + setDeleteModal({ open: false, dir: null })} + onConfirm={handleDelete} + /> + + ); +}; + +// Empty State Component - matches Pro design exactly +const EmptyState = ({ onCreate, config }) => { + const wpuf = window.wpuf_ud_free || window.wpuf_ud || {}; + const assetUrl = wpuf.asset_url || ''; + + return ( +
    +
    +
    + User Avatar + User Avatar + User Avatar +
    +

    {__('No directories added yet', 'wp-user-frontend')}

    +

    {__('Create directories to organize users and manage access.', 'wp-user-frontend')}

    +
    +
    + +
    + +
    + ); +}; + +export default App; diff --git a/src/js/user-directory/components/DirectoryList.js b/src/js/user-directory/components/DirectoryList.js new file mode 100644 index 000000000..a18b1b3b6 --- /dev/null +++ b/src/js/user-directory/components/DirectoryList.js @@ -0,0 +1,240 @@ +/** + * User Directory Free - Directory List Component + * + * @package WPUF + * @subpackage Free/User_Directory + * @since 4.3.0 + */ + +import React, {useState, useEffect, useRef} from 'react'; +import { __ } from '@wordpress/i18n'; + +// Pro Badge Component - uses the same SVG as modules page +const ProBadge = ({ className = '' }) => ( + Pro +); + +const DirectoryList = ( {directories, currentPage, totalPages, onPageChange, fetchDirectories, className = '', onRequestDelete, deletingId, onEdit, config = {}} ) => { + const [copiedId, setCopiedId] = useState( null ); + const [openMenuId, setOpenMenuId] = useState(null); + const menuRefs = useRef({}); + + const handleCopy = ( shortcode, id ) => { + navigator.clipboard.writeText( shortcode ); + setCopiedId( id ); + setTimeout( () => setCopiedId( null ), 1500 ); + }; + + const handleMenuToggle = (id) => { + setOpenMenuId(openMenuId === id ? null : id); + }; + + useEffect(() => { + if (openMenuId === null) return; + const handleClickOutside = (event) => { + const menuNode = menuRefs.current[openMenuId]; + if (menuNode && !menuNode.contains(event.target)) { + setOpenMenuId(null); + } + }; + document.addEventListener('mousedown', handleClickOutside); + return () => { + document.removeEventListener('mousedown', handleClickOutside); + }; + }, [openMenuId]); + + const renderPagination = () => { + if (totalPages <= 1) return null; + const range = []; + const delta = 2; + for ( + let i = Math.max( 1, currentPage - delta ); + i <= Math.min( totalPages, currentPage + delta ); + i++ + ) { + range.push( i ); + } + return ( +
    + +
    + ); + }; + + return ( + <> +
    + + + + + + + + + + + + {directories.map( dir => { + // Helper to escape shortcode attribute values + const escapeShortcodeAttr = (val) => { + if (typeof val !== 'string') val = String(val); + return val.replace(/"/g, '"').replace(/\[/g, '[').replace(/\]/g, ']'); + }; + + let post_content = {}; + try { + if (dir.post_content && typeof dir.post_content === 'string' && dir.post_content.trim() !== '') { + post_content = JSON.parse(dir.post_content); + } + } catch (e) { + post_content = {}; + } + // Supported attributes and their mapping to post_content keys + // Handle field name mapping between frontend storage and shortcode attributes + const defaultTabs = post_content?.default_tabs || post_content?.profile_tabs; + const galleryImgSize = post_content?.gallery_img_size || post_content?.profile_size; + let profilePermalink = post_content?.profile_base || post_content?.profile_permalink; + + // Handle legacy 'user' value by mapping it to 'username' + if (profilePermalink === 'user') { + profilePermalink = 'username'; + } + + // Convert array to comma-separated string if needed + const tabsValue = Array.isArray(defaultTabs) ? defaultTabs.join(',') : defaultTabs; + + const shortcodeAttrs = { + id: dir.ID, + roles: post_content?.roles, + per_page: post_content?.per_page, + directory_layout: post_content?.directory_layout, + profile_layout: post_content?.profile_layout, + default_tabs: tabsValue, + gallery_img_size: galleryImgSize, + avatar_size: post_content?.avatar_size, + profile_permalink: profilePermalink, + orderby: post_content?.orderby, + order: post_content?.order, + }; + // Build full shortcode string with all attributes (for copying) + const fullShortcode = '[wpuf_user_listing' + + Object.entries(shortcodeAttrs) + .filter(([key, val]) => val !== undefined && val !== null && val !== '') + .map(([key, val]) => ` ${key}="${escapeShortcodeAttr(val)}"`) + .join('') + + ']'; + // Build simple ID-based shortcode for display + const displayShortcode = `[wpuf_user_listing id="${dir.ID}"]`; + return ( + + + + + + + + ); + } )} + +
    {__('Directory Name', 'wp-user-frontend')}{__('ID', 'wp-user-frontend')}{__('Members', 'wp-user-frontend')}{__('Shortcode', 'wp-user-frontend')} 
    + { onEdit && onEdit(dir);}} >{dir.post_title} + {dir.ID} + + +
    + + {displayShortcode} + + {copiedId === dir.ID ? ( + Copied! + ) : ( + + )} +
    +
    +
    + + {openMenuId === dir.ID && ( +
    menuRefs.current[dir.ID] = el}> + +
    + {__('Duplicate', 'wp-user-frontend')} + +
    + +
    + )} +
    +
    +
    + {renderPagination()} + + ); +}; + +export default DirectoryList; diff --git a/src/js/user-directory/components/DirectoryWizard.js b/src/js/user-directory/components/DirectoryWizard.js new file mode 100644 index 000000000..969845ec3 --- /dev/null +++ b/src/js/user-directory/components/DirectoryWizard.js @@ -0,0 +1,329 @@ +/** + * User Directory Free - Directory Wizard Component + * + * @package WPUF + * @subpackage Free/User_Directory + * @since 4.3.0 + */ + +import React, { useState, useRef, useEffect } from 'react'; +import { __ } from '@wordpress/i18n'; + +import StepBasics from './steps/StepBasics'; +import StepLayout from './steps/StepLayout'; +import StepProfile from './steps/StepProfile'; +import StepTabs from './steps/StepTabs'; +import StepAdvanced from './steps/StepAdvanced'; +import Toast from './common/Toast'; + +// Default form values for free version +const DEFAULTS = { + directory_title: '', + directory_layout: 'layout-3', + profile_layout: 'layout-2', + per_page: 12, + users_per_row: 3, + orderby: 'ID', + order: 'DESC', + avatar_size: '192', + profile_size: 'medium', + enable_search: true, + roles: [], +}; + +const DirectoryWizard = ({ onClose, initialData, config = {} }) => { + const [formData, setFormData] = useState({ ...DEFAULTS }); + const [loading, setLoading] = useState(false); + const [error, setError] = useState(''); + const [toastMessage, setToastMessage] = useState(null); + + // Step definitions for Free version + const steps = [ + { id: 'basics', label: __('Directory Basics', 'wp-user-frontend') }, + { id: 'layout', label: __('Directory Layout', 'wp-user-frontend') }, + { id: 'profile', label: __('Profile Layout', 'wp-user-frontend') }, + { id: 'content', label: __('Profile Content', 'wp-user-frontend') }, + { id: 'advanced', label: __('Advanced Control', 'wp-user-frontend') }, + ]; + + const [currentStepIndex, setCurrentStepIndex] = useState(0); + const [fade, setFade] = useState(true); + const prevStepIndex = useRef(0); + + useEffect(() => { + if (initialData && initialData.post_content) { + try { + const parsedContent = JSON.parse(initialData.post_content || '{}'); + setFormData({ + ...DEFAULTS, + directory_title: initialData.post_title || '', + ...parsedContent, + ID: initialData.ID, + }); + } catch (e) { + setFormData({ + ...DEFAULTS, + directory_title: initialData.post_title || '', + ID: initialData.ID, + }); + } + } + }, [initialData]); + + // Navigation between steps + const navigateToStep = (stepIndex) => { + setFade(false); + setTimeout(() => { + prevStepIndex.current = currentStepIndex; + setCurrentStepIndex(stepIndex); + setFade(true); + }, 200); + }; + + const handleNextStep = () => { + const isLastStep = currentStepIndex === steps.length - 1; + + if (!isLastStep) { + setFade(false); + setTimeout(() => { + prevStepIndex.current = currentStepIndex; + setCurrentStepIndex(currentStepIndex + 1); + setFade(true); + }, 200); + } else { + handleSubmit(); + } + }; + + const handlePrevStep = () => { + if (currentStepIndex > 0) { + setFade(false); + setTimeout(() => { + prevStepIndex.current = currentStepIndex; + setCurrentStepIndex(currentStepIndex - 1); + setFade(true); + }, 200); + } + }; + + const handleSubmit = async () => { + setLoading(true); + setError(''); + + try { + const restUrl = config.rest_url || '/wp-json/'; + const url = formData.ID + ? `${restUrl}wpuf/v1/user_directory/${formData.ID}` + : `${restUrl}wpuf/v1/user_directory`; + + const response = await fetch(url, { + method: formData.ID ? 'PUT' : 'POST', + headers: { + 'Content-Type': 'application/json', + 'X-WP-Nonce': config.rest_nonce || '', + }, + body: JSON.stringify(formData), + }); + + if (!response.ok) { + const data = await response.json(); + throw new Error(data.message || __('Something went wrong', 'wp-user-frontend')); + } + + setToastMessage({ text: __('Directory settings saved successfully!', 'wp-user-frontend'), type: 'success' }); + setLoading(false); + + setTimeout(() => { + onClose(); + }, 1500); + } catch (err) { + setError(err.message || __('Something went wrong', 'wp-user-frontend')); + setLoading(false); + } + }; + + const handleSaveAndExit = async () => { + await handleSubmit(); + }; + + // Render the current step component + const renderStepComponent = () => { + const stepProps = { formData, setFormData, config }; + + switch (currentStepIndex) { + case 0: + return ; + case 1: + return ; + case 2: + return ; + case 3: + return ; + case 4: + return ; + default: + return null; + } + }; + + const isLastStep = currentStepIndex === steps.length - 1; + + return ( +
    +
    + { e.preventDefault(); onClose(); }} className="wpuf-flex wpuf-items-center wpuf-text-gray-500 hover:wpuf-text-gray-700 wpuf-no-underline"> + + + + {__('Directory List', 'wp-user-frontend')} + + + +
    + + + + {/* Step Content */} +
    +
    + {error && ( +
    + {error} +
    + )} + {renderStepComponent()} +
    +
    + + {/* Footer Navigation */} +
    +
    +
    + {/* Left buttons */} +
    + {currentStepIndex === 0 ? ( + + ) : ( + + )} +
    + + {/* Right buttons */} +
    + +
    +
    +
    +
    + + {/* Toast */} + {toastMessage && ( + setToastMessage(null)} + /> + )} +
    + ); +}; + +export default DirectoryWizard; diff --git a/src/js/user-directory/components/common/DeleteConfirmModal.js b/src/js/user-directory/components/common/DeleteConfirmModal.js new file mode 100644 index 000000000..111aedf35 --- /dev/null +++ b/src/js/user-directory/components/common/DeleteConfirmModal.js @@ -0,0 +1,65 @@ +/** + * User Directory Free - Delete Confirm Modal Component + * + * @package WPUF + * @subpackage Free/User_Directory + * @since 4.3.0 + */ + +import React from 'react'; +import { __ } from '@wordpress/i18n'; + +const DeleteConfirmModal = ( {isOpen, onCancel, onConfirm} ) => { + if (!isOpen) return null; + return ( +
    +
    + + {/* Close Button */} + + + {/* Content Section */} +
    + + + + + +

    + {__( 'Delete Confirmation', 'wp-user-frontend' )} +

    + +

    + {__( 'Are you sure you want to delete this? This action cannot be undone.', 'wp-user-frontend' )} +

    +
    + + {/* Buttons Section */} +
    + + + +
    +
    +
    + ); +}; + +export default DeleteConfirmModal; diff --git a/src/js/user-directory/components/common/Header.js b/src/js/user-directory/components/common/Header.js new file mode 100644 index 000000000..b418c480d --- /dev/null +++ b/src/js/user-directory/components/common/Header.js @@ -0,0 +1,65 @@ +/** + * User Directory Free - Header Component + * + * @package WPUF + * @subpackage Free/User_Directory + * @since 4.3.0 + */ + +import React from 'react'; +import { __ } from '@wordpress/i18n'; + +// Pro Badge Component +const ProBadge = ({ className = '' }) => ( + + PRO + +); + +const Header = ({ utm = 'wpuf-header' }) => { + // Get wpuf_admin_script from global + const wpuf = window.wpuf_admin_script || {}; + const logoUrl = (wpuf.asset_url || '') + '/images/wpuf-icon-circle.svg'; + const upgradeUrl = (wpuf.upgradeUrl || 'https://wedevs.com/wp-user-frontend-pro/pricing/') + '?utm_source=' + utm + '&utm_medium=wpuf-header'; + const version = wpuf.version || ''; + + return ( +
    +
    + WPUF Icon +

    {__('WP User Frontend', 'wp-user-frontend')}

    + {version && ( + + v{version} + + )} +
    + +
    + ); +}; + +export default Header; diff --git a/src/js/user-directory/components/common/LayoutCard.js b/src/js/user-directory/components/common/LayoutCard.js new file mode 100644 index 000000000..5d70eb38b --- /dev/null +++ b/src/js/user-directory/components/common/LayoutCard.js @@ -0,0 +1,97 @@ +/** + * Layout Card Component + * + * Reusable layout selection card with Pro badge and overlay + * + * @package WPUF + * @subpackage Free/User_Directory + * @since 4.3.0 + */ + +import React, { useState } from 'react'; +import { __ } from '@wordpress/i18n'; + +const LayoutCard = ({ layout, layoutKey, isSelected, isPro, onSelect, upgradeUrl, i18n }) => { + const [imageError, setImageError] = useState(false); + + const handleClick = () => { + if (!isPro) { + onSelect(layoutKey); + } + }; + + const baseClass = "wpuf-relative wpuf-bg-white wpuf-border-2 wpuf-rounded-xl wpuf-p-3 wpuf-transition-all wpuf-overflow-hidden"; + + let stateClass = ""; + if (isSelected) { + stateClass = "wpuf-border-indigo-600 wpuf-bg-indigo-50"; + } else if (isPro) { + stateClass = "wpuf-border-gray-200 wpuf-cursor-not-allowed"; + } else { + stateClass = "wpuf-border-gray-200 hover:wpuf-border-gray-300 hover:wpuf-shadow-md wpuf-cursor-pointer"; + } + + return ( +
    + {/* Image */} + {layout.image && !imageError ? ( + {layout.name} setImageError(true)} + /> + ) : ( +
    + + {layout.name} + +
    + )} + + {/* Layout Name */} +

    + {layout.name} +

    + + {/* Pro Badge */} + {isPro && ( + + PRO + + )} + + {/* Pro Overlay on Hover */} + {isPro && ( +
    + + {i18n?.pro_feature || __('Pro Feature', 'wp-user-frontend')} + + e.stopPropagation()} + > + {i18n?.upgrade_to_pro || __('Upgrade to Pro', 'wp-user-frontend')} + +
    + )} + + {/* Selected Checkmark */} + {isSelected && ( +
    + + + +
    + )} +
    + ); +}; + +export default LayoutCard; diff --git a/src/js/user-directory/components/common/MultiSelect.js b/src/js/user-directory/components/common/MultiSelect.js new file mode 100644 index 000000000..15ea8fc16 --- /dev/null +++ b/src/js/user-directory/components/common/MultiSelect.js @@ -0,0 +1,267 @@ +import { useState, useRef, useEffect } from '@wordpress/element'; +import { __ } from '@wordpress/i18n'; + + const MultiSelect = ({ options, value, onChange, placeholder, sortable = false, searchable = true, selectedLabel = 'items' }) => { + const [isOpen, setIsOpen] = useState(false); + const [dragIndex, setDragIndex] = useState(null); + const [searchTerm, setSearchTerm] = useState(''); + const dropdownRef = useRef(null); + const searchInputRef = useRef(null); + + // Helper function to get display text from option value + const getOptionDisplayText = (key) => { + const option = options[key]; + if (typeof option === 'string') { + return option; + } + if (option && typeof option === 'object' && option.label) { + return option.label; + } + return key; + }; + + // Helper function to get icon from option value with dynamic coloring + const getOptionIcon = (key, isSelected = false) => { + const option = options[key]; + if (option && typeof option === 'object' && option.icon) { + // Clone the icon and modify its fill color if selected + if (isSelected) { + return React.cloneElement(option.icon, { + children: React.cloneElement(option.icon.props.children, { + fill: '#059669' // Emerald-600 + }) + }); + } + // For unselected state, add transition styles + return React.cloneElement(option.icon, { + children: React.cloneElement(option.icon.props.children, { + style: { + transition: 'fill 0.2s ease-in-out' + } + }) + }); + } + return null; + }; + + // Close dropdown on outside click + useEffect(() => { + const handleClick = (e) => { + if (dropdownRef.current && !dropdownRef.current.contains(e.target)) { + setIsOpen(false); + setSearchTerm(''); + } + }; + document.addEventListener('mousedown', handleClick); + return () => document.removeEventListener('mousedown', handleClick); + }, []); + + // Focus search input when dropdown opens + useEffect(() => { + if (isOpen && searchable && searchInputRef.current) { + setTimeout(() => { + searchInputRef.current?.focus(); + }, 100); + } + }, [isOpen, searchable]); + + // Handle select/deselect with 'all' logic + const handleSelect = (key) => { + if (key === 'all') { + onChange(['all']); + setIsOpen(false); + setSearchTerm(''); + return; + } + let newValue = value.filter((k) => k !== 'all'); + if (!newValue.includes(key)) { + newValue = [...newValue, key]; + } + onChange(newValue); + setIsOpen(false); + setSearchTerm(''); + }; + const handleRemove = (key) => { + if (key === 'all') { + onChange([]); + } else { + const newValue = value.filter((k) => k !== key); + onChange(newValue); + } + }; + + // Drag and drop handlers (only if sortable) + const handleDragStart = (index) => sortable && setDragIndex(index); + const handleDragOver = (index) => { + if (!sortable || dragIndex === null || dragIndex === index) return; + const newValue = [...value]; + const [removed] = newValue.splice(dragIndex, 1); + newValue.splice(index, 0, removed); + setDragIndex(index); + onChange(newValue); + }; + const handleDragEnd = () => sortable && setDragIndex(null); + + // Filter options based on search term and already selected values + const getFilteredOptions = () => { + let filtered = Object.keys(options).filter((key) => !value.includes(key)); + + if (searchable && searchTerm.trim()) { + const searchLower = searchTerm.toLowerCase(); + filtered = filtered.filter((key) => { + const displayText = getOptionDisplayText(key); + return displayText.toLowerCase().includes(searchLower); + }); + } + + return filtered; + }; + + const availableOptions = getFilteredOptions(); + + // Get display text for selected values + const getDisplayText = () => { + if (value.length === 0) { + return placeholder; + } + // Show count if more than 3 items selected + if (value.length > 3) { + return `${value.length} ${selectedLabel} selected`; + } + // Show first 3 items if 3 or fewer selected + return value.slice(0, 3).map((k) => getOptionDisplayText(k)).join(', '); + }; + + // Handle search input change + const handleSearchChange = (e) => { + setSearchTerm(e.target.value); + }; + + // Handle search input keydown + const handleSearchKeyDown = (e) => { + if (e.key === 'Escape') { + setIsOpen(false); + setSearchTerm(''); + } else if (e.key === 'Enter' && availableOptions.length > 0) { + handleSelect(availableOptions[0]); + } + }; + + return ( +
    + + {isOpen && ( +
      + {/* Search input */} + {searchable && ( +
    • + +
    • + )} + {availableOptions.length === 0 && ( +
    • + {searchTerm.trim() ? __('No matching options', 'wp-user-frontend') : __('No more options', 'wp-user-frontend')} +
    • + )} + {availableOptions.map((key) => ( +
    • handleSelect(key)} + onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') { handleSelect(key); } }} + > + + {getOptionIcon(key)} + {getOptionDisplayText(key)} + +
    • + ))} +
    + )} + {/* Pills for selected items */} +
    + {value.map((key, idx) => ( +
    handleDragStart(idx) : undefined} + onDragOver={sortable ? (e) => { e.preventDefault(); handleDragOver(idx); } : undefined} + onDragEnd={sortable ? handleDragEnd : undefined} + tabIndex={0} + aria-label={sortable ? __('Drag to reorder', 'wp-user-frontend') : undefined} + > + + {getOptionIcon(key)} + {getOptionDisplayText(key)} + + +
    + ))} +
    +
    + ); +}; + +export default MultiSelect; diff --git a/src/js/user-directory/components/common/Toast.js b/src/js/user-directory/components/common/Toast.js new file mode 100644 index 000000000..b9c4c3b33 --- /dev/null +++ b/src/js/user-directory/components/common/Toast.js @@ -0,0 +1,51 @@ +/** + * Toast Component + * + * @package WPUF + * @subpackage Free/User_Directory + * @since 4.3.0 + */ + +import React, { useEffect } from 'react'; + +const Toast = ({ message, type = 'success', onClose, duration = 3000 }) => { + useEffect(() => { + const timer = setTimeout(() => { + onClose(); + }, duration); + + return () => clearTimeout(timer); + }, [duration, onClose]); + + const bgColor = type === 'success' ? 'wpuf-bg-emerald-50' : 'wpuf-bg-red-50'; + const textColor = type === 'success' ? 'wpuf-text-emerald-800' : 'wpuf-text-red-800'; + const borderColor = type === 'success' ? 'wpuf-border-emerald-200' : 'wpuf-border-red-200'; + const iconColor = type === 'success' ? 'wpuf-text-emerald-500' : 'wpuf-text-red-500'; + + return ( +
    +
    + {type === 'success' ? ( + + + + ) : ( + + + + )} + {message} + +
    +
    + ); +}; + +export default Toast; diff --git a/src/js/user-directory/components/common/Tooltip.js b/src/js/user-directory/components/common/Tooltip.js new file mode 100644 index 000000000..fc0e75504 --- /dev/null +++ b/src/js/user-directory/components/common/Tooltip.js @@ -0,0 +1,36 @@ +import { useState } from '@wordpress/element'; + +const Tooltip = ( { content, children, className = '' } ) => { + const [visible, setVisible] = useState(false); + const tooltipId = `wpuf-tooltip-${Math.random().toString(36).substr(2, 9)}`; + + return ( + setVisible(true)} + onMouseLeave={() => setVisible(false)} + onFocus={() => setVisible(true)} + onBlur={() => setVisible(false)} + > + + {children} + + {visible && ( + + {content} + + )} + + ); +}; + +export default Tooltip; diff --git a/src/js/user-directory/components/steps/StepAdvanced.js b/src/js/user-directory/components/steps/StepAdvanced.js new file mode 100644 index 000000000..a06863e82 --- /dev/null +++ b/src/js/user-directory/components/steps/StepAdvanced.js @@ -0,0 +1,492 @@ +import React, { useState } from 'react'; +import { __ } from '@wordpress/i18n'; +import Tooltip from '../common/Tooltip'; + +const StepAdvanced = ({ formData, setFormData, config }) => { + // Hover states for Pro features + const [hoveredOption, setHoveredOption] = useState(null); + + // Free version options + const freeAvatarSizes = ['192']; // Only 192 is free + const freeSortOptions = ['ID']; // Only User ID is free + const freeGallerySizes = ['thumbnail']; // Only thumbnail is free + + const handleChange = (e) => { + const { name, value, type, checked } = e.target; + + if (name === 'users_per_page') { + setFormData(prev => ({ + ...prev, + users_per_page: value, + max_item_per_page: value + })); + } else if (name === 'max_item') { + // Convert empty string to null, handle -1 specially, and ensure numeric values + let numericValue; + if (value === '' || value === null || value === undefined) { + numericValue = null; + } else { + numericValue = parseInt(value); + // Handle NaN case + if (isNaN(numericValue)) { + numericValue = null; + } + } + setFormData(prev => ({ + ...prev, + max_item: numericValue + })); + } else if (name === 'default_sort_by') { + // Only allow free sort options + if (freeSortOptions.includes(value)) { + setFormData(prev => ({ + ...prev, + default_sort_by: value, + orderby: value + })); + } + } else if (name === 'default_sort_order') { + setFormData(prev => ({ + ...prev, + default_sort_order: value, + order: value.toUpperCase() + })); + } else if (name === 'avatar_size') { + // Only allow free avatar sizes + if (freeAvatarSizes.includes(value)) { + setFormData(prev => ({ ...prev, [name]: value })); + } + } else if (name === 'profile_size') { + // Only allow free gallery sizes + if (freeGallerySizes.includes(value)) { + setFormData(prev => ({ ...prev, [name]: value })); + } + } else if (name === 'profile_base') { + // Profile permalink is all free + setFormData(prev => ({ ...prev, [name]: value })); + } else if (type === 'checkbox') { + setFormData(prev => ({ ...prev, [name]: checked })); + } else { + setFormData(prev => ({ ...prev, [name]: value })); + } + }; + + // Common input style + const inputStyle = { + maxWidth: '793px', + width: '100%', + height: '42px', + borderRadius: '6px', + borderWidth: '1px', + paddingTop: '9px', + paddingRight: '37px', + paddingBottom: '9px', + paddingLeft: '13px', + backgroundColor: '#FFFFFF', + borderColor: '#CBD5E1', + borderStyle: 'solid', + opacity: 1, + boxSizing: 'border-box', + fontSize: '16px', + lineHeight: '1', + display: 'flex', + alignItems: 'center', + backgroundImage: 'url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'none\' stroke=\'%23374151\' viewBox=\'0 0 24 24\'%3E%3Cpath stroke-linecap=\'round\' stroke-linejoin=\'round\' stroke-width=\'2\' d=\'M19 9l-7 7-7-7\'/%3E%3C/svg%3E")', + backgroundRepeat: 'no-repeat', + backgroundPosition: 'right 13px center', + backgroundSize: '16px', + appearance: 'none', + WebkitAppearance: 'none', + MozAppearance: 'none' + }; + + // Pro badge component + const ProBadge = ({ small = false }) => ( + Pro + ); + + // Sort options with Pro status + const sortOptions = [ + { value: 'ID', label: __('User ID', 'wp-user-frontend'), isFree: true }, + { value: 'display_name', label: __('Display Name', 'wp-user-frontend'), isFree: false }, + { value: 'user_registered', label: __('Registration Date', 'wp-user-frontend'), isFree: false }, + { value: 'user_login', label: __('Username', 'wp-user-frontend'), isFree: false }, + { value: 'user_email', label: __('Email', 'wp-user-frontend'), isFree: false }, + { value: 'post_count', label: __('Post Count', 'wp-user-frontend'), isFree: false }, + ]; + + // Avatar sizes with Pro status + const avatarSizes = [ + { value: '32', label: '32×32', isFree: false }, + { value: '48', label: '48×48', isFree: false }, + { value: '80', label: '80×80', isFree: false }, + { value: '128', label: '128×128', isFree: false }, + { value: '160', label: '160×160', isFree: false }, + { value: '192', label: '192×192', isFree: true }, + { value: '265', label: '265×265', isFree: false }, + ]; + + // Gallery image sizes with Pro status + const gallerySizes = [ + { value: 'thumbnail', label: __('Thumbnail', 'wp-user-frontend'), isFree: true }, + { value: 'medium', label: __('Medium', 'wp-user-frontend'), isFree: false }, + { value: 'large', label: __('Large', 'wp-user-frontend'), isFree: false }, + { value: 'full', label: __('Full', 'wp-user-frontend'), isFree: false }, + ]; + + // Social profiles options (all Pro) + const socialProfiles = [ + { value: 'facebook', label: 'Facebook' }, + { value: 'twitter', label: 'X (Twitter)' }, + { value: 'linkedin', label: 'LinkedIn' }, + { value: 'instagram', label: 'Instagram' }, + ]; + + // Profile permalink options (all free) + const profileBases = [ + { value: 'username', label: __('Username', 'wp-user-frontend') }, + { value: 'user_id', label: __('User ID', 'wp-user-frontend') }, + ]; + + return ( +
    +

    + {__('Advanced Control', 'wp-user-frontend')} +

    +

    {__('Fine-tune your directory settings with customizable options for sorting, pagination, and display preferences', 'wp-user-frontend')}

    + +
    + {/* Users Per Page - Available in Free */} +
    + + +
    + + {/* Number of Users in Directory - Available in Free */} +
    + + +
    + + {/* Default Sort By - User ID is free, rest are Pro */} +
    + +
    + {sortOptions.map(option => { + const isSelected = (formData.default_sort_by || formData.orderby || 'ID') === option.value; + const isHovered = hoveredOption === `sort-${option.value}`; + + return ( +
    !option.isFree && setHoveredOption(`sort-${option.value}`)} + onMouseLeave={() => setHoveredOption(null)} + > + {/* Pro Badge on hover */} + {!option.isFree && isHovered && ( +
    + +
    + )} + +
    + ); + })} +
    +
    + + {/* Default Sort Order - Free */} +
    + + +
    + + {/* Profile Permalink Structure - All Free */} +
    + + +
    + + {/* Select Social Profiles - All Pro */} +
    + +
    setHoveredOption('social-profiles')} + onMouseLeave={() => setHoveredOption(null)} + > + {/* Pro Badge on hover */} + {hoveredOption === 'social-profiles' && ( +
    + +
    + )} +
    + {socialProfiles.map(profile => ( + + {profile.label} + + ))} +
    +
    +
    + + {/* Profile Gallery Image Size - Thumbnail is free, rest are Pro */} +
    + +
    + {gallerySizes.map(option => { + const isSelected = (formData.profile_size || 'thumbnail') === option.value; + const isHovered = hoveredOption === `gallery-${option.value}`; + + return ( +
    !option.isFree && setHoveredOption(`gallery-${option.value}`)} + onMouseLeave={() => setHoveredOption(null)} + > + {/* Pro Badge on hover */} + {!option.isFree && isHovered && ( +
    + +
    + )} + +
    + ); + })} +
    +
    + + {/* Avatar Size - Only 192 is free */} +
    + +
    + {avatarSizes.map(size => { + const isSelected = (formData.avatar_size || '192') === size.value; + const isHovered = hoveredOption === `avatar-${size.value}`; + + return ( +
    !size.isFree && setHoveredOption(`avatar-${size.value}`)} + onMouseLeave={() => setHoveredOption(null)} + > + {/* Pro Badge on hover */} + {!size.isFree && isHovered && ( +
    + +
    + )} + +
    + ); + })} +
    +
    +
    +
    + ); +}; + +export default StepAdvanced; diff --git a/src/js/user-directory/components/steps/StepBasics.js b/src/js/user-directory/components/steps/StepBasics.js new file mode 100644 index 000000000..3f87ac959 --- /dev/null +++ b/src/js/user-directory/components/steps/StepBasics.js @@ -0,0 +1,305 @@ +import React, { useState, useEffect, useRef } from 'react'; +import { __ } from '@wordpress/i18n'; +import Tooltip from '../common/Tooltip'; +import MultiSelect from '../common/MultiSelect'; + +const StepBasics = ({ formData, setFormData, config }) => { + const [searchTerm, setSearchTerm] = useState(''); + const [searchResults, setSearchResults] = useState([]); + const [isSearching, setIsSearching] = useState(false); + const [showUserDropdown, setShowUserDropdown] = useState(false); + const searchTimeoutRef = useRef(null); + const userDropdownRef = useRef(null); + + // Prepare options: always include 'all' as the first option + const roleOptions = { + all: __('All', 'wp-user-frontend'), + ...(typeof wpuf_ud_free !== 'undefined' && wpuf_ud_free.roles + ? wpuf_ud_free.roles + : (typeof wpuf_ud !== 'undefined' && wpuf_ud.roles ? wpuf_ud.roles : {})) + }; + + // Ensure roles is always an array + const rolesValue = Array.isArray(formData.roles) + ? formData.roles + : formData.roles + ? [formData.roles] + : ['all']; + + // Ensure excluded_users is always an array + const excludedUsers = Array.isArray(formData.excluded_users) + ? formData.excluded_users + : []; + + const handleChange = (e) => { + const { name, value } = e.target; + setFormData(prev => ({ ...prev, [name]: value })); + }; + + // Search users via WordPress REST API + const searchUsers = async (search) => { + if (!search || search.length < 2) { + setSearchResults([]); + return; + } + + setIsSearching(true); + + try { + const response = await wp.apiFetch({ + path: `/wp/v2/users?search=${encodeURIComponent(search)}&per_page=10` + }); + + setSearchResults(response.map(user => ({ + id: user.id, + name: user.name, + username: user.slug, + avatar: user.avatar_urls && user.avatar_urls['48'] || '' + }))); + } catch (error) { + console.error('Error searching users:', error); + setSearchResults([]); + } finally { + setIsSearching(false); + } + }; + + // Handle search input change with debounce + const handleSearchChange = (e) => { + const value = e.target.value; + setSearchTerm(value); + + // Clear previous timeout + if (searchTimeoutRef.current) { + clearTimeout(searchTimeoutRef.current); + } + + // Set new timeout for debounced search + searchTimeoutRef.current = setTimeout(() => { + searchUsers(value); + }, 300); + }; + + // Add user to excluded list + const addExcludedUser = (user) => { + const newExcludedUsers = [...excludedUsers, user]; + setFormData(prev => ({ ...prev, excluded_users: newExcludedUsers })); + setSearchTerm(''); + setSearchResults([]); + setShowUserDropdown(false); + }; + + // Remove user from excluded list + const removeExcludedUser = (userId) => { + const newExcludedUsers = excludedUsers.filter(user => user.id !== userId); + setFormData(prev => ({ ...prev, excluded_users: newExcludedUsers })); + }; + + // Close dropdown when clicking outside + useEffect(() => { + const handleClickOutside = (event) => { + if (userDropdownRef.current && !userDropdownRef.current.contains(event.target)) { + setShowUserDropdown(false); + } + }; + + document.addEventListener('mousedown', handleClickOutside); + return () => { + document.removeEventListener('mousedown', handleClickOutside); + }; + }, []); + + return ( +
    +

    {__('Directory Basics', 'wp-user-frontend')}

    +

    {__('Set the foundation of your user directory by giving it a name and choosing who you want to include. This helps define the purpose and audience of your directory', 'wp-user-frontend')}

    +
    + + +
    +
    + + setFormData(prev => ({ ...prev, roles }))} + placeholder={__('Select roles...', 'wp-user-frontend')} + sortable={false} + /> +
    + + {/* Exclude Users Section - Free Feature */} +
    + + +
    + {/* Search Input */} + setShowUserDropdown(true)} + /> + + {/* Search Results Dropdown */} + {showUserDropdown && searchTerm && ( +
    + {isSearching && ( +
    + {__('Searching...', 'wp-user-frontend')} +
    + )} + + {!isSearching && searchResults.length === 0 && searchTerm.length >= 2 && ( +
    + {__('No users found', 'wp-user-frontend')} +
    + )} + + {!isSearching && searchResults.length > 0 && ( +
      + {searchResults.map(user => { + const isExcluded = excludedUsers.some(u => u.id === user.id); + if (isExcluded) return null; + + return ( +
    • addExcludedUser(user)} + > + {user.avatar && ( + {user.name} + )} +
      +
      {user.name}
      +
      @{user.username}
      +
      +
    • + ); + })} +
    + )} +
    + )} + + {/* Selected Excluded Users */} + {excludedUsers.length > 0 && ( +
    + {excludedUsers.map(user => ( +
    + + {user.avatar && ( + {user.name} + )} + {user.name} + + +
    + ))} +
    + )} +
    +
    +
    + ); +}; + +export default StepBasics; diff --git a/src/js/user-directory/components/steps/StepLayout.js b/src/js/user-directory/components/steps/StepLayout.js new file mode 100644 index 000000000..ea847e486 --- /dev/null +++ b/src/js/user-directory/components/steps/StepLayout.js @@ -0,0 +1,172 @@ +import React from 'react'; +import { __ } from '@wordpress/i18n'; +import { getOptimalAvatarSize } from '../../utils/avatarSizeHelper'; + +const StepLayout = ({ formData, setFormData, config }) => { + // Free version only allows layout-3 + const freeLayout = 'layout-3'; + + const handleChange = (e) => { + const { name, value } = e.target; + + // In free version, only allow layout-3 + if (name === 'directory_layout' && value !== freeLayout) { + return; // Ignore clicks on Pro layouts + } + + // Auto-select avatar size when directory layout changes + if (name === 'directory_layout') { + const optimalSize = getOptimalAvatarSize(value); + setFormData(prev => ({ + ...prev, + [name]: value, + avatar_size: optimalSize + })); + } else { + setFormData(prev => ({ ...prev, [name]: value })); + } + }; + + // Check both wpuf_ud_free (Free version) and wpuf_ud (Pro version) for layout options + const layoutOptions = (typeof wpuf_ud_free !== 'undefined' && wpuf_ud_free.directory_layouts) + ? wpuf_ud_free.directory_layouts + : (typeof wpuf_ud !== 'undefined' && wpuf_ud.directory_layouts ? wpuf_ud.directory_layouts : {}); + + // Custom display names for layouts + const layoutDisplayNames = { + 'layout-1': 'Classic Table', + 'layout-2': 'Rounded Sidecard (2x)', + 'layout-3': 'Round Grid (3x)', + 'layout-4': 'Square Grid (3x)', + 'layout-5': 'Round Grid (4x)', + 'layout-6': 'Square Grid (4x)' + }; + + // Check if a layout is Pro-only + const isProLayout = (layout) => layout !== freeLayout; + + return ( +
    +
    +

    + {__('Directory Layout', 'wp-user-frontend')} +

    +

    {__('Choose how your user directory will be displayed. Pick a style that feels natural for your site—list, grid or wide layouts that match your site\'s style and user experience', 'wp-user-frontend')}

    +
    + {Object.entries(layoutOptions).map(([value, option]) => { + const isPro = isProLayout(value); + const isSelected = formData.directory_layout === value; + + return ( + + ); + })} +
    +
    +
    + ); +}; + +export default StepLayout; diff --git a/src/js/user-directory/components/steps/StepProfile.js b/src/js/user-directory/components/steps/StepProfile.js new file mode 100644 index 000000000..ca090802e --- /dev/null +++ b/src/js/user-directory/components/steps/StepProfile.js @@ -0,0 +1,159 @@ +import React from 'react'; +import { __ } from '@wordpress/i18n'; + +const StepProfile = ({ formData, setFormData, config }) => { + // Free version only allows layout-2 + const freeLayout = 'layout-2'; + + const handleChange = (e) => { + const { name, value } = e.target; + + // In free version, only allow layout-2 + if (name === 'profile_layout' && value !== freeLayout) { + return; // Ignore clicks on Pro layouts + } + + setFormData(prev => ({ ...prev, [name]: value })); + }; + + // Check both wpuf_ud_free (Free version) and wpuf_ud (Pro version) for layout options + const layoutOptions = (typeof wpuf_ud_free !== 'undefined' && wpuf_ud_free.profile_layouts) + ? wpuf_ud_free.profile_layouts + : (typeof wpuf_ud !== 'undefined' && wpuf_ud.profile_layouts ? wpuf_ud.profile_layouts : {}); + + // Check if a layout is Pro-only + const isProLayout = (layout) => layout !== freeLayout; + + return ( +
    +

    + {__('Profile Layout', 'wp-user-frontend')} +

    +

    {__('Decide how individual user profiles will appear. Select a layout that best organizes profile information', 'wp-user-frontend')}

    +
    + {Object.entries(layoutOptions).map(([value, option]) => { + const isPro = isProLayout(value); + const isSelected = formData.profile_layout === value; + + return ( + + ); + })} +
    +
    + ); +}; + +export default StepProfile; diff --git a/src/js/user-directory/components/steps/StepTabs.js b/src/js/user-directory/components/steps/StepTabs.js new file mode 100644 index 000000000..89ee92cfe --- /dev/null +++ b/src/js/user-directory/components/steps/StepTabs.js @@ -0,0 +1,506 @@ +import React, { useState } from 'react'; +import { __ } from '@wordpress/i18n'; + +const StepTabs = ({ formData, setFormData, config }) => { + // Initialize tabs from config or use defaults + const defaultTabs = config?.profile_tabs || { + about: __('About', 'wp-user-frontend'), + posts: __('Posts', 'wp-user-frontend'), + comments: __('Comments', 'wp-user-frontend'), + }; + + // Helper to ensure we have a valid array for enabled tabs + const getEnabledTabsArray = (profileTabs) => { + if (Array.isArray(profileTabs)) { + return profileTabs; + } + if (profileTabs && typeof profileTabs === 'object') { + // If it's an object (from Pro), extract keys that are enabled + return Object.keys(profileTabs).filter(key => profileTabs[key]); + } + return ['about']; // Default + }; + + const getOrderArray = (order) => { + if (Array.isArray(order)) { + return order; + } + return []; + }; + + // State for draggable tabs + const [allTabs, setAllTabs] = useState(() => { + const savedOrder = getOrderArray(formData.profile_tabs_order); + const enabledTabs = getEnabledTabsArray(formData.profile_tabs); + + // Create tabs array + const tabsMap = {}; + Object.keys(defaultTabs).forEach(key => { + tabsMap[key] = { + key, + label: typeof defaultTabs[key] === 'string' + ? defaultTabs[key] + : defaultTabs[key]?.label || key, + enabled: enabledTabs.includes(key) + }; + }); + + // Order tabs based on saved order + const orderedTabs = []; + if (savedOrder.length > 0) { + savedOrder.forEach(key => { + if (tabsMap[key]) { + orderedTabs.push(tabsMap[key]); + delete tabsMap[key]; + } + }); + } + + // Add remaining tabs + Object.values(tabsMap).forEach(tab => orderedTabs.push(tab)); + + return orderedTabs; + }); + + const [enabledTabs] = useState(() => getEnabledTabsArray(formData.profile_tabs)); + const [draggedItem, setDraggedItem] = useState(null); + const [dragOverItem, setDragOverItem] = useState(null); + const [hoveredTab, setHoveredTab] = useState(null); + const [hoveredContentType, setHoveredContentType] = useState(null); + + // Drag and drop handlers + const handleDragStart = (e, index) => { + setDraggedItem(index); + e.dataTransfer.effectAllowed = 'move'; + }; + + const handleDragEnd = (e) => { + e.preventDefault(); + setDraggedItem(null); + setDragOverItem(null); + }; + + const handleDragOver = (e) => { + e.preventDefault(); + e.dataTransfer.dropEffect = 'move'; + }; + + const handleDragEnter = (e, index) => { + if (draggedItem !== index) { + setDragOverItem(index); + } + }; + + const handleDragLeave = (e) => { + if (e.target === e.currentTarget) { + setDragOverItem(null); + } + }; + + const handleDrop = (e, dropIndex) => { + e.stopPropagation(); + e.preventDefault(); + + if (draggedItem !== null && draggedItem !== dropIndex) { + const newTabs = [...allTabs]; + const draggedTab = newTabs[draggedItem]; + + newTabs.splice(draggedItem, 1); + newTabs.splice(dropIndex, 0, draggedTab); + + setAllTabs(newTabs); + + // Update form data with new order only (toggle is Pro feature) + const completeOrder = newTabs.map(t => t.key); + setFormData(prev => ({ + ...prev, + profile_tabs_order: completeOrder + })); + } + + setDraggedItem(null); + setDragOverItem(null); + }; + + return ( +
    +

    + {__('Profile Content', 'wp-user-frontend')} +

    +

    {__('Customize user tab layout and content for an organized profile experience', 'wp-user-frontend')}

    + + {/* Tabs Section */} +
    +

    + {__('Customize Profile Tabs', 'wp-user-frontend')} +

    +

    + {__('Easily manage your profile tabs. Drag to reorder, toggle visibility on the front end, and customize tab names using the edit icon', 'wp-user-frontend')} +

    + + {/* Draggable Tabs */} +
    + {allTabs.map((tab, index) => { + const isEnabled = enabledTabs.includes(tab.key); + const isDragging = draggedItem === index; + const isDragOver = dragOverItem === index; + const isHovered = hoveredTab === tab.key; + + return ( +
    handleDragStart(e, index)} + onDragEnd={handleDragEnd} + onDragOver={handleDragOver} + onDragEnter={(e) => handleDragEnter(e, index)} + onDragLeave={handleDragLeave} + onDrop={(e) => handleDrop(e, index)} + onMouseEnter={() => setHoveredTab(tab.key)} + onMouseLeave={() => setHoveredTab(null)} + > +
    + {/* Drag Handle */} + + + + + {/* Tab Name */} + + {tab.label} + +
    + +
    + {/* Pro Badge on hover - positioned in center above both icons */} + {isHovered && ( +
    + Pro +
    + )} + + {/* Edit Button - Pro Only (same icon as Pro version) */} + + + + + {/* Toggle Switch - Pro Only, always ON by default in free (same style as Pro version) */} +
    + +
    +
    +
    + ); + })} +
    +
    + + {/* Configure About Tab Section - Pro Feature Preview */} +
    +
    +

    + {__('Configure About Tab', 'wp-user-frontend')} +

    +
    + +

    + {__('Define content for About tab by selecting fields, post types, or files. Map custom meta—including WPUF fields—to showcase user data such as skills, achievements, media, and other key information.', 'wp-user-frontend')} +

    + + {/* Add Content Button - Disabled with Pro Badge on hover */} +
    setHoveredContentType('add-content')} + onMouseLeave={() => setHoveredContentType(null)} + > + + + {/* Pro Badge on hover */} + {hoveredContentType === 'add-content' && ( +
    + Pro +
    + )} +
    + + {/* Content Type Buttons Preview - Disabled with Pro Badges on hover */} +
    +
    + {/* Meta Field */} +
    setHoveredContentType('meta-field')} + onMouseLeave={() => setHoveredContentType(null)} + > + {hoveredContentType === 'meta-field' && ( +
    + Pro +
    + )} + +
    + + {/* Section */} +
    setHoveredContentType('section')} + onMouseLeave={() => setHoveredContentType(null)} + > + {hoveredContentType === 'section' && ( +
    + Pro +
    + )} + +
    + + {/* Post Type */} +
    setHoveredContentType('post-type')} + onMouseLeave={() => setHoveredContentType(null)} + > + {hoveredContentType === 'post-type' && ( +
    + Pro +
    + )} + +
    + + {/* Comment */} +
    setHoveredContentType('comment')} + onMouseLeave={() => setHoveredContentType(null)} + > + {hoveredContentType === 'comment' && ( +
    + Pro +
    + )} + +
    + + {/* Image/File */} +
    setHoveredContentType('image-file')} + onMouseLeave={() => setHoveredContentType(null)} + > + {hoveredContentType === 'image-file' && ( +
    + Pro +
    + )} + +
    +
    +
    +
    +
    + ); +}; + +export default StepTabs; diff --git a/src/js/user-directory/index.js b/src/js/user-directory/index.js new file mode 100644 index 000000000..17997dabd --- /dev/null +++ b/src/js/user-directory/index.js @@ -0,0 +1,23 @@ +/** + * User Directory Free - Main Entry Point + * + * React-based admin for User Directory + * + * @package WPUF + * @subpackage Free/User_Directory + * @since 4.3.0 + */ + +import { createRoot } from '@wordpress/element'; +import App from './App'; +import './styles/main.css'; + +// Wait for DOM ready +document.addEventListener('DOMContentLoaded', () => { + const container = document.getElementById('wpuf-ud-free-app'); + + if (container) { + const root = createRoot(container); + root.render(); + } +}); diff --git a/src/js/user-directory/styles/main.css b/src/js/user-directory/styles/main.css new file mode 100644 index 000000000..9923f18ab --- /dev/null +++ b/src/js/user-directory/styles/main.css @@ -0,0 +1,54 @@ +/** + * User Directory Free - Main Styles + * + * Tailwind CSS with wpuf- prefix + * + * @package WPUF + * @subpackage Free/User_Directory + * @since 4.3.0 + */ + +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer components { + .wpuf-btn-primary { + @apply wpuf-rounded-md wpuf-bg-primary !wpuf-text-white wpuf-px-4 wpuf-py-3 wpuf-text-sm wpuf-font-semibold hover:wpuf-bg-emerald-700 hover:wpuf-text-white focus:wpuf-text-white focus:wpuf-shadow-none; + } + + .wpuf-btn-white { + @apply wpuf-rounded-md wpuf-bg-white wpuf-text-gray-700 wpuf-px-4 wpuf-py-3 wpuf-text-sm wpuf-font-medium hover:wpuf-bg-gray-100 wpuf-border wpuf-border-gray-300; + } +} + +/* Reset WordPress core select styles for the wizard */ +.wp-core-ui select { + min-height: unset !important; + max-width: unset !important; +} + +/* Full page white background - matches Pro */ +#wpcontent, #wpbody { + background: #fff; +} + +/* Custom animations */ +@keyframes fade-in { + from { + opacity: 0; + transform: translateY(10px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +.wpuf-animate-fadein { + animation: fade-in 0.3s ease-out forwards; +} + +#wpuf-ud-free-app { + max-width: 100%; +} diff --git a/src/js/user-directory/utils/avatarSizeHelper.js b/src/js/user-directory/utils/avatarSizeHelper.js new file mode 100644 index 000000000..41a202105 --- /dev/null +++ b/src/js/user-directory/utils/avatarSizeHelper.js @@ -0,0 +1,17 @@ +/** + * Utility function to get optimal avatar size based on directory layout + * + * @param {string} layout - The directory layout (layout-1, layout-2, etc.) + * @returns {string} - The optimal avatar size in pixels + */ +export const getOptimalAvatarSize = (layout) => { + const sizeMap = { + 'layout-1': '48', // Table layout - smaller avatars + 'layout-2': '128', // Grid layout - medium avatars + 'layout-3': '128', // Card layout - medium avatars + 'layout-4': '192', // Large card layout - larger avatars + 'layout-5': '128', // Grid layout - medium avatars + 'layout-6': '265' // Grid layout - medium avatars + }; + return sizeMap[layout] || '48'; // Default to 48 if layout not found +}; \ No newline at end of file diff --git a/tailwind.config.js b/tailwind.config.js index aedd78f7b..695d597ba 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -14,6 +14,9 @@ module.exports = { // New paths from upstream (for subscription templates) './templates/**/*.php', './src/**/*.{js,css}', + // Free User Directory frontend templates + './includes/Free/User_Directory/**/*.php', + './includes/Free/User_Directory/views/**/*.php', ], theme: { extend: { diff --git a/tailwind.user-directory.config.js b/tailwind.user-directory.config.js new file mode 100644 index 000000000..a801763a9 --- /dev/null +++ b/tailwind.user-directory.config.js @@ -0,0 +1,91 @@ +/** + * Tailwind CSS Configuration for User Directory Free + * + * Uses wpuf- prefix to avoid conflicts + * + * @package WPUF + * @subpackage Free/User_Directory + * @since 4.3.0 + */ + +/** @type {import('tailwindcss').Config} */ +module.exports = { + prefix: 'wpuf-', + content: [ + './src/js/user-directory/**/*.js', + './src/js/user-directory/**/*.jsx', + './includes/Free/User_Directory/views/**/*.php', + ], + safelist: [ + // Purple color classes for layout colors + '!wpuf-bg-purple-500', + '!wpuf-bg-purple-600', + '!wpuf-bg-purple-700', + '!wpuf-text-purple-600', + '!wpuf-text-purple-700', + '!wpuf-border-purple-600', + '!wpuf-border-purple-700', + '!wpuf-ring-purple-500', + '!hover:wpuf-text-purple-600', + '!hover:wpuf-bg-purple-700', + '!hover:wpuf-border-purple-600', + '!focus:wpuf-ring-purple-500', + // Emerald color classes (default) + '!wpuf-bg-emerald-500', + '!wpuf-bg-emerald-600', + '!wpuf-bg-emerald-700', + '!wpuf-bg-emerald-50', + '!wpuf-bg-emerald-100', + '!wpuf-text-emerald-600', + '!wpuf-text-emerald-700', + '!wpuf-text-emerald-800', + '!wpuf-border-emerald-500', + '!wpuf-border-emerald-600', + '!wpuf-border-emerald-700', + '!wpuf-ring-emerald-500', + '!hover:wpuf-text-emerald-600', + '!hover:wpuf-bg-emerald-700', + '!hover:wpuf-border-emerald-600', + '!focus:wpuf-ring-emerald-500', + 'hover:!wpuf-bg-emerald-700', + 'hover:!wpuf-bg-emerald-100', + 'hover:!wpuf-bg-emerald-50', + // Purple hover states with important + 'hover:!wpuf-bg-purple-700', + 'hover:!wpuf-bg-purple-100', + 'hover:!wpuf-bg-purple-50', + 'hover:!wpuf-text-purple-600', + 'hover:!wpuf-text-purple-700', + // Gray color classes + '!wpuf-bg-gray-800', + '!wpuf-bg-gray-700', + '!wpuf-text-gray-800', + '!wpuf-text-gray-700', + '!wpuf-border-gray-800', + '!wpuf-border-gray-700', + '!wpuf-ring-gray-800', + '!hover:wpuf-text-gray-800', + '!hover:wpuf-bg-gray-700', + '!hover:wpuf-border-gray-800', + '!focus:wpuf-ring-gray-800', + ], + theme: { + extend: { + animation: { + 'fade-in': 'fade-in 0.3s ease-out forwards', + 'spin': 'spin 1s linear infinite', + }, + keyframes: { + 'fade-in': { + '0%': { opacity: '0', transform: 'translateY(10px)' }, + '100%': { opacity: '1', transform: 'translateY(0)' }, + }, + }, + }, + }, + plugins: [], + // Important: This ensures our styles don't conflict with WordPress admin + corePlugins: { + preflight: false, // Disable base reset to avoid conflicts + }, +}; diff --git a/webpack.user-directory.config.js b/webpack.user-directory.config.js new file mode 100644 index 000000000..1786333ec --- /dev/null +++ b/webpack.user-directory.config.js @@ -0,0 +1,72 @@ +/** + * Webpack Configuration for User Directory Free + * + * Based on Pro's user-directory module build setup + * + * @package WPUF + * @subpackage Free/User_Directory + * @since 4.3.0 + */ + +const path = require('path'); +const MiniCssExtractPlugin = require('mini-css-extract-plugin'); +const DependencyExtractionWebpackPlugin = require('@wordpress/dependency-extraction-webpack-plugin'); + +module.exports = { + entry: { + 'wpuf-user-directory-free': './src/js/user-directory/index.js', + }, + output: { + path: path.resolve(__dirname, 'assets/js'), + filename: '[name].js', + publicPath: '', + clean: false, // Don't clean other files + }, + module: { + rules: [ + { + test: /\.jsx?$/, + exclude: /node_modules/, + use: { + loader: 'babel-loader', + options: { + presets: [ + '@babel/preset-env', + ['@babel/preset-react', { runtime: 'automatic' }], + ], + }, + }, + }, + { + test: /\.css$/, + use: [ + MiniCssExtractPlugin.loader, + { + loader: 'css-loader', + options: { importLoaders: 1 } + }, + 'postcss-loader' + ] + } + ], + }, + resolve: { + extensions: ['.js', '.jsx'], + }, + externals: { + '@wordpress/element': ['wp', 'element'], + '@wordpress/i18n': ['wp', 'i18n'], + '@wordpress/components': ['wp', 'components'], + '@wordpress/api-fetch': ['wp', 'apiFetch'], + 'react': 'React', + 'react-dom': 'ReactDOM', + }, + plugins: [ + new MiniCssExtractPlugin({ + filename: '../css/[name].css', + }), + new DependencyExtractionWebpackPlugin(), + ], + devtool: 'source-map', + mode: process.env.NODE_ENV === 'production' ? 'production' : 'development', +}; From c1a5ef371e62a9ce4a21bceef554c5043531d46b Mon Sep 17 00:00:00 2001 From: Ariful Hoque Date: Sat, 29 Nov 2025 00:04:08 +0600 Subject: [PATCH 02/20] Update color classes to use ! prefix for importance Added ! prefix to purple color classes in layout helpers and Tailwind config to ensure higher specificity. Updated safelist in Tailwind config to include both prefixed and non-prefixed classes, and adjusted button class usage for consistency. --- includes/Free/User_Directory/Helpers.php | 18 +++++++-------- .../directory/template-parts/sort-field.php | 2 +- tailwind.user-directory.config.js | 23 +++++++++++++++---- 3 files changed, 28 insertions(+), 15 deletions(-) diff --git a/includes/Free/User_Directory/Helpers.php b/includes/Free/User_Directory/Helpers.php index 962509949..eed1cd6da 100644 --- a/includes/Free/User_Directory/Helpers.php +++ b/includes/Free/User_Directory/Helpers.php @@ -23,16 +23,16 @@ * @return array Colors array. */ function wpuf_ud_free_get_layout_colors( $layout = 'layout-3' ) { - // Default purple colors for Free version + // Default purple colors for Free version (with ! prefix for important) return [ - 'primary_600' => 'wpuf-bg-purple-600', - 'primary_700' => 'wpuf-bg-purple-700', - 'text_primary_600' => 'wpuf-text-purple-600', - 'border_primary_600' => 'wpuf-border-purple-600', - 'hover_primary_600' => 'hover:wpuf-text-purple-600', - 'hover_primary_700' => 'hover:wpuf-bg-purple-700', - 'hover_border_primary_600' => 'hover:wpuf-border-purple-600', - 'focus_ring_primary_500' => 'focus:wpuf-ring-purple-500', + 'primary_600' => '!wpuf-bg-purple-600', + 'primary_700' => '!wpuf-bg-purple-700', + 'text_primary_600' => '!wpuf-text-purple-600', + 'border_primary_600' => '!wpuf-border-purple-600', + 'hover_primary_600' => 'hover:!wpuf-text-purple-600', + 'hover_primary_700' => 'hover:!wpuf-bg-purple-700', + 'hover_border_primary_600' => 'hover:!wpuf-border-purple-600', + 'focus_ring_primary_500' => 'focus:!wpuf-ring-purple-500', ]; } diff --git a/includes/Free/User_Directory/views/directory/template-parts/sort-field.php b/includes/Free/User_Directory/views/directory/template-parts/sort-field.php index c315c93c9..bc7bf51b0 100644 --- a/includes/Free/User_Directory/views/directory/template-parts/sort-field.php +++ b/includes/Free/User_Directory/views/directory/template-parts/sort-field.php @@ -48,7 +48,7 @@ - +
    + + {hasReachedLimit && ( +
    + +
    + )} +
    {/* Limit Warning */} diff --git a/src/js/user-directory/components/DirectoryList.js b/src/js/user-directory/components/DirectoryList.js index a18b1b3b6..e6411df1f 100644 --- a/src/js/user-directory/components/DirectoryList.js +++ b/src/js/user-directory/components/DirectoryList.js @@ -23,6 +23,8 @@ const DirectoryList = ( {directories, currentPage, totalPages, onPageChange, fet const [copiedId, setCopiedId] = useState( null ); const [openMenuId, setOpenMenuId] = useState(null); const menuRefs = useRef({}); + const [memberCounts, setMemberCounts] = useState({}); + const [loadingCounts, setLoadingCounts] = useState({}); const handleCopy = ( shortcode, id ) => { navigator.clipboard.writeText( shortcode ); @@ -48,6 +50,68 @@ const DirectoryList = ( {directories, currentPage, totalPages, onPageChange, fet }; }, [openMenuId]); + useEffect(() => { + // Fetch member counts for all directories + directories.forEach(dir => { + let post_content = {}; + try { + if (dir.post_content && typeof dir.post_content === 'string' && dir.post_content.trim() !== '') { + post_content = JSON.parse(dir.post_content); + } + } catch (e) { + post_content = {}; + } + const roles = post_content?.roles || 'all'; + const excluded_users = post_content?.excluded_users || []; + const max_item = post_content?.max_item; + if (memberCounts[dir.ID] === undefined && !loadingCounts[dir.ID]) { + setLoadingCounts(prev => ({ ...prev, [dir.ID]: true })); + + // Build query parameters + const queryParams = new URLSearchParams(); + queryParams.append('roles', roles); + + // Add max_item if set and greater than 0 (not -1 or empty) + if (max_item && parseInt(max_item) > 0) { + queryParams.append('max_item', max_item); + } + + // Add excluded users if any + if (excluded_users && excluded_users.length > 0) { + // Extract user IDs from excluded_users array + const userIds = excluded_users.map(user => { + if (typeof user === 'object' && user.id) { + return user.id; + } else if (typeof user === 'number') { + return user; + } + return null; + }).filter(id => id !== null); + + if (userIds.length > 0) { + queryParams.append('exclude_users', userIds.join(',')); + } + } + + fetch(`/wp-json/wpuf/v1/user_directory/user_count?${queryParams.toString()}`, { + headers: { + 'X-WP-Nonce': window.wpuf_ud_free?.rest_nonce || window.wpuf_ud?.rest_nonce || '', + }, + }) + .then(res => res.json()) + .then(data => { + setMemberCounts(prev => ({ ...prev, [dir.ID]: data && data.success ? data.count : 0 })); + setLoadingCounts(prev => ({ ...prev, [dir.ID]: false })); + }) + .catch(() => { + setMemberCounts(prev => ({ ...prev, [dir.ID]: 0 })); + setLoadingCounts(prev => ({ ...prev, [dir.ID]: false })); + }); + } + }); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [directories]); + const renderPagination = () => { if (totalPages <= 1) return null; const range = []; @@ -173,8 +237,12 @@ const DirectoryList = ( {directories, currentPage, totalPages, onPageChange, fet { onEdit && onEdit(dir);}} >{dir.post_title} {dir.ID} - - + + {loadingCounts[dir.ID] ? ( + Loading… + ) : ( + memberCounts[dir.ID] !== undefined ? memberCounts[dir.ID] : 0 + )}
    diff --git a/src/js/user-directory/components/common/Toast.js b/src/js/user-directory/components/common/Toast.js index b9c4c3b33..f5473617d 100644 --- a/src/js/user-directory/components/common/Toast.js +++ b/src/js/user-directory/components/common/Toast.js @@ -6,46 +6,90 @@ * @since 4.3.0 */ -import React, { useEffect } from 'react'; +import { useEffect, useState } from 'react'; +import { createPortal } from 'react-dom'; + +const Toast = ({ message, type = 'success', duration = 3000, onClose }) => { + const [isVisible, setIsVisible] = useState(true); + const [isLeaving, setIsLeaving] = useState(false); -const Toast = ({ message, type = 'success', onClose, duration = 3000 }) => { useEffect(() => { const timer = setTimeout(() => { - onClose(); + setIsLeaving(true); + setTimeout(() => { + setIsVisible(false); + onClose && onClose(); + }, 300); }, duration); - + return () => clearTimeout(timer); }, [duration, onClose]); - const bgColor = type === 'success' ? 'wpuf-bg-emerald-50' : 'wpuf-bg-red-50'; - const textColor = type === 'success' ? 'wpuf-text-emerald-800' : 'wpuf-text-red-800'; - const borderColor = type === 'success' ? 'wpuf-border-emerald-200' : 'wpuf-border-red-200'; - const iconColor = type === 'success' ? 'wpuf-text-emerald-500' : 'wpuf-text-red-500'; - - return ( -
    -
    - {type === 'success' ? ( - - - - ) : ( - - - - )} - {message} - + if (!isVisible) return null; + + const typeStyles = { + success: 'wpuf-bg-green-700', + error: 'wpuf-bg-red-500', + warning: 'wpuf-bg-yellow-500', + info: 'wpuf-bg-blue-500' + }; + + const icons = { + success: ( + + + + ), + error: ( + + + + ), + warning: ( + + + + ), + info: ( + + + + ) + }; + + const toastElement = ( +
    +
    +
    +
    + {icons[type]} +
    +
    +

    + {message} +

    +
    + +
    ); + + // Render the toast using a portal to ensure it appears above everything else + return createPortal(toastElement, document.body); }; export default Toast; diff --git a/src/js/user-directory/components/steps/StepAdvanced.js b/src/js/user-directory/components/steps/StepAdvanced.js index a06863e82..4155bfda8 100644 --- a/src/js/user-directory/components/steps/StepAdvanced.js +++ b/src/js/user-directory/components/steps/StepAdvanced.js @@ -71,7 +71,7 @@ const StepAdvanced = ({ formData, setFormData, config }) => { } }; - // Common input style + // Common input style for select dropdowns const inputStyle = { maxWidth: '793px', width: '100%', @@ -100,6 +100,25 @@ const StepAdvanced = ({ formData, setFormData, config }) => { MozAppearance: 'none' }; + // Number input style (shows native spinners like Pro) + const numberInputStyle = { + maxWidth: '793px', + width: '100%', + height: '42px', + borderRadius: '6px', + borderWidth: '1px', + paddingTop: '9px', + paddingRight: '13px', + paddingBottom: '9px', + paddingLeft: '13px', + backgroundColor: '#FFFFFF', + borderColor: '#CBD5E1', + borderStyle: 'solid', + opacity: 1, + boxSizing: 'border-box', + fontSize: '16px' + }; + // Pro badge component const ProBadge = ({ small = false }) => ( { name="users_per_page" min="1" max="100" - className="wpuf-block wpuf-min-w-full wpuf-text-gray-700 wpuf-font-normal focus:wpuf-ring-transparent wpuf-border" - style={{ - ...inputStyle, - backgroundImage: 'none' - }} + className="wpuf-block wpuf-min-w-full wpuf-m-0 wpuf-leading-none wpuf-text-gray-700 placeholder:wpuf-text-gray-400 wpuf-max-w-full focus:wpuf-ring-transparent" + style={numberInputStyle} value={formData.users_per_page || formData.max_item_per_page || 12} onChange={handleChange} /> @@ -214,11 +230,8 @@ const StepAdvanced = ({ formData, setFormData, config }) => { type="number" id="max_item" name="max_item" - className="wpuf-block wpuf-min-w-full wpuf-text-gray-700 wpuf-font-normal focus:wpuf-ring-transparent wpuf-border" - style={{ - ...inputStyle, - backgroundImage: 'none' - }} + className="wpuf-block wpuf-min-w-full wpuf-m-0 wpuf-leading-none wpuf-text-gray-700 placeholder:wpuf-text-gray-400 wpuf-max-w-full focus:wpuf-ring-transparent" + style={numberInputStyle} value={formData.max_item || ''} onChange={handleChange} placeholder={__('Enter -1 for all users', 'wp-user-frontend')} From 8442e2dba5a056be56cf00f09ecf0d4fda4c0e57 Mon Sep 17 00:00:00 2001 From: Ariful Hoque Date: Sat, 29 Nov 2025 01:09:53 +0600 Subject: [PATCH 04/20] Add file tab to user profile and update build tasks Introduces a new 'Files' tab to the user profile with grouped file display and filtering, excluding private message attachments. Updates Gruntfile.js to add user directory build/watch tasks and ensures profile size is passed to the template. Also adds the corresponding template file for the new tab. --- Gruntfile.js | 24 +- includes/Free/User_Directory/Helpers.php | 12 +- includes/Free/User_Directory/Shortcode.php | 14 +- .../views/profile/template-parts/file-2.php | 317 ++++++++++++++++++ 4 files changed, 358 insertions(+), 9 deletions(-) create mode 100644 includes/Free/User_Directory/views/profile/template-parts/file-2.php diff --git a/Gruntfile.js b/Gruntfile.js index b0fa36d9f..b655a2b23 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -161,6 +161,18 @@ module.exports = function( grunt) { } }, + userDirectory: { + files: [ + 'src/js/user-directory/styles/*.css', + 'includes/Free/User_Directory/**/*.php', + 'includes/Free/User_Directory/views/**/*.php', + ], + tasks: ['build-user-directory'], + options: { + spawn: false + } + }, + }, // Clean up build directory @@ -275,6 +287,9 @@ module.exports = function( grunt) { npm_build_ai_form_builder: { command: 'npm run build:ai-form-builder', }, + npm_build_user_directory: { + command: 'npm run build:user-directory', + }, tailwind: { command: function ( input, output ) { return `npx tailwindcss -i ${input} -o ${output}`; @@ -303,16 +318,21 @@ module.exports = function( grunt) { grunt.loadNpmTasks( 'grunt-shell' ); grunt.loadNpmTasks( 'grunt-postcss' ); - grunt.registerTask( 'default', [ 'less', 'concat', 'uglify', 'i18n', 'tailwind' ] ); + grunt.registerTask( 'default', [ 'less', 'concat', 'uglify', 'i18n', 'tailwind', 'build-user-directory' ] ); // file auto generation grunt.registerTask( 'i18n', [ 'makepot' ] ); grunt.registerTask( 'readme', [ 'wp_readme_to_markdown' ] ); // build stuff - grunt.registerTask( 'release', [ 'less', 'concat', 'uglify', 'i18n', 'readme', 'tailwind', 'tailwind-minify' ] ); + grunt.registerTask( 'release', [ 'less', 'concat', 'uglify', 'i18n', 'readme', 'tailwind', 'tailwind-minify', 'build-user-directory' ] ); grunt.registerTask( 'zip', [ 'clean', 'copy', 'compress' ] ); + // User Directory CSS build task + grunt.registerTask( 'build-user-directory', 'Build User Directory CSS with Tailwind', function() { + grunt.task.run('shell:npm_build_user_directory'); + }); + grunt.event.on('watch', function(action, filepath, target) { if (target === 'tailwind') { grunt.task.run('tailwind'); diff --git a/includes/Free/User_Directory/Helpers.php b/includes/Free/User_Directory/Helpers.php index eed1cd6da..b223138b8 100644 --- a/includes/Free/User_Directory/Helpers.php +++ b/includes/Free/User_Directory/Helpers.php @@ -393,13 +393,14 @@ function wpuf_ud_get_profile_data( $user, $template_data = [], $layout = 'layout $template_config = [ 'show_avatar' => true, 'enable_tabs' => true, - 'default_tabs' => [ 'about', 'posts', 'comments' ], + 'default_tabs' => [ 'about', 'posts', 'comments', 'file' ], 'default_active_tab'=> 'about', 'avatar_size' => $avatar_size, 'custom_tab_labels' => [ 'about' => __( 'About', 'wp-user-frontend' ), 'posts' => __( 'Posts', 'wp-user-frontend' ), 'comments' => __( 'Comments', 'wp-user-frontend' ), + 'file' => __( 'Files', 'wp-user-frontend' ), ], ]; @@ -426,6 +427,11 @@ function wpuf_ud_get_profile_data( $user, $template_data = [], $layout = 'layout 'is_active' => false, 'content' => 'comments', ], + 'file' => [ + 'label' => __( 'Files', 'wp-user-frontend' ), + 'is_active' => false, + 'content' => 'file', + ], ]; return [ @@ -463,13 +469,14 @@ function wpuf_ud_get_default_template_config() { return [ 'show_avatar' => true, 'enable_tabs' => true, - 'default_tabs' => [ 'about', 'posts', 'comments' ], + 'default_tabs' => [ 'about', 'posts', 'comments', 'file' ], 'default_active_tab'=> 'about', 'avatar_size' => 192, 'custom_tab_labels' => [ 'about' => __( 'About', 'wp-user-frontend' ), 'posts' => __( 'Posts', 'wp-user-frontend' ), 'comments' => __( 'Comments', 'wp-user-frontend' ), + 'file' => __( 'Files', 'wp-user-frontend' ), ], ]; } @@ -548,6 +555,7 @@ function wpuf_ud_get_tab_label( $tab, $profile_data = [] ) { 'about' => __( 'About', 'wp-user-frontend' ), 'posts' => __( 'Posts', 'wp-user-frontend' ), 'comments' => __( 'Comments', 'wp-user-frontend' ), + 'file' => __( 'Files', 'wp-user-frontend' ), 'files' => __( 'Files', 'wp-user-frontend' ), 'activity' => __( 'Activity', 'wp-user-frontend' ), ]; diff --git a/includes/Free/User_Directory/Shortcode.php b/includes/Free/User_Directory/Shortcode.php index afd050d99..6d0c9be2c 100644 --- a/includes/Free/User_Directory/Shortcode.php +++ b/includes/Free/User_Directory/Shortcode.php @@ -396,13 +396,17 @@ private function render_directory( $settings, $directory_id ) { * @return string HTML output. */ private function render_profile( $user, $settings, $directory_id ) { + // Get profile size from settings (Free uses profile_size) + $profile_size = $settings['profile_size'] ?? 'thumbnail'; + // Build profile data $profile_data = [ - 'user' => $user, - 'settings' => $settings, - 'directory_id' => $directory_id, - 'avatar_size' => absint( $settings['avatar_size'] ?? 192 ), - 'back_url' => $this->get_directory_url(), + 'user' => $user, + 'settings' => $settings, + 'directory_id' => $directory_id, + 'avatar_size' => absint( $settings['avatar_size'] ?? 192 ), + 'back_url' => $this->get_directory_url(), + 'profile_size' => $profile_size, ]; /** diff --git a/includes/Free/User_Directory/views/profile/template-parts/file-2.php b/includes/Free/User_Directory/views/profile/template-parts/file-2.php new file mode 100644 index 000000000..41230db82 --- /dev/null +++ b/includes/Free/User_Directory/views/profile/template-parts/file-2.php @@ -0,0 +1,317 @@ +ID; +$tab_title = ! empty( $tab_title ) ? $tab_title : __( 'Files', 'wp-user-frontend' ); + +// Get private message attachment IDs to exclude them from public files +$private_message_attachment_ids = []; +global $wpdb; +$message_table = $wpdb->prefix . 'wpuf_message'; +$table_exists = $wpdb->get_var( $wpdb->prepare( "SHOW TABLES LIKE %s", $message_table ) ); +if ( $table_exists ) { + $messages = $wpdb->get_results( $wpdb->prepare( + "SELECT message FROM {$message_table} WHERE (`from` = %d OR `to` = %d)", + $user_id, $user_id + ) ); + + foreach ( $messages as $message ) { + $message_data = maybe_unserialize( $message->message ); + if ( is_array( $message_data ) && ! empty( $message_data['files'] ) && is_array( $message_data['files'] ) ) { + $private_message_attachment_ids = array_merge( $private_message_attachment_ids, $message_data['files'] ); + } + } + $private_message_attachment_ids = array_unique( array_map( 'intval', $private_message_attachment_ids ) ); +} + +// Get user uploaded files from attachments +$all_files = get_posts([ + 'post_type' => 'attachment', + 'author' => $user_id, + 'posts_per_page' => -1, // Get all files for grouping + 'post_status' => 'inherit' +]); + +// Filter out private message attachments +$files = []; +foreach ( $all_files as $file ) { + if ( ! in_array( $file->ID, $private_message_attachment_ids ) ) { + $files[] = $file; + } +} + +// Get profile size from template data or use default +$gallery_image_size = 150; // Default size +$wp_image_size = 'thumbnail'; // Default WordPress size + +// Check for profile_size - Free uses profile_size consistently +$size_value = 'thumbnail'; // Default fallback +if ( ! empty( $template_data['profile_size'] ) ) { + $size_value = $template_data['profile_size']; +} elseif ( ! empty( $template_data['settings']['profile_size'] ) ) { + $size_value = $template_data['settings']['profile_size']; +} elseif ( isset( $settings ) && ! empty( $settings['profile_size'] ) ) { + $size_value = $settings['profile_size']; +} + +if ( ! empty( $size_value ) ) { + // Function to get actual size from WordPress image size name or number + if ( ! function_exists( 'wpuf_get_image_size_dimensions_file2' ) ) { + function wpuf_get_image_size_dimensions_file2( $size ) { + global $_wp_additional_image_sizes; + + // If it's already a number, use it directly + if ( is_numeric( $size ) ) { + return array( 'size' => intval( $size ), 'wp_size' => 'custom' ); + } + + // Default WordPress sizes + $default_sizes = array( + 'thumbnail' => array( 'width' => get_option( 'thumbnail_size_w', 150 ), 'height' => get_option( 'thumbnail_size_h', 150 ) ), + 'medium' => array( 'width' => get_option( 'medium_size_w', 300 ), 'height' => get_option( 'medium_size_h', 300 ) ), + 'medium_large' => array( 'width' => get_option( 'medium_large_size_w', 768 ), 'height' => get_option( 'medium_large_size_h', 0 ) ), + 'large' => array( 'width' => get_option( 'large_size_w', 1024 ), 'height' => get_option( 'large_size_h', 1024 ) ), + 'full' => array( 'width' => 1536, 'height' => 1536 ) // Fallback for full size + ); + + // Check default sizes first + if ( isset( $default_sizes[ $size ] ) ) { + $width = $default_sizes[ $size ]['width']; + return array( 'size' => $width > 0 ? $width : 150, 'wp_size' => $size ); + } + + // Check additional custom sizes + if ( isset( $_wp_additional_image_sizes[ $size ] ) ) { + $width = $_wp_additional_image_sizes[ $size ]['width']; + return array( 'size' => $width > 0 ? $width : 150, 'wp_size' => $size ); + } + + // Fallback to thumbnail if size not found + return array( 'size' => get_option( 'thumbnail_size_w', 150 ), 'wp_size' => 'thumbnail' ); + } + } + + $size_info = wpuf_get_image_size_dimensions_file2( $size_value ); + $gallery_image_size = $size_info['size']; + $wp_image_size = $size_info['wp_size']; +} + +/** + * Filters the returned current gallery image width for user profile file tab section + * + * @since 3.4.11 + * + * @param string $gallery_image_size The current image width + */ +$gallery_image_size = apply_filters( 'wpuf_profile_gallery_image_size', $gallery_image_size ); + +// Group files by type +$grouped_files = [ + 'images' => [], + 'documents' => [], + 'videos' => [], + 'audio' => [], + 'archives' => [], + 'others' => [] +]; + +foreach ( $files as $file ) { + $file_type = get_post_mime_type( $file->ID ); + + if ( strpos( $file_type, 'image/' ) === 0 ) { + $grouped_files['images'][] = $file; + } elseif ( in_array( $file_type, ['application/pdf', 'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'text/plain'] ) ) { + $grouped_files['documents'][] = $file; + } elseif ( strpos( $file_type, 'video/' ) === 0 ) { + $grouped_files['videos'][] = $file; + } elseif ( strpos( $file_type, 'audio/' ) === 0 ) { + $grouped_files['audio'][] = $file; + } elseif ( in_array( $file_type, ['application/zip', 'application/x-rar-compressed', 'application/x-7z-compressed', 'application/x-tar', 'application/gzip'] ) ) { + $grouped_files['archives'][] = $file; + } else { + $grouped_files['others'][] = $file; + } +} + +// Remove empty groups +$grouped_files = array_filter( $grouped_files ); + +// File type labels +$type_labels = [ + 'images' => __( 'Images', 'wp-user-frontend' ), + 'documents' => __( 'Documents', 'wp-user-frontend' ), + 'videos' => __( 'Videos', 'wp-user-frontend' ), + 'audio' => __( 'Audio', 'wp-user-frontend' ), + 'archives' => __( 'Archives', 'wp-user-frontend' ), + 'others' => __( 'Others', 'wp-user-frontend' ) +]; + +// File type icons +$type_icons = [ + 'images' => '', + 'documents' => '', + 'videos' => '', + 'audio' => '', + 'archives' => '', + 'others' => '' +]; +?> + +
    +

    + +

    + + + + +
    +
    + $type_files ) : + $count = count( $type_files ); + ?> + + +
    +
    + + + $type_files ) : + ?> +
    + +
    + + ID ); + $file_type = get_post_mime_type( $file->ID ); + $file_extension = strtoupper( pathinfo( $file_url, PATHINFO_EXTENSION ) ); + $is_image = strpos( $file_type, 'image/' ) === 0; + $is_pdf = $file_type === 'application/pdf'; + + // Get appropriate icon/label for the file type + $display_icon = $type_icons[$type]; + $display_label = $file_extension ?: strtoupper( $type ); + + if ( $is_image ) { + $display_label = 'IMG'; + } elseif ( $is_pdf ) { + $display_label = 'PDF'; + } + ?> + + + +
    +
    + + + +
    +
    + + + +
    +

    +

    +
    + +
    + + + + \ No newline at end of file From 4f0a05e6481b82fe2bde64f17d4a3ace77c8ca5e Mon Sep 17 00:00:00 2001 From: Ariful Hoque Date: Sat, 29 Nov 2025 11:37:50 +0600 Subject: [PATCH 05/20] Add new utility classes for WPUF admin styles Introduced a wide range of new utility classes to form-builder.css for layout, spacing, sizing, display, border, background, and other style properties. These additions improve flexibility and consistency for admin UI components and support more granular styling options. --- assets/css/admin/wpuf-module.css | 16 +- assets/css/wpuf-user-directory-free.css | 163 ++++++++++++++---- assets/js/admin/wpuf-module.js | 43 ++++- includes/Free/Free_Loader.php | 159 ++++++++++++++--- includes/functions/modules.php | 136 +++++++++++++++ .../user-directory}/Admin_Menu.php | 4 +- .../user-directory}/Api/Directory.php | 6 +- .../user-directory}/DirectoryStyles.php | 4 +- .../user-directory}/Helpers.php | 124 +++++++++---- .../user-directory}/Post_Type.php | 4 +- .../user-directory}/PrettyUrls.php | 4 +- .../user-directory}/Shortcode.php | 40 +++-- .../user-directory}/User_Directory.php | 4 +- .../user-directory}/views/admin-page.php | 2 +- .../views/directory/layout-3.php | 0 .../template-parts/pagination-shortcode.php | 0 .../views/directory/template-parts/row-3.php | 0 .../directory/template-parts/search-field.php | 0 .../directory/template-parts/social-icons.php | 0 .../directory/template-parts/sort-field.php | 0 .../views/profile/layout-2.php | 0 .../views/profile/template-parts/about-2.php | 0 .../profile/template-parts/comments-2.php | 0 .../views/profile/template-parts/file-2.php | 0 .../views/profile/template-parts/posts-2.php | 0 .../profile/template-parts/user-avatar.php | 2 +- .../components/common/Header.js | 62 ++++--- tailwind.config.js | 6 +- wpuf-functions.php | 3 + 29 files changed, 634 insertions(+), 148 deletions(-) create mode 100644 includes/functions/modules.php rename {includes/Free/User_Directory => modules/user-directory}/Admin_Menu.php (99%) rename {includes/Free/User_Directory => modules/user-directory}/Api/Directory.php (99%) rename {includes/Free/User_Directory => modules/user-directory}/DirectoryStyles.php (99%) rename {includes/Free/User_Directory => modules/user-directory}/Helpers.php (82%) rename {includes/Free/User_Directory => modules/user-directory}/Post_Type.php (97%) rename {includes/Free/User_Directory => modules/user-directory}/PrettyUrls.php (97%) rename {includes/Free/User_Directory => modules/user-directory}/Shortcode.php (92%) rename {includes/Free/User_Directory => modules/user-directory}/User_Directory.php (98%) rename {includes/Free/User_Directory => modules/user-directory}/views/admin-page.php (93%) rename {includes/Free/User_Directory => modules/user-directory}/views/directory/layout-3.php (100%) rename {includes/Free/User_Directory => modules/user-directory}/views/directory/template-parts/pagination-shortcode.php (100%) rename {includes/Free/User_Directory => modules/user-directory}/views/directory/template-parts/row-3.php (100%) rename {includes/Free/User_Directory => modules/user-directory}/views/directory/template-parts/search-field.php (100%) rename {includes/Free/User_Directory => modules/user-directory}/views/directory/template-parts/social-icons.php (100%) rename {includes/Free/User_Directory => modules/user-directory}/views/directory/template-parts/sort-field.php (100%) rename {includes/Free/User_Directory => modules/user-directory}/views/profile/layout-2.php (100%) rename {includes/Free/User_Directory => modules/user-directory}/views/profile/template-parts/about-2.php (100%) rename {includes/Free/User_Directory => modules/user-directory}/views/profile/template-parts/comments-2.php (100%) rename {includes/Free/User_Directory => modules/user-directory}/views/profile/template-parts/file-2.php (100%) rename {includes/Free/User_Directory => modules/user-directory}/views/profile/template-parts/posts-2.php (100%) rename {includes/Free/User_Directory => modules/user-directory}/views/profile/template-parts/user-avatar.php (93%) diff --git a/assets/css/admin/wpuf-module.css b/assets/css/admin/wpuf-module.css index f3970a485..07dd3f4d2 100644 --- a/assets/css/admin/wpuf-module.css +++ b/assets/css/admin/wpuf-module.css @@ -42,6 +42,20 @@ position: relative; } +.wpuf-modules-section-title { + clear: both; +} + +.wpuf-free-modules { + margin-bottom: 20px; +} + +.wpuf-free-modules::after { + content: ""; + display: table; + clear: both; +} + .wpuf-modules .plugin-card .plugin-name { color: #0073aa; } @@ -78,7 +92,7 @@ padding-top: 26px; } -.plugin-card:hover .form-create-overlay { +.wpuf-pro-modules-preview .plugin-card:hover .form-create-overlay { -webkit-opacity: 1; opacity: 1; z-index: 1; diff --git a/assets/css/wpuf-user-directory-free.css b/assets/css/wpuf-user-directory-free.css index cec8f90d2..9210515f0 100644 --- a/assets/css/wpuf-user-directory-free.css +++ b/assets/css/wpuf-user-directory-free.css @@ -3712,9 +3712,6 @@ input.wpuf-tab:checked + .wpuf-tab-content, .\!wpuf-ml-6 { margin-left: 1.5rem !important; } -.\!wpuf-ml-\[-20px\] { - margin-left: -20px !important; -} .\!wpuf-mr-1 { margin-right: 0.25rem !important; } @@ -3727,6 +3724,9 @@ input.wpuf-tab:checked + .wpuf-tab-content, .\!wpuf-mt-0 { margin-top: 0px !important; } +.\!wpuf-mt-1 { + margin-top: 0.25rem !important; +} .\!wpuf-mt-10 { margin-top: 2.5rem !important; } @@ -3925,6 +3925,9 @@ input.wpuf-tab:checked + .wpuf-tab-content, .wpuf-mt-\[40px\] { margin-top: 40px; } +.\!wpuf-block { + display: block !important; +} .wpuf-block { display: block; } @@ -3985,6 +3988,9 @@ input.wpuf-tab:checked + .wpuf-tab-content, .\!wpuf-h-24 { height: 6rem !important; } +.\!wpuf-h-28 { + height: 7rem !important; +} .\!wpuf-h-3 { height: 0.75rem !important; } @@ -3997,6 +4003,9 @@ input.wpuf-tab:checked + .wpuf-tab-content, .\!wpuf-h-5 { height: 1.25rem !important; } +.\!wpuf-h-8 { + height: 2rem !important; +} .\!wpuf-h-\[150vh\] { height: 150vh !important; } @@ -4009,6 +4018,9 @@ input.wpuf-tab:checked + .wpuf-tab-content, .\!wpuf-h-\[58px\] { height: 58px !important; } +.\!wpuf-h-auto { + height: auto !important; +} .\!wpuf-h-full { height: 100% !important; } @@ -4193,12 +4205,12 @@ input.wpuf-tab:checked + .wpuf-tab-content, .\!wpuf-w-5 { width: 1.25rem !important; } +.\!wpuf-w-8 { + width: 2rem !important; +} .\!wpuf-w-\[calc\(100\%\+20px\)\] { width: calc(100% + 20px) !important; } -.\!wpuf-w-\[calc\(100\%\+40px\)\] { - width: calc(100% + 40px) !important; -} .\!wpuf-w-full { width: 100% !important; } @@ -4503,6 +4515,11 @@ input.wpuf-tab:checked + .wpuf-tab-content, --tw-rotate: 90deg; 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)); } +.\!wpuf-scale-105 { + --tw-scale-x: 1.05 !important; + --tw-scale-y: 1.05 !important; + 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)) !important; +} .wpuf-scale-100 { --tw-scale-x: 1; --tw-scale-y: 1; @@ -4574,6 +4591,9 @@ input.wpuf-tab:checked + .wpuf-tab-content, .\!wpuf-grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)) !important; } +.\!wpuf-grid-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)) !important; +} .wpuf-grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); } @@ -4664,6 +4684,9 @@ input.wpuf-tab:checked + .wpuf-tab-content, .\!wpuf-gap-4 { gap: 1rem !important; } +.\!wpuf-gap-6 { + gap: 1.5rem !important; +} .\!wpuf-gap-8 { gap: 2rem !important; } @@ -4790,6 +4813,11 @@ input.wpuf-tab:checked + .wpuf-tab-content, .wpuf-overflow-y-auto { overflow-y: auto; } +.\!wpuf-truncate { + overflow: hidden !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; +} .wpuf-whitespace-nowrap { white-space: nowrap; } @@ -5145,6 +5173,13 @@ input.wpuf-tab:checked + .wpuf-tab-content, --tw-border-opacity: 1; border-color: rgb(212 212 216 / var(--tw-border-opacity)); } +.\!wpuf-border-b-green-500 { + --tw-border-opacity: 1 !important; + border-bottom-color: rgb(34 197 94 / var(--tw-border-opacity)) !important; +} +.\!wpuf-border-b-transparent { + border-bottom-color: transparent !important; +} .wpuf-border-t-transparent { border-top-color: transparent; } @@ -5164,10 +5199,18 @@ input.wpuf-tab:checked + .wpuf-tab-content, --tw-bg-opacity: 1 !important; background-color: rgb(249 250 251 / var(--tw-bg-opacity)) !important; } +.\!wpuf-bg-green-100 { + --tw-bg-opacity: 1 !important; + background-color: rgb(220 252 231 / var(--tw-bg-opacity)) !important; +} .\!wpuf-bg-green-600 { --tw-bg-opacity: 1 !important; background-color: rgb(22 163 74 / var(--tw-bg-opacity)) !important; } +.\!wpuf-bg-green-700 { + --tw-bg-opacity: 1 !important; + background-color: rgb(21 128 61 / var(--tw-bg-opacity)) !important; +} .\!wpuf-bg-primary { --tw-bg-opacity: 1 !important; background-color: rgb(5 150 105 / var(--tw-bg-opacity)) !important; @@ -5517,6 +5560,14 @@ input.wpuf-tab:checked + .wpuf-tab-content, .wpuf-p-\[10px\] { padding: 10px; } +.\!wpuf-px-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; +} +.\!wpuf-px-1\.5 { + padding-left: 0.375rem !important; + padding-right: 0.375rem !important; +} .\!wpuf-px-3 { padding-left: 0.75rem !important; padding-right: 0.75rem !important; @@ -5533,10 +5584,6 @@ input.wpuf-tab:checked + .wpuf-tab-content, padding-left: 14px !important; padding-right: 14px !important; } -.\!wpuf-px-\[20px\] { - padding-left: 20px !important; - padding-right: 20px !important; -} .\!wpuf-px-\[30px\] { padding-left: 30px !important; padding-right: 30px !important; @@ -5545,6 +5592,10 @@ input.wpuf-tab:checked + .wpuf-tab-content, padding-top: 0px !important; padding-bottom: 0px !important; } +.\!wpuf-py-0\.5 { + padding-top: 0.125rem !important; + padding-bottom: 0.125rem !important; +} .\!wpuf-py-1 { padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; @@ -5577,10 +5628,6 @@ input.wpuf-tab:checked + .wpuf-tab-content, padding-top: 10px !important; padding-bottom: 10px !important; } -.\!wpuf-py-\[20px\] { - padding-top: 20px !important; - padding-bottom: 20px !important; -} .\!wpuf-py-\[4px\] { padding-top: 4px !important; padding-bottom: 4px !important; @@ -6090,10 +6137,22 @@ input.wpuf-tab:checked + .wpuf-tab-content, --tw-text-opacity: 1 !important; color: rgb(55 65 81 / var(--tw-text-opacity)) !important; } +.\!wpuf-text-gray-800 { + --tw-text-opacity: 1 !important; + color: rgb(31 41 55 / var(--tw-text-opacity)) !important; +} .\!wpuf-text-gray-900 { --tw-text-opacity: 1 !important; color: rgb(17 24 39 / var(--tw-text-opacity)) !important; } +.\!wpuf-text-green-500 { + --tw-text-opacity: 1 !important; + color: rgb(34 197 94 / var(--tw-text-opacity)) !important; +} +.\!wpuf-text-green-600 { + --tw-text-opacity: 1 !important; + color: rgb(22 163 74 / var(--tw-text-opacity)) !important; +} .\!wpuf-text-purple-600 { --tw-text-opacity: 1 !important; color: rgb(147 51 234 / var(--tw-text-opacity)) !important; @@ -6307,6 +6366,11 @@ input.wpuf-tab:checked + .wpuf-tab-content, .wpuf-opacity-80 { opacity: 0.8; } +.\!wpuf-shadow-md { + --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1) !important; + --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px 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; +} .\!wpuf-shadow-none { --tw-shadow: 0 0 #0000 !important; --tw-shadow-colored: 0 0 #0000 !important; @@ -6351,6 +6415,10 @@ input.wpuf-tab:checked + .wpuf-tab-content, --tw-shadow-color: #059669; --tw-shadow: var(--tw-shadow-colored); } +.\!wpuf-outline-none { + outline: 2px solid transparent !important; + outline-offset: 2px !important; +} .wpuf-outline-none { outline: 2px solid transparent; outline-offset: 2px; @@ -6405,9 +6473,6 @@ input.wpuf-tab:checked + .wpuf-tab-content, --tw-ring-opacity: 1; --tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity)); } -.wpuf-ring-gray-600\/20 { - --tw-ring-color: rgb(75 85 99 / 0.2); -} .wpuf-ring-gray-900 { --tw-ring-opacity: 1; --tw-ring-color: rgb(17 24 39 / var(--tw-ring-opacity)); @@ -6460,6 +6525,11 @@ input.wpuf-tab:checked + .wpuf-tab-content, --tw-backdrop-blur: blur(4px); 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); } +.\!wpuf-transition-all { + transition-property: all !important; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; + transition-duration: 150ms !important; +} .\!wpuf-transition-colors { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke !important; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important; @@ -6496,6 +6566,9 @@ input.wpuf-tab:checked + .wpuf-tab-content, .\!wpuf-duration-200 { transition-duration: 200ms !important; } +.\!wpuf-duration-300 { + transition-duration: 300ms !important; +} .wpuf-duration-100 { transition-duration: 100ms; } @@ -6776,11 +6849,6 @@ input.wpuf-tab:checked + .wpuf-tab-content, border-color: rgb(5 150 105 / var(--tw-border-opacity)) !important; } -.hover\:\!wpuf-border-purple-600:hover { - --tw-border-opacity: 1 !important; - border-color: rgb(147 51 234 / var(--tw-border-opacity)) !important; -} - .hover\:wpuf-border-blue-700:hover { --tw-border-opacity: 1; border-color: rgb(29 78 216 / var(--tw-border-opacity)); @@ -6816,6 +6884,11 @@ input.wpuf-tab:checked + .wpuf-tab-content, border-color: rgb(14 165 233 / var(--tw-border-opacity)); } +.hover\:\!wpuf-border-b-green-300:hover { + --tw-border-opacity: 1 !important; + border-bottom-color: rgb(134 239 172 / var(--tw-border-opacity)) !important; +} + .hover\:\!wpuf-bg-emerald-100:hover { --tw-bg-opacity: 1 !important; background-color: rgb(209 250 229 / var(--tw-bg-opacity)) !important; @@ -6841,9 +6914,9 @@ input.wpuf-tab:checked + .wpuf-tab-content, background-color: rgb(240 253 244 / var(--tw-bg-opacity)) !important; } -.hover\:\!wpuf-bg-purple-700:hover { +.hover\:\!wpuf-bg-green-500:hover { --tw-bg-opacity: 1 !important; - background-color: rgb(126 34 206 / var(--tw-bg-opacity)) !important; + background-color: rgb(34 197 94 / var(--tw-bg-opacity)) !important; } .hover\:\!wpuf-bg-transparent:hover { @@ -6974,10 +7047,6 @@ input.wpuf-tab:checked + .wpuf-tab-content, --tw-gradient-to: #1d4ed8 var(--tw-gradient-to-position); } -.hover\:wpuf-to-indigo-700:hover { - --tw-gradient-to: #4338ca var(--tw-gradient-to-position); -} - .hover\:wpuf-stroke-gray-200:hover { stroke: #e5e7eb; } @@ -7002,9 +7071,9 @@ input.wpuf-tab:checked + .wpuf-tab-content, color: rgb(17 24 39 / var(--tw-text-opacity)) !important; } -.hover\:\!wpuf-text-purple-600:hover { +.hover\:\!wpuf-text-green-700:hover { --tw-text-opacity: 1 !important; - color: rgb(147 51 234 / var(--tw-text-opacity)) !important; + color: rgb(21 128 61 / var(--tw-text-opacity)) !important; } .hover\:wpuf-text-emerald-200:hover { @@ -7012,6 +7081,11 @@ input.wpuf-tab:checked + .wpuf-tab-content, color: rgb(167 243 208 / var(--tw-text-opacity)); } +.hover\:wpuf-text-emerald-600:hover { + --tw-text-opacity: 1; + color: rgb(5 150 105 / var(--tw-text-opacity)); +} + .hover\:wpuf-text-emerald-700:hover { --tw-text-opacity: 1; color: rgb(4 120 87 / var(--tw-text-opacity)); @@ -7080,6 +7154,12 @@ input.wpuf-tab:checked + .wpuf-tab-content, opacity: 1; } +.hover\:\!wpuf-shadow-lg:hover { + --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1) !important; + --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px 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; +} + .hover\:wpuf-shadow-lg:hover { --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); @@ -7271,11 +7351,6 @@ input.wpuf-tab:checked + .wpuf-tab-content, --tw-ring-color: rgb(5 150 105 / var(--tw-ring-opacity)) !important; } -.focus\:\!wpuf-ring-purple-500:focus { - --tw-ring-opacity: 1 !important; - --tw-ring-color: rgb(168 85 247 / var(--tw-ring-opacity)) !important; -} - .focus\:\!wpuf-ring-transparent:focus { --tw-ring-color: transparent !important; } @@ -7433,6 +7508,12 @@ input.wpuf-tab:checked + .wpuf-tab-content, 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)); } +.wpuf-group:hover .group-hover\:\!wpuf-scale-105 { + --tw-scale-x: 1.05 !important; + --tw-scale-y: 1.05 !important; + 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)) !important; +} + .wpuf-group:hover .group-hover\:wpuf-cursor-pointer { cursor: pointer; } @@ -7556,6 +7637,10 @@ input.wpuf-tab:checked + .wpuf-tab-content, grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } + .sm\:\!wpuf-grid-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)) !important; + } + .sm\:wpuf-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } @@ -7651,6 +7736,10 @@ input.wpuf-tab:checked + .wpuf-tab-content, width: 75%; } + .md\:\!wpuf-grid-cols-4 { + grid-template-columns: repeat(4, minmax(0, 1fr)) !important; + } + .md\:wpuf-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } @@ -7696,6 +7785,10 @@ input.wpuf-tab:checked + .wpuf-tab-content, grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } + .lg\:\!wpuf-grid-cols-5 { + grid-template-columns: repeat(5, minmax(0, 1fr)) !important; + } + .lg\:wpuf-grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } diff --git a/assets/js/admin/wpuf-module.js b/assets/js/admin/wpuf-module.js index 3c12cee1a..2d53358c2 100644 --- a/assets/js/admin/wpuf-module.js +++ b/assets/js/admin/wpuf-module.js @@ -16,12 +16,51 @@ swiffyslider.initSlider( document.getElementById( 'wpuf-slider' ) ); } ); - // show the overlay on hovering over to each modules - $( '.wp-list-table.wpuf-modules .plugin-card' ).on( 'mouseover', function () { + // show the overlay on hovering over to each pro modules preview + $( '.wp-list-table.wpuf-pro-modules-preview .plugin-card' ).on( 'mouseover', function () { let overlay = $( '.form-create-overlay' ); overlay.appendTo( this ); } ); + // Handle free module toggle + $( '.wpuf-toggle-free-module' ).on( 'change', function () { + var $toggle = $( this ); + var moduleId = $toggle.data( 'module' ); + var isActive = $toggle.is( ':checked' ); + var status = isActive ? 'active' : 'inactive'; + + // Disable the toggle while processing + $toggle.prop( 'disabled', true ); + + $.ajax({ + url: wpuf_free_modules.ajaxurl, + type: 'POST', + data: { + action: 'wpuf_toggle_free_module', + module: moduleId, + status: status, + nonce: wpuf_free_modules.nonce + }, + success: function( response ) { + if ( response.success ) { + // Re-enable the toggle + $toggle.prop( 'disabled', false ); + } else { + // Revert the toggle state on error + $toggle.prop( 'checked', ! isActive ); + $toggle.prop( 'disabled', false ); + alert( response.data.message || 'An error occurred' ); + } + }, + error: function() { + // Revert the toggle state on error + $toggle.prop( 'checked', ! isActive ); + $toggle.prop( 'disabled', false ); + alert( 'An error occurred while toggling the module' ); + } + }); + }); + $( '#wpuf-upgrade-popup' ).on( 'click', function( e ) { let modal = $( '.modal-window' ); diff --git a/includes/Free/Free_Loader.php b/includes/Free/Free_Loader.php index acb76bab3..18f5b365a 100644 --- a/includes/Free/Free_Loader.php +++ b/includes/Free/Free_Loader.php @@ -43,6 +43,9 @@ public function run_hooks() { add_action( 'wpuf_form_post_expiration', [ $this, 'wpuf_form_post_expiration_runner' ] ); add_action( 'wpuf_form_settings_post_notification', [ $this, 'post_notification_hook_runner' ] ); + // Free module toggle AJAX + add_action( 'wp_ajax_wpuf_toggle_free_module', [ $this, 'toggle_free_module' ] ); + // plugin settings add_filter( 'wpuf_settings_sections', [ $this, 'pro_sections' ] ); add_filter( 'wpuf_settings_fields', [ $this, 'pro_settings' ] ); @@ -77,9 +80,9 @@ public function includes() { require_once WPUF_INCLUDES . '/functions/user/edit-user.php'; require_once WPUF_INCLUDES . '/Hooks/Form_Settings_Cleanup.php'; - // User Directory Free - only load if Pro module is not active - if ( ! $this->is_pro_user_directory_active() ) { - require_once WPUF_INCLUDES . '/Free/User_Directory/User_Directory.php'; + // User Directory Free - only load if Pro module is not active AND Free module is enabled + if ( ! $this->is_pro_user_directory_active() && $this->is_free_user_directory_active() ) { + require_once WPUF_ROOT . '/modules/user-directory/User_Directory.php'; } } @@ -98,12 +101,23 @@ private function is_pro_user_directory_active() { return class_exists( 'WPUF_User_Listing' ); } + /** + * Check if Free User Directory module is enabled + * + * @since 4.3.0 + * + * @return bool + */ + private function is_free_user_directory_active() { + return wpuf_free_is_module_active( 'user_directory' ); + } + public function instantiate() { $this->edit_profile = new Edit_Profile(); - // Initialize User Directory Free if Pro module is not active - if ( ! $this->is_pro_user_directory_active() ) { - User_Directory\User_Directory::get_instance(); + // Initialize User Directory Free if Pro module is not active AND Free module is enabled + if ( ! $this->is_pro_user_directory_active() && $this->is_free_user_directory_active() ) { + \WeDevs\Wpuf\Modules\User_Directory\User_Directory::get_instance(); } if ( is_admin() ) { @@ -1022,7 +1036,8 @@ public function pro_form_previews( $integrations ) { * @return void */ public function modules_preview_page() { - $modules = $this->pro_modules_info(); + $pro_modules = $this->pro_modules_info(); + $free_modules = wpuf_free_get_modules(); $diamond_icon = file_exists( WPUF_ROOT . '/assets/images/diamond.svg' ) ? file_get_contents( WPUF_ROOT . '/assets/images/diamond.svg' ) : ''; $check_icon = file_exists( WPUF_ROOT . '/assets/images/check.svg' ) ? file_get_contents( WPUF_ROOT . '/assets/images/check.svg' ) : ''; @@ -1126,9 +1141,61 @@ class="wpuf-button button-upgrade-to-pro">

    -
    - $module ) { + + + +

    + +

    +
    + $module ) { + $is_active = wpuf_free_is_module_active( $module_id ); + ?> +
    +
    +
    +

    + + +

    +
    + + + +
    +

    + +

    +
    +
    +
    + +
    + + + +

    + + + + +

    +
    + $module ) { ?>
    @@ -1148,7 +1215,7 @@ class="wpuf-button button-upgrade-to-pro"> - +
    @@ -1162,11 +1229,11 @@ class="wpuf-button button-upgrade-to-pro"> } } ?> -
    -
    - - pro icon - +
    + + pro icon + +
    admin_url( 'admin-ajax.php' ), + 'nonce' => wp_create_nonce( 'wpuf_toggle_free_module' ), + ] ); + } + + /** + * Handle AJAX request to toggle a free module on/off + * + * @since 4.3.0 + * + * @return void + */ + public function toggle_free_module() { + // Check nonce + if ( ! isset( $_POST['nonce'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['nonce'] ) ), 'wpuf_toggle_free_module' ) ) { + wp_send_json_error( [ 'message' => __( 'Security check failed', 'wp-user-frontend' ) ] ); + } + + // Check permission + if ( ! current_user_can( 'manage_options' ) ) { + wp_send_json_error( [ 'message' => __( 'Permission denied', 'wp-user-frontend' ) ] ); + } + + $module_id = isset( $_POST['module'] ) ? sanitize_text_field( wp_unslash( $_POST['module'] ) ) : ''; + $status = isset( $_POST['status'] ) ? sanitize_text_field( wp_unslash( $_POST['status'] ) ) : ''; + + if ( empty( $module_id ) ) { + wp_send_json_error( [ 'message' => __( 'Invalid module', 'wp-user-frontend' ) ] ); + } + + // Check if module exists + $modules = wpuf_free_get_modules(); + if ( ! isset( $modules[ $module_id ] ) ) { + wp_send_json_error( [ 'message' => __( 'Module not found', 'wp-user-frontend' ) ] ); + } + + if ( 'active' === $status ) { + $result = wpuf_free_activate_module( $module_id ); + } else { + $result = wpuf_free_deactivate_module( $module_id ); + } + + if ( is_wp_error( $result ) ) { + wp_send_json_error( [ 'message' => $result->get_error_message() ] ); + } + + wp_send_json_success( [ + 'message' => 'active' === $status + ? __( 'Module activated successfully', 'wp-user-frontend' ) + : __( 'Module deactivated successfully', 'wp-user-frontend' ), + ] ); } /** @@ -1307,12 +1428,6 @@ public function pro_modules_info() { 'plugin_uri' => 'https://wedevs.com/docs/wp-user-frontend-pro/modules/mailpoet3/', 'thumbnail' => 'mailpoet3.png', ], - 'user-directory/userlisting.php' => [ - 'name' => 'User Directory', - 'description' => 'Handle user listing and user profile in frontend', - 'plugin_uri' => 'https://wedevs.com/products/plugins/wp-user-frontend-pro/user-listing-profile/', - 'thumbnail' => 'wpuf-ul.png', - ], 'stripe/wpuf-stripe.php' => [ 'name' => 'Stripe Payment', 'description' => 'Stripe payment gateway for WP User Frontend', diff --git a/includes/functions/modules.php b/includes/functions/modules.php new file mode 100644 index 000000000..dfc93cb09 --- /dev/null +++ b/includes/functions/modules.php @@ -0,0 +1,136 @@ + [ + 'id' => 'user_directory', + 'name' => __( 'User Directory', 'wp-user-frontend' ), + 'description' => __( 'Handle user listing and user profile in frontend', 'wp-user-frontend' ), + 'plugin_uri' => 'https://wedevs.com/docs/wp-user-frontend-pro/modules/user-directory/', + 'thumbnail' => 'wpuf-ul.png', + 'class' => 'WeDevs\\Wpuf\\Modules\\User_Directory\\User_Directory', + ], + ]; +} + +/** + * Get the meta key to store the active module list + * + * @since 4.3.0 + * + * @return string + */ +function wpuf_free_active_module_key() { + return 'wpuf_free_active_modules'; +} + +/** + * Get active modules + * + * @since 4.3.0 + * + * @return array + */ +function wpuf_free_get_active_modules() { + return get_option( wpuf_free_active_module_key(), [ 'user_directory' ] ); // User directory is active by default +} + +/** + * Check if a module is active + * + * @since 4.3.0 + * + * @param string $module Module id (e.g., 'user_directory') + * + * @return bool + */ +function wpuf_free_is_module_active( $module ) { + return in_array( $module, wpuf_free_get_active_modules(), true ); +} + +/** + * Check if a module is inactive + * + * @since 4.3.0 + * + * @param string $module Module id + * + * @return bool + */ +function wpuf_free_is_module_inactive( $module ) { + return ! wpuf_free_is_module_active( $module ); +} + +/** + * Activate a module + * + * @since 4.3.0 + * + * @param string $module Module id + * + * @return WP_Error|null WP_Error on invalid module or null on success + */ +function wpuf_free_activate_module( $module ) { + $modules = wpuf_free_get_modules(); + + if ( ! isset( $modules[ $module ] ) ) { + return new WP_Error( 'invalid-module', __( 'The module is invalid', 'wp-user-frontend' ) ); + } + + $current = wpuf_free_get_active_modules(); + + // Activate if inactive + if ( wpuf_free_is_module_inactive( $module ) ) { + $current[] = $module; + sort( $current ); + update_option( wpuf_free_active_module_key(), $current ); + } + + return null; +} + +/** + * Deactivate a module + * + * @since 4.3.0 + * + * @param string $module Module id + * + * @return bool + */ +function wpuf_free_deactivate_module( $module ) { + $current = wpuf_free_get_active_modules(); + + if ( wpuf_free_is_module_active( $module ) ) { + $key = array_search( $module, $current, true ); + + if ( false !== $key ) { + unset( $current[ $key ] ); + $current = array_values( $current ); // Re-index array + } + + update_option( wpuf_free_active_module_key(), $current ); + } + + return true; +} diff --git a/includes/Free/User_Directory/Admin_Menu.php b/modules/user-directory/Admin_Menu.php similarity index 99% rename from includes/Free/User_Directory/Admin_Menu.php rename to modules/user-directory/Admin_Menu.php index d99101ca6..ce9940b5e 100644 --- a/includes/Free/User_Directory/Admin_Menu.php +++ b/modules/user-directory/Admin_Menu.php @@ -3,11 +3,11 @@ * User Directory Admin Menu * * @package WPUF - * @subpackage Free/User_Directory + * @subpackage Modules/User_Directory * @since 4.3.0 */ -namespace WeDevs\Wpuf\Free\User_Directory; +namespace WeDevs\Wpuf\Modules\User_Directory; if ( ! defined( 'ABSPATH' ) ) { exit; diff --git a/includes/Free/User_Directory/Api/Directory.php b/modules/user-directory/Api/Directory.php similarity index 99% rename from includes/Free/User_Directory/Api/Directory.php rename to modules/user-directory/Api/Directory.php index e121d8c19..ee76fcd40 100644 --- a/includes/Free/User_Directory/Api/Directory.php +++ b/modules/user-directory/Api/Directory.php @@ -3,18 +3,18 @@ * User Directory REST API Controller * * @package WPUF - * @subpackage Free/User_Directory + * @subpackage Modules/User_Directory * @since 4.3.0 */ -namespace WeDevs\Wpuf\Free\User_Directory\Api; +namespace WeDevs\Wpuf\Modules\User_Directory\Api; use WP_Error; use WP_REST_Controller; use WP_REST_Request; use WP_REST_Response; use WP_REST_Server; -use WeDevs\Wpuf\Free\User_Directory\User_Directory; +use WeDevs\Wpuf\Modules\User_Directory\User_Directory; if ( ! defined( 'ABSPATH' ) ) { exit; diff --git a/includes/Free/User_Directory/DirectoryStyles.php b/modules/user-directory/DirectoryStyles.php similarity index 99% rename from includes/Free/User_Directory/DirectoryStyles.php rename to modules/user-directory/DirectoryStyles.php index 5d12ddfef..a0434a2ae 100644 --- a/includes/Free/User_Directory/DirectoryStyles.php +++ b/modules/user-directory/DirectoryStyles.php @@ -2,11 +2,11 @@ /** * Directory Custom Styles * - * @package WPUF\Free\UserDirectory + * @package WPUF\Modules\UserDirectory * @since 4.3.0 */ -namespace WeDevs\Wpuf\Free\User_Directory; +namespace WeDevs\Wpuf\Modules\User_Directory; if ( ! defined( 'ABSPATH' ) ) { exit; diff --git a/includes/Free/User_Directory/Helpers.php b/modules/user-directory/Helpers.php similarity index 82% rename from includes/Free/User_Directory/Helpers.php rename to modules/user-directory/Helpers.php index b223138b8..a9d6e3f35 100644 --- a/includes/Free/User_Directory/Helpers.php +++ b/modules/user-directory/Helpers.php @@ -5,7 +5,7 @@ * These functions mirror the Pro version helpers to ensure template compatibility. * * @package WPUF - * @subpackage Free/User_Directory + * @subpackage Modules/User_Directory * @since 4.3.0 */ @@ -23,16 +23,16 @@ * @return array Colors array. */ function wpuf_ud_free_get_layout_colors( $layout = 'layout-3' ) { - // Default purple colors for Free version (with ! prefix for important) + // Default emerald colors for Free version return [ - 'primary_600' => '!wpuf-bg-purple-600', - 'primary_700' => '!wpuf-bg-purple-700', - 'text_primary_600' => '!wpuf-text-purple-600', - 'border_primary_600' => '!wpuf-border-purple-600', - 'hover_primary_600' => 'hover:!wpuf-text-purple-600', - 'hover_primary_700' => 'hover:!wpuf-bg-purple-700', - 'hover_border_primary_600' => 'hover:!wpuf-border-purple-600', - 'focus_ring_primary_500' => 'focus:!wpuf-ring-purple-500', + 'primary_600' => 'wpuf-bg-emerald-600', + 'primary_700' => 'wpuf-bg-emerald-700', + 'text_primary_600' => 'wpuf-text-emerald-600', + 'border_primary_600' => 'wpuf-border-emerald-600', + 'hover_primary_600' => 'hover:wpuf-text-emerald-600', + 'hover_primary_700' => 'hover:wpuf-bg-emerald-700', + 'hover_border_primary_600' => 'hover:wpuf-border-emerald-600', + 'focus_ring_primary_500' => 'focus:wpuf-ring-emerald-500', ]; } @@ -267,42 +267,98 @@ function wpuf_ud_get_profile_url( $user, $data = [] ) { // If it's just a path, build a full URL if ( strpos( $current_url, 'http' ) !== 0 ) { $scheme = is_ssl() ? 'https' : 'http'; - $host = isset( $_SERVER['HTTP_HOST'] ) ? $_SERVER['HTTP_HOST'] : ''; + $host = isset( $_SERVER['HTTP_HOST'] ) ? sanitize_text_field( wp_unslash( $_SERVER['HTTP_HOST'] ) ) : ''; $current_url = $scheme . '://' . $host . $current_url; } } else { // Fallback to detecting current URL - $current_url = get_permalink(); - - // Fallback to current URL if no permalink - if ( empty( $current_url ) ) { - $current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . strtok( $_SERVER['REQUEST_URI'], '?' ); + // Try to get the current post/page URL + if ( is_singular() ) { + $current_url = get_permalink(); + } elseif ( is_home() ) { + $current_url = home_url(); + } elseif ( is_front_page() ) { + $current_url = home_url(); + } else { + // Fallback to current request URL - strip query string + $request_uri = isset( $_SERVER['REQUEST_URI'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : ''; + $current_url = ( is_ssl() ? 'https://' : 'http://' ) . ( isset( $_SERVER['HTTP_HOST'] ) ? sanitize_text_field( wp_unslash( $_SERVER['HTTP_HOST'] ) ) : '' ) . strtok( $request_uri, '?' ); } } + // Determine the user identifier based on profile base if ( 'user_id' === $profile_base ) { - $slug = $user->ID; + $user_identifier = $user->ID; + } else { + $user_identifier = $user->user_login; + } + + // Check if this is a shortcode-based directory + $is_shortcode = false; + + // First check if explicitly passed in data (from templates) + if ( ! empty( $data['is_shortcode'] ) ) { + $is_shortcode = true; } else { - $slug = rawurlencode( $user->user_login ); + // Check multiple ways to detect shortcode context + // Method 1: Check global post for shortcode + global $post; + if ( $post && ( has_shortcode( $post->post_content, 'wpuf_user_listing' ) || + has_shortcode( $post->post_content, 'wpuf_user_listing_id' ) ) ) { + $is_shortcode = true; + } + + // Method 2: Try to get page ID from URL and check for shortcode + if ( ! $is_shortcode ) { + // Get page ID from current URL + $page_id = url_to_postid( $current_url ); + + // If we have pagination, try removing it to get the base page + if ( ! $page_id && preg_match( '#/page/\d+/#', $current_url ) ) { + $base_url = preg_replace( '#/page/\d+/#', '/', $current_url ); + $page_id = url_to_postid( $base_url ); + } + + if ( $page_id ) { + $page_content = get_post_field( 'post_content', $page_id ); + if ( $page_content && ( + strpos( $page_content, '[wpuf_user_listing' ) !== false || + strpos( $page_content, '[wpuf_user_listing_id' ) !== false + ) ) { + $is_shortcode = true; + } + } + } } - // For shortcodes (AJAX requests), ALWAYS use clean URL format - no query parameters - if ( ! empty( $data['is_shortcode'] ) || ! empty( $data['base_url'] ) ) { + // For shortcodes, ALWAYS use clean URL format - strictly no query parameters + if ( $is_shortcode ) { // Generate clean URL: /directory/username or /directory/123 $clean_base_url = strtok( $current_url, '?' ); // Remove pagination from URL if present to get the base directory URL $clean_base_url = preg_replace( '#/page/\d+/?$#', '', $clean_base_url ); $clean_base_url = rtrim( $clean_base_url, '/' ); - return esc_url( $clean_base_url . '/' . $slug ); + return esc_url( $clean_base_url . '/' . rawurlencode( (string) $user_identifier ) ); } + // Parse the current URL and clean it + $parsed_url = wp_parse_url( $current_url ); + $scheme = isset( $parsed_url['scheme'] ) ? $parsed_url['scheme'] : 'http'; + $host = isset( $parsed_url['host'] ) ? $parsed_url['host'] : ''; + $path = isset( $parsed_url['path'] ) ? $parsed_url['path'] : ''; + + // Remove any page numbers from path (e.g., /page/2/) + $path = preg_replace( '#/page/\d+/?$#', '/', $path ); + $path = rtrim( $path, '/' ); + + // Rebuild the base URL without query parameters + $current_url = $scheme . '://' . $host . $path; + // Check if pretty URLs are enabled if ( get_option( 'permalink_structure' ) ) { // Clean URL format matching Pro: /ud/username (no extra /user/ segment) - $current_url = rtrim( $current_url, '/' ); - - return esc_url( $current_url . '/' . $slug ); + return esc_url( $current_url . '/' . rawurlencode( (string) $user_identifier ) ); } // Fallback to query parameter @@ -369,7 +425,7 @@ function wpuf_ud_get_profile_data( $user, $template_data = [], $layout = 'layout 'bio' => get_user_meta( $user->ID, 'description', true ), ]; - // Build contact info with proper icons for layout-2 (emerald/green theme) + // Build contact info - Using Pro-style icons with green circular background $contact_info = []; if ( ! empty( $user->user_email ) ) { $contact_info['email'] = [ @@ -389,12 +445,19 @@ function wpuf_ud_get_profile_data( $user, $template_data = [], $layout = 'layout ]; } - // Build template config + // Build template config - Read from template_data if available + $default_tabs = [ 'about', 'posts', 'comments', 'file' ]; + if ( isset( $template_data['default_tabs'] ) && is_array( $template_data['default_tabs'] ) ) { + $default_tabs = $template_data['default_tabs']; + } elseif ( isset( $settings['default_tabs'] ) && is_array( $settings['default_tabs'] ) ) { + $default_tabs = $settings['default_tabs']; + } + $template_config = [ - 'show_avatar' => true, - 'enable_tabs' => true, - 'default_tabs' => [ 'about', 'posts', 'comments', 'file' ], - 'default_active_tab'=> 'about', + 'show_avatar' => isset( $template_data['show_avatar'] ) ? $template_data['show_avatar'] : true, + 'enable_tabs' => isset( $template_data['enable_tabs'] ) ? $template_data['enable_tabs'] : true, + 'default_tabs' => $default_tabs, + 'default_active_tab'=> isset( $template_data['default_active_tab'] ) ? $template_data['default_active_tab'] : 'about', 'avatar_size' => $avatar_size, 'custom_tab_labels' => [ 'about' => __( 'About', 'wp-user-frontend' ), @@ -555,7 +618,6 @@ function wpuf_ud_get_tab_label( $tab, $profile_data = [] ) { 'about' => __( 'About', 'wp-user-frontend' ), 'posts' => __( 'Posts', 'wp-user-frontend' ), 'comments' => __( 'Comments', 'wp-user-frontend' ), - 'file' => __( 'Files', 'wp-user-frontend' ), 'files' => __( 'Files', 'wp-user-frontend' ), 'activity' => __( 'Activity', 'wp-user-frontend' ), ]; diff --git a/includes/Free/User_Directory/Post_Type.php b/modules/user-directory/Post_Type.php similarity index 97% rename from includes/Free/User_Directory/Post_Type.php rename to modules/user-directory/Post_Type.php index 45589f2ec..c678ed3c8 100644 --- a/includes/Free/User_Directory/Post_Type.php +++ b/modules/user-directory/Post_Type.php @@ -3,11 +3,11 @@ * User Directory Post Type Registration * * @package WPUF - * @subpackage Free/User_Directory + * @subpackage Modules/User_Directory * @since 4.3.0 */ -namespace WeDevs\Wpuf\Free\User_Directory; +namespace WeDevs\Wpuf\Modules\User_Directory; if ( ! defined( 'ABSPATH' ) ) { exit; diff --git a/includes/Free/User_Directory/PrettyUrls.php b/modules/user-directory/PrettyUrls.php similarity index 97% rename from includes/Free/User_Directory/PrettyUrls.php rename to modules/user-directory/PrettyUrls.php index 8c8ed750a..a3bcc7f35 100644 --- a/includes/Free/User_Directory/PrettyUrls.php +++ b/modules/user-directory/PrettyUrls.php @@ -3,11 +3,11 @@ * User Directory Pretty URLs Handler * * @package WPUF - * @subpackage Free/User_Directory + * @subpackage Modules/User_Directory * @since 4.3.0 */ -namespace WeDevs\Wpuf\Free\User_Directory; +namespace WeDevs\Wpuf\Modules\User_Directory; if ( ! defined( 'ABSPATH' ) ) { exit; diff --git a/includes/Free/User_Directory/Shortcode.php b/modules/user-directory/Shortcode.php similarity index 92% rename from includes/Free/User_Directory/Shortcode.php rename to modules/user-directory/Shortcode.php index 6d0c9be2c..47c10ecf0 100644 --- a/includes/Free/User_Directory/Shortcode.php +++ b/modules/user-directory/Shortcode.php @@ -3,11 +3,11 @@ * User Directory Shortcode Handler * * @package WPUF - * @subpackage Free/User_Directory + * @subpackage Modules/User_Directory * @since 4.3.0 */ -namespace WeDevs\Wpuf\Free\User_Directory; +namespace WeDevs\Wpuf\Modules\User_Directory; if ( ! defined( 'ABSPATH' ) ) { exit; @@ -242,16 +242,9 @@ private function get_profile_user( $settings ) { * @return string HTML output. */ private function render_directory( $settings, $directory_id ) { - // Get current page - check WordPress query var first (for /page/X/ URLs), then legacy udpage param - $paged = get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1; - if ( ! $paged || 1 === $paged ) { - $paged = get_query_var( 'page' ) ? absint( get_query_var( 'page' ) ) : 1; - } - // Fallback to legacy udpage param for backwards compatibility + // Get current page // phpcs:ignore WordPress.Security.NonceVerification.Recommended - if ( ! $paged || 1 === $paged ) { - $paged = isset( $_GET['udpage'] ) ? absint( $_GET['udpage'] ) : 1; - } + $paged = isset( $_GET['udpage'] ) ? absint( $_GET['udpage'] ) : 1; $paged = max( 1, $paged ); // Ensure paged is at least 1 // Get search term @@ -396,17 +389,26 @@ private function render_directory( $settings, $directory_id ) { * @return string HTML output. */ private function render_profile( $user, $settings, $directory_id ) { - // Get profile size from settings (Free uses profile_size) - $profile_size = $settings['profile_size'] ?? 'thumbnail'; + // Get default tabs from settings or use Free version defaults + $default_tabs = [ 'about', 'posts', 'comments', 'file' ]; + if ( ! empty( $settings['default_tabs'] ) && is_array( $settings['default_tabs'] ) ) { + $default_tabs = $settings['default_tabs']; + } elseif ( ! empty( $settings['default_tabs'] ) && is_string( $settings['default_tabs'] ) ) { + $default_tabs = array_map( 'trim', explode( ',', $settings['default_tabs'] ) ); + } // Build profile data $profile_data = [ - 'user' => $user, - 'settings' => $settings, - 'directory_id' => $directory_id, - 'avatar_size' => absint( $settings['avatar_size'] ?? 192 ), - 'back_url' => $this->get_directory_url(), - 'profile_size' => $profile_size, + 'user' => $user, + 'settings' => $settings, + 'directory_id' => $directory_id, + 'avatar_size' => absint( $settings['avatar_size'] ?? 192 ), + 'back_url' => $this->get_directory_url(), + 'show_avatar' => ! empty( $settings['show_avatar'] ) || ! isset( $settings['show_avatar'] ), + 'enable_tabs' => ! empty( $settings['enable_tabs'] ) || ! isset( $settings['enable_tabs'] ), + 'default_tabs' => $default_tabs, + 'default_active_tab' => $settings['default_active_tab'] ?? 'about', + 'profile_size' => $settings['profile_size'] ?? 'thumbnail', ]; /** diff --git a/includes/Free/User_Directory/User_Directory.php b/modules/user-directory/User_Directory.php similarity index 98% rename from includes/Free/User_Directory/User_Directory.php rename to modules/user-directory/User_Directory.php index fe73351a9..e73b2eb2c 100644 --- a/includes/Free/User_Directory/User_Directory.php +++ b/modules/user-directory/User_Directory.php @@ -6,11 +6,11 @@ * Full features available in Pro. * * @package WPUF - * @subpackage Free + * @subpackage Modules/User_Directory * @since 4.3.0 */ -namespace WeDevs\Wpuf\Free\User_Directory; +namespace WeDevs\Wpuf\Modules\User_Directory; if ( ! defined( 'ABSPATH' ) ) { exit; diff --git a/includes/Free/User_Directory/views/admin-page.php b/modules/user-directory/views/admin-page.php similarity index 93% rename from includes/Free/User_Directory/views/admin-page.php rename to modules/user-directory/views/admin-page.php index 99c9f77f7..6125cfa14 100644 --- a/includes/Free/User_Directory/views/admin-page.php +++ b/modules/user-directory/views/admin-page.php @@ -3,7 +3,7 @@ * User Directory Admin Page Template * * @package WPUF - * @subpackage Free/User_Directory + * @subpackage Modules/User_Directory * @since 4.3.0 */ diff --git a/includes/Free/User_Directory/views/directory/layout-3.php b/modules/user-directory/views/directory/layout-3.php similarity index 100% rename from includes/Free/User_Directory/views/directory/layout-3.php rename to modules/user-directory/views/directory/layout-3.php diff --git a/includes/Free/User_Directory/views/directory/template-parts/pagination-shortcode.php b/modules/user-directory/views/directory/template-parts/pagination-shortcode.php similarity index 100% rename from includes/Free/User_Directory/views/directory/template-parts/pagination-shortcode.php rename to modules/user-directory/views/directory/template-parts/pagination-shortcode.php diff --git a/includes/Free/User_Directory/views/directory/template-parts/row-3.php b/modules/user-directory/views/directory/template-parts/row-3.php similarity index 100% rename from includes/Free/User_Directory/views/directory/template-parts/row-3.php rename to modules/user-directory/views/directory/template-parts/row-3.php diff --git a/includes/Free/User_Directory/views/directory/template-parts/search-field.php b/modules/user-directory/views/directory/template-parts/search-field.php similarity index 100% rename from includes/Free/User_Directory/views/directory/template-parts/search-field.php rename to modules/user-directory/views/directory/template-parts/search-field.php diff --git a/includes/Free/User_Directory/views/directory/template-parts/social-icons.php b/modules/user-directory/views/directory/template-parts/social-icons.php similarity index 100% rename from includes/Free/User_Directory/views/directory/template-parts/social-icons.php rename to modules/user-directory/views/directory/template-parts/social-icons.php diff --git a/includes/Free/User_Directory/views/directory/template-parts/sort-field.php b/modules/user-directory/views/directory/template-parts/sort-field.php similarity index 100% rename from includes/Free/User_Directory/views/directory/template-parts/sort-field.php rename to modules/user-directory/views/directory/template-parts/sort-field.php diff --git a/includes/Free/User_Directory/views/profile/layout-2.php b/modules/user-directory/views/profile/layout-2.php similarity index 100% rename from includes/Free/User_Directory/views/profile/layout-2.php rename to modules/user-directory/views/profile/layout-2.php diff --git a/includes/Free/User_Directory/views/profile/template-parts/about-2.php b/modules/user-directory/views/profile/template-parts/about-2.php similarity index 100% rename from includes/Free/User_Directory/views/profile/template-parts/about-2.php rename to modules/user-directory/views/profile/template-parts/about-2.php diff --git a/includes/Free/User_Directory/views/profile/template-parts/comments-2.php b/modules/user-directory/views/profile/template-parts/comments-2.php similarity index 100% rename from includes/Free/User_Directory/views/profile/template-parts/comments-2.php rename to modules/user-directory/views/profile/template-parts/comments-2.php diff --git a/includes/Free/User_Directory/views/profile/template-parts/file-2.php b/modules/user-directory/views/profile/template-parts/file-2.php similarity index 100% rename from includes/Free/User_Directory/views/profile/template-parts/file-2.php rename to modules/user-directory/views/profile/template-parts/file-2.php diff --git a/includes/Free/User_Directory/views/profile/template-parts/posts-2.php b/modules/user-directory/views/profile/template-parts/posts-2.php similarity index 100% rename from includes/Free/User_Directory/views/profile/template-parts/posts-2.php rename to modules/user-directory/views/profile/template-parts/posts-2.php diff --git a/includes/Free/User_Directory/views/profile/template-parts/user-avatar.php b/modules/user-directory/views/profile/template-parts/user-avatar.php similarity index 93% rename from includes/Free/User_Directory/views/profile/template-parts/user-avatar.php rename to modules/user-directory/views/profile/template-parts/user-avatar.php index 163ec45d7..6b101a53f 100644 --- a/includes/Free/User_Directory/views/profile/template-parts/user-avatar.php +++ b/modules/user-directory/views/profile/template-parts/user-avatar.php @@ -36,7 +36,7 @@ $can_edit = is_user_logged_in() && get_current_user_id() === $user->ID; ?> -
    +
    ( - - PRO - -); - -const Header = ({ utm = 'wpuf-header' }) => { +const Header = ({ utm = 'wpuf-user-directory' }) => { // Get wpuf_admin_script from global const wpuf = window.wpuf_admin_script || {}; const logoUrl = (wpuf.asset_url || '') + '/images/wpuf-icon-circle.svg'; const upgradeUrl = (wpuf.upgradeUrl || 'https://wedevs.com/wp-user-frontend-pro/pricing/') + '?utm_source=' + utm + '&utm_medium=wpuf-header'; + const supportUrl = wpuf.support_url || 'https://wedevs.com/account/tickets/'; const version = wpuf.version || ''; + const isProActive = wpuf.isProActive || false; + + // Initialize Headway widget on mount + useEffect(() => { + // Headway configuration if available + if (window.Headway) { + window.Headway.init({ + selector: '#wpuf-user-directory-headway-icon', + account: 'xGYQ1y', + }); + } + }, []); return ( -
    +
    WPUF Icon

    {__('WP User Frontend', 'wp-user-frontend')}

    {version && ( - + v{version} )} + {!isProActive && ( + + {__('Upgrade to PRO', 'wp-user-frontend')} + + )}
    -
    +
    + {/* Headway Icon */} + + {/* Submit Ideas Link */} { 💡 {__('Submit Ideas', 'wp-user-frontend')} - {/* Upgrade to Pro Button */} + {/* Support Button */} - - - - {__('Upgrade to Pro', 'wp-user-frontend')} + {__('Support', 'wp-user-frontend')} +    +
    diff --git a/tailwind.config.js b/tailwind.config.js index 695d597ba..9a89a4e54 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -14,9 +14,9 @@ module.exports = { // New paths from upstream (for subscription templates) './templates/**/*.php', './src/**/*.{js,css}', - // Free User Directory frontend templates - './includes/Free/User_Directory/**/*.php', - './includes/Free/User_Directory/views/**/*.php', + // Free User Directory module templates + './modules/user-directory/**/*.php', + './modules/user-directory/views/**/*.php', ], theme: { extend: { diff --git a/wpuf-functions.php b/wpuf-functions.php index a4d55bcd0..06b6ae1dc 100644 --- a/wpuf-functions.php +++ b/wpuf-functions.php @@ -5,6 +5,9 @@ use WeDevs\Wpuf\Free\Pro_Prompt; use WeDevs\Wpuf\Frontend\Payment; +// Include modules functions +require_once WPUF_INCLUDES . '/functions/modules.php'; + /** * Start output buffering * From a063095d60967cb3bc0cd3059b3c28cd6f5453f9 Mon Sep 17 00:00:00 2001 From: Ariful Hoque Date: Mon, 22 Dec 2025 12:03:31 +0600 Subject: [PATCH 06/20] Refactor user directory module structure and build config Moved user directory assets and configs to modules/user-directory, updated Gruntfile.js to reflect new paths, and adjusted build/watch tasks. Renamed Tailwind and Webpack configs, added PostCSS config, and updated package files to support the new module structure. --- Gruntfile.js | 6 +- modules/user-directory/package-lock.json | 5073 +++++++++ modules/user-directory/package.json | 33 + modules/user-directory/postcss.config.js | 6 + .../user-directory/tailwind.config.js | 63 +- .../user-directory/webpack.config.js | 10 +- package-lock.json | 9306 +++++------------ package.json | 16 +- src/js/user-directory/App.js | 22 +- .../components/DirectoryList.js | 164 +- .../components/common/Header.js | 2 +- .../components/steps/StepAdvanced.js | 18 +- .../components/steps/StepTabs.js | 78 +- src/js/user-directory/styles/main.css | 272 +- 14 files changed, 8226 insertions(+), 6843 deletions(-) create mode 100644 modules/user-directory/package-lock.json create mode 100644 modules/user-directory/package.json create mode 100644 modules/user-directory/postcss.config.js rename tailwind.user-directory.config.js => modules/user-directory/tailwind.config.js (64%) rename webpack.user-directory.config.js => modules/user-directory/webpack.config.js (87%) diff --git a/Gruntfile.js b/Gruntfile.js index b655a2b23..10c977d7c 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -163,9 +163,11 @@ module.exports = function( grunt) { userDirectory: { files: [ + 'src/js/user-directory/**/*.js', + 'src/js/user-directory/**/*.jsx', + 'src/js/user-directory/**/*.css', 'src/js/user-directory/styles/*.css', - 'includes/Free/User_Directory/**/*.php', - 'includes/Free/User_Directory/views/**/*.php', + 'modules/user-directory/**/*.php', ], tasks: ['build-user-directory'], options: { diff --git a/modules/user-directory/package-lock.json b/modules/user-directory/package-lock.json new file mode 100644 index 000000000..9a4f53d24 --- /dev/null +++ b/modules/user-directory/package-lock.json @@ -0,0 +1,5073 @@ +{ + "name": "wpuf-user-directory-free", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "wpuf-user-directory-free", + "version": "1.0.0", + "license": "GPL", + "dependencies": { + "@wordpress/i18n": "^4.52.0" + }, + "devDependencies": { + "@babel/core": "^7.28.0", + "@babel/preset-env": "^7.28.0", + "@babel/preset-react": "^7.27.1", + "@tailwindcss/forms": "^0.5.10", + "@wordpress/dependency-extraction-webpack-plugin": "^6.23.0", + "autoprefixer": "^10.4.21", + "babel-loader": "^9.2.1", + "css-loader": "^7.1.2", + "mini-css-extract-plugin": "^2.9.2", + "postcss": "^8.4.38", + "postcss-loader": "^8.1.1", + "tailwindcss": "^3.4.17", + "tailwindcss-scoped-preflight": "^3.5.4", + "webpack": "^5.101.0", + "webpack-cli": "^5.1.4" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", + "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", + "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.4", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", + "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.5.tgz", + "integrity": "sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.28.5", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz", + "integrity": "sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "regexpu-core": "^6.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz", + "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "debug": "^4.4.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.22.10" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", + "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", + "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-wrap-function": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz", + "integrity": "sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.3", + "@babel/types": "^7.28.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.5" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.28.5.tgz", + "integrity": "sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", + "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz", + "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", + "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz", + "integrity": "sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz", + "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", + "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", + "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", + "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz", + "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1", + "@babel/traverse": "^7.28.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", + "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", + "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.5.tgz", + "integrity": "sha512-45DmULpySVvmq9Pj3X9B+62Xe+DJGov27QravQJU1LLcapR6/10i+gYVAucGGJpHBp5mYxIMK4nDAT/QDLr47g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz", + "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz", + "integrity": "sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.3", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.4.tgz", + "integrity": "sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-globals": "^7.28.0", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/traverse": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", + "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/template": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz", + "integrity": "sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz", + "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", + "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", + "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-explicit-resource-management": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz", + "integrity": "sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.5.tgz", + "integrity": "sha512-D4WIMaFtwa2NizOp+dnoFjRez/ClKiC2BqqImwKd1X28nqBtZEyCYJ2ozQrrzlxAFrcrjxo39S6khe9RNDlGzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", + "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", + "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", + "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz", + "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", + "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.5.tgz", + "integrity": "sha512-axUuqnUTBuXyHGcJEVVh9pORaN6wC5bYfE7FGzPiaWa3syib9m7g+/IT/4VgCOe2Upef43PHzeAvcrVek6QuuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", + "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", + "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", + "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.28.5.tgz", + "integrity": "sha512-vn5Jma98LCOeBy/KpeQhXcV2WZgaRUtjwQmjoBuLNlOmkg0fB5pdvYVeWRYI69wWKwK2cD1QbMiUQnoujWvrew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", + "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", + "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz", + "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz", + "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.4.tgz", + "integrity": "sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/traverse": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", + "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz", + "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.5.tgz", + "integrity": "sha512-N6fut9IZlPnjPwgiQkXNhb+cT8wQKFlJNqcZkWlcTqkcqx6/kU4ynGmLFoa4LViBSirn05YAwk+sQBbPfxtYzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", + "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz", + "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz", + "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", + "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz", + "integrity": "sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz", + "integrity": "sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz", + "integrity": "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz", + "integrity": "sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.4.tgz", + "integrity": "sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz", + "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", + "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", + "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz", + "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", + "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", + "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", + "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", + "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz", + "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", + "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz", + "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.5.tgz", + "integrity": "sha512-S36mOoi1Sb6Fz98fBfE+UZSpYw5mJm0NUHtIKrOuNcqeFauy1J6dIvXm2KRVKobOSaGq4t/hBXdN4HGU3wL9Wg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.5", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.3", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-import-assertions": "^7.27.1", + "@babel/plugin-syntax-import-attributes": "^7.27.1", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.28.0", + "@babel/plugin-transform-async-to-generator": "^7.27.1", + "@babel/plugin-transform-block-scoped-functions": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.28.5", + "@babel/plugin-transform-class-properties": "^7.27.1", + "@babel/plugin-transform-class-static-block": "^7.28.3", + "@babel/plugin-transform-classes": "^7.28.4", + "@babel/plugin-transform-computed-properties": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.5", + "@babel/plugin-transform-dotall-regex": "^7.27.1", + "@babel/plugin-transform-duplicate-keys": "^7.27.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-dynamic-import": "^7.27.1", + "@babel/plugin-transform-explicit-resource-management": "^7.28.0", + "@babel/plugin-transform-exponentiation-operator": "^7.28.5", + "@babel/plugin-transform-export-namespace-from": "^7.27.1", + "@babel/plugin-transform-for-of": "^7.27.1", + "@babel/plugin-transform-function-name": "^7.27.1", + "@babel/plugin-transform-json-strings": "^7.27.1", + "@babel/plugin-transform-literals": "^7.27.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.28.5", + "@babel/plugin-transform-member-expression-literals": "^7.27.1", + "@babel/plugin-transform-modules-amd": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-modules-systemjs": "^7.28.5", + "@babel/plugin-transform-modules-umd": "^7.27.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-new-target": "^7.27.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", + "@babel/plugin-transform-numeric-separator": "^7.27.1", + "@babel/plugin-transform-object-rest-spread": "^7.28.4", + "@babel/plugin-transform-object-super": "^7.27.1", + "@babel/plugin-transform-optional-catch-binding": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.28.5", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/plugin-transform-private-methods": "^7.27.1", + "@babel/plugin-transform-private-property-in-object": "^7.27.1", + "@babel/plugin-transform-property-literals": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.28.4", + "@babel/plugin-transform-regexp-modifiers": "^7.27.1", + "@babel/plugin-transform-reserved-words": "^7.27.1", + "@babel/plugin-transform-shorthand-properties": "^7.27.1", + "@babel/plugin-transform-spread": "^7.27.1", + "@babel/plugin-transform-sticky-regex": "^7.27.1", + "@babel/plugin-transform-template-literals": "^7.27.1", + "@babel/plugin-transform-typeof-symbol": "^7.27.1", + "@babel/plugin-transform-unicode-escapes": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.27.1", + "@babel/plugin-transform-unicode-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "core-js-compat": "^3.43.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.28.5.tgz", + "integrity": "sha512-Z3J8vhRq7CeLjdC58jLv4lnZ5RKFUJWqH5emvxmv9Hv3BD1T9R/Im713R4MTKwvFaV74ejZ3sM01LyEKk4ugNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-transform-react-display-name": "^7.28.0", + "@babel/plugin-transform-react-jsx": "^7.27.1", + "@babel/plugin-transform-react-jsx-development": "^7.27.1", + "@babel/plugin-transform-react-pure-annotations": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", + "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", + "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.5", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", + "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@tailwindcss/forms": { + "version": "0.5.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.11.tgz", + "integrity": "sha512-h9wegbZDPurxG22xZSoWtdzc41/OlNEUQERNqI/0fOwa2aVlWGu7C35E/x6LDyD3lgtztFSSjKZyuVM0hxhbgA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mini-svg-data-uri": "^1.2.3" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20 || >= 4.0.0-beta.1" + } + }, + "node_modules/@tannin/compile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@tannin/compile/-/compile-1.1.0.tgz", + "integrity": "sha512-n8m9eNDfoNZoxdvWiTfW/hSPhehzLJ3zW7f8E7oT6mCROoMNWCB4TYtv041+2FMAxweiE0j7i1jubQU4MEC/Gg==", + "license": "MIT", + "dependencies": { + "@tannin/evaluate": "^1.2.0", + "@tannin/postfix": "^1.1.0" + } + }, + "node_modules/@tannin/evaluate": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@tannin/evaluate/-/evaluate-1.2.0.tgz", + "integrity": "sha512-3ioXvNowbO/wSrxsDG5DKIMxC81P0QrQTYai8zFNY+umuoHWRPbQ/TuuDEOju9E+jQDXmj6yI5GyejNuh8I+eg==", + "license": "MIT" + }, + "node_modules/@tannin/plural-forms": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@tannin/plural-forms/-/plural-forms-1.1.0.tgz", + "integrity": "sha512-xl9R2mDZO/qiHam1AgMnAES6IKIg7OBhcXqy6eDsRCdXuxAFPcjrej9HMjyCLE0DJ/8cHf0i5OQTstuBRhpbHw==", + "license": "MIT", + "dependencies": { + "@tannin/compile": "^1.1.0" + } + }, + "node_modules/@tannin/postfix": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@tannin/postfix/-/postfix-1.1.0.tgz", + "integrity": "sha512-oocsqY7g0cR+Gur5jRQLSrX2OtpMLMse1I10JQBm8CdGMrDkh1Mg2gjsiquMHRtBs4Qwu5wgEp5GgIYHk4SNPw==", + "license": "MIT" + }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "25.0.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.0.3.tgz", + "integrity": "sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", + "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", + "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", + "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/@wordpress/dependency-extraction-webpack-plugin": { + "version": "6.36.0", + "resolved": "https://registry.npmjs.org/@wordpress/dependency-extraction-webpack-plugin/-/dependency-extraction-webpack-plugin-6.36.0.tgz", + "integrity": "sha512-x59HhuZflt6gjm74m5ymuJgLsfvY0pwYhfy42SfrYN/V59vXkl5S6jEmzhlUsdDGVrQG6lSVDJm7n5btohPXvg==", + "dev": true, + "license": "GPL-2.0-or-later", + "dependencies": { + "json2php": "^0.0.7" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/@wordpress/hooks": { + "version": "3.58.0", + "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-3.58.0.tgz", + "integrity": "sha512-9LB0ZHnZRQlORttux9t/xbAskF+dk2ujqzPGsVzc92mSKpQP3K2a5Wy74fUnInguB1vLUNHT6nrNdkVom5qX1Q==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@babel/runtime": "^7.16.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@wordpress/i18n": { + "version": "4.58.0", + "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.58.0.tgz", + "integrity": "sha512-VfvS3BWv/RDjRKD6PscIcvYfWKnGJcI/DEqyDgUMhxCM6NRwoL478CsUKTiGJIymeyRodNRfprdcF086DpGKYw==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@babel/runtime": "^7.16.0", + "@wordpress/hooks": "^3.58.0", + "gettext-parser": "^1.3.1", + "memize": "^2.1.0", + "sprintf-js": "^1.1.1", + "tannin": "^1.2.0" + }, + "bin": { + "pot-to-php": "tools/pot-to-php.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-phases": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "acorn": "^8.14.0" + } + }, + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true, + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/autoprefixer": { + "version": "10.4.23", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.23.tgz", + "integrity": "sha512-YYTXSFulfwytnjAPlw8QHncHJmlvFKtczb8InXaAx9Q0LbfDnfEYDE55omerIJKihhmU61Ft+cAOSzQVaBUmeA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.1", + "caniuse-lite": "^1.0.30001760", + "fraction.js": "^5.3.4", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/babel-loader": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", + "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-cache-dir": "^4.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", + "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.7", + "@babel/helper-define-polyfill-provider": "^0.6.5", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", + "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.5", + "core-js-compat": "^3.43.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", + "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.5" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.11", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.11.tgz", + "integrity": "sha512-Sg0xJUNDU1sJNGdfGWhVHX0kkZ+HWcvmVymJbj6NSgZZmW/8S9Y2HQ5euytnIgakgxN6papOAWiwDo1ctFDcoQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001761", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001761.tgz", + "integrity": "sha512-JF9ptu1vP2coz98+5051jZ4PwQgd2ni8A+gYSN7EA7dPKIMf0pDlSUxhdmVOaV3/fYK5uWBkgSXJaRLr4+3A6g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", + "dev": true, + "license": "ISC" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/core-js-compat": { + "version": "3.47.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.47.0.tgz", + "integrity": "sha512-IGfuznZ/n7Kp9+nypamBhvwdwLsW6KC8IOaURw2doAK5e98AG3acVLdh0woOnEqCfUtS+Vu882JE4k/DAm3ItQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/cosmiconfig": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-loader": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz", + "integrity": "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==", + "dev": true, + "license": "MIT", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.27.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/css-loader/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.267", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", + "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==", + "dev": true, + "license": "ISC" + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "license": "MIT", + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.18.4", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz", + "integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/envinfo": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.21.0.tgz", + "integrity": "sha512-Lw7I8Zp5YKHFCXL7+Dz95g4CcbMEpgvqZNNq3AmlT5XAV6CgAAk6gyAMqn2zjw08K9BHfcNuKrMiCPLByGafow==", + "dev": true, + "license": "MIT", + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-module-lexer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", + "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", + "dev": true, + "license": "MIT" + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", + "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/fraction.js": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", + "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/gettext-parser": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/gettext-parser/-/gettext-parser-1.4.0.tgz", + "integrity": "sha512-sedZYLHlHeBop/gZ1jdg59hlUEcpcZJofLq2JFwJT1zTqAU3l2wFv6IsuwFHGqbiT9DWzMUW4/em2+hspnmMMA==", + "license": "MIT", + "dependencies": { + "encoding": "^0.1.12", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-local/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-local/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local/node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/json2php": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/json2php/-/json2php-0.0.7.tgz", + "integrity": "sha512-dnSoUiLAoVaMXxFsVi4CrPVYMKOuDBXTghXSmMINX44RZ8WM9cXlY7UqrQnlAcODCVO7FV3+8t/5nDKAjimLfg==", + "dev": true, + "license": "BSD" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/loader-runner": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", + "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/memize": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/memize/-/memize-2.1.1.tgz", + "integrity": "sha512-8Nl+i9S5D6KXnruM03Jgjb+LwSupvR13WBr4hJegaaEyobvowCVupi79y2WSiWvO1mzBWxPwEYE5feCe8vyA5w==", + "license": "MIT" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.9.4", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.4.tgz", + "integrity": "sha512-ZWYT7ln73Hptxqxk2DxPU9MmapXRhxkJD6tkSR04dnQxm8BGu2hzgKLugK5yySD97u/8yy7Ma7E76k9ZdvtjkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/mini-svg-data-uri": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", + "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", + "dev": true, + "license": "MIT", + "bin": { + "mini-svg-data-uri": "cli.js" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^6.3.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.1.0.tgz", + "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz", + "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.1.1" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "jiti": ">=1.21.0", + "postcss": ">=8.0.9", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/postcss-loader": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-8.2.0.tgz", + "integrity": "sha512-tHX+RkpsXVcc7st4dSdDGliI+r4aAQDuv+v3vFYHixb6YgjreG5AG4SEB0kDK8u2s6htqEEpKlkhSBUTvWKYnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cosmiconfig": "^9.0.0", + "jiti": "^2.5.1", + "semver": "^7.6.2" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/postcss-loader/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", + "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", + "dev": true, + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-nested/node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz", + "integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regexpu-core": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz", + "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.2", + "regjsgen": "^0.8.0", + "regjsparser": "^0.13.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.2.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/regjsparser": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.0.tgz", + "integrity": "sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~3.1.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "license": "BSD-3-Clause" + }, + "node_modules/sucrase": { + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz", + "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "tinyglobby": "^0.2.11", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.19", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.19.tgz", + "integrity": "sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.6.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.2", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.7", + "lilconfig": "^3.1.3", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss-scoped-preflight": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/tailwindcss-scoped-preflight/-/tailwindcss-scoped-preflight-3.5.4.tgz", + "integrity": "sha512-fTb000/8BxNBuu6/jlws+pDbLfjVABR53BzhZovlYwBBCyzbgefeEAv7311WEpWrbJENv1LsdY3iWWVu2Bb7Vw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "postcss": "^8", + "tailwindcss": "^3" + } + }, + "node_modules/tailwindcss/node_modules/jiti": { + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/tailwindcss/node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tannin": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tannin/-/tannin-1.2.0.tgz", + "integrity": "sha512-U7GgX/RcSeUETbV7gYgoz8PD7Ni4y95pgIP/Z6ayI3CfhSujwKEBlGFTCRN+Aqnuyf4AN2yHL+L8x+TCGjb9uA==", + "license": "MIT", + "dependencies": { + "@tannin/plural-forms": "^1.1.0" + } + }, + "node_modules/tapable": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser": { + "version": "5.44.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.44.1.tgz", + "integrity": "sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.16", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.16.tgz", + "integrity": "sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "serialize-javascript": "^6.0.2", + "terser": "^5.31.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "dev": true, + "license": "MIT" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz", + "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz", + "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/watchpack": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", + "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack": { + "version": "5.104.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.104.1.tgz", + "integrity": "sha512-Qphch25abbMNtekmEGJmeRUhLDbe+QfiWTiqpKYkpCOWY64v9eyl+KRRLmqOFA2AvKPpc9DC6+u2n76tQLBoaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.15.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.28.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.4", + "es-module-lexer": "^2.0.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.3.1", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^4.3.3", + "tapable": "^2.3.0", + "terser-webpack-plugin": "^5.3.16", + "watchpack": "^2.4.4", + "webpack-sources": "^3.3.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-cli": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", + "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.1.1", + "@webpack-cli/info": "^2.0.2", + "@webpack-cli/serve": "^2.0.5", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz", + "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yocto-queue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", + "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/modules/user-directory/package.json b/modules/user-directory/package.json new file mode 100644 index 000000000..f7dea4916 --- /dev/null +++ b/modules/user-directory/package.json @@ -0,0 +1,33 @@ +{ + "name": "wpuf-user-directory-free", + "version": "1.0.0", + "description": "User Directory module for WP User Frontend Free", + "author": "weDevs", + "license": "GPL", + "private": true, + "devDependencies": { + "@babel/core": "^7.28.0", + "@babel/preset-env": "^7.28.0", + "@babel/preset-react": "^7.27.1", + "@tailwindcss/forms": "^0.5.10", + "@wordpress/dependency-extraction-webpack-plugin": "^6.23.0", + "autoprefixer": "^10.4.21", + "babel-loader": "^9.2.1", + "css-loader": "^7.1.2", + "mini-css-extract-plugin": "^2.9.2", + "postcss": "^8.4.38", + "postcss-loader": "^8.1.1", + "tailwindcss": "^3.4.17", + "tailwindcss-scoped-preflight": "^3.5.4", + "webpack": "^5.101.0", + "webpack-cli": "^5.1.4" + }, + "scripts": { + "build": "NODE_ENV=production webpack --config webpack.config.js --mode=production", + "dev": "NODE_ENV=development webpack --config webpack.config.js --watch --mode=development", + "start": "NODE_ENV=development webpack --config webpack.config.js --watch --mode=development" + }, + "dependencies": { + "@wordpress/i18n": "^4.52.0" + } +} diff --git a/modules/user-directory/postcss.config.js b/modules/user-directory/postcss.config.js new file mode 100644 index 000000000..67cdf1a55 --- /dev/null +++ b/modules/user-directory/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/tailwind.user-directory.config.js b/modules/user-directory/tailwind.config.js similarity index 64% rename from tailwind.user-directory.config.js rename to modules/user-directory/tailwind.config.js index 050dfb442..9611c7bde 100644 --- a/tailwind.user-directory.config.js +++ b/modules/user-directory/tailwind.config.js @@ -1,22 +1,21 @@ -/** - * Tailwind CSS Configuration for User Directory Free - * - * Uses wpuf- prefix to avoid conflicts - * - * @package WPUF - * @subpackage Free/User_Directory - * @since 4.3.0 - */ - /** @type {import('tailwindcss').Config} */ +import { + scopedPreflightStyles, + isolateInsideOfContainer, +} from 'tailwindcss-scoped-preflight'; + module.exports = { prefix: 'wpuf-', content: [ - './src/js/user-directory/**/*.js', - './src/js/user-directory/**/*.jsx', - './includes/Free/User_Directory/views/**/*.php', + '../../src/js/user-directory/**/*.js', + '../../src/js/user-directory/**/*.jsx', + './views/**/*.php', ], safelist: [ + // Responsive classes used in components + 'sm:wpuf-pl-6', + 'sm:wpuf-pr-6', + 'md:wpuf-inline-block', // Purple color classes for layout colors (with ! prefix) 'wpuf-bg-purple-500', 'wpuf-bg-purple-600', @@ -56,10 +55,6 @@ module.exports = { '!wpuf-border-emerald-600', '!wpuf-border-emerald-700', '!wpuf-ring-emerald-500', - '!hover:wpuf-text-emerald-600', - '!hover:wpuf-bg-emerald-700', - '!hover:wpuf-border-emerald-600', - '!focus:wpuf-ring-emerald-500', 'hover:!wpuf-bg-emerald-700', 'hover:!wpuf-bg-emerald-100', 'hover:!wpuf-bg-emerald-50', @@ -77,28 +72,26 @@ module.exports = { '!wpuf-border-gray-800', '!wpuf-border-gray-700', '!wpuf-ring-gray-800', - '!hover:wpuf-text-gray-800', - '!hover:wpuf-bg-gray-700', - '!hover:wpuf-border-gray-800', - '!focus:wpuf-ring-gray-800', ], theme: { extend: { - animation: { - 'fade-in': 'fade-in 0.3s ease-out forwards', - 'spin': 'spin 1s linear infinite', - }, - keyframes: { - 'fade-in': { - '0%': { opacity: '0', transform: 'translateY(10px)' }, - '100%': { opacity: '1', transform: 'translateY(0)' }, - }, + colors: { + primary: '#059669', + primaryHover: '#10b981', }, }, }, - plugins: [], - // Important: This ensures our styles don't conflict with WordPress admin - corePlugins: { - preflight: false, // Disable base reset to avoid conflicts - }, + plugins: [ + scopedPreflightStyles({ + isolationStrategy: isolateInsideOfContainer( + [ + '.wpuf-user-directory', + '.wpuf-user-directory-setup', + '.wpuf-user-listing', + '.wpuf-user-profile', + ], {} + ), + }), + require('@tailwindcss/forms'), + ], }; diff --git a/webpack.user-directory.config.js b/modules/user-directory/webpack.config.js similarity index 87% rename from webpack.user-directory.config.js rename to modules/user-directory/webpack.config.js index 1786333ec..3e2c358e6 100644 --- a/webpack.user-directory.config.js +++ b/modules/user-directory/webpack.config.js @@ -1,10 +1,8 @@ /** * Webpack Configuration for User Directory Free * - * Based on Pro's user-directory module build setup - * * @package WPUF - * @subpackage Free/User_Directory + * @subpackage Modules/User_Directory * @since 4.3.0 */ @@ -14,13 +12,13 @@ const DependencyExtractionWebpackPlugin = require('@wordpress/dependency-extract module.exports = { entry: { - 'wpuf-user-directory-free': './src/js/user-directory/index.js', + 'wpuf-user-directory-free': '../../src/js/user-directory/index.js', }, output: { - path: path.resolve(__dirname, 'assets/js'), + path: path.resolve(__dirname, '../../assets/js'), filename: '[name].js', publicPath: '', - clean: false, // Don't clean other files + clean: false, }, module: { rules: [ diff --git a/package-lock.json b/package-lock.json index cc9b9ce18..8b0474a0d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,16 +22,10 @@ "vue-router": "^4.3.2" }, "devDependencies": { - "@babel/core": "^7.28.0", - "@babel/preset-env": "^7.28.0", - "@babel/preset-react": "^7.27.1", "@tailwindcss/forms": "^0.5.7", "@types/node": "^18.11.18", "@vitejs/plugin-vue": "^5.0.4", - "@wordpress/dependency-extraction-webpack-plugin": "^6.23.0", "autoprefixer": "^10.4.16", - "babel-loader": "^9.2.1", - "css-loader": "^7.1.2", "daisyui": "^4.12.2", "grunt": "^1.5.3", "grunt-contrib-clean": "~1.0.0", @@ -51,16 +45,12 @@ "grunt-wp-i18n": "^1.0.3", "grunt-wp-readme-to-markdown": "^2.0.1", "jshint-stylish": "^2.2.1", - "mini-css-extract-plugin": "^2.9.2", "postcss": "^8.4.31", - "postcss-loader": "^8.1.1", "prettier": "^3.2.5", "prettier-plugin-tailwindcss": "^0.5.11", "tailwindcss": "^3.3.5", "vitawind": "^2.3.0", - "vite": "^5.1.4", - "webpack": "^5.101.0", - "webpack-cli": "^5.1.4" + "vite": "^5.1.4" } }, "node_modules/@alloc/quick-lru": { @@ -68,1769 +58,56 @@ "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", - "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", - "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-module-transforms": "^7.28.3", - "@babel/helpers": "^7.28.4", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.5", - "@babel/types": "^7.28.5", - "@jridgewell/remapping": "^2.3.5", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@babel/core/node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@babel/core/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", - "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.28.5", - "@babel/types": "^7.28.5", - "@jridgewell/gen-mapping": "^0.3.12", - "@jridgewell/trace-mapping": "^0.3.28", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.27.3", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", - "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.27.3" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", - "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.27.2", - "@babel/helper-validator-option": "^7.27.1", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.5.tgz", - "integrity": "sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.3", - "@babel/helper-member-expression-to-functions": "^7.28.5", - "@babel/helper-optimise-call-expression": "^7.27.1", - "@babel/helper-replace-supers": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", - "@babel/traverse": "^7.28.5", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz", - "integrity": "sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.3", - "regexpu-core": "^6.3.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz", - "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-plugin-utils": "^7.27.1", - "debug": "^4.4.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.22.10" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@babel/helper-globals": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", - "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.28.5", - "@babel/types": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", - "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", - "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.28.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", - "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", - "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", - "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-wrap-function": "^7.27.1", - "@babel/traverse": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", - "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.27.1", - "@babel/helper-optimise-call-expression": "^7.27.1", - "@babel/traverse": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", - "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz", - "integrity": "sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.3", - "@babel/types": "^7.28.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", - "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", - "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.28.5" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.28.5.tgz", - "integrity": "sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", - "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz", - "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", - "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", - "@babel/plugin-transform-optional-chaining": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz", - "integrity": "sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.28.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz", - "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", - "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", - "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", - "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz", - "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-remap-async-to-generator": "^7.27.1", - "@babel/traverse": "^7.28.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", - "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-remap-async-to-generator": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", - "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.5.tgz", - "integrity": "sha512-45DmULpySVvmq9Pj3X9B+62Xe+DJGov27QravQJU1LLcapR6/10i+gYVAucGGJpHBp5mYxIMK4nDAT/QDLr47g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz", - "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz", - "integrity": "sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.28.3", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.4.tgz", - "integrity": "sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.3", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-globals": "^7.28.0", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-replace-supers": "^7.27.1", - "@babel/traverse": "^7.28.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", - "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/template": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz", - "integrity": "sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz", - "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", - "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz", - "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", - "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-explicit-resource-management": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz", - "integrity": "sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/plugin-transform-destructuring": "^7.28.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.5.tgz", - "integrity": "sha512-D4WIMaFtwa2NizOp+dnoFjRez/ClKiC2BqqImwKd1X28nqBtZEyCYJ2ozQrrzlxAFrcrjxo39S6khe9RNDlGzw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", - "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", - "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", - "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz", - "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", - "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.5.tgz", - "integrity": "sha512-axUuqnUTBuXyHGcJEVVh9pORaN6wC5bYfE7FGzPiaWa3syib9m7g+/IT/4VgCOe2Upef43PHzeAvcrVek6QuuA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", - "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", - "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", - "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.28.5.tgz", - "integrity": "sha512-vn5Jma98LCOeBy/KpeQhXcV2WZgaRUtjwQmjoBuLNlOmkg0fB5pdvYVeWRYI69wWKwK2cD1QbMiUQnoujWvrew==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.28.3", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5", - "@babel/traverse": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", - "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", - "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", - "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz", - "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz", - "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.4.tgz", - "integrity": "sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/plugin-transform-destructuring": "^7.28.0", - "@babel/plugin-transform-parameters": "^7.27.7", - "@babel/traverse": "^7.28.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", - "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-replace-supers": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz", - "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.5.tgz", - "integrity": "sha512-N6fut9IZlPnjPwgiQkXNhb+cT8wQKFlJNqcZkWlcTqkcqx6/kU4ynGmLFoa4LViBSirn05YAwk+sQBbPfxtYzQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.27.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", - "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz", - "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz", - "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-create-class-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", - "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz", - "integrity": "sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz", - "integrity": "sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/plugin-syntax-jsx": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz", - "integrity": "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz", - "integrity": "sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.4.tgz", - "integrity": "sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regexp-modifiers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz", - "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", - "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", - "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz", - "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", - "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", - "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", - "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", - "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz", - "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==", - "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, "engines": { - "node": ">=6.9.0" + "node": ">=10" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/plugin-transform-unicode-regex": { + "node_modules/@babel/helper-string-parser": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", - "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", - "dev": true, + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz", - "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==", - "dev": true, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, - "node_modules/@babel/preset-env": { + "node_modules/@babel/parser": { "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.5.tgz", - "integrity": "sha512-S36mOoi1Sb6Fz98fBfE+UZSpYw5mJm0NUHtIKrOuNcqeFauy1J6dIvXm2KRVKobOSaGq4t/hBXdN4HGU3wL9Wg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.28.5", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-validator-option": "^7.27.1", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5", - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.3", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-import-assertions": "^7.27.1", - "@babel/plugin-syntax-import-attributes": "^7.27.1", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.27.1", - "@babel/plugin-transform-async-generator-functions": "^7.28.0", - "@babel/plugin-transform-async-to-generator": "^7.27.1", - "@babel/plugin-transform-block-scoped-functions": "^7.27.1", - "@babel/plugin-transform-block-scoping": "^7.28.5", - "@babel/plugin-transform-class-properties": "^7.27.1", - "@babel/plugin-transform-class-static-block": "^7.28.3", - "@babel/plugin-transform-classes": "^7.28.4", - "@babel/plugin-transform-computed-properties": "^7.27.1", - "@babel/plugin-transform-destructuring": "^7.28.5", - "@babel/plugin-transform-dotall-regex": "^7.27.1", - "@babel/plugin-transform-duplicate-keys": "^7.27.1", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", - "@babel/plugin-transform-dynamic-import": "^7.27.1", - "@babel/plugin-transform-explicit-resource-management": "^7.28.0", - "@babel/plugin-transform-exponentiation-operator": "^7.28.5", - "@babel/plugin-transform-export-namespace-from": "^7.27.1", - "@babel/plugin-transform-for-of": "^7.27.1", - "@babel/plugin-transform-function-name": "^7.27.1", - "@babel/plugin-transform-json-strings": "^7.27.1", - "@babel/plugin-transform-literals": "^7.27.1", - "@babel/plugin-transform-logical-assignment-operators": "^7.28.5", - "@babel/plugin-transform-member-expression-literals": "^7.27.1", - "@babel/plugin-transform-modules-amd": "^7.27.1", - "@babel/plugin-transform-modules-commonjs": "^7.27.1", - "@babel/plugin-transform-modules-systemjs": "^7.28.5", - "@babel/plugin-transform-modules-umd": "^7.27.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1", - "@babel/plugin-transform-new-target": "^7.27.1", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", - "@babel/plugin-transform-numeric-separator": "^7.27.1", - "@babel/plugin-transform-object-rest-spread": "^7.28.4", - "@babel/plugin-transform-object-super": "^7.27.1", - "@babel/plugin-transform-optional-catch-binding": "^7.27.1", - "@babel/plugin-transform-optional-chaining": "^7.28.5", - "@babel/plugin-transform-parameters": "^7.27.7", - "@babel/plugin-transform-private-methods": "^7.27.1", - "@babel/plugin-transform-private-property-in-object": "^7.27.1", - "@babel/plugin-transform-property-literals": "^7.27.1", - "@babel/plugin-transform-regenerator": "^7.28.4", - "@babel/plugin-transform-regexp-modifiers": "^7.27.1", - "@babel/plugin-transform-reserved-words": "^7.27.1", - "@babel/plugin-transform-shorthand-properties": "^7.27.1", - "@babel/plugin-transform-spread": "^7.27.1", - "@babel/plugin-transform-sticky-regex": "^7.27.1", - "@babel/plugin-transform-template-literals": "^7.27.1", - "@babel/plugin-transform-typeof-symbol": "^7.27.1", - "@babel/plugin-transform-unicode-escapes": "^7.27.1", - "@babel/plugin-transform-unicode-property-regex": "^7.27.1", - "@babel/plugin-transform-unicode-regex": "^7.27.1", - "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.14", - "babel-plugin-polyfill-corejs3": "^0.13.0", - "babel-plugin-polyfill-regenerator": "^0.6.5", - "core-js-compat": "^3.43.0", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", - "dev": true, + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" + "@babel/types": "^7.28.5" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/preset-react": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.28.5.tgz", - "integrity": "sha512-Z3J8vhRq7CeLjdC58jLv4lnZ5RKFUJWqH5emvxmv9Hv3BD1T9R/Im713R4MTKwvFaV74ejZ3sM01LyEKk4ugNQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-validator-option": "^7.27.1", - "@babel/plugin-transform-react-display-name": "^7.28.0", - "@babel/plugin-transform-react-jsx": "^7.27.1", - "@babel/plugin-transform-react-jsx-development": "^7.27.1", - "@babel/plugin-transform-react-pure-annotations": "^7.27.1" + "bin": { + "parser": "bin/babel-parser.js" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=6.0.0" } }, "node_modules/@babel/runtime": { - "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz", - "integrity": "sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", - "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", - "dev": true, + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", + "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.5", - "debug": "^4.3.1" - }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/traverse/node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@babel/traverse/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, "node_modules/@babel/types": { "version": "7.28.5", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", @@ -1844,16 +121,6 @@ "node": ">=6.9.0" } }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/@esbuild/aix-ppc64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", @@ -1862,6 +129,7 @@ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "aix" @@ -1878,6 +146,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -1894,6 +163,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -1910,6 +180,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -1926,6 +197,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -1942,6 +214,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -1958,6 +231,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -1974,6 +248,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -1990,6 +265,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -2006,6 +282,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -2022,6 +299,7 @@ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -2038,6 +316,7 @@ "loong64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -2054,6 +333,7 @@ "mips64el" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -2070,6 +350,7 @@ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -2086,6 +367,7 @@ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -2102,6 +384,7 @@ "s390x" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -2118,6 +401,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -2134,6 +418,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "netbsd" @@ -2150,6 +435,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openbsd" @@ -2166,6 +452,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "sunos" @@ -2182,6 +469,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -2198,6 +486,7 @@ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -2214,6 +503,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -2226,6 +516,7 @@ "version": "1.7.23", "resolved": "https://registry.npmjs.org/@headlessui/vue/-/vue-1.7.23.tgz", "integrity": "sha512-JzdCNqurrtuu0YW6QaDtR2PIYCKPUWq28csDyMvN4zmGccmE7lz40Is6hc3LA4HFeCI7sekZ/PQMTNmn9I/4Wg==", + "license": "MIT", "dependencies": { "@tanstack/vue-virtual": "^3.0.0-beta.60" }, @@ -2240,15 +531,40 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/@heroicons/vue/-/vue-2.2.0.tgz", "integrity": "sha512-G3dbSxoeEKqbi/DFalhRxJU4mTXJn7GwZ7ae8NuEQzd1bqdd0jAbdaBZlHPcvPD2xI1iGzNVB4k20Un2AguYPw==", + "license": "MIT", "peerDependencies": { "vue": ">= 3" } }, + "node_modules/@isaacs/balanced-match": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", + "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/brace-expansion": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", + "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@isaacs/balanced-match": "^4.0.1" + }, + "engines": { + "node": "20 || >=22" + } + }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -2262,10 +578,11 @@ } }, "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -2274,10 +591,11 @@ } }, "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -2299,41 +617,21 @@ "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0.0" } }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.11", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", - "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.31", @@ -2351,6 +649,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -2364,6 +663,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } @@ -2373,6 +673,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -2381,240 +682,332 @@ "node": ">= 8" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "optional": true, - "engines": { - "node": ">=14" - } - }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.3.tgz", - "integrity": "sha512-MmKSfaB9GX+zXl6E8z4koOr/xU63AMVleLEa64v7R0QF/ZloMs5vcD1sHgM64GXXS1csaJutG+ddtzcueI/BLg==", + "version": "4.54.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.54.0.tgz", + "integrity": "sha512-OywsdRHrFvCdvsewAInDKCNyR3laPA2mc9bRYJ6LBp5IyvF3fvXbbNR0bSzHlZVFtn6E0xw2oZlyjg4rKCVcng==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.3.tgz", - "integrity": "sha512-zrt8ecH07PE3sB4jPOggweBjJMzI1JG5xI2DIsUbkA+7K+Gkjys6eV7i9pOenNSDJH3eOr/jLb/PzqtmdwDq5g==", + "version": "4.54.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.54.0.tgz", + "integrity": "sha512-Skx39Uv+u7H224Af+bDgNinitlmHyQX1K/atIA32JP3JQw6hVODX5tkbi2zof/E69M1qH2UoN3Xdxgs90mmNYw==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.3.tgz", - "integrity": "sha512-P0UxIOrKNBFTQaXTxOH4RxuEBVCgEA5UTNV6Yz7z9QHnUJ7eLX9reOd/NYMO3+XZO2cco19mXTxDMXxit4R/eQ==", + "version": "4.54.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.54.0.tgz", + "integrity": "sha512-k43D4qta/+6Fq+nCDhhv9yP2HdeKeP56QrUUTW7E6PhZP1US6NDqpJj4MY0jBHlJivVJD5P8NxrjuobZBJTCRw==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.3.tgz", - "integrity": "sha512-L1M0vKGO5ASKntqtsFEjTq/fD91vAqnzeaF6sfNAy55aD+Hi2pBI5DKwCO+UNDQHWsDViJLqshxOahXyLSh3EA==", + "version": "4.54.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.54.0.tgz", + "integrity": "sha512-cOo7biqwkpawslEfox5Vs8/qj83M/aZCSSNIWpVzfU2CYHa2G3P1UN5WF01RdTHSgCkri7XOlTdtk17BezlV3A==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ] }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.54.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.54.0.tgz", + "integrity": "sha512-miSvuFkmvFbgJ1BevMa4CPCFt5MPGw094knM64W9I0giUIMMmRYcGW/JWZDriaw/k1kOBtsWh1z6nIFV1vPNtA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.54.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.54.0.tgz", + "integrity": "sha512-KGXIs55+b/ZfZsq9aR026tmr/+7tq6VG6MsnrvF4H8VhwflTIuYh+LFUlIsRdQSgrgmtM3fVATzEAj4hBQlaqQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.3.tgz", - "integrity": "sha512-btVgIsCjuYFKUjopPoWiDqmoUXQDiW2A4C3Mtmp5vACm7/GnyuprqIDPNczeyR5W8rTXEbkmrJux7cJmD99D2g==", + "version": "4.54.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.54.0.tgz", + "integrity": "sha512-EHMUcDwhtdRGlXZsGSIuXSYwD5kOT9NVnx9sqzYiwAc91wfYOE1g1djOEDseZJKKqtHAHGwnGPQu3kytmfaXLQ==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.3.tgz", - "integrity": "sha512-zmjbSphplZlau6ZTkxd3+NMtE4UKVy7U4aVFMmHcgO5CUbw17ZP6QCgyxhzGaU/wFFdTfiojjbLG3/0p9HhAqA==", + "version": "4.54.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.54.0.tgz", + "integrity": "sha512-+pBrqEjaakN2ySv5RVrj/qLytYhPKEUwk+e3SFU5jTLHIcAtqh2rLrd/OkbNuHJpsBgxsD8ccJt5ga/SeG0JmA==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.3.tgz", - "integrity": "sha512-nSZfcZtAnQPRZmUkUQwZq2OjQciR6tEoJaZVFvLHsj0MF6QhNMg0fQ6mUOsiCUpTqxTx0/O6gX0V/nYc7LrgPw==", + "version": "4.54.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.54.0.tgz", + "integrity": "sha512-NSqc7rE9wuUaRBsBp5ckQ5CVz5aIRKCwsoa6WMF7G01sX3/qHUw/z4pv+D+ahL1EIKy6Enpcnz1RY8pf7bjwng==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.3.tgz", - "integrity": "sha512-MnvSPGO8KJXIMGlQDYfvYS3IosFN2rKsvxRpPO2l2cum+Z3exiExLwVU+GExL96pn8IP+GdH8Tz70EpBhO0sIQ==", + "version": "4.54.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.54.0.tgz", + "integrity": "sha512-gr5vDbg3Bakga5kbdpqx81m2n9IX8M6gIMlQQIXiLTNeQW6CucvuInJ91EuCJ/JYvc+rcLLsDFcfAD1K7fMofg==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.54.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.54.0.tgz", + "integrity": "sha512-gsrtB1NA3ZYj2vq0Rzkylo9ylCtW/PhpLEivlgWe0bpgtX5+9j9EZa0wtZiCjgu6zmSeZWyI/e2YRX1URozpIw==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.3.tgz", - "integrity": "sha512-+W+p/9QNDr2vE2AXU0qIy0qQE75E8RTwTwgqS2G5CRQ11vzq0tbnfBd6brWhS9bCRjAjepJe2fvvkvS3dno+iw==", + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.54.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.54.0.tgz", + "integrity": "sha512-y3qNOfTBStmFNq+t4s7Tmc9hW2ENtPg8FeUD/VShI7rKxNW7O4fFeaYbMsd3tpFlIg1Q8IapFgy7Q9i2BqeBvA==", "cpu": [ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.3.tgz", - "integrity": "sha512-yXH6K6KfqGXaxHrtr+Uoy+JpNlUlI46BKVyonGiaD74ravdnF9BUNC+vV+SIuB96hUMGShhKV693rF9QDfO6nQ==", + "version": "4.54.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.54.0.tgz", + "integrity": "sha512-89sepv7h2lIVPsFma8iwmccN7Yjjtgz0Rj/Ou6fEqg3HDhpCa+Et+YSufy27i6b0Wav69Qv4WBNl3Rs6pwhebQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.54.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.54.0.tgz", + "integrity": "sha512-ZcU77ieh0M2Q8Ur7D5X7KvK+UxbXeDHwiOt/CPSBTI1fBmeDMivW0dPkdqkT4rOgDjrDDBUed9x4EgraIKoR2A==", "cpu": [ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.3.tgz", - "integrity": "sha512-R8cwY9wcnApN/KDYWTH4gV/ypvy9yZUHlbJvfaiXSB48JO3KpwSpjOGqO4jnGkLDSk1hgjYkTbTt6Q7uvPf8eg==", + "version": "4.54.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.54.0.tgz", + "integrity": "sha512-2AdWy5RdDF5+4YfG/YesGDDtbyJlC9LHmL6rZw6FurBJ5n4vFGupsOBGfwMRjBYH7qRQowT8D/U4LoSvVwOhSQ==", "cpu": [ "s390x" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.3.tgz", - "integrity": "sha512-kZPbX/NOPh0vhS5sI+dR8L1bU2cSO9FgxwM8r7wHzGydzfSjLRCFAT87GR5U9scj2rhzN3JPYVC7NoBbl4FZ0g==", + "version": "4.54.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.54.0.tgz", + "integrity": "sha512-WGt5J8Ij/rvyqpFexxk3ffKqqbLf9AqrTBbWDk7ApGUzaIs6V+s2s84kAxklFwmMF/vBNGrVdYgbblCOFFezMQ==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.3.tgz", - "integrity": "sha512-S0Yq+xA1VEH66uiMNhijsWAafffydd2X5b77eLHfRmfLsRSpbiAWiRHV6DEpz6aOToPsgid7TI9rGd6zB1rhbg==", + "version": "4.54.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.54.0.tgz", + "integrity": "sha512-JzQmb38ATzHjxlPHuTH6tE7ojnMKM2kYNzt44LO/jJi8BpceEC8QuXYA908n8r3CNuG/B3BV8VR3Hi1rYtmPiw==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.54.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.54.0.tgz", + "integrity": "sha512-huT3fd0iC7jigGh7n3q/+lfPcXxBi+om/Rs3yiFxjvSxbSB6aohDFXbWvlspaqjeOh+hx7DDHS+5Es5qRkWkZg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.3.tgz", - "integrity": "sha512-9isNzeL34yquCPyerog+IMCNxKR8XYmGd0tHSV+OVx0TmE0aJOo9uw4fZfUuk2qxobP5sug6vNdZR6u7Mw7Q+Q==", + "version": "4.54.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.54.0.tgz", + "integrity": "sha512-c2V0W1bsKIKfbLMBu/WGBz6Yci8nJ/ZJdheE0EwB73N3MvHYKiKGs3mVilX4Gs70eGeDaMqEob25Tw2Gb9Nqyw==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.3.tgz", - "integrity": "sha512-nMIdKnfZfzn1Vsk+RuOvl43ONTZXoAPUUxgcU0tXooqg4YrAqzfKzVenqqk2g5efWh46/D28cKFrOzDSW28gTA==", + "version": "4.54.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.54.0.tgz", + "integrity": "sha512-woEHgqQqDCkAzrDhvDipnSirm5vxUXtSKDYTVpZG3nUdW/VVB5VdCYA2iReSj/u3yCZzXID4kuKG7OynPnB3WQ==", "cpu": [ "ia32" ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.54.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.54.0.tgz", + "integrity": "sha512-dzAc53LOuFvHwbCEOS0rPbXp6SIhAf2txMP5p6mGyOXXw5mWY8NGGbPMPrs4P1WItkfApDathBj/NzMLUZ9rtQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.3.tgz", - "integrity": "sha512-fOvu7PCQjAj4eWDEuD8Xz5gpzFqXzGlxHZozHP4b9Jxv9APtdxL6STqztDzMLuRXEc4UpXGGhx029Xgm91QBeA==", + "version": "4.54.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.54.0.tgz", + "integrity": "sha512-hYT5d3YNdSh3mbCU1gwQyPgQd3T2ne0A3KG8KSBdav5TiBg6eInVmV+TeR5uHufiIgSFg0XsOWGW5/RhNcSvPg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@tailwindcss/forms": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.9.tgz", - "integrity": "sha512-tM4XVr2+UVTxXJzey9Twx48c1gcxFStqn1pQz0tRsX8o3DvxhN5oY5pvyAbUx7VTaZxpej4Zzvc6h+1RJBzpIg==", + "version": "0.5.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.11.tgz", + "integrity": "sha512-h9wegbZDPurxG22xZSoWtdzc41/OlNEUQERNqI/0fOwa2aVlWGu7C35E/x6LDyD3lgtztFSSjKZyuVM0hxhbgA==", "dev": true, + "license": "MIT", "dependencies": { "mini-svg-data-uri": "^1.2.3" }, "peerDependencies": { - "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20" + "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20 || >= 4.0.0-beta.1" } }, "node_modules/@tannin/compile": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@tannin/compile/-/compile-1.1.0.tgz", "integrity": "sha512-n8m9eNDfoNZoxdvWiTfW/hSPhehzLJ3zW7f8E7oT6mCROoMNWCB4TYtv041+2FMAxweiE0j7i1jubQU4MEC/Gg==", + "license": "MIT", "dependencies": { "@tannin/evaluate": "^1.2.0", "@tannin/postfix": "^1.1.0" @@ -2623,437 +1016,222 @@ "node_modules/@tannin/evaluate": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@tannin/evaluate/-/evaluate-1.2.0.tgz", - "integrity": "sha512-3ioXvNowbO/wSrxsDG5DKIMxC81P0QrQTYai8zFNY+umuoHWRPbQ/TuuDEOju9E+jQDXmj6yI5GyejNuh8I+eg==" - }, - "node_modules/@tannin/plural-forms": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@tannin/plural-forms/-/plural-forms-1.1.0.tgz", - "integrity": "sha512-xl9R2mDZO/qiHam1AgMnAES6IKIg7OBhcXqy6eDsRCdXuxAFPcjrej9HMjyCLE0DJ/8cHf0i5OQTstuBRhpbHw==", - "dependencies": { - "@tannin/compile": "^1.1.0" - } - }, - "node_modules/@tannin/postfix": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@tannin/postfix/-/postfix-1.1.0.tgz", - "integrity": "sha512-oocsqY7g0cR+Gur5jRQLSrX2OtpMLMse1I10JQBm8CdGMrDkh1Mg2gjsiquMHRtBs4Qwu5wgEp5GgIYHk4SNPw==" - }, - "node_modules/@tanstack/virtual-core": { - "version": "3.13.6", - "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.13.6.tgz", - "integrity": "sha512-cnQUeWnhNP8tJ4WsGcYiX24Gjkc9ALstLbHcBj1t3E7EimN6n6kHH+DPV4PpDnuw00NApQp+ViojMj1GRdwYQg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@tanstack/vue-virtual": { - "version": "3.13.6", - "resolved": "https://registry.npmjs.org/@tanstack/vue-virtual/-/vue-virtual-3.13.6.tgz", - "integrity": "sha512-GYdZ3SJBQPzgxhuCE2fvpiH46qzHiVx5XzBSdtESgiqh4poj8UgckjGWYEhxaBbcVt1oLzh1m3Ql4TyH32TOzQ==", - "dependencies": { - "@tanstack/virtual-core": "3.13.6" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "vue": "^2.7.0 || ^3.0.0" - } - }, - "node_modules/@types/eslint": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", - "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, + "integrity": "sha512-3ioXvNowbO/wSrxsDG5DKIMxC81P0QrQTYai8zFNY+umuoHWRPbQ/TuuDEOju9E+jQDXmj6yI5GyejNuh8I+eg==", "license": "MIT" }, - "node_modules/@types/node": { - "version": "18.19.80", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.80.tgz", - "integrity": "sha512-kEWeMwMeIvxYkeg1gTc01awpwLbfMRZXdIhwRcakd/KlK53jmRC26LqcbIt7fnAQTu5GzlnWmzA3H6+l1u6xxQ==", - "dev": true, - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@vitejs/plugin-vue": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.1.3.tgz", - "integrity": "sha512-3xbWsKEKXYlmX82aOHufFQVnkbMC/v8fLpWwh6hWOUrK5fbbtBh9Q/WWse27BFgSy2/e2c0fz5Scgya9h2GLhw==", - "dev": true, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "peerDependencies": { - "vite": "^5.0.0", - "vue": "^3.2.25" - } - }, - "node_modules/@vue/compiler-core": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.4.tgz", - "integrity": "sha512-oNwn+BAt3n9dK9uAYvI+XGlutwuTq/wfj4xCBaZCqwwVIGtD7D6ViihEbyYZrDHIHTDE3Q6oL3/hqmAyFEy9DQ==", - "dependencies": { - "@babel/parser": "^7.25.3", - "@vue/shared": "3.5.4", - "entities": "^4.5.0", - "estree-walker": "^2.0.2", - "source-map-js": "^1.2.0" - } - }, - "node_modules/@vue/compiler-core/node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/@vue/compiler-dom": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.4.tgz", - "integrity": "sha512-yP9RRs4BDLOLfldn6ah+AGCNovGjMbL9uHvhDHf5wan4dAHLnFGOkqtfE7PPe4HTXIqE7l/NILdYw53bo1C8jw==", - "dependencies": { - "@vue/compiler-core": "3.5.4", - "@vue/shared": "3.5.4" - } - }, - "node_modules/@vue/compiler-sfc": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.4.tgz", - "integrity": "sha512-P+yiPhL+NYH7m0ZgCq7AQR2q7OIE+mpAEgtkqEeH9oHSdIRvUO+4X6MPvblJIWcoe4YC5a2Gdf/RsoyP8FFiPQ==", - "dependencies": { - "@babel/parser": "^7.25.3", - "@vue/compiler-core": "3.5.4", - "@vue/compiler-dom": "3.5.4", - "@vue/compiler-ssr": "3.5.4", - "@vue/shared": "3.5.4", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.11", - "postcss": "^8.4.44", - "source-map-js": "^1.2.0" - } - }, - "node_modules/@vue/compiler-ssr": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.4.tgz", - "integrity": "sha512-acESdTXsxPnYr2C4Blv0ggx5zIFMgOzZmYU2UgvIff9POdRGbRNBHRyzHAnizcItvpgerSKQbllUc9USp3V7eg==", - "dependencies": { - "@vue/compiler-dom": "3.5.4", - "@vue/shared": "3.5.4" - } - }, - "node_modules/@vue/devtools-api": { - "version": "6.6.4", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", - "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==" - }, - "node_modules/@vue/reactivity": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.4.tgz", - "integrity": "sha512-HKKbEuP7tYSGCq4e4nK6ZW6l5hyG66OUetefBp4budUyjvAYsnQDf+bgFzg2RAgnH0CInyqXwD9y47jwJEHrQw==", - "dependencies": { - "@vue/shared": "3.5.4" - } - }, - "node_modules/@vue/runtime-core": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.4.tgz", - "integrity": "sha512-f3ek2sTA0AFu0n+w+kCtz567Euqqa3eHewvo4klwS7mWfSj/A+UmYTwsnUFo35KeyAFY60JgrCGvEBsu1n/3LA==", - "dependencies": { - "@vue/reactivity": "3.5.4", - "@vue/shared": "3.5.4" - } - }, - "node_modules/@vue/runtime-dom": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.4.tgz", - "integrity": "sha512-ofyc0w6rbD5KtjhP1i9hGOKdxGpvmuB1jprP7Djlj0X7R5J/oLwuNuE98GJ8WW31Hu2VxQHtk/LYTAlW8xrJdw==", - "dependencies": { - "@vue/reactivity": "3.5.4", - "@vue/runtime-core": "3.5.4", - "@vue/shared": "3.5.4", - "csstype": "^3.1.3" - } - }, - "node_modules/@vue/server-renderer": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.4.tgz", - "integrity": "sha512-FbjV6DJLgKRetMYFBA1UXCroCiED/Ckr53/ba9wivyd7D/Xw9fpo0T6zXzCnxQwyvkyrL7y6plgYhWhNjGxY5g==", - "dependencies": { - "@vue/compiler-ssr": "3.5.4", - "@vue/shared": "3.5.4" - }, - "peerDependencies": { - "vue": "3.5.4" - } - }, - "node_modules/@vue/shared": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.4.tgz", - "integrity": "sha512-L2MCDD8l7yC62Te5UUyPVpmexhL9ipVnYRw9CsWfm/BGRL5FwDX4a25bcJ/OJSD3+Hx+k/a8LDKcG2AFdJV3BA==" - }, - "node_modules/@vueform/multiselect": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/@vueform/multiselect/-/multiselect-2.6.9.tgz", - "integrity": "sha512-eW+pMaWFGnK+WGvUPcB/mEwLx/5Y4VB8wRFGFQZ9c5Wi+K/xFrm/nQ/NbtrFQUcX0nbuQWKYnFBmwa5MENGQxw==" - }, - "node_modules/@vuepic/vue-datepicker": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/@vuepic/vue-datepicker/-/vue-datepicker-8.8.1.tgz", - "integrity": "sha512-8ehfUz1m69Vuc16Pm4ukgb3Mg1VT14x4EsG1ag4O/qbSNRWztTo+pUV4JnFt0FGLl5gGb6NXlxIvR7EjLgD7Gg==", - "dependencies": { - "date-fns": "^3.6.0" - }, - "peerDependencies": { - "vue": ">=3.2.0" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", - "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", - "dev": true, + "node_modules/@tannin/plural-forms": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@tannin/plural-forms/-/plural-forms-1.1.0.tgz", + "integrity": "sha512-xl9R2mDZO/qiHam1AgMnAES6IKIg7OBhcXqy6eDsRCdXuxAFPcjrej9HMjyCLE0DJ/8cHf0i5OQTstuBRhpbHw==", "license": "MIT", "dependencies": { - "@webassemblyjs/helper-numbers": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + "@tannin/compile": "^1.1.0" } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", - "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", - "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", - "dev": true, + "node_modules/@tannin/postfix": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@tannin/postfix/-/postfix-1.1.0.tgz", + "integrity": "sha512-oocsqY7g0cR+Gur5jRQLSrX2OtpMLMse1I10JQBm8CdGMrDkh1Mg2gjsiquMHRtBs4Qwu5wgEp5GgIYHk4SNPw==", "license": "MIT" }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", - "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", - "dev": true, - "license": "MIT" + "node_modules/@tanstack/virtual-core": { + "version": "3.13.13", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.13.13.tgz", + "integrity": "sha512-uQFoSdKKf5S8k51W5t7b2qpfkyIbdHMzAn+AMQvHPxKUPeo1SsGaA4JRISQT87jm28b7z8OEqPcg1IOZagQHcA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", - "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", - "dev": true, + "node_modules/@tanstack/vue-virtual": { + "version": "3.13.13", + "resolved": "https://registry.npmjs.org/@tanstack/vue-virtual/-/vue-virtual-3.13.13.tgz", + "integrity": "sha512-Cf2xIEE8nWAfsX0N5nihkPYMeQRT+pHt4NEkuP8rNCn6lVnLDiV8rC8IeIxbKmQC0yPnj4SIBLwXYVf86xxKTQ==", "license": "MIT", "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.13.2", - "@webassemblyjs/helper-api-error": "1.13.2", - "@xtuc/long": "4.2.2" + "@tanstack/virtual-core": "3.13.13" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "vue": "^2.7.0 || ^3.0.0" } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", - "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "dev": true, "license": "MIT" }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", - "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "node_modules/@types/node": { + "version": "18.19.130", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.130.tgz", + "integrity": "sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/wasm-gen": "1.14.1" + "undici-types": "~5.26.4" } }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", - "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "node_modules/@vitejs/plugin-vue": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.4.tgz", + "integrity": "sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==", "dev": true, "license": "MIT", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0", + "vue": "^3.2.25" } }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", - "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", - "dev": true, - "license": "Apache-2.0", + "node_modules/@vue/compiler-core": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.26.tgz", + "integrity": "sha512-vXyI5GMfuoBCnv5ucIT7jhHKl55Y477yxP6fc4eUswjP8FG3FFVFd41eNDArR+Uk3QKn2Z85NavjaxLxOC19/w==", + "license": "MIT", "dependencies": { - "@xtuc/long": "4.2.2" + "@babel/parser": "^7.28.5", + "@vue/shared": "3.5.26", + "entities": "^7.0.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" } }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", - "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", - "dev": true, - "license": "MIT" + "node_modules/@vue/compiler-core/node_modules/entities": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.0.tgz", + "integrity": "sha512-FDWG5cmEYf2Z00IkYRhbFrwIwvdFKH07uV8dvNy0omp/Qb1xcyCWp2UDtcwJF4QZZvk0sLudP6/hAu42TaqVhQ==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", - "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", - "dev": true, + "node_modules/@vue/compiler-dom": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.26.tgz", + "integrity": "sha512-y1Tcd3eXs834QjswshSilCBnKGeQjQXB6PqFn/1nxcQw4pmG42G8lwz+FZPAZAby6gZeHSt/8LMPfZ4Rb+Bd/A==", "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/helper-wasm-section": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-opt": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1", - "@webassemblyjs/wast-printer": "1.14.1" + "@vue/compiler-core": "3.5.26", + "@vue/shared": "3.5.26" } }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", - "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", - "dev": true, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.26.tgz", + "integrity": "sha512-egp69qDTSEZcf4bGOSsprUr4xI73wfrY5oRs6GSgXFTiHrWj4Y3X5Ydtip9QMqiCMCPVwLglB9GBxXtTadJ3mA==", "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" + "@babel/parser": "^7.28.5", + "@vue/compiler-core": "3.5.26", + "@vue/compiler-dom": "3.5.26", + "@vue/compiler-ssr": "3.5.26", + "@vue/shared": "3.5.26", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.21", + "postcss": "^8.5.6", + "source-map-js": "^1.2.1" } }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", - "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", - "dev": true, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.26.tgz", + "integrity": "sha512-lZT9/Y0nSIRUPVvapFJEVDbEXruZh2IYHMk2zTtEgJSlP5gVOqeWXH54xDKAaFS4rTnDeDBQUYDtxKyoW9FwDw==", "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1" + "@vue/compiler-dom": "3.5.26", + "@vue/shared": "3.5.26" } }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", - "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", - "dev": true, + "node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, + "node_modules/@vue/reactivity": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.26.tgz", + "integrity": "sha512-9EnYB1/DIiUYYnzlnUBgwU32NNvLp/nhxLXeWRhHUEeWNTn1ECxX8aGO7RTXeX6PPcxe3LLuNBFoJbV4QZ+CFQ==", "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-api-error": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" + "@vue/shared": "3.5.26" } }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", - "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", - "dev": true, + "node_modules/@vue/runtime-core": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.26.tgz", + "integrity": "sha512-xJWM9KH1kd201w5DvMDOwDHYhrdPTrAatn56oB/LRG4plEQeZRQLw0Bpwih9KYoqmzaxF0OKSn6swzYi84e1/Q==", "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@xtuc/long": "4.2.2" + "@vue/reactivity": "3.5.26", + "@vue/shared": "3.5.26" } }, - "node_modules/@webpack-cli/configtest": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz", - "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==", - "dev": true, + "node_modules/@vue/runtime-dom": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.26.tgz", + "integrity": "sha512-XLLd/+4sPC2ZkN/6+V4O4gjJu6kSDbHAChvsyWgm1oGbdSO3efvGYnm25yCjtFm/K7rrSDvSfPDgN1pHgS4VNQ==", "license": "MIT", - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "dependencies": { + "@vue/reactivity": "3.5.26", + "@vue/runtime-core": "3.5.26", + "@vue/shared": "3.5.26", + "csstype": "^3.2.3" } }, - "node_modules/@webpack-cli/info": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz", - "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==", - "dev": true, + "node_modules/@vue/server-renderer": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.26.tgz", + "integrity": "sha512-TYKLXmrwWKSodyVuO1WAubucd+1XlLg4set0YoV+Hu8Lo79mp/YMwWV5mC5FgtsDxX3qo1ONrxFaTP1OQgy1uA==", "license": "MIT", - "engines": { - "node": ">=14.15.0" + "dependencies": { + "@vue/compiler-ssr": "3.5.26", + "@vue/shared": "3.5.26" }, "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" + "vue": "3.5.26" } }, - "node_modules/@webpack-cli/serve": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz", - "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==", - "dev": true, + "node_modules/@vue/shared": { + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.26.tgz", + "integrity": "sha512-7Z6/y3uFI5PRoKeorTOSXKcDj0MSasfNNltcslbFrPpcw6aXRUALq4IfJlaTRspiWIUOEZbrpM+iQGmCOiWe4A==", + "license": "MIT" + }, + "node_modules/@vueform/multiselect": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/@vueform/multiselect/-/multiselect-2.6.11.tgz", + "integrity": "sha512-iG4TGfqE3baftbSGF0PhoS+xZOCnV0ChkDo9rwhJ/Qi2YlCdb6tyQCjvyug3jnzncga8+d85kx0WvG7rDYFqiA==", + "license": "MIT" + }, + "node_modules/@vuepic/vue-datepicker": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/@vuepic/vue-datepicker/-/vue-datepicker-8.8.1.tgz", + "integrity": "sha512-8ehfUz1m69Vuc16Pm4ukgb3Mg1VT14x4EsG1ag4O/qbSNRWztTo+pUV4JnFt0FGLl5gGb6NXlxIvR7EjLgD7Gg==", "license": "MIT", - "engines": { - "node": ">=14.15.0" + "dependencies": { + "date-fns": "^3.6.0" }, "peerDependencies": { - "webpack": "5.x.x", - "webpack-cli": "5.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } + "vue": ">=3.2.0" } }, "node_modules/@wordpress/api-fetch": { "version": "6.55.0", "resolved": "https://registry.npmjs.org/@wordpress/api-fetch/-/api-fetch-6.55.0.tgz", "integrity": "sha512-1HrCUsJdeRY5Y0IjplotINwqMRO81e7O7VhBScuKk7iOuDm/E1ioKv2uLGnPNWziYu+Zf025byxOqVzXDyM2gw==", + "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", "@wordpress/i18n": "^4.58.0", @@ -3063,27 +1241,11 @@ "node": ">=12" } }, - "node_modules/@wordpress/dependency-extraction-webpack-plugin": { - "version": "6.36.0", - "resolved": "https://registry.npmjs.org/@wordpress/dependency-extraction-webpack-plugin/-/dependency-extraction-webpack-plugin-6.36.0.tgz", - "integrity": "sha512-x59HhuZflt6gjm74m5ymuJgLsfvY0pwYhfy42SfrYN/V59vXkl5S6jEmzhlUsdDGVrQG6lSVDJm7n5btohPXvg==", - "dev": true, - "license": "GPL-2.0-or-later", - "dependencies": { - "json2php": "^0.0.7" - }, - "engines": { - "node": ">=18.12.0", - "npm": ">=8.19.2" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, "node_modules/@wordpress/hooks": { "version": "3.58.0", "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-3.58.0.tgz", "integrity": "sha512-9LB0ZHnZRQlORttux9t/xbAskF+dk2ujqzPGsVzc92mSKpQP3K2a5Wy74fUnInguB1vLUNHT6nrNdkVom5qX1Q==", + "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0" }, @@ -3095,6 +1257,7 @@ "version": "4.58.0", "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.58.0.tgz", "integrity": "sha512-VfvS3BWv/RDjRKD6PscIcvYfWKnGJcI/DEqyDgUMhxCM6NRwoL478CsUKTiGJIymeyRodNRfprdcF086DpGKYw==", + "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", "@wordpress/hooks": "^3.58.0", @@ -3110,19 +1273,11 @@ "node": ">=12" } }, - "node_modules/@wordpress/i18n/node_modules/gettext-parser": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/gettext-parser/-/gettext-parser-1.4.0.tgz", - "integrity": "sha512-sedZYLHlHeBop/gZ1jdg59hlUEcpcZJofLq2JFwJT1zTqAU3l2wFv6IsuwFHGqbiT9DWzMUW4/em2+hspnmMMA==", - "dependencies": { - "encoding": "^0.1.12", - "safe-buffer": "^5.1.1" - } - }, "node_modules/@wordpress/url": { "version": "3.59.0", "resolved": "https://registry.npmjs.org/@wordpress/url/-/url-3.59.0.tgz", "integrity": "sha512-GxvoMjYCav0w4CiX0i0h3qflrE/9rhLIZg5aPCQjbrBdwTxYR3Exfw0IJYcmVaTKXQOUU8fOxlDxULsbLmKe9w==", + "license": "GPL-2.0-or-later", "dependencies": { "@babel/runtime": "^7.16.0", "remove-accents": "^0.5.0" @@ -3131,114 +1286,31 @@ "node": ">=12" } }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true, - "license": "Apache-2.0" - }, "node_modules/abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, - "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-phases": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", - "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.13.0" - }, - "peerDependencies": { - "acorn": "^8.14.0" - } + "license": "ISC" }, "node_modules/ajv": { "version": "4.11.8", "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", "integrity": "sha512-I/bSHSNEcFFqXLf91nchoNB9D1Kie3QKcWdchYUaoIg1+1bdWDkdfdlvdIOJbi9U8xR0y+MWc5D+won9v95WlQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "co": "^4.6.0", "json-stable-stringify": "^1.0.1" } }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv/node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true, - "optional": true, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, "node_modules/align-text": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", "integrity": "sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2", "longest": "^1.0.1", @@ -3253,6 +1325,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -3263,8 +1336,9 @@ "node_modules/ansi-gray": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", - "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "integrity": "sha512-HrgGIZUl8h2EHuZaU9hTR/cU5nhKxpVE1V6kdGsQ8e4zirElJ5fvtfc8N7Q1oq1aatO275i8pUFUCpNWCAnVWw==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "ansi-wrap": "0.1.0" @@ -3278,30 +1352,27 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, + "license": "MIT", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=0.10.0" } }, "node_modules/ansi-wrap": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", - "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", + "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -3311,13 +1382,15 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, + "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -3331,6 +1404,7 @@ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3340,6 +1414,7 @@ "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-3.2.0.tgz", "integrity": "sha512-6cAWDM0lUYTbb7F436FAjbBYnsn5E3L2AgTOLzrFfLt7FVM6uJwKUvllE8VjLKTmKCU8PqtWlUAezEYjg5iGqA==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "file-type": "^3.1.0" @@ -3353,6 +1428,7 @@ "resolved": "https://registry.npmjs.org/archiver/-/archiver-1.3.0.tgz", "integrity": "sha512-4q/CtGPNVyC5aT9eYHhFP7SAEjKYzQIDIJWXfexUIPNxitNs1y6hORdX+sYxERSZ6qPeNNBJ5UolFsJdWTU02g==", "dev": true, + "license": "MIT", "dependencies": { "archiver-utils": "^1.3.0", "async": "^2.0.0", @@ -3368,51 +1444,22 @@ "node": ">= 0.10.0" } }, - "node_modules/archiver-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", - "integrity": "sha512-h+hTREBXcW5e1L9RihGXdH4PHHdGipG/jE2sMZrqIH6BmZAxeGU5IWjVsKhokdCSWX7km6Kkh406zZNEElHFPQ==", - "dev": true, - "dependencies": { - "glob": "^7.0.0", - "graceful-fs": "^4.1.0", - "lazystream": "^1.0.0", - "lodash": "^4.8.0", - "normalize-path": "^2.0.0", - "readable-stream": "^2.0.0" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/archiver-utils/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/archiver-utils/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/archiver-utils/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/archiver-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", + "integrity": "sha512-h+hTREBXcW5e1L9RihGXdH4PHHdGipG/jE2sMZrqIH6BmZAxeGU5IWjVsKhokdCSWX7km6Kkh406zZNEElHFPQ==", "dev": true, + "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "glob": "^7.0.0", + "graceful-fs": "^4.1.0", + "lazystream": "^1.0.0", + "lodash": "^4.8.0", + "normalize-path": "^2.0.0", + "readable-stream": "^2.0.0" + }, + "engines": { + "node": ">= 0.10.0" } }, "node_modules/archiver/node_modules/async": { @@ -3420,51 +1467,24 @@ "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "dev": true, + "license": "MIT", "dependencies": { "lodash": "^4.17.14" } }, - "node_modules/archiver/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/archiver/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/archiver/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/arg": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, + "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } @@ -3472,14 +1492,16 @@ "node_modules/argparse/node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/arr-diff": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", "integrity": "sha512-dtXTVMkh6VkEEA7OhXnN1Ecb8aAGFdZ1LFxtOCoqj4qkyOJMt7+qs6Ahdy6p/NQCPYsRSXXivhSB/J5E9jmYKA==", "dev": true, + "license": "MIT", "dependencies": { "arr-flatten": "^1.0.1" }, @@ -3492,6 +1514,7 @@ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3501,6 +1524,7 @@ "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", "integrity": "sha512-LeZY+DZDRnvP7eMuQ6LHfCzUGxAAIViUBliK24P3hWXL6y4SortgR6Nim6xrkfSLlmH0+k+9NYNwVC2s53ZrYQ==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -3511,6 +1535,7 @@ "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3520,6 +1545,7 @@ "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", "integrity": "sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3529,6 +1555,7 @@ "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3538,6 +1565,7 @@ "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -3548,6 +1576,7 @@ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", "integrity": "sha512-G2n5bG5fSUCpnsXz4+8FUkYsGPkNfLn9YvS66U5qbTIXI2Ynnlo4Bi42bWv+omKUCqz+ejzfClwne0alJWJPhg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3557,6 +1586,7 @@ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/asn1": { @@ -3564,6 +1594,7 @@ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "safer-buffer": "~2.1.0" @@ -3574,22 +1605,25 @@ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", "integrity": "sha512-u1L0ZLywRziOVjUhRxI0Qg9G+4RnFB9H/Rq40YWn0dieDgO7vAYeJz6jKAO6t/aruzlDFLAPkQTT87e+f8Imaw==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.8" } }, "node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", - "dev": true + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==", + "dev": true, + "license": "MIT" }, "node_modules/async-each-series": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-1.1.0.tgz", "integrity": "sha512-/VIpPVIJJlJObJiXkHBJ1RhjDtydBRG/3/dWpsXoVGOShNw5tameXnC7Yys+wpb0p/myItxGmSGgNi/dNlsIiA==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.8.0" @@ -3600,12 +1634,13 @@ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/autoprefixer": { - "version": "10.4.20", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", - "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", + "version": "10.4.23", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.23.tgz", + "integrity": "sha512-YYTXSFulfwytnjAPlw8QHncHJmlvFKtczb8InXaAx9Q0LbfDnfEYDE55omerIJKihhmU61Ft+cAOSzQVaBUmeA==", "dev": true, "funding": [ { @@ -3621,12 +1656,12 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "browserslist": "^4.23.3", - "caniuse-lite": "^1.0.30001646", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.1", + "browserslist": "^4.28.1", + "caniuse-lite": "^1.0.30001760", + "fraction.js": "^5.3.4", + "picocolors": "^1.1.1", "postcss-value-parser": "^4.2.0" }, "bin": { @@ -3639,97 +1674,46 @@ "postcss": "^8.1.0" } }, - "node_modules/aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha512-JnJpAS0p9RmixkOvW2XwDxxzs1bd4/VAGIl6Q0EC5YOo+p+hqIhtDhn/nmFnB/xUNXbLkpE2mOjgVIBRKD4xYw==", - "dev": true, - "optional": true, - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", - "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", - "dev": true, - "optional": true - }, - "node_modules/babel-loader": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", - "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==", + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dev": true, "license": "MIT", "dependencies": { - "find-cache-dir": "^4.0.0", - "schema-utils": "^4.0.0" + "possible-typed-array-names": "^1.0.0" }, "engines": { - "node": ">= 14.15.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0", - "webpack": ">=5" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", - "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.27.7", - "@babel/helper-define-polyfill-provider": "^0.6.5", - "semver": "^6.3.1" + "node": ">= 0.4" }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", - "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", + "node_modules/aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha512-JnJpAS0p9RmixkOvW2XwDxxzs1bd4/VAGIl6Q0EC5YOo+p+hqIhtDhn/nmFnB/xUNXbLkpE2mOjgVIBRKD4xYw==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.5", - "core-js-compat": "^3.43.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": "*" } }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", - "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==", + "node_modules/aws4": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz", + "integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==", "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.5" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } + "optional": true }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" }, "node_modules/base64-js": { "version": "1.5.1", @@ -3749,12 +1733,13 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.8.31", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.31.tgz", - "integrity": "sha512-a28v2eWrrRWPpJSzxc+mKwm0ZtVx/G8SepdQZDArnXYU/XS+IF6mp8aB/4E+hH1tyGCoDo3KlUCdlSxGDsRkAw==", + "version": "2.9.11", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.11.tgz", + "integrity": "sha512-Sg0xJUNDU1sJNGdfGWhVHX0kkZ+HWcvmVymJbj6NSgZZmW/8S9Y2HQ5euytnIgakgxN6papOAWiwDo1ctFDcoQ==", "dev": true, "license": "Apache-2.0", "bin": { @@ -3766,6 +1751,7 @@ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", "dev": true, + "license": "BSD-3-Clause", "optional": true, "dependencies": { "tweetnacl": "^0.14.3" @@ -3776,7 +1762,7 @@ "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", "integrity": "sha512-3vqtKL1N45I5dV0RdssXZG7X6pCqQrWPNOlBPZPrd+QkE2HEhR57Z04m0KtpbsZH73j+a3F8UD1TQnn+ExTvIA==", "dev": true, - "optional": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3786,6 +1772,7 @@ "resolved": "https://registry.npmjs.org/bin-build/-/bin-build-2.2.0.tgz", "integrity": "sha512-m8gaq/BdoePIT5RlHW3KNJZwNkg9YtPn2C89x85/0KYIExoHMm3D/RL/Wxrvum9CI6pbF2KUQa8a/WWFudVmng==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "archive-type": "^3.0.1", @@ -3800,25 +1787,12 @@ "node": ">=0.10.0" } }, - "node_modules/bin-build/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "optional": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, "node_modules/bin-check": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-2.0.0.tgz", "integrity": "sha512-jf6fesAGnXBynRU3JLpo0qe8vw8JBPBJCKK0v8NV3iH1P2UkQ6UEcIy7uPw1OdWkPUtpmX1uqeyTGrpeKd2CwQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "executable": "^1.0.0" @@ -3832,6 +1806,7 @@ "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-1.0.4.tgz", "integrity": "sha512-o9u3aS7w6RqoH9BErxuilhQG2fn3srr3ZekEEGailMnj5F+0p+R3TXENvO+vGaLnKlmq8xhhh/Fvl1RRxx/FdQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "find-versions": "^1.0.0" @@ -3845,6 +1820,7 @@ "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-2.1.0.tgz", "integrity": "sha512-3lUeqGAbnWQG7OCfIiHXw1EmzzvAGlMYqqgRahkr7oDeY1Qra8r2DZH2bbfXZI4NA3aaD1Ap+xt8CeVO/fftrw==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "bin-version": "^1.0.0", @@ -3864,6 +1840,7 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", "integrity": "sha512-IrpJ+yoG4EOH8DFWuVg+8H1kW1Oaof0Wxe7cPcXW3x9BjkN/eVo54F15LyqemnDIUYskQWr9qvl/RihmSy6+xQ==", "dev": true, + "license": "ISC", "optional": true, "bin": { "semver": "bin/semver" @@ -3874,6 +1851,7 @@ "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-3.0.2.tgz", "integrity": "sha512-5QEiUnaE7hgRlQxaV2jpeTg0+IA3o4zZ2sduuSqyJCdOuJ1wDuEmM1ntGelDf4ueCOaOam4bOMtOU4W6lG+hUg==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "bin-check": "^2.0.0", @@ -3892,6 +1870,7 @@ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -3904,96 +1883,38 @@ "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", "dev": true, + "license": "MIT", "dependencies": { "readable-stream": "^2.3.5", "safe-buffer": "^5.1.1" } }, - "node_modules/bl/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/bl/node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/bl/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/bl/node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "node_modules/body-parser": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz", - "integrity": "sha512-6D9uiWn7dbnDAhlDikccybuqKCmsoest0es3VSQO8Doz/fzx6Ls7kJNxKBYTjbzu4/RzNsf9zuACnS3UYjVH8Q==", "dev": true, - "dependencies": { - "bytes": "2.2.0", - "content-type": "~1.0.1", - "debug": "~2.2.0", - "depd": "~1.1.0", - "http-errors": "~1.3.1", - "iconv-lite": "0.4.13", - "on-finished": "~2.3.0", - "qs": "5.2.0", - "raw-body": "~2.1.5", - "type-is": "~1.6.10" - }, - "engines": { - "node": ">= 0.8" - } + "license": "MIT" }, - "node_modules/body-parser/node_modules/iconv-lite": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", - "integrity": "sha512-QwVuTNQv7tXC5mMWFX5N5wGjmybjNBBD8P3BReTkPmipoxTUFgWM2gXNvldHQr6T14DH0Dh6qBVg98iJt7u4mQ==", + "node_modules/body": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz", + "integrity": "sha512-chUsBxGRtuElD6fmw1gHLpvnKdVLK302peeFa9ZqAEk8TyzZ3fygLyUEDDPTJvL9+Bor0dIwn6ePOsRM2y0zQQ==", "dev": true, - "engines": { - "node": ">=0.8.0" + "dependencies": { + "continuable-cache": "^0.3.1", + "error": "^7.0.0", + "raw-body": "~1.1.0", + "safe-json-parse": "~1.0.1" } }, - "node_modules/body-parser/node_modules/qs": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz", - "integrity": "sha512-VH4FeG98gs6AkHivaW2O14vsOPBL9E80Sj7fITunoDijiYQ1lsVwJYmm1CSL+oLyO2N5HPdo23GXAG64uKOAZQ==", - "dev": true, - "engines": ">=0.10.40" - }, "node_modules/boom": { "version": "2.10.1", "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", "integrity": "sha512-KbiZEa9/vofNcVJXGwdWWn25reQ3V3dHBWbS07FTF3/TOehLnm9GEhJV4T6ZvGPkShRpmUqYwnaCrkj0mRnP6Q==", "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", "dev": true, + "license": "BSD-3-Clause", "optional": true, "dependencies": { "hoek": "2.x.x" @@ -4003,21 +1924,23 @@ } }, "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, + "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -4028,14 +1951,15 @@ "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", "integrity": "sha512-19OEpq7vWgsH6WkvkBJQDFvJS1uPcbFOQ4v9CU839dO+ZZXUZO6XpE6hNCqvlIIj+4fZvRiJ6DsAQ382GwiyTQ==", "dev": true, + "license": "MIT", "dependencies": { "pako": "~0.2.0" } }, "node_modules/browserslist": { - "version": "4.28.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.0.tgz", - "integrity": "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", "dev": true, "funding": [ { @@ -4053,11 +1977,11 @@ ], "license": "MIT", "dependencies": { - "baseline-browser-mapping": "^2.8.25", - "caniuse-lite": "^1.0.30001754", - "electron-to-chromium": "^1.5.249", + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", "node-releases": "^2.0.27", - "update-browserslist-db": "^1.1.4" + "update-browserslist-db": "^1.2.0" }, "bin": { "browserslist": "cli.js" @@ -4085,6 +2009,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -4095,6 +2020,7 @@ "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", "dev": true, + "license": "MIT", "dependencies": { "buffer-alloc-unsafe": "^1.1.0", "buffer-fill": "^1.0.0" @@ -4104,13 +2030,15 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "dev": true, + "license": "MIT", "engines": { "node": "*" } @@ -4119,19 +2047,22 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/buffer-to-vinyl": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz", "integrity": "sha512-t6B4HXJ3YdJ/lXKhK3nlGW1aAvpQH2FMyHh25SmfdYkQAU3/R2MYo4VrY1DlQuZd8zLNOqWPxZFJILRuTkqaEQ==", "dev": true, + "license": "MIT", "dependencies": { "file-type": "^3.1.0", "readable-stream": "^2.0.2", @@ -4142,40 +2073,10 @@ "node": ">=0.10.0" } }, - "node_modules/buffer-to-vinyl/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/buffer-to-vinyl/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/buffer-to-vinyl/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/bytes": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz", - "integrity": "sha512-zGRpnr2l5w/s8PxkrquUJoVeR06KvqPelrYqiSyQV7QEBqCYivpb6UzXYWC6JDBVtNFOT0rzJRFhkfJgxzmILA==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz", + "integrity": "sha512-/x68VkHLeTl3/Ll8IvxdwzhrT+IyKc52e/oyHhA2RwqPqswSnjVbSddfPRwAsJtbilMAPSRWwAlpxdYsSWOTKQ==", "dev": true }, "node_modules/cache-swap": { @@ -4183,6 +2084,7 @@ "resolved": "https://registry.npmjs.org/cache-swap/-/cache-swap-0.0.6.tgz", "integrity": "sha512-ajQE2GxLNoOz/OCUTdMQ+M92dEkkgZ86AikncVL5LrZxXjh3C1+CblFgr74wIXRQANY0FXzMzbQGDYeVheGnlQ==", "dev": true, + "license": "MIT", "dependencies": { "async": "~0.2.6", "lodash": "~1.1.0", @@ -4201,6 +2103,7 @@ "integrity": "sha512-iiTUZ5vZ+2ZV+h71XAgwCSu6+NAizhFU3Yw8aC/hH5SQ3SnISqEqAek40imAFGtDcwJKNhXvSY+hzIolnLwcdQ==", "deprecated": "please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js", "dev": true, + "license": "BSD", "optional": true, "engines": { "node": ">=0.4.0" @@ -4214,7 +2117,8 @@ "engines": [ "node", "rhino" - ] + ], + "license": "MIT" }, "node_modules/cache-swap/node_modules/rimraf": { "version": "2.1.4", @@ -4222,20 +2126,22 @@ "integrity": "sha512-tzwmX16YQhcFu0T/m0gHBcFKx6yQAg77Z6WWaQSJsUekXYa6yaAmHhrDdmFicgauX/er7GsdN+vRao3mBhA4kQ==", "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, + "license": "MIT", "optionalDependencies": { "graceful-fs": "~1" } }, "node_modules/call-bind": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.6.tgz", - "integrity": "sha512-Mj50FLHtlsoVfRfnHaZvyrooHcrlceNZdL/QBvJJVd9Ta55qCQK0gs4ss2oZDeV9zFCs6ewzYgVE5yfVmfFpVg==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", "dev": true, + "license": "MIT", "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.3", - "set-function-length": "^1.2.0" + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" }, "engines": { "node": ">= 0.4" @@ -4244,23 +2150,35 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/call-bind/node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", "dev": true, "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/camelcase": { @@ -4268,6 +2186,7 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", "integrity": "sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -4277,6 +2196,7 @@ "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } @@ -4286,6 +2206,7 @@ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", "integrity": "sha512-bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ==", "dev": true, + "license": "MIT", "dependencies": { "camelcase": "^2.0.0", "map-obj": "^1.0.0" @@ -4295,9 +2216,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001757", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001757.tgz", - "integrity": "sha512-r0nnL/I28Zi/yjk1el6ilj27tKcdjLsNqAOZr0yVjWPrSQyHgKI2INaEWw21bAQSv2LXRt1XuCS/GomNpWOxsQ==", + "version": "1.0.30001761", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001761.tgz", + "integrity": "sha512-JF9ptu1vP2coz98+5051jZ4PwQgd2ni8A+gYSN7EA7dPKIMf0pDlSUxhdmVOaV3/fYK5uWBkgSXJaRLr4+3A6g==", "dev": true, "funding": [ { @@ -4320,6 +2241,7 @@ "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.2.tgz", "integrity": "sha512-X/WM2UQs6VMHUtjUDnZTRI+i1crWteJySFzr9UpGoQa4WQffXVTTXuekjl7TjZRlcF2XfjgITT0HxZ9RnxeT0w==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -4333,6 +2255,7 @@ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", "dev": true, + "license": "Apache-2.0", "optional": true }, "node_modules/caw": { @@ -4340,6 +2263,7 @@ "resolved": "https://registry.npmjs.org/caw/-/caw-1.2.0.tgz", "integrity": "sha512-GIAlMoessjWW8p0mkStU4kMvV35toVCAyOWhUajk7O0d7wJI8F9TDjfrkSoO26b0d1QsnDLmw5I3X+yd6OKorQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "get-proxy": "^1.0.1", @@ -4356,6 +2280,7 @@ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", "integrity": "sha512-jHP15vXVGeVh1HuaA2wY6lxk+whK/x4KBG88VXeRma7CCun7iGD5qPc4eYykQ9sdQvg8jkwFKsSxHln2ybW3xQ==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -4366,6 +2291,7 @@ "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", "integrity": "sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ==", "dev": true, + "license": "MIT", "dependencies": { "align-text": "^0.1.3", "lazy-cache": "^1.0.3" @@ -4375,19 +2301,20 @@ } }, "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=0.10.0" } }, "node_modules/chokidar": { @@ -4395,6 +2322,7 @@ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, + "license": "MIT", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -4419,6 +2347,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -4431,18 +2360,9 @@ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", - "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", - "dev": true, "license": "MIT", "engines": { - "node": ">=6.0" + "node": ">=0.10.0" } }, "node_modules/clap": { @@ -4450,6 +2370,7 @@ "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "chalk": "^1.1.3" @@ -4458,47 +2379,11 @@ "node": ">=0.10.0" } }, - "node_modules/clap/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clap/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "dev": true, - "optional": true, - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clap/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/cli": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", - "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=", + "integrity": "sha512-41U72MB56TfUMGndAKK8vJ78eooOD4Z5NOL4xEfjc0c23s+6EYKXlXsmACBVclLP1yOfWCgEganVzddVrSNoTg==", + "license": "MIT", "dependencies": { "exit": "0.1.2", "glob": "^7.1.1" @@ -4512,6 +2397,7 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", "integrity": "sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA==", "dev": true, + "license": "ISC", "dependencies": { "center-align": "^0.1.1", "right-align": "^0.1.1", @@ -4523,37 +2409,29 @@ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, "engines": { - "node": ">=6" + "node": ">=0.8" } }, "node_modules/clone-stats": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", "integrity": "sha512-dhUqc57gSMCo6TX85FLfe51eC/s+Im2MLkAgJwfaRRexR2tA4dd3eLEW4L6efzHc2iNorrRRXITifnDLlRrhaA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/co": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/co/-/co-3.1.0.tgz", - "integrity": "sha512-CQsjCRiNObI8AtTsNIBDRMQ4oMR83CzEswHYahClvul7gKk+lDQiOKv+5qh7LQWf5sh6jkZNispz/QlsZxyNgA==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, - "optional": true + "license": "MIT", + "optional": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } }, "node_modules/coa": { "version": "1.0.4", @@ -4587,6 +2465,7 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -4598,30 +2477,26 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/color-support": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", "dev": true, + "license": "ISC", "optional": true, "bin": { "color-support": "bin.js" } }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true, - "license": "MIT" - }, "node_modules/colors": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "integrity": "sha512-ENwblkFQpqqia6b++zLD/KUWafYlVY/UNnAp7oz7LY7E924wmpye416wBOmvv/HMWzl8gL1kJlfvId/1Dg176w==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.1.90" } @@ -4631,6 +2506,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "delayed-stream": "~1.0.0" @@ -4643,20 +2519,16 @@ "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", "dev": true, - "license": "ISC" + "license": "MIT", + "optional": true }, "node_modules/compress-commons": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", "integrity": "sha512-SLTU8iWWmcORfUN+4351Z2aZXKJe1tr0jSilPMCZlLPzpdTXnkBW1LevW/MfuANBKJek8Xu9ggqrtVmQrChLtg==", "dev": true, + "license": "MIT", "dependencies": { "buffer-crc32": "^0.2.1", "crc32-stream": "^2.0.0", @@ -4667,40 +2539,11 @@ "node": ">= 0.10.0" } }, - "node_modules/compress-commons/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/compress-commons/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/compress-commons/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" }, "node_modules/concat-stream": { "version": "1.6.2", @@ -4710,6 +2553,7 @@ "engines": [ "node >= 0.8" ], + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -4717,158 +2561,48 @@ "typedarray": "^0.0.6" } }, - "node_modules/concat-stream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/concat-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/concat-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/console-browserify": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha512-duS7VP5pvfsNLDvL1O4VOEbw37AI3A4ZUQYemvDlnpGrNu9tprR7BYWpDYwC0Xia0Zxz5ZupdiIrUp0GH1aXfg==", - "dev": true, - "dependencies": { - "date-now": "^0.1.4" - } - }, - "node_modules/console-stream": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/console-stream/-/console-stream-0.1.1.tgz", - "integrity": "sha512-QC/8l9e6ofi6nqZ5PawlDgzmMw3OxIXtvolBzap/F4UDBJlDaZRSNbL/lb41C29FcbSJncBFlJFj2WJoNyZRfQ==", - "dev": true, - "optional": true - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "node_modules/core-js-compat": { - "version": "3.47.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.47.0.tgz", - "integrity": "sha512-IGfuznZ/n7Kp9+nypamBhvwdwLsW6KC8IOaURw2doAK5e98AG3acVLdh0woOnEqCfUtS+Vu882JE4k/DAm3ItQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.28.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true - }, - "node_modules/cosmiconfig": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", - "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", - "dev": true, - "license": "MIT", - "dependencies": { - "env-paths": "^2.2.1", - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "integrity": "sha512-duS7VP5pvfsNLDvL1O4VOEbw37AI3A4ZUQYemvDlnpGrNu9tprR7BYWpDYwC0Xia0Zxz5ZupdiIrUp0GH1aXfg==", + "dev": true, + "dependencies": { + "date-now": "^0.1.4" } }, - "node_modules/cosmiconfig/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "node_modules/console-stream": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/console-stream/-/console-stream-0.1.1.tgz", + "integrity": "sha512-QC/8l9e6ofi6nqZ5PawlDgzmMw3OxIXtvolBzap/F4UDBJlDaZRSNbL/lb41C29FcbSJncBFlJFj2WJoNyZRfQ==", "dev": true, - "license": "Python-2.0" + "optional": true }, - "node_modules/cosmiconfig/node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "node_modules/continuable-cache": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz", + "integrity": "sha512-TF30kpKhTH8AGCG3dut0rdd/19B7Z+qCnrMoBLpyQu/2drZdNrrpcjPEoJeSVsQM+8KmWG5O56oPDjSSUsuTyA==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } + "license": "MIT" }, - "node_modules/cosmiconfig/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "license": "MIT" }, "node_modules/crc": { "version": "3.8.0", "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", "dev": true, + "license": "MIT", "dependencies": { "buffer": "^5.1.0" } @@ -4878,6 +2612,7 @@ "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", "integrity": "sha512-UjZSqFCbn+jZUHJIh6Y3vMF7EJLcJWNm4tKDf2peJRwlZKHvkkvOMTvAei6zjU9gO1xONVr3rRFw0gixm2eUng==", "dev": true, + "license": "MIT", "dependencies": { "crc": "^3.4.4", "readable-stream": "^2.0.0" @@ -4886,41 +2621,12 @@ "node": ">= 0.10.0" } }, - "node_modules/crc32-stream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/crc32-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/crc32-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/create-error-class": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", "integrity": "sha512-gYTKKexFO3kh200H1Nit76sRwRtOY32vQd3jpAQKpLtZqyNsSQNfI4N7o3eP2wUjV35pTWKRYqFUDBvUha/Pkw==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "capture-stack-trace": "^1.0.0" @@ -4930,10 +2636,11 @@ } }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -4948,31 +2655,18 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/cross-spawn/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/cryptiles": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", "integrity": "sha512-FFN5KwpvvQTTS5hWPxrU8/QE4kQUc6uwZcrnlMBN82t1MgAtq8mnoDwINBly9Tdr02seeIIhtdF+UH1feBYGog==", "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", "dev": true, + "license": "BSD-3-Clause", "optional": true, "dependencies": { "boom": "2.x.x" @@ -4981,60 +2675,12 @@ "node": ">=0.10.40" } }, - "node_modules/css-loader": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz", - "integrity": "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==", - "dev": true, - "license": "MIT", - "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.33", - "postcss-modules-extract-imports": "^3.1.0", - "postcss-modules-local-by-default": "^4.0.5", - "postcss-modules-scope": "^3.2.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "webpack": "^5.27.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "node_modules/css-loader/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/css-selector-tokenizer": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz", "integrity": "sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==", "dev": true, + "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "fastparse": "^1.1.2" @@ -5045,6 +2691,7 @@ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true, + "license": "MIT", "bin": { "cssesc": "bin/cssesc" }, @@ -5057,6 +2704,7 @@ "resolved": "https://registry.npmjs.org/csso/-/csso-2.0.0.tgz", "integrity": "sha512-tckZA0LhyEnToPoQDmncCA+TUS3aoIVl/MsSaoipR52Sfa+H83fJvIHRVOHMFn9zW6kIV1L0D7tUDFFjvN28lg==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "clap": "^1.0.9", @@ -5069,26 +2717,18 @@ "node": ">=0.10.0" } }, - "node_modules/csso/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" }, "node_modules/culori": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/culori/-/culori-3.3.0.tgz", "integrity": "sha512-pHJg+jbuFsCjz9iclQBqyL3B2HLCBF71BwVNujUYEvCeQMvV97R59MNK3R2+jgJ3a1fcZgI9B3vYgz8lzr/BFQ==", "dev": true, + "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } @@ -5098,6 +2738,7 @@ "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", "integrity": "sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==", "dev": true, + "license": "MIT", "dependencies": { "array-find-index": "^1.0.1" }, @@ -5106,10 +2747,11 @@ } }, "node_modules/daisyui": { - "version": "4.12.10", - "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-4.12.10.tgz", - "integrity": "sha512-jp1RAuzbHhGdXmn957Z2XsTZStXGHzFfF0FgIOZj3Wv9sH7OZgLfXTRZNfKVYxltGUOBsG1kbWAdF5SrqjebvA==", + "version": "4.12.24", + "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-4.12.24.tgz", + "integrity": "sha512-JYg9fhQHOfXyLadrBrEqCDM6D5dWCSSiM6eTNCRrBRzx/VlOCrLS8eDfIw9RVvs64v2mJdLooKXY8EwQzoszAA==", "dev": true, + "license": "MIT", "dependencies": { "css-selector-tokenizer": "^0.8", "culori": "^3", @@ -5129,6 +2771,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "assert-plus": "^1.0.0" @@ -5142,6 +2785,7 @@ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.8" @@ -5151,6 +2795,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.6.0.tgz", "integrity": "sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/kossnocorp" @@ -5163,21 +2808,23 @@ "dev": true }, "node_modules/dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz", + "integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==", "dev": true, + "license": "MIT", "engines": { "node": "*" } }, "node_modules/debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha512-X0rGvJcskG1c3TgSCPqHJ0XJgwlcvOC7elJ5Y0hYuKBZoVqWpAMfLOeIh2UI/DCQ5ruodIjvsugZtjUYUw2pUw==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "dependencies": { - "ms": "0.7.1" + "ms": "^2.1.1" } }, "node_modules/decamelize": { @@ -5185,6 +2832,7 @@ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -5194,6 +2842,7 @@ "resolved": "https://registry.npmjs.org/decompress/-/decompress-3.0.0.tgz", "integrity": "sha512-QCl8WTT4FSft5F+0M0InHKO6UYFfYhw5++vktTKpmUsQ6YUMPcBwMu7Sp3P0lMGk00hTNHohdhfdi9+OswLJuQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "buffer-to-vinyl": "^1.0.0", @@ -5215,6 +2864,7 @@ "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-3.1.0.tgz", "integrity": "sha512-YuF7b9jA2bnBhf0/HQ/5UDgX5Ogzw1xJz6mWOFRctyOcmZPjJx3jjde9tCBjysvYscutRTPi35Q20mPDA74SKQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "is-tar": "^1.0.0", @@ -5233,21 +2883,12 @@ "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", "integrity": "sha512-g62n3Kb9cszeZvmvBUqP/dsEJD/+80pDA8u8KqHnAPrVnQ2Je9rVV6opxkhuWCd1kCn2gOibzDKxCtBvD3q5kA==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": "*" } }, - "node_modules/decompress-tar/node_modules/object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha512-CdsOUYIh5wIiozhJ3rLQgmUTgcyzFwZZrqhkKhODMoGtPKM+wt0h0CNIoauJWMsS9822EdzPsF/6mb4nLvPN5g==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/decompress-tar/node_modules/vinyl": { "version": "0.4.6", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", @@ -5267,6 +2908,7 @@ "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz", "integrity": "sha512-UVCUT54LTEf8uqoytmEMVSwTVl/rZJ0o6bUJsJ7psRmICUzCsz9BJ31drbX0NtgwD9cFzIwKProa2yThmVBKvQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "is-bzip2": "^1.0.0", @@ -5286,21 +2928,12 @@ "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", "integrity": "sha512-g62n3Kb9cszeZvmvBUqP/dsEJD/+80pDA8u8KqHnAPrVnQ2Je9rVV6opxkhuWCd1kCn2gOibzDKxCtBvD3q5kA==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": "*" } }, - "node_modules/decompress-tarbz2/node_modules/object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha512-CdsOUYIh5wIiozhJ3rLQgmUTgcyzFwZZrqhkKhODMoGtPKM+wt0h0CNIoauJWMsS9822EdzPsF/6mb4nLvPN5g==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/decompress-tarbz2/node_modules/vinyl": { "version": "0.4.6", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", @@ -5320,6 +2953,7 @@ "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-3.1.0.tgz", "integrity": "sha512-umeSWvrmd9/qcmGaf0oAc+Gx7La0B4Uxo+HXoo0HqrjEbCzn7SMiWvmE5sS56B+GqaoJ8z64ORZCRaOzKCYi/w==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "is-gzip": "^1.0.0", @@ -5338,21 +2972,12 @@ "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", "integrity": "sha512-g62n3Kb9cszeZvmvBUqP/dsEJD/+80pDA8u8KqHnAPrVnQ2Je9rVV6opxkhuWCd1kCn2gOibzDKxCtBvD3q5kA==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": "*" } }, - "node_modules/decompress-targz/node_modules/object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha512-CdsOUYIh5wIiozhJ3rLQgmUTgcyzFwZZrqhkKhODMoGtPKM+wt0h0CNIoauJWMsS9822EdzPsF/6mb4nLvPN5g==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/decompress-targz/node_modules/vinyl": { "version": "0.4.6", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", @@ -5372,6 +2997,7 @@ "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-3.4.0.tgz", "integrity": "sha512-rclee6Q/+aChW77vbHmtGNZi3ko1Qhsp9Brs5mVyhBSeg+K4n+6MHo47y/+7GsmYZuEqVJ46LjwT3/N8N50jZQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "is-zip": "^1.0.0", @@ -5386,44 +3012,12 @@ "node": ">=0.10.0" } }, - "node_modules/decompress-unzip/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "optional": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/decompress-unzip/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "optional": true - }, - "node_modules/decompress-unzip/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "optional": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/decompress-unzip/node_modules/through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "readable-stream": "~2.3.6", @@ -5435,24 +3029,28 @@ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=4.0.0" } }, "node_modules/define-data-property": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.2.tgz", - "integrity": "sha512-SRtsSqsDbgpJBbW3pABMCOt6rQyeM8s8RiyeSN8jYG8sYmt/kGJejbydttUsnDs1tadr19tvhT4ShwMyoqAm4g==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, + "license": "MIT", "dependencies": { + "es-define-property": "^1.0.0", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.2", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.1" + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-properties": { @@ -5460,6 +3058,7 @@ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, + "license": "MIT", "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", @@ -5477,25 +3076,18 @@ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.4.0" } }, - "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/detect-file": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -5504,7 +3096,8 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/diff": { "version": "3.5.0", @@ -5520,13 +3113,15 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/dom-serializer": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", "dev": true, + "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "entities": "^2.0.0" @@ -5542,13 +3137,15 @@ "type": "github", "url": "https://github.com/sponsors/fb55" } - ] + ], + "license": "BSD-2-Clause" }, "node_modules/dom-serializer/node_modules/entities": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true, + "license": "BSD-2-Clause", "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } @@ -5557,7 +3154,8 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true + "dev": true, + "license": "BSD-2-Clause" }, "node_modules/domhandler": { "version": "2.3.0", @@ -5583,6 +3181,7 @@ "resolved": "https://registry.npmjs.org/download/-/download-4.4.3.tgz", "integrity": "sha512-yOTsksXxUQ9b/p/HA3g9L97JZThcAKq8v3+Afwhf/kIoV0spu6pOvj+OKQbyGKYAwBGqSPbO+x1pCFSg5ce9OA==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "caw": "^1.0.1", @@ -5605,37 +3204,30 @@ "node": ">=0.10.0" } }, - "node_modules/download/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "optional": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/download/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "node_modules/download/node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, - "optional": true + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/download/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", "dev": true, - "optional": true, + "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/duplexer2": { @@ -5643,45 +3235,17 @@ "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "readable-stream": "^2.0.2" } }, - "node_modules/duplexer2/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/duplexer2/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/duplexer2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/duplexify": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", "dev": true, + "license": "MIT", "dependencies": { "end-of-stream": "^1.0.0", "inherits": "^2.0.1", @@ -5689,41 +3253,12 @@ "stream-shift": "^1.0.0" } }, - "node_modules/duplexify/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/duplexify/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/duplexify/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/each-async": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz", "integrity": "sha512-0hJGub96skwr+sUojv7zQ0kc9i4jn3SwLiLk8Jr7KDz7aaaMzkN5UX3a/9ZhzC0OfZVyXHhlHcjC0KVOiKZ+HQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "onetime": "^1.0.0", @@ -5737,29 +3272,25 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" } }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true - }, "node_modules/electron-to-chromium": { - "version": "1.5.262", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.262.tgz", - "integrity": "sha512-NlAsMteRHek05jRUxUR0a5jpjYq9ykk6+kO0yRaMi5moe7u0fVIOeQ3Y30A8dIiWFBNUoQGi1ljb1i5VtS9WQQ==", + "version": "1.5.267", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", + "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==", "dev": true, "license": "ISC" }, @@ -5767,83 +3298,40 @@ "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/encoding": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "license": "MIT", "dependencies": { "iconv-lite": "^0.6.2" } }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.18.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", - "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", "dev": true, "license": "MIT", "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" + "once": "^1.4.0" } }, "node_modules/entities": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", "integrity": "sha512-LbLqfXgJMmy81t+7c14mnulFHJ170cM6E+0vMXR9k/ZiZwgX8i5pNgjTCX3SO4VeUsFLV+8InixoretwU+MjBQ==", - "dev": true - }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/envinfo": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.21.0.tgz", - "integrity": "sha512-Lw7I8Zp5YKHFCXL7+Dz95g4CcbMEpgvqZNNq3AmlT5XAV6CgAAk6gyAMqn2zjw08K9BHfcNuKrMiCPLByGafow==", "dev": true, - "license": "MIT", - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } + "license": "BSD-like" }, "node_modules/epic-spinners": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/epic-spinners/-/epic-spinners-2.0.0.tgz", "integrity": "sha512-nU7xF7NoXrObmIGdXYwj1hfE3EH3jDVQ8oi1S5wG0yutrQILMJ3Xs0ZQEdGIjBQnFveDrAs/61m8/vm5SMvObA==", + "license": "MIT", "peerDependencies": { "vue": "^3.2.0" } @@ -5853,6 +3341,7 @@ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "prr": "~1.0.1" @@ -5861,30 +3350,57 @@ "errno": "cli.js" } }, + "node_modules/error": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/error/-/error-7.2.1.tgz", + "integrity": "sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA==", + "dev": true, + "dependencies": { + "string-template": "~0.2.1" + } + }, "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", "dev": true, + "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-errors": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" } }, - "node_modules/es-module-lexer": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } }, "node_modules/esbuild": { "version": "0.21.5", @@ -5892,6 +3408,7 @@ "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", "dev": true, "hasInstallScript": true, + "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -5939,29 +3456,17 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.0" } }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, + "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -5970,75 +3475,25 @@ "node": ">=4" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, "node_modules/estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" }, "node_modules/eventemitter2": { "version": "0.4.14", "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", - "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=", - "dev": true - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "integrity": "sha512-K7J4xq5xAD5jHsGM5ReWXRTFa3JRGofHiMcVgQ8PRwgWxzjHpMWCIzsmyf60+mh8KLsqYPcjUMa0AC4hd6lPyQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.x" - } + "license": "MIT" }, "node_modules/exec-buffer": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-2.0.1.tgz", "integrity": "sha512-or7SADjL54VpD0Z3mzsJ6LpSLiqy1VLeAuamwa4k1gXVJCKY+5Y2H+DTgAru5UuEzmN2RqiHHGTEjzT5YLnE/A==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "rimraf": "^2.2.6", @@ -6048,36 +3503,35 @@ "node": ">=0.10.0" } }, - "node_modules/exec-buffer/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "optional": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, "node_modules/exec-series": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/exec-series/-/exec-series-1.0.3.tgz", "integrity": "sha512-VkmGmKa4oWkVBcPPfSzOEmry9ELWKk4oodvXpmtYmvGD82k/TnT0CGNw9VoxQLYGwNJR6fIaXpHUhBm4tNTSMQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "async-each-series": "^1.1.0", "object-assign": "^4.1.0" } }, + "node_modules/exec-series/node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/executable": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/executable/-/executable-1.1.0.tgz", "integrity": "sha512-qZLuUgqTqYRLdF8Gl56y/JhT+X15uPX6y0Vpmj0cF4SCwbswBPc6yxzr1nClQa+SwRQ5Sk9+Mxa3ZBX9t6aWzg==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "meow": "^3.1.0" @@ -6092,7 +3546,7 @@ "node_modules/exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "engines": { "node": ">= 0.8.0" } @@ -6102,6 +3556,7 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", "integrity": "sha512-hxx03P2dJxss6ceIeri9cmYOT4SRs3Zk3afZwWpOsRqLqprhTR8u++SlC+sFGsQr7WGFPdMF7Gjc1njDLDK6UA==", "dev": true, + "license": "MIT", "dependencies": { "is-posix-bracket": "^0.1.0" }, @@ -6114,6 +3569,7 @@ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==", "dev": true, + "license": "MIT", "dependencies": { "fill-range": "^2.1.0" }, @@ -6126,6 +3582,7 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^2.1.0", "isobject": "^2.0.0", @@ -6142,6 +3599,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", "integrity": "sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -6154,6 +3612,7 @@ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, + "license": "MIT", "dependencies": { "isarray": "1.0.0" }, @@ -6166,6 +3625,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -6178,6 +3638,7 @@ "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", "dev": true, + "license": "MIT", "dependencies": { "homedir-polyfill": "^1.0.1" }, @@ -6189,13 +3650,15 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -6208,6 +3671,7 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", "integrity": "sha512-1FOj1LOwn42TMrruOHGt18HemVnbwAmAak7krWk+wa93KXxGbK+2jpezm+ytJYDaBX0/SPLZFHKM7m+tKobWGg==", "dev": true, + "license": "MIT", "dependencies": { "is-extglob": "^1.0.0" }, @@ -6220,6 +3684,7 @@ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6232,6 +3697,7 @@ "engines": [ "node >=0.6.0" ], + "license": "MIT", "optional": true }, "node_modules/fancy-log": { @@ -6239,6 +3705,7 @@ "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "ansi-gray": "^0.1.1", @@ -6250,24 +3717,18 @@ "node": ">= 0.10" } }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "micromatch": "^4.0.8" }, "engines": { "node": ">=8.6.0" @@ -6278,6 +3739,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -6285,44 +3747,19 @@ "node": ">= 6" } }, - "node_modules/fast-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", - "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.9.1" - } - }, "node_modules/fastparse": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", "dev": true, + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } @@ -6332,6 +3769,7 @@ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", "integrity": "sha512-Xhj93RXbMSq8urNCUq4p9l0P6hnySJ/7YNRhYNug0bLOuii7pKO7xQFb5mx9xZXWCar88pLPb805PvUkwrLZpQ==", "dev": true, + "license": "MIT", "dependencies": { "websocket-driver": ">=0.5.1" }, @@ -6344,6 +3782,7 @@ "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "pend": "~1.2.0" @@ -6354,6 +3793,7 @@ "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", "integrity": "sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==", "dev": true, + "license": "MIT", "dependencies": { "escape-string-regexp": "^1.0.5", "object-assign": "^4.1.0" @@ -6362,17 +3802,29 @@ "node": ">=0.10.0" } }, + "node_modules/figures/node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/file-sync-cmp": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz", "integrity": "sha512-0k45oWBokCqh2MOexeYKpyqmGKG+8mQ2Wd8iawx+uWd/weWJQAZ6SoPybagdCI4xFisag8iAR77WPm4h3pTfxA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/file-type": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6382,6 +3834,7 @@ "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", "integrity": "sha512-BTCqyBaWBTsauvnHiE8i562+EdJj+oUpkqWp2R1iCoR8f6oo8STRu3of7WJJ0TqWtxN50a5YFpzYK4Jj9esYfQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6391,6 +3844,7 @@ "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz", "integrity": "sha512-UZArj7+U+2reBBVCvVmRlyq9D7EYQdUtuNN+1iz7pF1jGcJ2L0TjiRCxsTZfj2xFbM4c25uGCUDpKTHA7L2TKg==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -6401,6 +3855,7 @@ "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz", "integrity": "sha512-DKVP0WQcB7WaIMSwDETqImRej2fepPqvXQjaVib7LRZn9Rxn5UbvK2tYTqGf1A1DkIprQQkG4XSQXSOZp7Q3GQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "filename-reserved-regex": "^1.0.0", @@ -6412,10 +3867,11 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -6423,28 +3879,12 @@ "node": ">=8" } }, - "node_modules/find-cache-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", - "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", - "dev": true, - "license": "MIT", - "dependencies": { - "common-path-prefix": "^3.0.0", - "pkg-dir": "^7.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/find-up": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", "dev": true, + "license": "MIT", "dependencies": { "path-exists": "^2.0.0", "pinkie-promise": "^2.0.0" @@ -6458,6 +3898,7 @@ "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-1.2.1.tgz", "integrity": "sha512-t0ciYD8XnoFVirFJN2niUJAQ/kyZU5UDSJobyekmiMPCBsYsWd4nd75e7HU2Xf4m+1Y7iLEo3fovNRNIV5MaDQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "array-uniq": "^1.0.0", @@ -6473,32 +3914,19 @@ } }, "node_modules/findup-sync": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", - "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=", - "dev": true, - "dependencies": { - "glob": "~5.0.0" - }, - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/findup-sync/node_modules/glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "deprecated": "Glob versions prior to v9 are no longer supported", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz", + "integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==", "dev": true, + "license": "MIT", "dependencies": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "detect-file": "^1.0.0", + "is-glob": "^4.0.3", + "micromatch": "^4.0.4", + "resolve-dir": "^1.0.1" }, "engines": { - "node": "*" + "node": ">= 10.13.0" } }, "node_modules/fined": { @@ -6506,6 +3934,7 @@ "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", "dev": true, + "license": "MIT", "dependencies": { "expand-tilde": "^2.0.2", "is-plain-object": "^2.0.3", @@ -6522,6 +3951,7 @@ "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", "integrity": "sha512-ArRi5axuv66gEsyl3UuK80CzW7t56hem73YGNYxNWTGNKFJUadSb9Gu9SHijYEUi8ulQMf1bJomYNwSCPHhtTQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6531,18 +3961,25 @@ "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.10" } }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", "dev": true, - "license": "BSD-3-Clause", - "bin": { - "flat": "cli.js" + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/for-in": { @@ -6550,6 +3987,7 @@ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6559,6 +3997,7 @@ "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==", "dev": true, + "license": "MIT", "dependencies": { "for-in": "^1.0.1" }, @@ -6567,12 +4006,13 @@ } }, "node_modules/foreground-child": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", "dev": true, + "license": "ISC", "dependencies": { - "cross-spawn": "^7.0.0", + "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" }, "engines": { @@ -6587,6 +4027,7 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, + "license": "ISC", "engines": { "node": ">=14" }, @@ -6599,6 +4040,7 @@ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", "dev": true, + "license": "Apache-2.0", "optional": true, "engines": { "node": "*" @@ -6609,6 +4051,7 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", "integrity": "sha512-8HWGSLAPr+AG0hBpsqi5Ob8HrLStN/LWeqhpFl14d7FJgHK48TmgLoALPz69XSUR65YJzDfLUX/BM8+MLJLghQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "asynckit": "^0.4.0", @@ -6620,15 +4063,16 @@ } }, "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", + "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", "dev": true, + "license": "MIT", "engines": { "node": "*" }, "funding": { - "type": "patreon", + "type": "github", "url": "https://github.com/sponsors/rawify" } }, @@ -6636,12 +4080,14 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" }, "node_modules/fsevents": { "version": "2.3.3", @@ -6649,6 +4095,7 @@ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -6657,39 +4104,46 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/gaze": { + "node_modules/function-bind": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", - "integrity": "sha512-38Jtqi8EsWt2l0x6iiL1NWN3/llOwWEv0NC3HGb/gPHLJkLq0N2c/TtuLrSfRXHwV6VkYmxAJj9YBdF33Et5hg==", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true, - "dependencies": { - "globule": "^1.0.0" - }, - "engines": { - "node": ">= 0.10.0" + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "node_modules/gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", "dev": true, "license": "MIT", + "dependencies": { + "globule": "^1.0.0" + }, "engines": { - "node": ">=6.9.0" + "node": ">= 4.0.0" } }, "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "dev": true, + "license": "MIT", "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -6698,25 +4152,18 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-intrinsic/node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-intrinsic/node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/get-proxy": { @@ -6724,6 +4171,7 @@ "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-1.1.0.tgz", "integrity": "sha512-3cJ+77wC52qD2PqWNXtB2HkU6tQXc/X3hSMtSN0Y8c8nbYMMxF7vpsjH4H0iSt+28l/NK13DKl8iKAVGkqDFnA==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "rc": "^1.1.2" @@ -6737,6 +4185,7 @@ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6755,6 +4204,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "assert-plus": "^1.0.0" @@ -6765,20 +4215,20 @@ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.8" } }, "node_modules/gettext-parser": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/gettext-parser/-/gettext-parser-3.1.1.tgz", - "integrity": "sha512-vNhWcqXEtZPs5Ft1ReA34g7ByWotpcOIeJvXVy2jF3/G2U9v6W0wG4Z4hXzcU8R//jArqkgHcVCGgGqa4vxVlQ==", - "dev": true, + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/gettext-parser/-/gettext-parser-1.4.0.tgz", + "integrity": "sha512-sedZYLHlHeBop/gZ1jdg59hlUEcpcZJofLq2JFwJT1zTqAU3l2wFv6IsuwFHGqbiT9DWzMUW4/em2+hspnmMMA==", + "license": "MIT", "dependencies": { "encoding": "^0.1.12", - "readable-stream": "^3.2.0", - "safe-buffer": "^5.1.2" + "safe-buffer": "^5.1.1" } }, "node_modules/gifsicle": { @@ -6787,6 +4237,7 @@ "integrity": "sha512-bfwYZooxxqCHpu3qUMn3En9xij/rrQd1fD9TNr+f7r5y/Inqj0WGkL7AeqQffBe/Sd6M/MIHzRKeD9hgI6Xavg==", "dev": true, "hasInstallScript": true, + "license": "MIT", "optional": true, "dependencies": { "bin-build": "^2.0.0", @@ -6801,15 +4252,16 @@ } }, "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, @@ -6825,6 +4277,7 @@ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", "integrity": "sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA==", "dev": true, + "license": "MIT", "dependencies": { "glob-parent": "^2.0.0", "is-glob": "^2.0.0" @@ -6838,6 +4291,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", "integrity": "sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^2.0.0" } @@ -6847,6 +4301,7 @@ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6856,6 +4311,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", "dev": true, + "license": "MIT", "dependencies": { "is-extglob": "^1.0.0" }, @@ -6864,25 +4320,16 @@ } }, "node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", - "dev": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "license": "ISC", "dependencies": { - "is-extglob": "^2.1.0" + "is-glob": "^4.0.3" }, "engines": { - "node": ">=0.10.0" + "node": ">=10.13.0" } }, "node_modules/glob-stream": { @@ -6890,6 +4337,7 @@ "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz", "integrity": "sha512-piN8XVAO2sNxwVLokL4PswgJvK/uQ6+awwXUVRTGF+rRfgCZpn4hOqxiRuTEbU/k3qgKl0DACYQ/0Sge54UMQg==", "dev": true, + "license": "MIT", "dependencies": { "extend": "^3.0.0", "glob": "^5.0.3", @@ -6909,6 +4357,7 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", "integrity": "sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==", "dev": true, + "license": "MIT", "dependencies": { "expand-range": "^1.8.1", "preserve": "^0.2.0", @@ -6924,6 +4373,7 @@ "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==", "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { "inflight": "^1.0.4", "inherits": "2", @@ -6935,22 +4385,25 @@ "node": "*" } }, - "node_modules/glob-stream/node_modules/is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", + "node_modules/glob-stream/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", "dev": true, - "engines": { - "node": ">=0.10.0" + "license": "ISC", + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" } }, "node_modules/glob-stream/node_modules/is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", "dev": true, + "license": "MIT", "dependencies": { - "is-extglob": "^1.0.0" + "is-extglob": "^2.1.0" }, "engines": { "node": ">=0.10.0" @@ -6961,6 +4414,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -6973,6 +4427,7 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", "integrity": "sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==", "dev": true, + "license": "MIT", "dependencies": { "arr-diff": "^2.0.0", "array-unique": "^0.2.1", @@ -6992,18 +4447,35 @@ "node": ">=0.10.0" } }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "node_modules/glob-stream/node_modules/micromatch/node_modules/is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", "dev": true, - "license": "BSD-2-Clause" + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-stream/node_modules/micromatch/node_modules/is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } }, "node_modules/global-modules": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", "dev": true, + "license": "MIT", "dependencies": { "global-prefix": "^1.0.1", "is-windows": "^1.0.1", @@ -7018,6 +4490,7 @@ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", "dev": true, + "license": "MIT", "dependencies": { "expand-tilde": "^2.0.2", "homedir-polyfill": "^1.0.1", @@ -7026,21 +4499,70 @@ "which": "^1.2.14" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globule": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz", + "integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob": "~7.1.1", + "lodash": "^4.17.21", + "minimatch": "~3.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/globule/node_modules/glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/globule": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz", - "integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==", + "node_modules/globule/node_modules/minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", "dev": true, + "license": "ISC", "dependencies": { - "glob": "~7.1.1", - "lodash": "^4.17.21", - "minimatch": "~3.0.2" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">= 0.10" + "node": "*" } }, "node_modules/glogg": { @@ -7048,6 +4570,7 @@ "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "sparkles": "^1.0.0" @@ -7057,26 +4580,29 @@ } }, "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.3" + "license": "MIT", + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/got": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-5.7.1.tgz", - "integrity": "sha512-1qd54GLxvVgzuidFmw9ze9umxS3rzhdBH6Wt6BTYrTQUXTN01vGGYXwzLzYLowNx8HBH3/c7kRyvx90fh13i7Q==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-5.6.0.tgz", + "integrity": "sha512-MnypzkaW8dldA8AbJFjMs7y14+ykd2V8JCLKSvX1Gmzx1alH3Y+3LArywHDoAF2wS3pnZp4gacoYtvqBeF6drQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "create-error-class": "^3.0.1", "duplexer2": "^0.1.4", + "is-plain-obj": "^1.0.0", "is-redirect": "^1.0.0", "is-retry-allowed": "^1.0.0", "is-stream": "^1.0.0", @@ -7087,358 +4613,182 @@ "pinkie-promise": "^2.0.0", "read-all-stream": "^3.0.0", "readable-stream": "^2.0.5", - "timed-out": "^3.0.0", - "unzip-response": "^1.0.2", + "timed-out": "^2.0.0", + "unzip-response": "^1.0.0", "url-parse-lax": "^1.0.0" }, "engines": { - "node": ">=0.10.0 <7" - } - }, - "node_modules/got/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "optional": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "node": ">=0.10.0" } }, - "node_modules/got/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "optional": true - }, - "node_modules/got/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/got/node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, + "license": "MIT", "optional": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "engines": { + "node": ">=0.10.0" } }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/grunt": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.5.3.tgz", - "integrity": "sha512-mKwmo4X2d8/4c/BmcOETHek675uOqw0RuA/zy12jaspWqvTp4+ZeQF1W+OTpcbncnaBsfbQJ6l0l4j+Sn/GmaQ==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.6.1.tgz", + "integrity": "sha512-/ABUy3gYWu5iBmrUSRBP97JLpQUm0GgVveDCp6t3yRNIoltIYw7rEj3g5y1o2PGPR2vfTRGa7WC/LZHLTXnEzA==", "dev": true, + "license": "MIT", "dependencies": { - "dateformat": "~3.0.3", + "dateformat": "~4.6.2", "eventemitter2": "~0.4.13", "exit": "~0.1.2", - "findup-sync": "~0.3.0", + "findup-sync": "~5.0.0", "glob": "~7.1.6", "grunt-cli": "~1.4.3", "grunt-known-options": "~2.0.0", "grunt-legacy-log": "~3.0.0", "grunt-legacy-util": "~2.0.1", - "iconv-lite": "~0.4.13", + "iconv-lite": "~0.6.3", "js-yaml": "~3.14.0", "minimatch": "~3.0.4", - "mkdirp": "~1.0.4", - "nopt": "~3.0.6", - "rimraf": "~3.0.2" + "nopt": "~3.0.6" }, "bin": { "grunt": "bin/grunt" }, "engines": { - "node": ">=8" - } - }, - "node_modules/grunt-contrib-clean": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-1.0.0.tgz", - "integrity": "sha1-ay7ZQRfix//jLuBFeMlv5GJam20=", - "dev": true, - "dependencies": { - "async": "^1.5.2", - "rimraf": "^2.5.1" - }, - "engines": { - "node": ">= 0.10.0" - }, - "peerDependencies": { - "grunt": ">= 0.4.5" + "node": ">=16" } }, - "node_modules/grunt-contrib-clean/node_modules/async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "node_modules/grunt-contrib-clean/node_modules/rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", + "node_modules/grunt-cli": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz", + "integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==", "dev": true, + "license": "MIT", "dependencies": { - "glob": "^7.0.5" + "grunt-known-options": "~2.0.0", + "interpret": "~1.1.0", + "liftup": "~3.0.1", + "nopt": "~4.0.1", + "v8flags": "~3.2.0" }, "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/grunt-contrib-compress": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-compress/-/grunt-contrib-compress-1.3.0.tgz", - "integrity": "sha1-XlwmogBJCCPH93KIr9LXNQ2Vxj0=", - "dev": true, - "dependencies": { - "archiver": "^1.0.0", - "chalk": "^1.1.1", - "lodash": "^4.7.0", - "pretty-bytes": "^3.0.1", - "stream-buffers": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-compress/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-compress/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-compress/node_modules/pretty-bytes": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz", - "integrity": "sha1-J9AAjXeAY6C0gRuzXHnxvV1fvM8=", - "dev": true, - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-compress/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/grunt-contrib-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-1.0.1.tgz", - "integrity": "sha1-YVCYYwhOhx1+ht5IwBUlntl3Rb0=", - "dev": true, - "dependencies": { - "chalk": "^1.0.0", - "source-map": "^0.5.3" - }, - "engines": { - "node": ">=0.10.0" + "grunt": "bin/grunt" }, - "peerDependencies": { - "grunt": ">=0.4.0" - } - }, - "node_modules/grunt-contrib-concat/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/grunt-contrib-concat/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "node_modules/grunt-cli/node_modules/nopt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", "dev": true, + "license": "ISC", "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "abbrev": "1", + "osenv": "^0.1.4" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-concat/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-concat/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true, - "engines": { - "node": ">=0.8.0" + "bin": { + "nopt": "bin/nopt.js" } }, - "node_modules/grunt-contrib-copy": { + "node_modules/grunt-contrib-clean": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz", - "integrity": "sha1-cGDGWB6QS4qw0A8HbgqPbj58NXM=", + "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-1.0.0.tgz", + "integrity": "sha512-53igYwhP+AUWdIfO1R+L9r4O48FSnA5ImYPWdXUNU+YQruOpprmMb+N74P7fAZLL3w9lsFin4B234NUrWx/RrQ==", "dev": true, + "license": "MIT", "dependencies": { - "chalk": "^1.1.1", - "file-sync-cmp": "^0.1.0" + "async": "^1.5.2", + "rimraf": "^2.5.1" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-copy/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-copy/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "node": ">= 0.10.0" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-copy/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true, - "engines": { - "node": ">=0.8.0" + "peerDependencies": { + "grunt": ">= 0.4.5" } }, - "node_modules/grunt-contrib-imagemin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/grunt-contrib-imagemin/-/grunt-contrib-imagemin-1.0.1.tgz", - "integrity": "sha1-5Ho1YTN29MqpwfkERlA8rhyUTXk=", + "node_modules/grunt-contrib-compress": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-compress/-/grunt-contrib-compress-1.3.0.tgz", + "integrity": "sha512-pERsxMY+cORJIK/q448mLkFeBAOBp7BB63tkTxq1fFFIAjUj6QS7thN+TJ20ubK7BoRbYYY1wK8LwHACUpnrQg==", "dev": true, - "dependencies": { - "async": "^1.5.2", - "chalk": "^1.0.0", - "gulp-rename": "^1.2.0", - "imagemin": "^4.0.0", - "pretty-bytes": "^3.0.1" + "license": "MIT", + "dependencies": { + "archiver": "^1.0.0", + "chalk": "^1.1.1", + "lodash": "^4.7.0", + "pretty-bytes": "^3.0.1", + "stream-buffers": "^2.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/grunt-contrib-imagemin/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "node_modules/grunt-contrib-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-1.0.1.tgz", + "integrity": "sha512-QdTmcxe8aim2Z0dFeuSJ+f7fHIeY7PZaTMZxgvosjXwyMhpy2GUR5WHkr12lksHfZVE80v2wUwqF56wyfPUwoQ==", "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^1.0.0", + "source-map": "^0.5.3" + }, "engines": { "node": ">=0.10.0" + }, + "peerDependencies": { + "grunt": ">=0.4.0" } }, - "node_modules/grunt-contrib-imagemin/node_modules/async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "node_modules/grunt-contrib-imagemin/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "node_modules/grunt-contrib-copy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz", + "integrity": "sha512-gFRFUB0ZbLcjKb67Magz1yOHGBkyU6uL29hiEW1tdQ9gQt72NuMKIy/kS6dsCbV0cZ0maNCb0s6y+uT1FKU7jA==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "chalk": "^1.1.1", + "file-sync-cmp": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/grunt-contrib-imagemin/node_modules/pretty-bytes": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz", - "integrity": "sha1-J9AAjXeAY6C0gRuzXHnxvV1fvM8=", + "node_modules/grunt-contrib-imagemin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-imagemin/-/grunt-contrib-imagemin-1.0.1.tgz", + "integrity": "sha512-5QM+e2zgC3eYn6f7XMZnEPQvunp0cSktW7ryyX9wMqv+LB5Q5rgKGwpjUwy5XQovK82JnMAelhodS3ylpKGAxw==", "dev": true, + "license": "MIT", "dependencies": { - "number-is-nan": "^1.0.0" + "async": "^1.5.2", + "chalk": "^1.0.0", + "gulp-rename": "^1.2.0", + "imagemin": "^4.0.0", + "pretty-bytes": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/grunt-contrib-imagemin/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/grunt-contrib-jshint": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-1.1.0.tgz", - "integrity": "sha1-Np2QmyWTxA6L55lAshNAhQx5Oaw=", + "integrity": "sha512-N8jtQ/FmvuRdJoEGphmGt+ov1oi5bJq4hPBPT/g54ed1glF34l2z5VAdHHhcgOaezBxur3kcMPChB0pfZxxcFw==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^1.1.1", "hooker": "^0.2.3", @@ -7451,54 +4801,12 @@ "grunt": ">=0.4.0" } }, - "node_modules/grunt-contrib-jshint/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-jshint/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-jshint/node_modules/hooker": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", - "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/grunt-contrib-jshint/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/grunt-contrib-less": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-1.4.1.tgz", - "integrity": "sha1-O73sC3XRLOqlXWKUNiXAsIYc328=", + "integrity": "sha512-NI8pp1KL3c43iR6OLWRyla6I5FLSpvbT5R6UzGHvdRDT0cM0WVfDiIAqqnjDL9z7pPr3ZyOrum5Jn1CIATmHxQ==", "dev": true, + "license": "MIT", "dependencies": { "async": "^2.0.0", "chalk": "^1.0.0", @@ -7509,54 +4817,22 @@ "node": ">=0.10.0" } }, - "node_modules/grunt-contrib-less/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/grunt-contrib-less/node_modules/async": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", - "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", - "dev": true, - "dependencies": { - "lodash": "^4.14.0" - } - }, - "node_modules/grunt-contrib-less/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-less/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true, - "engines": { - "node": ">=0.8.0" + "lodash": "^4.17.14" } }, "node_modules/grunt-contrib-uglify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-2.3.0.tgz", - "integrity": "sha1-s9AmDr3WzvoS/y+Onh4ln33kIW8=", + "integrity": "sha512-hdV6W7OwRCcYb6MJoSK8OE/D3dFJ02ykp+UMoGNBGusKxiX0TBreQ0JD/PHMsBUfCmp8vOYEbL9np90qO4bJJQ==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^1.0.0", "maxmin": "^1.1.0", @@ -7568,100 +4844,38 @@ "node": ">=0.10.0" } }, - "node_modules/grunt-contrib-uglify/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-uglify/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "node_modules/grunt-contrib-watch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.1.0.tgz", + "integrity": "sha512-yGweN+0DW5yM+oo58fRu/XIRrPcn3r4tQx+nL7eMRwjpvk+rQY6R8o94BPK0i2UhTg9FN21hS+m8vR8v9vXfeg==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "async": "^2.6.0", + "gaze": "^1.1.0", + "lodash": "^4.17.10", + "tiny-lr": "^1.1.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/grunt-contrib-uglify/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/grunt-contrib-uglify/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/grunt-contrib-uglify/node_modules/uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "dev": true, - "dependencies": { - "source-map": "~0.5.1", - "yargs": "~3.10.0" - }, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - }, - "optionalDependencies": { - "uglify-to-browserify": "~1.0.0" - } - }, - "node_modules/grunt-contrib-watch": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.0.0.tgz", - "integrity": "sha1-hKGnodar0m7VaEE0lscxM+mQAY8=", + "node_modules/grunt-contrib-watch/node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "dev": true, + "license": "MIT", "dependencies": { - "async": "^1.5.0", - "gaze": "^1.0.0", - "lodash": "^3.10.1", - "tiny-lr": "^0.2.1" - }, - "engines": { - "node": ">=0.10.0" + "lodash": "^4.17.14" } }, - "node_modules/grunt-contrib-watch/node_modules/async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "node_modules/grunt-contrib-watch/node_modules/lodash": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", - "dev": true - }, "node_modules/grunt-known-options": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-2.0.0.tgz", "integrity": "sha512-GD7cTz0I4SAede1/+pAbmJRG44zFLPipVtdL9o3vqx9IEyb7b4/Y3s7r6ofI3CchR5GvYJ+8buCSioDv5dQLiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -7671,6 +4885,7 @@ "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-3.0.0.tgz", "integrity": "sha512-GHZQzZmhyq0u3hr7aHW4qUH0xDzwp2YXldLPZTCjlOeGscAOWWPftZG3XioW8MasGp+OBRIu39LFx14SLjXRcA==", "dev": true, + "license": "MIT", "dependencies": { "colors": "~1.1.2", "grunt-legacy-log-utils": "~2.1.0", @@ -7686,6 +4901,7 @@ "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.1.0.tgz", "integrity": "sha512-lwquaPXJtKQk0rUM1IQAop5noEpwFqOXasVoedLeNzaibf/OPWjKYvvdqnEHNmU+0T0CaReAXIbGo747ZD+Aaw==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "~4.1.0", "lodash": "~4.17.19" @@ -7694,64 +4910,96 @@ "node": ">=10" } }, - "node_modules/grunt-legacy-util": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.1.tgz", - "integrity": "sha512-2bQiD4fzXqX8rhNdXkAywCadeqiPiay0oQny77wA2F3WF4grPJXCvAcyoWUJV+po/b15glGkxuSiQCK299UC2w==", + "node_modules/grunt-legacy-log-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { - "async": "~3.2.0", - "exit": "~0.1.2", - "getobject": "~1.0.0", - "hooker": "~0.2.3", - "lodash": "~4.17.21", - "underscore.string": "~3.3.5", - "which": "~2.0.2" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/grunt-legacy-log-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/grunt-legacy-util/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/grunt-legacy-log-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { - "isexe": "^2.0.0" + "has-flag": "^4.0.0" }, - "bin": { - "node-which": "bin/node-which" + "engines": { + "node": ">=8" + } + }, + "node_modules/grunt-legacy-util": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.1.tgz", + "integrity": "sha512-2bQiD4fzXqX8rhNdXkAywCadeqiPiay0oQny77wA2F3WF4grPJXCvAcyoWUJV+po/b15glGkxuSiQCK299UC2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "async": "~3.2.0", + "exit": "~0.1.2", + "getobject": "~1.0.0", + "hooker": "~0.2.3", + "lodash": "~4.17.21", + "underscore.string": "~3.3.5", + "which": "~2.0.2" }, "engines": { - "node": ">= 8" + "node": ">=10" } }, + "node_modules/grunt-legacy-util/node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, + "license": "MIT" + }, "node_modules/grunt-notify": { "version": "0.4.5", "resolved": "https://registry.npmjs.org/grunt-notify/-/grunt-notify-0.4.5.tgz", - "integrity": "sha1-BSk5kGFhENtrwK0V5sBZL/4YrDE=", + "integrity": "sha512-tOuxVw4HHcCGXuCzUGIDN5ZVAN5t0BFt+yVhV4cvipXbqRQCGKyGUuYj50jKSycK663cHaQP9RbDXeIOQzgntw==", "dev": true, + "license": "MIT", "dependencies": { "semver": "^5.1.0", "stack-parser": "^0.0.1", "which": "^1.2.4" } }, - "node_modules/grunt-notify/node_modules/semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, "node_modules/grunt-notify/node_modules/which": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -7762,8 +5010,9 @@ "node_modules/grunt-phplint": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/grunt-phplint/-/grunt-phplint-0.0.8.tgz", - "integrity": "sha1-wSeqKP930jnBSgHwUMx7cVnOkMA=", + "integrity": "sha512-3yEhT2n+h9E8bKFJQ9ms7ufCHlWdd1hFbC83e8BGLo/hXByvS61IZPCWR3FaTALlShsQ3g8OKZwxXvEZPWXp1w==", "dev": true, + "license": "MIT", "dependencies": { "cache-swap": "~0.0.2", "grunt": "~0.4.1" @@ -7772,8 +5021,9 @@ "node_modules/grunt-phplint/node_modules/argparse": { "version": "0.1.16", "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz", - "integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=", + "integrity": "sha512-LjmC2dNpdn2L4UzyoaIr11ELYoLn37ZFy9zObrQFHsSuOepeUEMKnM8w5KL4Tnrp2gy88rRuQt6Ky8Bjml+Baw==", "dev": true, + "license": "MIT", "dependencies": { "underscore": "~1.7.0", "underscore.string": "~2.4.0" @@ -7782,7 +5032,7 @@ "node_modules/grunt-phplint/node_modules/argparse/node_modules/underscore.string": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz", - "integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs=", + "integrity": "sha512-yxkabuCaIBnzfIvX3kBxQqCs0ar/bfJwDnFEHJUm/ZrRVhT3IItdRF5cZjARLzEnyQYtIUhsZ2LG2j3HidFOFQ==", "dev": true, "engines": { "node": "*" @@ -7800,7 +5050,7 @@ "node_modules/grunt-phplint/node_modules/colors": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", - "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", + "integrity": "sha512-OsSVtHK8Ir8r3+Fxw/b4jS1ZLPXkV6ZxDRJQzeD7qo0SqMXWrHDM71DgYzPMHY8SFJ0Ao+nNU2p1MmwdzKqPrw==", "dev": true, "engines": { "node": ">=0.1.90" @@ -7809,7 +5059,7 @@ "node_modules/grunt-phplint/node_modules/dateformat": { "version": "1.0.2-1.2.3", "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz", - "integrity": "sha1-sCIMAt6YYXQztyhRz0fePfLNvuk=", + "integrity": "sha512-AXvW8g7tO4ilk5HgOWeDmPi/ZPaCnMJ+9Cg1I3p19w6mcvAAXBuuGEXAxybC+Djj1PSZUiHUcyoYu7WneCX8gQ==", "dev": true, "engines": { "node": "*" @@ -7818,7 +5068,7 @@ "node_modules/grunt-phplint/node_modules/esprima": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", - "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=", + "integrity": "sha512-rp5dMKN8zEs9dfi9g0X1ClLmV//WRyk/R15mppFNICIFRG5P92VP7Z04p8pk++gABo9W2tY+kHyu6P1mEHgmTA==", "dev": true, "bin": { "esparse": "bin/esparse.js", @@ -7831,7 +5081,7 @@ "node_modules/grunt-phplint/node_modules/findup-sync": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz", - "integrity": "sha1-fz56l7gjksZTvwZYm9hRkOk8NoM=", + "integrity": "sha512-yjftfYnF4ThYEvKEV/kEFR15dmtyXTAh3vQnzpJUoc7Naj5y1P0Ck7Zs1+Vroa00E3KT3IYsk756S+8WA5dNLw==", "dev": true, "dependencies": { "glob": "~3.2.9", @@ -7844,9 +5094,10 @@ "node_modules/grunt-phplint/node_modules/findup-sync/node_modules/glob": { "version": "3.2.11", "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", - "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=", + "integrity": "sha512-hVb0zwEZwC1FXSKRPFTeOtN7AArJcJlI6ULGLtrstaswKNlrTJqAA+1lYlSUop4vjA423xlBzqfVS3iWGlqJ+g==", "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "BSD", "dependencies": { "inherits": "2", "minimatch": "0.3" @@ -7858,19 +5109,21 @@ "node_modules/grunt-phplint/node_modules/findup-sync/node_modules/lodash": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", - "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "integrity": "sha512-Kak1hi6/hYHGVPmdyiZijoQyz5x2iGVzs6w9GYB/HiXEtylY7tIoYEROMjvM1d9nXJqPOrG2MNPMn01bJ+S0Rw==", "dev": true, "engines": [ "node", "rhino" - ] + ], + "license": "MIT" }, "node_modules/grunt-phplint/node_modules/findup-sync/node_modules/minimatch": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", - "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=", + "integrity": "sha512-WFX1jI1AaxNTZVOHLBVazwTWKaQjoykSzCBNXB72vDTCzopQGtyP91tKdFK5cv1+qMwPyiTu1HqUriqplI8pcA==", "deprecated": "Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue", "dev": true, + "license": "MIT", "dependencies": { "lru-cache": "2", "sigmund": "~1.0.0" @@ -7882,7 +5135,7 @@ "node_modules/grunt-phplint/node_modules/getobject": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz", - "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=", + "integrity": "sha512-hIGEBfnHcZpWkXPsAVeVmpYDvfy/matVl03yOY91FPmnpCC12Lm5izNxCjO3lHAeO6uaTwMxu7g450Siknlhig==", "dev": true, "engines": { "node": ">= 0.8.0" @@ -7891,9 +5144,10 @@ "node_modules/grunt-phplint/node_modules/glob": { "version": "3.1.21", "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", - "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=", + "integrity": "sha512-ANhy2V2+tFpRajE3wN4DhkNQ08KDr0Ir1qL12/cUe5+a7STEK8jkW4onUYuY8/06qAFuT5je7mjAqzx0eKI2tQ==", "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "BSD", "dependencies": { "graceful-fs": "~1.2.0", "inherits": "1", @@ -7906,15 +5160,16 @@ "node_modules/grunt-phplint/node_modules/glob/node_modules/inherits": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", - "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=", + "integrity": "sha512-Al67oatbRSo3RV5hRqIoln6Y5yMVbJSIn4jEJNL7VCImzq/kLr7vvb6sFRJXqr8rpHc/2kJOM+y0sPKN47VdzA==", "dev": true }, "node_modules/grunt-phplint/node_modules/graceful-fs": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", - "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=", + "integrity": "sha512-iiTUZ5vZ+2ZV+h71XAgwCSu6+NAizhFU3Yw8aC/hH5SQ3SnISqEqAek40imAFGtDcwJKNhXvSY+hzIolnLwcdQ==", "deprecated": "please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js", "dev": true, + "license": "BSD", "engines": { "node": ">=0.4.0" } @@ -7922,7 +5177,7 @@ "node_modules/grunt-phplint/node_modules/grunt": { "version": "0.4.5", "resolved": "https://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz", - "integrity": "sha1-VpN81RlDJK3/bSB2MYMqnWuk5/A=", + "integrity": "sha512-1iq3ylLjzXqz/KSq1OAE2qhnpcbkF2WyhsQcavZt+YmgvHu0EbPMEhGhy2gr0FP67isHpRdfwjB5WVeXXcJemQ==", "dev": true, "dependencies": { "async": "~0.1.22", @@ -7953,8 +5208,9 @@ "node_modules/grunt-phplint/node_modules/grunt-legacy-log": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.3.tgz", - "integrity": "sha1-7ClCboAwIa9ZAp+H0vnNczWgVTE=", + "integrity": "sha512-qYs/uM0ImdzwIXLhS4O5WLV5soAM+PEqqHI/hzSxlo450ERSccEhnXqoeDA9ZozOdaWuYnzTOTwRcVRogleMxg==", "dev": true, + "license": "MIT", "dependencies": { "colors": "~0.6.2", "grunt-legacy-log-utils": "~0.1.1", @@ -7969,7 +5225,7 @@ "node_modules/grunt-phplint/node_modules/grunt-legacy-log-utils": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz", - "integrity": "sha1-wHBrndkGThFvNvI/5OawSGcsD34=", + "integrity": "sha512-D0vbUX00TFYCKNZtcZzemMpwT8TR/FdRs1pmfiBw6qnUw80PfsjV+lhIozY/3eJ3PSG2zj89wd2mH/7f4tNAlw==", "dev": true, "dependencies": { "colors": "~0.6.2", @@ -7983,17 +5239,18 @@ "node_modules/grunt-phplint/node_modules/grunt-legacy-log-utils/node_modules/lodash": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", - "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "integrity": "sha512-Kak1hi6/hYHGVPmdyiZijoQyz5x2iGVzs6w9GYB/HiXEtylY7tIoYEROMjvM1d9nXJqPOrG2MNPMn01bJ+S0Rw==", "dev": true, "engines": [ "node", "rhino" - ] + ], + "license": "MIT" }, "node_modules/grunt-phplint/node_modules/grunt-legacy-log-utils/node_modules/underscore.string": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", - "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=", + "integrity": "sha512-hbD5MibthuDAu4yA5wxes5bzFgqd3PpBJuClbRxaNddxfdsz+qf+1kHwrGQFrmchmDHb9iNU+6EHDn8uj0xDJg==", "dev": true, "engines": { "node": "*" @@ -8002,17 +5259,18 @@ "node_modules/grunt-phplint/node_modules/grunt-legacy-log/node_modules/lodash": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", - "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "integrity": "sha512-Kak1hi6/hYHGVPmdyiZijoQyz5x2iGVzs6w9GYB/HiXEtylY7tIoYEROMjvM1d9nXJqPOrG2MNPMn01bJ+S0Rw==", "dev": true, "engines": [ "node", "rhino" - ] + ], + "license": "MIT" }, "node_modules/grunt-phplint/node_modules/grunt-legacy-log/node_modules/underscore.string": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", - "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=", + "integrity": "sha512-hbD5MibthuDAu4yA5wxes5bzFgqd3PpBJuClbRxaNddxfdsz+qf+1kHwrGQFrmchmDHb9iNU+6EHDn8uj0xDJg==", "dev": true, "engines": { "node": "*" @@ -8021,7 +5279,7 @@ "node_modules/grunt-phplint/node_modules/grunt-legacy-util": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz", - "integrity": "sha1-kzJIhNv343qf98Am3/RR2UqeVUs=", + "integrity": "sha512-cXPbfF8aM+pvveQeN1K872D5fRm30xfJWZiS63Y8W8oyIPLClCsmI8bW96Txqzac9cyL4lRqEBhbhJ3n5EzUUQ==", "dev": true, "dependencies": { "async": "~0.1.22", @@ -8039,8 +5297,9 @@ "node_modules/grunt-phplint/node_modules/iconv-lite": { "version": "0.2.11", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz", - "integrity": "sha1-HOYKOleGSiktEyH/RgnKS7llrcg=", + "integrity": "sha512-KhmFWgaQZY83Cbhi+ADInoUQ8Etn6BG5fikM9syeOjQltvR45h7cRKJ/9uvQEuD61I3Uju77yYce0/LhKVClQw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.4.0" } @@ -8048,8 +5307,9 @@ "node_modules/grunt-phplint/node_modules/js-yaml": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz", - "integrity": "sha1-olrmUJmZ6X3yeMZxnaEb0Gh3Q6g=", + "integrity": "sha512-VEKcIksckDBUhg2JS874xVouiPkywVUh4yyUmLCDe1Zg3bCd6M+F1eGPenPeHLc2XC8pp9G8bsuofK0NeEqRkA==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "~ 0.1.11", "esprima": "~ 1.0.2" @@ -8069,14 +5329,16 @@ "engines": [ "node", "rhino" - ] + ], + "license": "MIT" }, "node_modules/grunt-phplint/node_modules/minimatch": { "version": "0.2.14", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", + "integrity": "sha512-zZ+Jy8lVWlvqqeM8iZB7w7KmQkoJn8djM585z88rywrEbzoqawVa9FR5p2hwD+y74nfuKOjmNvi9gtWJNLqHvA==", "deprecated": "Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue", "dev": true, + "license": "MIT", "dependencies": { "lru-cache": "2", "sigmund": "~1.0.0" @@ -8088,8 +5350,9 @@ "node_modules/grunt-phplint/node_modules/nopt": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", "dev": true, + "license": "MIT", "dependencies": { "abbrev": "1" }, @@ -8106,6 +5369,7 @@ "integrity": "sha512-R5KMKHnPAQaZMqLOsyuyUmcIjSeDm+73eoqQpaXA7AZ22BL+6C+1mcUscgOsNd8WVlJuvlgAPsegcx7pjlV0Dg==", "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, + "license": "MIT", "bin": { "rimraf": "bin.js" } @@ -8113,7 +5377,7 @@ "node_modules/grunt-phplint/node_modules/underscore.string": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz", - "integrity": "sha1-18D6KvXVoaZ/QlPa7pgTLnM/Dxk=", + "integrity": "sha512-3FVmhXqelrj6gfgp3Bn6tOavJvW0dNH2T+heTD38JRxIrAbiuzbqjknszoOYj3DyFB1nWiLj208Qt2no/L4cIA==", "dev": true, "engines": { "node": "*" @@ -8122,8 +5386,9 @@ "node_modules/grunt-phplint/node_modules/which": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/which/-/which-1.0.9.tgz", - "integrity": "sha1-RgwdoPgQED0DIam2M6+eV15kSG8=", + "integrity": "sha512-E87fdQ/eRJr9W1X4wTPejNy9zTW3FI2vpCZSJ/HAY+TkjKVC0TUm1jk6vn2Z7qay0DQy0+RBGdXxj+RmmiGZKQ==", "dev": true, + "license": "ISC", "bin": { "which": "bin/which" } @@ -8216,6 +5481,16 @@ "node": ">=4.0.0" } }, + "node_modules/grunt-postcss/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/grunt-postcss/node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -8234,6 +5509,7 @@ "resolved": "https://registry.npmjs.org/grunt-shell/-/grunt-shell-4.0.0.tgz", "integrity": "sha512-dHFy8VZDfWGYLTeNvIHze4PKXGvIlDWuN0UE7hUZstTQeiEyv1VmW1MaDYQ3X5tE3bCi3bEia1gGKH8z/f1czQ==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^3.0.0", "npm-run-path": "^2.0.0", @@ -8254,8 +5530,25 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/grunt-shell/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/grunt-shell/node_modules/chalk": { @@ -8263,6 +5556,7 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -8276,6 +5570,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -8283,32 +5578,46 @@ "node": ">=8" } }, + "node_modules/grunt-shell/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/grunt-text-replace": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/grunt-text-replace/-/grunt-text-replace-0.4.0.tgz", - "integrity": "sha1-252c5Z4v5J2id+nbwZXD4Rz7FsI=", + "integrity": "sha512-A4dFGpOaD/TQpeOlDK/zP962X1qG7KcOqPiSXOWOIeAKMzzpoDJYZ8Sz56iazI5+kTqeTa+IaEEl5c4sk+QN+Q==", "dev": true, "engines": { "node": ">= 0.8.0" } }, "node_modules/grunt-wp-i18n": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/grunt-wp-i18n/-/grunt-wp-i18n-1.0.3.tgz", - "integrity": "sha512-CJNbEKeBeOSAPeaJ9B8iCgSwtaG63UR9/uT46a4OsIqnFhOJpeAi138JTlvjfIbnDVoBrzvdrKJe1svveLjUtA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grunt-wp-i18n/-/grunt-wp-i18n-1.0.4.tgz", + "integrity": "sha512-bhvcLzlBTmQ0v3LdIRQYGNyZh2CgnODF4kZYuD7VdNR8eekZ7X/GtQ63d3Ymx4cEhIZyZQSI8kaDEwBY25rPHw==", "dev": true, + "license": "MIT", "dependencies": { - "grunt": "^1.0.3", - "node-wp-i18n": "^1.2.2" + "grunt": "^1.6.1", + "node-wp-i18n": "^1.2.8" }, "engines": { "node": ">=0.12.0" } }, "node_modules/grunt-wp-readme-to-markdown": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/grunt-wp-readme-to-markdown/-/grunt-wp-readme-to-markdown-2.0.1.tgz", - "integrity": "sha1-QGzV6YmIWA3B0W6AXE4uYJJWhVI=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/grunt-wp-readme-to-markdown/-/grunt-wp-readme-to-markdown-2.1.0.tgz", + "integrity": "sha512-32OYDYNaKgykI2vxVsbqzvYBA9xHJI3XqXHSwXbLzUd1wa0ZepoceHYCs4rYFLo3ZxKpPExxvVuH3gLUS/Fq1Q==", "dev": true, "engines": { "node": ">= 0.8.0" @@ -8317,36 +5626,39 @@ "grunt": ">=0.4.0" } }, - "node_modules/grunt/node_modules/grunt-cli": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz", - "integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==", + "node_modules/grunt/node_modules/glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { - "grunt-known-options": "~2.0.0", - "interpret": "~1.1.0", - "liftup": "~3.0.1", - "nopt": "~4.0.1", - "v8flags": "~3.2.0" - }, - "bin": { - "grunt": "bin/grunt" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">=10" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/grunt/node_modules/grunt-cli/node_modules/nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "node_modules/grunt/node_modules/minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", "dev": true, + "license": "ISC", "dependencies": { - "abbrev": "1", - "osenv": "^0.1.4" + "brace-expansion": "^1.1.7" }, - "bin": { - "nopt": "bin/nopt.js" + "engines": { + "node": "*" } }, "node_modules/gulp-decompress": { @@ -8354,6 +5666,7 @@ "resolved": "https://registry.npmjs.org/gulp-decompress/-/gulp-decompress-1.2.0.tgz", "integrity": "sha512-ChTv+4/4BwAdQLUgQoAvLFjYFvxYF6p9Mmf/b19/Lp7yNCvb8+KRkdXV8Gd7XErxtrEh8XDCCVon3DgqW4TgfA==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "archive-type": "^3.0.0", @@ -8365,47 +5678,14 @@ "node": ">=0.10.0" } }, - "node_modules/gulp-decompress/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "optional": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/gulp-decompress/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "optional": true - }, - "node_modules/gulp-decompress/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "optional": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/gulp-rename": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.2.tgz", - "integrity": "sha512-qhfUlYwq5zIP4cpRjx+np2vZVnr0xCRQrF3RsGel8uqL47Gu3yjmllSfnvJyl/39zYuxS68e1nnxImbm7388vw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.4.0.tgz", + "integrity": "sha512-swzbIGb/arEoFK89tPY58vg3Ok1bw+d35PfUNwWqdo7KM4jkmuGA78JiDNqR+JeZFaeeHnRg9N7aihX3YPmsyg==", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0", - "npm": ">=1.2.10" + "node": ">=4" } }, "node_modules/gulp-sourcemaps": { @@ -8413,6 +5693,7 @@ "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz", "integrity": "sha512-NjRy6+Qb5K1xbwOvPviD3uA4KSq2zsalPL+4vxPQPuL+kKzHjXJL10/kLaESic3LmBto8VIBHr3gIN3F9AjnhA==", "dev": true, + "license": "ISC", "dependencies": { "convert-source-map": "^1.1.1", "graceful-fs": "^4.1.2", @@ -8421,41 +5702,12 @@ "vinyl": "^1.0.0" } }, - "node_modules/gulp-sourcemaps/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/gulp-sourcemaps/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/gulp-sourcemaps/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/gulp-sourcemaps/node_modules/through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, + "license": "MIT", "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" @@ -8467,6 +5719,7 @@ "integrity": "sha512-q5oWPc12lwSFS9h/4VIjG+1NuNDlJ48ywV2JKItY4Ycc/n1fXJeYPVQsfu5ZrhQi7FGSDBalwUCLar/GyHXKGw==", "deprecated": "gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "array-differ": "^1.0.0", @@ -8492,94 +5745,26 @@ "node": ">=0.10" } }, - "node_modules/gulp-util/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-util/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "dev": true, - "optional": true, - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-util/node_modules/dateformat": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz", - "integrity": "sha512-GODcnWq3YGoTnygPfi02ygEiRxqUxpJwuRHjdhJYuxpcZmDq4rjBiXYmbCCzStxo176ixfLT6i4NPwQooRySnw==", - "dev": true, - "optional": true, - "engines": { - "node": "*" - } - }, - "node_modules/gulp-util/node_modules/object-assign": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", - "integrity": "sha512-jHP15vXVGeVh1HuaA2wY6lxk+whK/x4KBG88VXeRma7CCun7iGD5qPc4eYykQ9sdQvg8jkwFKsSxHln2ybW3xQ==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-util/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "optional": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/gulp-util/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "optional": true - }, - "node_modules/gulp-util/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/gulp-util/node_modules/dateformat": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz", + "integrity": "sha512-GODcnWq3YGoTnygPfi02ygEiRxqUxpJwuRHjdhJYuxpcZmDq4rjBiXYmbCCzStxo176ixfLT6i4NPwQooRySnw==", "dev": true, + "license": "MIT", "optional": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "engines": { + "node": "*" } }, - "node_modules/gulp-util/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "node_modules/gulp-util/node_modules/object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha512-jHP15vXVGeVh1HuaA2wY6lxk+whK/x4KBG88VXeRma7CCun7iGD5qPc4eYykQ9sdQvg8jkwFKsSxHln2ybW3xQ==", "dev": true, + "license": "MIT", "optional": true, "engines": { - "node": ">=0.8.0" + "node": ">=0.10.0" } }, "node_modules/gulp-util/node_modules/through2": { @@ -8587,6 +5772,7 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "readable-stream": "~2.3.6", @@ -8598,6 +5784,7 @@ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", "integrity": "sha512-P5zdf3WB9uzr7IFoVQ2wZTmUwHL8cMZWJGzLBNCHNZ3NB6HTMsYABtt7z8tAGIINLXyAob9B9a1yzVGMFOYKEA==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "clone": "^1.0.0", @@ -8613,6 +5800,7 @@ "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", "integrity": "sha512-hm6N8nrm3Y08jXie48jsC55eCZz9mnb4OirAStEk2deqeyhXU3C1otDVh+ccttMuc1sBi6RX6ZJ720hs9RCvgw==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "glogg": "^1.0.0" @@ -8626,6 +5814,7 @@ "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-1.0.0.tgz", "integrity": "sha512-mu66twX6zg8WB6IPfUtrquS7fjwGnDJ7kdVcggd5rpjwBItQKjHtvhu6VcQMkqPYAR7DjWpEaN3xiBSNmxvzPg==", "dev": true, + "license": "MIT", "dependencies": { "browserify-zlib": "^0.1.4", "concat-stream": "^1.4.1" @@ -8642,6 +5831,7 @@ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", "integrity": "sha512-f8xf2GOR6Rgwc9FPTLNzgwB+JQ2/zMauYXSWmX5YV5acex6VomT0ocSuwR7BfXo5MpHi+jL+saaux2fwsGJDKQ==", "dev": true, + "license": "ISC", "optional": true, "engines": { "node": ">=4" @@ -8653,6 +5843,7 @@ "integrity": "sha512-5Gbp6RAftMYYV3UEI4c4Vv3+a4dQ7taVyvHt+/L6kRt+f4HX1GweAk5UDWN0SvdVnRBzGQ6OG89pGaD9uSFnVw==", "deprecated": "this library is no longer supported", "dev": true, + "license": "ISC", "optional": true, "dependencies": { "ajv": "^4.9.1", @@ -8667,6 +5858,7 @@ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^2.0.0" }, @@ -8679,6 +5871,7 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -8688,6 +5881,7 @@ "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", "integrity": "sha512-+F4GzLjwHNNDEAJW2DC1xXfEoPkRDmUdJ7CBYw4MpqtDwOnqdImJl7GWlpqx+Wko6//J8uKTnIe4wZSv7yCqmw==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "sparkles": "^1.0.0" @@ -8697,22 +5891,24 @@ } }, "node_modules/has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.2" + "es-define-property": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -8720,11 +5916,15 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, "engines": { "node": ">= 0.4" }, @@ -8745,21 +5945,13 @@ "node": ">= 0.4" } }, - "node_modules/hasown/node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/hawk": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", "integrity": "sha512-X8xbmTc1cbPXcQV4WkLcRMALuyoxhfpFATmyuCxJPOAvrDS4DNnsTAOmKUxMTOWU6TzrTOkxPKwIx5ZOpJVSrg==", "deprecated": "This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.", "dev": true, + "license": "BSD-3-Clause", "optional": true, "dependencies": { "boom": "2.x.x", @@ -8777,6 +5969,7 @@ "integrity": "sha512-V6Yw1rIcYV/4JsnggjBU0l4Kr+EXhpwqXRusENU1Xx6ro00IHPHYNynCuBTOZAPlr3AAmLvchH9I7N/VUdvOwQ==", "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", "dev": true, + "license": "BSD-3-Clause", "optional": true, "engines": { "node": ">=0.10.40" @@ -8787,6 +5980,7 @@ "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", "dev": true, + "license": "MIT", "dependencies": { "parse-passwd": "^1.0.0" }, @@ -8797,7 +5991,7 @@ "node_modules/hooker": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", - "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=", + "integrity": "sha512-t+UerCsQviSymAInD01Pw+Dn/usmz1sRO+3Zk1+lx8eg+WKpD2ulcwWqHHL0+aseRBr+3+vIhiG1K1JTwaIcTA==", "dev": true, "engines": { "node": "*" @@ -8807,13 +6001,15 @@ "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/htmlparser2": { "version": "3.8.3", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", "integrity": "sha512-hBxEg3CYXe+rPIua8ETe7tmG3XDn9B0edOE/e9wH2nLczxzgdu0m0aNHY+5wFZiviLWLdANPJTssa92dMcXQ5Q==", "dev": true, + "license": "MIT", "dependencies": { "domelementtype": "1", "domhandler": "2.3", @@ -8826,13 +6022,15 @@ "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/htmlparser2/node_modules/readable-stream": { "version": "1.1.14", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", "dev": true, + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -8844,32 +6042,22 @@ "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", - "dev": true - }, - "node_modules/http-errors": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", - "integrity": "sha512-gMygNskMurDCWfoCdyh1gOeDfSbkAHXqz94QoPj5IHIUjC/BG8/xv7FSEUr7waR5RcAya4j58bft9Wu/wHNeXA==", "dev": true, - "dependencies": { - "inherits": "~2.0.1", - "statuses": "1" - }, - "engines": { - "node": ">= 0.6" - } + "license": "MIT" }, "node_modules/http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", - "dev": true + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz", + "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==", + "dev": true, + "license": "MIT" }, "node_modules/http-signature": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", "integrity": "sha512-iUn0NcRULlDGtqNLN1Jxmzayk8ogm7NToldASyZBpM2qggbphjXzNOiw3piN8tgz+e/DRs6X5gAzFwTI6BCRcg==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "assert-plus": "^0.2.0", @@ -8882,30 +6070,17 @@ } }, "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -8924,13 +6099,15 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "BSD-3-Clause" }, "node_modules/image-size": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", "dev": true, + "license": "MIT", "optional": true, "bin": { "image-size": "bin/image-size.js" @@ -8944,6 +6121,7 @@ "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-4.0.0.tgz", "integrity": "sha512-iJyJW7JAHHGsbmb729CEpEILUXx8xXvczQ8SAS8nT97UPKkawgoMGIuW+It9lyRerPSiB7eliZ/tE2K3Bww5uA==", "dev": true, + "license": "MIT", "dependencies": { "buffer-to-vinyl": "^1.0.0", "concat-stream": "^1.4.6", @@ -8968,6 +6146,7 @@ "resolved": "https://registry.npmjs.org/imagemin-gifsicle/-/imagemin-gifsicle-4.2.0.tgz", "integrity": "sha512-YrmI8O4hbNLoS7LDG65QwA92k5pRQ0UkJJSeAq44Pc2fWTMUKTLEYjCBBvSC22qKRZUB7nTEezI/hWC5xE6HTg==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "gifsicle": "^3.0.0", @@ -8983,6 +6162,7 @@ "resolved": "https://registry.npmjs.org/imagemin-jpegtran/-/imagemin-jpegtran-4.3.2.tgz", "integrity": "sha512-rTcs0JPWSPUKJKTc2IoFF4Tes34FLKZLSXkxl4z1fS86/zdSjIutA5VZgte/iZZPzyGzKo+EiFbd/T3p2odt9w==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "is-jpg": "^1.0.0", @@ -8993,227 +6173,61 @@ "node": ">=0.10.0" } }, - "node_modules/imagemin-jpegtran/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "optional": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/imagemin-jpegtran/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "optional": true - }, - "node_modules/imagemin-jpegtran/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "optional": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/imagemin-jpegtran/node_modules/through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/imagemin-optipng": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/imagemin-optipng/-/imagemin-optipng-4.3.0.tgz", - "integrity": "sha512-URpRIva07RB3k+v3cUFpMT8sj0MGU349pRfWIZRDrxLrhh0iDxnnzmsD79QCZ4swv51RWgQat3pZnaR8RuQtlg==", - "dev": true, - "optional": true, - "dependencies": { - "exec-buffer": "^2.0.0", - "is-png": "^1.0.0", - "optipng-bin": "^3.0.0", - "through2": "^0.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/imagemin-svgo": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/imagemin-svgo/-/imagemin-svgo-4.2.1.tgz", - "integrity": "sha512-kAHl0IIfJcrCdje1z4PcVzz7nE2wMgIX9Nolkyl0nNAjEz2P7c2o0ZrJr1FfhKx372cJPWpttALKQ2rE0UpoZg==", - "dev": true, - "optional": true, - "dependencies": { - "is-svg": "^1.0.0", - "svgo": "^0.6.0", - "through2": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/imagemin-svgo/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "optional": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/imagemin-svgo/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "optional": true - }, - "node_modules/imagemin-svgo/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "optional": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/imagemin-svgo/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "optional": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/imagemin/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/imagemin/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/imagemin/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-local": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", - "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "xtend": "~4.0.1" } }, - "node_modules/import-local/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/imagemin-optipng": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/imagemin-optipng/-/imagemin-optipng-4.3.0.tgz", + "integrity": "sha512-URpRIva07RB3k+v3cUFpMT8sj0MGU349pRfWIZRDrxLrhh0iDxnnzmsD79QCZ4swv51RWgQat3pZnaR8RuQtlg==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "exec-buffer": "^2.0.0", + "is-png": "^1.0.0", + "optipng-bin": "^3.0.0", + "through2": "^0.6.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/import-local/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "node_modules/imagemin-svgo": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/imagemin-svgo/-/imagemin-svgo-4.2.1.tgz", + "integrity": "sha512-kAHl0IIfJcrCdje1z4PcVzz7nE2wMgIX9Nolkyl0nNAjEz2P7c2o0ZrJr1FfhKx372cJPWpttALKQ2rE0UpoZg==", "dev": true, "license": "MIT", + "optional": true, + "dependencies": { + "is-svg": "^1.0.0", + "svgo": "^0.6.0", + "through2": "^2.0.0" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/import-local/node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "node_modules/imagemin-svgo/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, "node_modules/indent-string": { @@ -9221,6 +6235,7 @@ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", "integrity": "sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg==", "dev": true, + "license": "MIT", "dependencies": { "repeating": "^2.0.0" }, @@ -9231,8 +6246,9 @@ "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -9241,25 +6257,29 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" }, "node_modules/ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/interpret": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", "integrity": "sha512-CLM8SNMDu7C5psFCn6Wg/tgpj/bKAg7hc2gWqcuR9OD5Ft9PhBpIu8PLicPeis+xDd6YX2ncI8MCA64I9tftIA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/ip-regex": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz", "integrity": "sha512-HjpCHTuxbR/6jWJroc/VN+npo5j0T4Vv2TAI5qdEHQx7hsL767MeccGFSsLtF694EiZKTSEqgoeU6DtGFCcuqQ==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -9270,6 +6290,7 @@ "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-1.4.0.tgz", "integrity": "sha512-kniTIJmaZYiwa17eTtWIfm0K342seyugl6vuC8DiiyiRAJWAVlLkqGCI0Im0neo0TkXw+pRcKaBPRdcKHnQJ6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -9279,6 +6300,7 @@ "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", "dev": true, + "license": "MIT", "dependencies": { "is-relative": "^1.0.0", "is-windows": "^1.0.1" @@ -9291,13 +6313,15 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, + "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -9309,18 +6333,33 @@ "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-bzip2": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-bzip2/-/is-bzip2-1.0.0.tgz", "integrity": "sha512-v5DA9z/rmk4UdJtb3N1jYqjvCA5roRVf5Q6vprHOcF6U/98TmAJ/AvbPeRMEOYWDW4eMr/pJj5Fnfe0T2wL1Bg==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-core-module": { "version": "2.16.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", @@ -9342,6 +6381,7 @@ "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", "integrity": "sha512-9YclgOGtN/f8zx0Pr4FQYMdibBiTaH3sn52vjYip4ZSf6C4/6RfTEZ+MR4GvKhCxdPh21Bg42/WL55f6KSnKpg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -9351,6 +6391,7 @@ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", "integrity": "sha512-0EygVC5qPvIyb+gSz7zdD5/AAoS6Qrx1e//6N4yv4oNm30kqvdmG66oZFWVlQHUWe5OjP08FuTw2IdT0EOTcYA==", "dev": true, + "license": "MIT", "dependencies": { "is-primitive": "^2.0.0" }, @@ -9363,6 +6404,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -9372,6 +6414,7 @@ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -9381,6 +6424,7 @@ "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" }, @@ -9393,6 +6437,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -9402,6 +6447,7 @@ "resolved": "https://registry.npmjs.org/is-gif/-/is-gif-1.0.0.tgz", "integrity": "sha512-WDzHvXD3xfQ5einLRHRH7iReMuPwuXImHikxQeTWP09kGIv2mf2ZM63e9YHVSq9kEgjJuxRSp5AzH8Hga0+lNw==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -9412,6 +6458,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -9424,6 +6471,7 @@ "resolved": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz", "integrity": "sha512-rcfALRIb1YewtnksfRIHGcIY93QnK8BIQ/2c9yDYcG/Y6+vRoJuTWBmmSEbyLLYtXm7q35pHOHbZFQBaLrhlWQ==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -9434,6 +6482,7 @@ "resolved": "https://registry.npmjs.org/is-jpg/-/is-jpg-1.0.1.tgz", "integrity": "sha512-X5PVpLMBH/OaeTN8quzbcLTlwXCb/6n3tcfYTtEDzp0ZwAlgAOtIAIBHN4mS5OcscMgO8etZ5Ol1mNrXSqwBVQ==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -9444,6 +6493,7 @@ "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-2.1.1.tgz", "integrity": "sha512-88gG/Fur5/8RkhB6UonqOuwQfNJvuaDStW/+r6oIB/hOQPUQe7DiiDQq0fitGOnARt+mQl/S6rg6Vku+i0sA4w==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/is-number": { @@ -9451,6 +6501,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } @@ -9460,6 +6511,18 @@ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -9470,6 +6533,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, + "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -9482,6 +6546,7 @@ "resolved": "https://registry.npmjs.org/is-png/-/is-png-1.1.0.tgz", "integrity": "sha512-23Rmps8UEx3Bzqr0JqAtQo0tYP6sDfIfMt1rL9rzlla/zbteftI9LSJoqsIoGgL06sJboDGdVns4RTakAW/WTw==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -9492,6 +6557,7 @@ "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", "integrity": "sha512-Yu68oeXJ7LeWNmZ3Zov/xg/oDBnBK2RNxwYY1ilNJX+tKKZqgPK+qOn/Gs9jEu66KDY9Netf5XLKNGzas/vPfQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -9501,6 +6567,7 @@ "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", "integrity": "sha512-N3w1tFaRfk3UrPfqeRyD+GYDASU3W5VinKhlORy8EWVf/sIdDL9GAcew85XmktCfH+ngG7SRXEVDoO18WMdB/Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -9510,6 +6577,7 @@ "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", "integrity": "sha512-cr/SlUEe5zOGmzvj9bUyC4LVvkNVAXu4GytXLNMr1pny+a65MpQ9IJzFHD5vi7FyJgb4qt27+eS3TuQnqB+RQw==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -9520,6 +6588,7 @@ "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", "dev": true, + "license": "MIT", "dependencies": { "is-unc-path": "^1.0.0" }, @@ -9532,6 +6601,7 @@ "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -9542,6 +6612,7 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -9551,6 +6622,7 @@ "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-1.1.1.tgz", "integrity": "sha512-o6rxtFf0DlA6nJLX/5IrDRjuRJ4FeSmoFhJW/wKNF8WrcS7jg/zXM5od1HFMVnymFhFWcvLEXXcqUq0Np3e4MA==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -9561,16 +6633,34 @@ "resolved": "https://registry.npmjs.org/is-tar/-/is-tar-1.0.0.tgz", "integrity": "sha512-8sR603bS6APKxcdkQ1e5rAC9JDCxM3OlbGJDWv5ajhHqIh6cTaqcpeOTch1iIeHYY4nHEFTgmCiGSLfvmODH4w==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/is-unc-path": { @@ -9578,6 +6668,7 @@ "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", "dev": true, + "license": "MIT", "dependencies": { "unc-path-regex": "^0.1.2" }, @@ -9590,19 +6681,22 @@ "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-valid-glob": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz", "integrity": "sha512-CvG8EtJZ8FyzVOGPzrDorzyN65W1Ld8BVnqshRCah6pFIsprGx3dKgFtjLn/Vw9kGqR4OlR84U7yhT9ZVTyWIQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -9612,6 +6706,7 @@ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -9621,6 +6716,7 @@ "resolved": "https://registry.npmjs.org/is-zip/-/is-zip-1.0.0.tgz", "integrity": "sha512-aym/dLqHZVMW/+bbNrA/eTeWTyW4fE6koLSoFSsM2GF3/pho7aPCcmHFWFLvzHu7MDuf67domYn36GDwU/cJkQ==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -9630,19 +6726,22 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -9652,66 +6751,31 @@ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.1.tgz", + "integrity": "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, "engines": { - "node": ">=10" + "node": "20 || >=22" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/jiti": { - "version": "1.21.6", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", - "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", "dev": true, + "license": "MIT", "bin": { "jiti": "bin/jiti.js" } @@ -9722,6 +6786,7 @@ "integrity": "sha512-XdDj5m/ssa1Anieqd8/JVQLrIsBZ6A9rYzASfpNI0/o/rfsmQx1TP3zZ1GvkMMW5sVlqM2RcMjy8bg428UE9fQ==", "dev": true, "hasInstallScript": true, + "license": "MIT", "optional": true, "dependencies": { "bin-build": "^2.0.0", @@ -9735,18 +6800,12 @@ "node": ">=0.10.0" } }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "license": "MIT" - }, "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -9760,32 +6819,21 @@ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", "dev": true, - "optional": true - }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true, "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } + "optional": true }, "node_modules/jshint": { - "version": "2.9.5", - "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.5.tgz", - "integrity": "sha512-a4rJTGuWzFrZ7eDxb3ID5A9pIBn6pvn5GI97luAZJtfCzvN6FeoOc8li38eoYrpo4AGTVb6lvVcLmXpOuJbNYQ==", + "version": "2.9.7", + "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.7.tgz", + "integrity": "sha512-Q8XN38hGsVQhdlM+4gd1Xl7OB1VieSuCJf+fEJjpo59JH99bVJhXRXAh26qQ15wfdd1VPMuDWNeSWoNl53T4YA==", "dev": true, + "license": "(MIT AND JSON)", "dependencies": { "cli": "~1.0.0", "console-browserify": "1.1.x", "exit": "0.1.x", "htmlparser2": "3.8.x", - "lodash": "3.7.x", + "lodash": "~4.17.10", "minimatch": "~3.0.2", "shelljs": "0.3.x", "strip-json-comments": "1.0.x" @@ -9797,8 +6845,9 @@ "node_modules/jshint-stylish": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/jshint-stylish/-/jshint-stylish-2.2.1.tgz", - "integrity": "sha1-JCCCosA1rgP9gQROBXDMQgjPbmE=", + "integrity": "sha512-7ySPIM1/gONcJ1isbd1IPKuBzQ/iDTvofILFSsIaMrWZUO7OJkV9kdU0O6O1pxM+bNj/9mbJ31LyXgQgOhIa0A==", "dev": true, + "license": "MIT", "dependencies": { "beeper": "^1.1.0", "chalk": "^1.0.0", @@ -9811,109 +6860,37 @@ "node": ">=0.10.0" } }, - "node_modules/jshint-stylish/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jshint-stylish/node_modules/beeper": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", - "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jshint-stylish/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jshint-stylish/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/jshint/node_modules/cli": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", - "integrity": "sha512-41U72MB56TfUMGndAKK8vJ78eooOD4Z5NOL4xEfjc0c23s+6EYKXlXsmACBVclLP1yOfWCgEganVzddVrSNoTg==", + "node_modules/jshint/node_modules/minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", "dev": true, + "license": "ISC", "dependencies": { - "exit": "0.1.2", - "glob": "^7.1.1" - }, - "engines": { - "node": ">=0.2.5" - } - }, - "node_modules/jshint/node_modules/lodash": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz", - "integrity": "sha512-73GDDlioRJOCHV8N9gnBEpjdWI34+e9AvMnS4qdqdMfl8/yH/dJP1tfuqUFccZ/deZQlHuJiRSuKXjKIfDwBOg==", - "dev": true - }, - "node_modules/jshint/node_modules/strip-json-comments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", - "integrity": "sha512-AOPG8EBc5wAikaG1/7uFCNFJwnKOuQwFTpYBdTW6OvWHeZBQBrAA/amefHGrEiOnCPcLFZK6FUPtWVKpQVIRgg==", - "dev": true, - "bin": { - "strip-json-comments": "cli.js" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=0.8.0" + "node": "*" } }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true, - "license": "MIT" - }, "node_modules/json-schema": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", "dev": true, + "license": "(AFL-2.1 OR BSD-3-Clause)", "optional": true }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "license": "MIT" - }, "node_modules/json-stable-stringify": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz", - "integrity": "sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.3.0.tgz", + "integrity": "sha512-qtYiSSFlwot9XHtF9bD9c7rwKjr+RecWT//ZnPvSmEjpV5mmPOCN4j8UjY5hbjNkOwZ/jQv3J6R1/pL7RwgMsg==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { - "call-bind": "^1.0.5", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", "isarray": "^2.0.5", "jsonify": "^0.0.1", "object-keys": "^1.1.1" @@ -9929,47 +6906,31 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-stable-stringify/node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true, - "optional": true - }, - "node_modules/json2php": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/json2php/-/json2php-0.0.7.tgz", - "integrity": "sha512-dnSoUiLAoVaMXxFsVi4CrPVYMKOuDBXTghXSmMINX44RZ8WM9cXlY7UqrQnlAcODCVO7FV3+8t/5nDKAjimLfg==", - "dev": true, - "license": "BSD" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true, + "license": "ISC", + "optional": true }, "node_modules/jsonify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", "dev": true, + "license": "Public Domain", "optional": true, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -9980,6 +6941,7 @@ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "assert-plus": "1.0.0", @@ -9996,6 +6958,7 @@ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.8" @@ -10006,6 +6969,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -10015,6 +6979,7 @@ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", "integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -10024,6 +6989,7 @@ "resolved": "https://registry.npmjs.org/lazy-req/-/lazy-req-1.1.0.tgz", "integrity": "sha512-Vn/JuGaYykbelAVNAhfVJxuwHQCOSNE6mqMtD+gnd+QORlAHwWVmVFqQga3yWt84G5vAwEwpT6sAsZ+tgJ88/Q==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -10034,6 +7000,7 @@ "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", "dev": true, + "license": "MIT", "dependencies": { "readable-stream": "^2.0.5" }, @@ -10041,41 +7008,12 @@ "node": ">= 0.6.3" } }, - "node_modules/lazystream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/lazystream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/lazystream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/less": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/less/-/less-2.7.3.tgz", "integrity": "sha512-KPdIJKWcEAb02TuJtaLrhue0krtRLoRoo7x6BNJIBelO00t/CCdJQUnHW5V34OnHMWzIktSalJxRO+FvytQlCQ==", "dev": true, + "license": "Apache-2.0", "bin": { "lessc": "bin/lessc" }, @@ -10093,44 +7031,12 @@ "source-map": "^0.5.3" } }, - "node_modules/less/node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "optional": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/less/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "optional": true, - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/less/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/liftup": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/liftup/-/liftup-3.0.1.tgz", "integrity": "sha512-yRHaiQDizWSzoXk3APcA71eOI/UuhEkNN9DiW2Tt44mhYzX4joFoCZlxsSOF7RyeLlfqzFLQI1ngFq3ggMPhOw==", "dev": true, + "license": "MIT", "dependencies": { "extend": "^3.0.2", "findup-sync": "^4.0.0", @@ -10150,6 +7056,7 @@ "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", "dev": true, + "license": "MIT", "dependencies": { "detect-file": "^1.0.0", "is-glob": "^4.0.0", @@ -10161,31 +7068,38 @@ } }, "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", "dev": true, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" } }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/livereload-js": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz", "integrity": "sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/load-json-file": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.1.2", "parse-json": "^2.2.0", @@ -10197,44 +7111,19 @@ "node": ">=0.10.0" } }, - "node_modules/loader-runner": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", - "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash._basecopy": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", "integrity": "sha512-rFR6Vpm4HeCK1WPGvjZSJ+7yik8d8PVUdCJx5rT2pogG4Ve/2ZS7kfmO5l5T2o5V2mqlNIfSF5MZlr1+xOoYQQ==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/lodash._basetostring": { @@ -10242,6 +7131,7 @@ "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", "integrity": "sha512-mTzAr1aNAv/i7W43vOR/uD/aJ4ngbtsRaCubp2BfZhlGU/eORUjg/7F6X0orNMdv33JOrdgGybtvMN/po3EWrA==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/lodash._basevalues": { @@ -10249,6 +7139,7 @@ "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", "integrity": "sha512-H94wl5P13uEqlCg7OcNNhMQ8KvWSIyqXzOPusRgHC9DK3o54P6P3xtbXlVbRABG4q5gSmp7EDdJ0MSuW9HX6Mg==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/lodash._getnative": { @@ -10256,6 +7147,7 @@ "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", "integrity": "sha512-RrL9VxMEPyDMHOd9uFbvMe8X55X16/cGM5IgOKgRElQZutpX89iS6vwl64duTV1/16w5JY7tuFNXqoekmh1EmA==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/lodash._isiterateecall": { @@ -10263,6 +7155,7 @@ "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", "integrity": "sha512-De+ZbrMu6eThFti/CSzhRvTKMgQToLxbij58LMfM8JnYDNSOjkjTCIaa8ixglOeGh2nyPlakbt5bJWJ7gvpYlQ==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/lodash._reescape": { @@ -10270,6 +7163,7 @@ "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", "integrity": "sha512-Sjlavm5y+FUVIF3vF3B75GyXrzsfYV8Dlv3L4mEpuB9leg8N6yf/7rU06iLPx9fY0Mv3khVp9p7Dx0mGV6V5OQ==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/lodash._reevaluate": { @@ -10277,6 +7171,7 @@ "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", "integrity": "sha512-OrPwdDc65iJiBeUe5n/LIjd7Viy99bKwDdk7Z5ljfZg0uFRFlfQaCy9tZ4YMAag9WAZmlVpe1iZrkIMMSMHD3w==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/lodash._reinterpolate": { @@ -10284,6 +7179,7 @@ "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/lodash._root": { @@ -10291,20 +7187,15 @@ "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", "integrity": "sha512-O0pWuFSK6x4EXhM1dhZ8gchNtG7JMqBtrHdoUFUWXD7dJnNSUze1GuyQr5sOs0aCvgGeI3o/OJW8f4ca7FDxmQ==", "dev": true, + "license": "MIT", "optional": true }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true, - "license": "MIT" - }, "node_modules/lodash.escape": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", "integrity": "sha512-n1PZMXgaaDWZDSvuNZ/8XOcYO2hOKDqZel5adtR30VKQAtoWs/5AOeFA0vPV8moiPzlqe7F4cP2tzpFewQyelQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "lodash._root": "^3.0.0" @@ -10315,6 +7206,7 @@ "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/lodash.isarray": { @@ -10322,19 +7214,23 @@ "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", "integrity": "sha512-JwObCrNJuT0Nnbuecmqr5DgtuBppuCvGD9lxjFpAzwnVtdGoDQ1zig+5W8k5/6Gcn0gZ3936HDAlGd28i7sOGQ==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/lodash.isequal": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", - "dev": true + "deprecated": "This package is deprecated. Use require('node:util').isDeepStrictEqual instead.", + "dev": true, + "license": "MIT" }, "node_modules/lodash.keys": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", "integrity": "sha512-CuBsapFjcubOGMn3VD+24HOAPxM79tH+V6ivJL3CHYjtrawauDJHUk//Yew9Hvc6e9rbCrURGk8z6PC+8WJBfQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "lodash._getnative": "^3.0.0", @@ -10347,13 +7243,16 @@ "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", "integrity": "sha512-L4/arjjuq4noiUJpt3yS6KIKDtJwNe2fIYgMqyYYKoeIfV1iEqvPwhCx23o+R9dzouGihDAPN1dTIRWa7zk8tw==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/lodash.template": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", "integrity": "sha512-0B4Y53I0OgHUJkt+7RmlDFWKjVAI/YUpWNiL9GQz5ORDr4ttgfQGo+phBWKFLJbBdtOwgMuUkdOHOnPg45jKmQ==", + "deprecated": "This package is deprecated. Use https://socket.dev/npm/package/eta instead.", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "lodash._basecopy": "^3.0.0", @@ -10372,6 +7271,7 @@ "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", "integrity": "sha512-TcrlEr31tDYnWkHFWDCV3dHYroKEXpJZ2YJYvJdhN+y4AkWMDZ5I4I8XDtUKqSAyG81N7w+I1mFEJtcED+tGqQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "lodash._reinterpolate": "^3.0.0", @@ -10383,6 +7283,7 @@ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", "integrity": "sha512-mmPrW0Fh2fxOzdBbFv4g1m6pR72haFLPJ2G5SJEELf1y+iaQrDG6cWCPjy54RHYbZAt7X+ls690Kw62AdWXBzQ==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^1.0.0" }, @@ -10390,45 +7291,12 @@ "node": ">=0.10.0" } }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "dev": true, - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/logalot": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz", "integrity": "sha512-Ah4CgdSRfeCJagxQhcVNMi9BfGYyEKLa6d7OA6xSbld/Hg3Cf2QiOa1mDpmG7Ve8LOH6DN3mdttzjQAvWTyVkw==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "figures": "^1.3.5", @@ -10443,6 +7311,7 @@ "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", "integrity": "sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -10452,6 +7321,7 @@ "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", "integrity": "sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==", "dev": true, + "license": "MIT", "dependencies": { "currently-unhandled": "^0.4.1", "signal-exit": "^3.0.0" @@ -10465,6 +7335,7 @@ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -10475,6 +7346,7 @@ "resolved": "https://registry.npmjs.org/lpad-align/-/lpad-align-1.1.2.tgz", "integrity": "sha512-MMIcFmmR9zlGZtBcFOows6c2COMekHCIFJz3ew/rRpKZ1wR4mXDPzvcVqLarux8M33X4TPSq2Jdw8WJj0q0KbQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "get-stdin": "^4.0.1", @@ -10493,14 +7365,16 @@ "version": "2.7.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", "integrity": "sha512-WpibWJ60c3AgAz8a2iYErDrcT2C7OmKnsWhIcHOjkUHFjkXncJhtLxNSqUmxRxRunpb5I8Vprd7aNSd2NtksJQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/magic-string": { - "version": "0.30.11", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", - "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" + "@jridgewell/sourcemap-codec": "^1.5.5" } }, "node_modules/make-iterator": { @@ -10508,6 +7382,7 @@ "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^6.0.2" }, @@ -10520,6 +7395,7 @@ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -10529,21 +7405,34 @@ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/math-random": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/maxmin": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-1.1.0.tgz", "integrity": "sha512-jypoV6wTPuz/ngkc2sDZnFvpvx14QICNKS/jK9RbkmiQQJZ4JWstIszA8iT/z9tPSF/vXQ5qtG0h65N9tiLIKA==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^1.0.0", "figures": "^1.0.1", @@ -10554,59 +7443,35 @@ "node": ">=0.10.0" } }, - "node_modules/maxmin/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/maxmin/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "node_modules/maxmin/node_modules/pretty-bytes": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz", + "integrity": "sha512-LNisJvAjy+hruxp3GV4IkZZscTI34+ISfeM1hesB9V6ezIDfXYrBi9TIXVjjMcEB4QFN7tL+dFDEk4s8jMBMyA==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "get-stdin": "^4.0.1", + "meow": "^3.1.0" + }, + "bin": { + "pretty-bytes": "cli.js" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/maxmin/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/memize": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/memize/-/memize-2.1.0.tgz", - "integrity": "sha512-yywVJy8ctVlN5lNPxsep5urnZ6TTclwPEyigM9M3Bi8vseJBOfqNrGWN/r8NzuIt3PovM323W04blJfGQfQSVg==" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/memize/-/memize-2.1.1.tgz", + "integrity": "sha512-8Nl+i9S5D6KXnruM03Jgjb+LwSupvR13WBr4hJegaaEyobvowCVupi79y2WSiWvO1mzBWxPwEYE5feCe8vyA5w==", + "license": "MIT" }, "node_modules/meow": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", "integrity": "sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA==", "dev": true, + "license": "MIT", "dependencies": { "camelcase-keys": "^2.0.0", "decamelize": "^1.1.2", @@ -10623,43 +7488,24 @@ "node": ">=0.10.0" } }, - "node_modules/merge-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", - "integrity": "sha512-e6RM36aegd4f+r8BZCcYXlO2P3H6xbUM6ktL2Xmf45GAOit9bI4z6/3VU7JwllVO1L7u0UDSg/EhzQ5lmMLolA==", - "dev": true, - "dependencies": { - "readable-stream": "^2.0.1" - } - }, - "node_modules/merge-stream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/meow/node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/merge-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/merge-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/merge-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", + "integrity": "sha512-e6RM36aegd4f+r8BZCcYXlO2P3H6xbUM6ktL2Xmf45GAOit9bI4z6/3VU7JwllVO1L7u0UDSg/EhzQ5lmMLolA==", "dev": true, + "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "readable-stream": "^2.0.1" } }, "node_modules/merge2": { @@ -10667,17 +7513,19 @@ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, + "license": "MIT", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -10689,6 +7537,7 @@ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, + "license": "MIT", "optional": true, "bin": { "mime": "cli.js" @@ -10702,6 +7551,8 @@ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, + "license": "MIT", + "optional": true, "engines": { "node": ">= 0.6" } @@ -10711,6 +7562,8 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, + "license": "MIT", + "optional": true, "dependencies": { "mime-db": "1.52.0" }, @@ -10718,40 +7571,21 @@ "node": ">= 0.6" } }, - "node_modules/mini-css-extract-plugin": { - "version": "2.9.4", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.4.tgz", - "integrity": "sha512-ZWYT7ln73Hptxqxk2DxPU9MmapXRhxkJD6tkSR04dnQxm8BGu2hzgKLugK5yySD97u/8yy7Ma7E76k9ZdvtjkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "schema-utils": "^4.0.0", - "tapable": "^2.2.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, "node_modules/mini-svg-data-uri": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", "dev": true, + "license": "MIT", "bin": { "mini-svg-data-uri": "cli.js" } }, "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -10760,43 +7594,51 @@ } }, "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/minipass": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, + "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" } }, "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, "bin": { "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" } }, "node_modules/ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha512-lRLiIR9fSNpnP6TC4v8+4OU7oStC01esuNowdQ34L+Gk8e5Puoc88IqJ+XAY/B3Mn2ZKis8l8HX90oU8ivzUHg==", - "dev": true + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" }, "node_modules/multipipe": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", "integrity": "sha512-7ZxrUybYv9NonoXgwoOqtStIu18D1c3eFZj27hqgf5kBrBF8Q+tE8V0MW8dKM5QLkQPh1JhhbKgHLY9kifov4Q==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "duplexer2": "0.0.2" @@ -10807,6 +7649,7 @@ "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", "integrity": "sha512-+AWBwjGadtksxjOQSFDhPNQbed7icNXApT4+2BNpsXzcCBiInq2H9XW0O8sfHFaPmnQRs7cg/P0fAr2IWQSW0g==", "dev": true, + "license": "BSD", "optional": true, "dependencies": { "readable-stream": "~1.1.9" @@ -10817,6 +7660,7 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/multipipe/node_modules/readable-stream": { @@ -10824,6 +7668,7 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "core-util-is": "~1.0.0", @@ -10837,6 +7682,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/mz": { @@ -10844,22 +7690,34 @@ "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", "dev": true, + "license": "MIT", "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", "thenify-all": "^1.0.0" } }, + "node_modules/mz/node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -10867,13 +7725,6 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true, - "license": "MIT" - }, "node_modules/node-releases": { "version": "2.0.27", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", @@ -10886,34 +7737,120 @@ "resolved": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz", "integrity": "sha512-1cBMgRxdMWE8KeWCqk2RIOrvUb0XCwYfEsY5/y2NlXyq4Y/RumnOZvTj4Nbr77+Vb2C+kyBoRTdkNOS8L3d/aQ==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/node-wp-i18n": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/node-wp-i18n/-/node-wp-i18n-1.2.6.tgz", - "integrity": "sha512-aLutjDB1rMJ3FNlNcs/XjmaejED1/y30uLYQrmkXpeUj1NH/SA6pI94CUz3iI7fbQd63lTGg0YNvOQAT8cWdIw==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/node-wp-i18n/-/node-wp-i18n-1.2.8.tgz", + "integrity": "sha512-IIHsMhO5y/mB1SMueH9O8i5ujQPpg1fU0wEuYZh+nlLx3Nd2ytliSZcDl1ETtW55jMp5VIkC6Xbw2ndU0OO6qg==", "dev": true, + "license": "MIT", "dependencies": { "bluebird": "^3.4.1", - "gettext-parser": "^3.1.0", - "glob": "^7.0.5", + "gettext-parser": "^3.1.1", + "glob": "^11.0.3", "lodash": "^4.14.2", "minimist": "^1.2.5", - "mkdirp": "^1.0.4", + "mkdirp": "^3.0.1", "tmp": "^0.2.1" }, "bin": { "wpi18n": "bin/wpi18n" } }, + "node_modules/node-wp-i18n/node_modules/gettext-parser": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/gettext-parser/-/gettext-parser-3.1.1.tgz", + "integrity": "sha512-vNhWcqXEtZPs5Ft1ReA34g7ByWotpcOIeJvXVy2jF3/G2U9v6W0wG4Z4hXzcU8R//jArqkgHcVCGgGqa4vxVlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "encoding": "^0.1.12", + "readable-stream": "^3.2.0", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/node-wp-i18n/node_modules/glob": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.1.0.tgz", + "integrity": "sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "foreground-child": "^3.3.1", + "jackspeak": "^4.1.1", + "minimatch": "^10.1.1", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/node-wp-i18n/node_modules/minimatch": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", + "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/node-wp-i18n/node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/node-wp-i18n/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/nopt": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "integrity": "sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==", "dev": true, + "license": "ISC", "dependencies": { "abbrev": "1" }, @@ -10926,6 +7863,7 @@ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -10938,6 +7876,7 @@ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, + "license": "MIT", "dependencies": { "remove-trailing-separator": "^1.0.1" }, @@ -10945,20 +7884,12 @@ "node": ">=0.10.0" } }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^2.0.0" }, @@ -10971,6 +7902,7 @@ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -10980,16 +7912,19 @@ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", "integrity": "sha512-VlF07iu3VV3+BTXj43Nmp6Irt/G7j/NgEctUS6IweH1RGhURjjCc2NWtzXFPXXWWfc7hgbXQdtiQu2LGp6MxUg==", "dev": true, + "license": "Apache-2.0", "optional": true, "engines": { "node": "*" } }, "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", + "integrity": "sha512-CdsOUYIh5wIiozhJ3rLQgmUTgcyzFwZZrqhkKhODMoGtPKM+wt0h0CNIoauJWMsS9822EdzPsF/6mb4nLvPN5g==", "dev": true, + "license": "MIT", + "optional": true, "engines": { "node": ">=0.10.0" } @@ -10999,6 +7934,7 @@ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } @@ -11008,19 +7944,23 @@ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/object.assign": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.5", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", "object-keys": "^1.1.1" }, "engines": { @@ -11035,6 +7975,7 @@ "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==", "dev": true, + "license": "MIT", "dependencies": { "array-each": "^1.0.1", "array-slice": "^1.0.0", @@ -11050,6 +7991,7 @@ "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", "integrity": "sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==", "dev": true, + "license": "MIT", "dependencies": { "for-own": "^1.0.0", "make-iterator": "^1.0.0" @@ -11063,6 +8005,7 @@ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", "integrity": "sha512-UiAM5mhmIuKLsOvrL+B0U2d1hXHF3bFYWIuH1LMpuV2EJEHG1Ntz06PgLEHjm6VFd87NpH8rastvPoyv6UW2fA==", "dev": true, + "license": "MIT", "dependencies": { "for-own": "^0.1.4", "is-extendable": "^0.1.1" @@ -11076,6 +8019,7 @@ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", "integrity": "sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==", "dev": true, + "license": "MIT", "dependencies": { "for-in": "^1.0.1" }, @@ -11088,6 +8032,7 @@ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "dev": true, + "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -11095,22 +8040,11 @@ "node": ">=0.10.0" } }, - "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", "dependencies": { "wrappy": "1" } @@ -11120,6 +8054,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", "integrity": "sha512-GZ+g4jayMqzCRMgB2sol7GiCLjKfS1PINkjmx8spcKce1LiVqcbQreXwqs2YAFXC6R03VIG28ZS31t8M866v6A==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -11129,7 +8064,8 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/optional/-/optional-0.1.4.tgz", "integrity": "sha512-gtvrrCfkE08wKcgXaVwQVgwEQ8vel2dc5DDBn9RLQZ3YtmtkBss6A2HY6BnJH4N/4Ku97Ri/SF8sNWE2225WJw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/optipng-bin": { "version": "3.1.4", @@ -11137,6 +8073,7 @@ "integrity": "sha512-gsHt71VXDuI7ymHq5pBdzKS5Q1dcHLW6V6j13gnutO1mS8ezulK5Q+Xj/9/e6AwtjOResu2/UOBO/AiGrBo6+A==", "dev": true, "hasInstallScript": true, + "license": "MIT", "optional": true, "dependencies": { "bin-build": "^2.0.0", @@ -11155,46 +8092,18 @@ "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz", "integrity": "sha512-xQvd8qvx9U1iYY9aVqPpoF5V9uaWJKV6ZGljkh/jkiNX0DiQsjbWvRumbh10QTMDE8DheaOEU8xi0szbrgjzcw==", "dev": true, + "license": "MIT", "dependencies": { "is-stream": "^1.0.1", "readable-stream": "^2.0.1" } }, - "node_modules/ordered-read-streams/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/ordered-read-streams/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/ordered-read-streams/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/os-filter-obj": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-1.0.3.tgz", "integrity": "sha512-rohpWX8f46ASEOR77j8ZlJ2j5Rzg0j7gxC73ceZaDeMyE6H3nXnwgEjgg5ySlcT0bDuPUw7qcdWtd8Pzp/FJxg==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -11205,6 +8114,7 @@ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -11214,6 +8124,7 @@ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -11224,80 +8135,32 @@ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "deprecated": "This package is no longer supported.", "dev": true, + "license": "ISC", "dependencies": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.0" } }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/package-json-from-dist": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", - "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", - "dev": true + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" }, "node_modules/pako": { "version": "0.2.9", "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", - "dev": true - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } + "license": "MIT" }, "node_modules/parse-filepath": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", "dev": true, + "license": "MIT", "dependencies": { "is-absolute": "^1.0.0", "map-cache": "^0.2.0", @@ -11312,6 +8175,7 @@ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", "integrity": "sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA==", "dev": true, + "license": "MIT", "dependencies": { "glob-base": "^0.3.0", "is-dotfile": "^1.0.0", @@ -11327,6 +8191,7 @@ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -11336,6 +8201,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", "dev": true, + "license": "MIT", "dependencies": { "is-extglob": "^1.0.0" }, @@ -11348,6 +8214,7 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", "dev": true, + "license": "MIT", "dependencies": { "error-ex": "^1.2.0" }, @@ -11360,6 +8227,7 @@ "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">= 0.10" @@ -11370,30 +8238,24 @@ "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/path-exists": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", "dev": true, + "license": "MIT", "dependencies": { "pinkie-promise": "^2.0.0" }, @@ -11404,7 +8266,8 @@ "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -11414,6 +8277,7 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -11422,13 +8286,15 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/path-root": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", "dev": true, + "license": "MIT", "dependencies": { "path-root-regex": "^0.1.0" }, @@ -11441,37 +8307,44 @@ "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz", + "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" }, "engines": { - "node": ">=16 || 14 >=14.18" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true + "version": "11.2.4", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz", + "integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } }, "node_modules/path-type": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.1.2", "pify": "^2.0.0", @@ -11486,6 +8359,7 @@ "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/performance-now": { @@ -11493,6 +8367,7 @@ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", "integrity": "sha512-YHk5ez1hmMR5LOkb9iJkLKqoBlL7WD5M8ljC75ZfzXriuBIVNuecaXuU7e+hOwyqf24Wxhh7Vxgt7Hnw9288Tg==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/picocolors": { @@ -11506,6 +8381,7 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -11518,14 +8394,16 @@ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/pinia": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.2.2.tgz", - "integrity": "sha512-ja2XqFWZC36mupU4z1ZzxeTApV7DOw44cV4dhQ9sGwun+N89v/XP7+j7q6TanS1u1tdbK4r+1BUx7heMaIdagA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.3.1.tgz", + "integrity": "sha512-khUlZSwt9xXCaTbbxFYBKDc/bWAGWJjOgvxETwkTN7KRm66EeT1ZdZj6i2ceh9sP2Pzqsbc704r2yngBrxBVug==", + "license": "MIT", "dependencies": { "@vue/devtools-api": "^6.6.3", "vue-demi": "^0.14.10" @@ -11534,14 +8412,10 @@ "url": "https://github.com/sponsors/posva" }, "peerDependencies": { - "@vue/composition-api": "^1.4.0", "typescript": ">=4.4.4", - "vue": "^2.6.14 || ^3.3.0" + "vue": "^2.7.0 || ^3.5.11" }, "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - }, "typescript": { "optional": true } @@ -11552,6 +8426,7 @@ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -11561,6 +8436,7 @@ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", "dev": true, + "license": "MIT", "dependencies": { "pinkie": "^2.0.0" }, @@ -11569,103 +8445,13 @@ } }, "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", - "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^6.3.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^6.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", "dev": true, "license": "MIT", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">= 6" } }, "node_modules/plur": { @@ -11673,6 +8459,7 @@ "resolved": "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz", "integrity": "sha512-WhcHk576xg9y/iv6RWOuroZgsqvCbJN+XGvAypCJwLAYs2iWDp5LUmvaCdV6JR2O0SMBf8l6p7A94AyLCFVMlQ==", "dev": true, + "license": "MIT", "dependencies": { "irregular-plurals": "^1.0.0" }, @@ -11680,10 +8467,20 @@ "node": ">=0.10.0" } }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/postcss": { - "version": "8.4.45", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.45.tgz", - "integrity": "sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==", + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "funding": [ { "type": "opencollective", @@ -11698,242 +8495,101 @@ "url": "https://github.com/sponsors/ai" } ], - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.1", - "source-map-js": "^1.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "dev": true, - "dependencies": { - "camelcase-css": "^2.0.1" - }, - "engines": { - "node": "^12 || ^14 || >= 16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.4.21" - } - }, - "node_modules/postcss-load-config": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", - "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "lilconfig": "^3.0.0", - "yaml": "^2.3.4" - }, - "engines": { - "node": ">= 14" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/postcss-load-config/node_modules/lilconfig": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", - "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, - "node_modules/postcss-loader": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-8.2.0.tgz", - "integrity": "sha512-tHX+RkpsXVcc7st4dSdDGliI+r4aAQDuv+v3vFYHixb6YgjreG5AG4SEB0kDK8u2s6htqEEpKlkhSBUTvWKYnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "cosmiconfig": "^9.0.0", - "jiti": "^2.5.1", - "semver": "^7.6.2" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "node_modules/postcss-loader/node_modules/jiti": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", - "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", - "dev": true, - "license": "MIT", - "bin": { - "jiti": "lib/jiti-cli.mjs" - } - }, - "node_modules/postcss-loader/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", - "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", - "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", - "dev": true, "license": "MIT", "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^7.0.0", - "postcss-value-parser": "^4.1.0" + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" }, "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", - "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" + "node": "^10 || ^12 || >=14" } }, - "node_modules/postcss-modules-scope": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", - "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^7.0.0" + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" }, "engines": { - "node": "^10 || ^12 || >= 14" + "node": ">=14.0.0" }, "peerDependencies": { - "postcss": "^8.1.0" + "postcss": "^8.0.0" } }, - "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", - "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "node_modules/postcss-js": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.1.0.tgz", + "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "camelcase-css": "^2.0.1" }, "engines": { - "node": ">=4" + "node": "^12 || ^14 || >= 16" + }, + "peerDependencies": { + "postcss": "^8.4.21" } }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "node_modules/postcss-load-config": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz", + "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", "dev": true, - "license": "ISC", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "icss-utils": "^5.0.0" + "lilconfig": "^3.1.1" }, "engines": { - "node": "^10 || ^12 || >= 14" + "node": ">= 18" }, "peerDependencies": { - "postcss": "^8.1.0" + "jiti": ">=1.21.0", + "postcss": ">=8.0.9", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } } }, "node_modules/postcss-nested": { @@ -11951,6 +8607,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.1.1" }, @@ -11966,6 +8623,7 @@ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", "dev": true, + "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -11978,13 +8636,15 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/prepend-http": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", "integrity": "sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -11995,15 +8655,17 @@ "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", "integrity": "sha512-s/46sYeylUfHNjI+sA/78FAHlmIuKqI9wNnzEOGehAlUUYeObv5C2mOinXBjyUyWmJ2SfcS2/ydApH4hTF4WXQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/prettier": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", - "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.7.4.tgz", + "integrity": "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==", "dev": true, + "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" }, @@ -12019,6 +8681,7 @@ "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.14.tgz", "integrity": "sha512-Puaz+wPUAhFp8Lo9HuciYKM2Y2XExESjeT+9NQoVFXZsPPnc9VYss2SpxdQ6vbatmt8/4+SN0oe0I1cPDABg9Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=14.21.3" }, @@ -12089,16 +8752,13 @@ } }, "node_modules/pretty-bytes": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz", - "integrity": "sha512-LNisJvAjy+hruxp3GV4IkZZscTI34+ISfeM1hesB9V6ezIDfXYrBi9TIXVjjMcEB4QFN7tL+dFDEk4s8jMBMyA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz", + "integrity": "sha512-eb7ZAeUTgfh294cElcu51w+OTRp/6ItW758LjwJSK72LDevcuJn0P4eD71PLMDGPwwatXmAmYHTkzvpKlJE3ow==", "dev": true, + "license": "MIT", "dependencies": { - "get-stdin": "^4.0.1", - "meow": "^3.1.0" - }, - "bin": { - "pretty-bytes": "cli.js" + "number-is-nan": "^1.0.0" }, "engines": { "node": ">=0.10.0" @@ -12108,13 +8768,15 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/promise": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "asap": "~2.0.3" @@ -12125,6 +8787,7 @@ "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/punycode": { @@ -12132,6 +8795,7 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/q": { @@ -12140,6 +8804,7 @@ "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.6.0", @@ -12151,7 +8816,7 @@ "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.1.tgz", "integrity": "sha512-LQy1Q1fcva/UsnP/6Iaa4lVeM49WiOitu2T4hZCyA/elLKu37L99qcBJk4VCCk+rdLvnMzfKyiN3SZTqdAZGSQ==", "dev": true, - "optional": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.6" } @@ -12174,13 +8839,15 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/randomatic": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^4.0.0", "kind-of": "^6.0.0", @@ -12195,54 +8862,39 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, "node_modules/raw-body": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz", - "integrity": "sha512-x4d27vsIG04gZ1imkuDXB9Rd/EkAx5kYzeMijIYw1PAor0Ld3nTlkQQwDjKu42GdRUFCX1AfGnTSQB4O57eWVg==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz", + "integrity": "sha512-WmJJU2e9Y6M5UzTOkHaM7xJGAPQD8PNzx3bAd2+uhZAim6wDk6dAZxPVYLF67XhbR4hmKGh33Lpmh4XWrCH5Mg==", + "deprecated": "No longer maintained. Please upgrade to a stable version.", "dev": true, + "license": "MIT", "dependencies": { - "bytes": "2.4.0", - "iconv-lite": "0.4.13", - "unpipe": "1.0.0" + "bytes": "1", + "string_decoder": "0.10" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.8.0" } }, - "node_modules/raw-body/node_modules/bytes": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz", - "integrity": "sha512-SvUX8+c/Ga454a4fprIdIUzUN9xfd1YTvYh7ub5ZPJ+ZJ/+K2Bp6IpWGmnw8r3caLTsmhvJAKZz3qjIo9+XuCQ==", - "dev": true - }, - "node_modules/raw-body/node_modules/iconv-lite": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", - "integrity": "sha512-QwVuTNQv7tXC5mMWFX5N5wGjmybjNBBD8P3BReTkPmipoxTUFgWM2gXNvldHQr6T14DH0Dh6qBVg98iJt7u4mQ==", + "node_modules/raw-body/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", "dev": true, - "engines": { - "node": ">=0.8.0" - } + "license": "MIT" }, "node_modules/rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", "optional": true, "dependencies": { "deep-extend": "^0.6.0", @@ -12254,11 +8906,23 @@ "rc": "cli.js" } }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/read-all-stream": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz", "integrity": "sha512-DI1drPHbmBcUDWrJ7ull/F2Qb8HkwBncVx8/RpKYFSIACYaVRQReISYPdZz/mt1y1+qMCOrfReTopERmaxtP6w==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "pinkie-promise": "^2.0.0", @@ -12268,44 +8932,12 @@ "node": ">=0.10.0" } }, - "node_modules/read-all-stream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "optional": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/read-all-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "optional": true - }, - "node_modules/read-all-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "optional": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", "dev": true, + "license": "MIT", "dependencies": { "pify": "^2.3.0" } @@ -12315,6 +8947,7 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", "dev": true, + "license": "MIT", "dependencies": { "load-json-file": "^1.0.0", "normalize-package-data": "^2.3.2", @@ -12329,6 +8962,7 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^1.0.0", "read-pkg": "^1.0.0" @@ -12338,24 +8972,34 @@ } }, "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, + "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, + "license": "MIT", "dependencies": { "picomatch": "^2.2.1" }, @@ -12368,6 +9012,7 @@ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", "dev": true, + "license": "MIT", "dependencies": { "resolve": "^1.9.0" }, @@ -12380,6 +9025,7 @@ "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", "integrity": "sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g==", "dev": true, + "license": "MIT", "dependencies": { "indent-string": "^2.1.0", "strip-indent": "^1.0.1" @@ -12388,36 +9034,12 @@ "node": ">=0.10.0" } }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true, - "license": "MIT" - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz", - "integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" - }, "node_modules/regex-cache": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, + "license": "MIT", "dependencies": { "is-equal-shallow": "^0.1.3" }, @@ -12425,60 +9047,25 @@ "node": ">=0.10.0" } }, - "node_modules/regexpu-core": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz", - "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==", - "dev": true, - "license": "MIT", - "dependencies": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.2.2", - "regjsgen": "^0.8.0", - "regjsparser": "^0.13.0", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.2.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/regjsparser": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.0.tgz", - "integrity": "sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "jsesc": "~3.1.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, "node_modules/remove-accents": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.5.0.tgz", - "integrity": "sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==" + "integrity": "sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==", + "license": "MIT" }, "node_modules/remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true, + "license": "ISC" }, "node_modules/repeat-element": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -12488,6 +9075,7 @@ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10" } @@ -12497,6 +9085,7 @@ "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==", "dev": true, + "license": "MIT", "dependencies": { "is-finite": "^1.0.0" }, @@ -12519,6 +9108,7 @@ "integrity": "sha512-IZnsR7voF0miGSu29EXPRgPTuEsI/+aibNSBbN1pplrfartF5wDYGADz3iD9vmBVf2r00rckWZf8BtS5kk7Niw==", "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", "dev": true, + "license": "Apache-2.0", "optional": true, "dependencies": { "aws-sign2": "~0.6.0", @@ -12553,6 +9143,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "dev": true, + "license": "Apache-2.0", "optional": true, "dependencies": { "safe-buffer": "^5.0.1" @@ -12567,21 +9158,12 @@ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", "dev": true, + "license": "MIT", "optional": true, "bin": { "uuid": "bin/uuid" } }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/resolve": { "version": "1.22.11", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", @@ -12603,34 +9185,12 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/resolve-dir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", "dev": true, + "license": "MIT", "dependencies": { "expand-tilde": "^2.0.0", "global-modules": "^1.0.0" @@ -12639,21 +9199,12 @@ "node": ">=0.10.0" } }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", "dev": true, + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -12664,6 +9215,7 @@ "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", "integrity": "sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg==", "dev": true, + "license": "MIT", "dependencies": { "align-text": "^0.1.1" }, @@ -12672,28 +9224,27 @@ } }, "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" } }, "node_modules/rollup": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.3.tgz", - "integrity": "sha512-7sqRtBNnEbcBtMeRVc6VRsJMmpI+JU1z9VTvW8D4gXIYQFz0aLcsE6rRkyghZkLfEgUZgVvOG7A5CVz/VW5GIA==", + "version": "4.54.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.54.0.tgz", + "integrity": "sha512-3nk8Y3a9Ea8szgKhinMlGMhGMw89mqule3KWczxhIzqudyHdCIOHw8WJlj/r329fACjKLEh13ZSk7oE22kyeIw==", "dev": true, + "license": "MIT", "dependencies": { - "@types/estree": "1.0.5" + "@types/estree": "1.0.8" }, "bin": { "rollup": "dist/bin/rollup" @@ -12703,22 +9254,28 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.21.3", - "@rollup/rollup-android-arm64": "4.21.3", - "@rollup/rollup-darwin-arm64": "4.21.3", - "@rollup/rollup-darwin-x64": "4.21.3", - "@rollup/rollup-linux-arm-gnueabihf": "4.21.3", - "@rollup/rollup-linux-arm-musleabihf": "4.21.3", - "@rollup/rollup-linux-arm64-gnu": "4.21.3", - "@rollup/rollup-linux-arm64-musl": "4.21.3", - "@rollup/rollup-linux-powerpc64le-gnu": "4.21.3", - "@rollup/rollup-linux-riscv64-gnu": "4.21.3", - "@rollup/rollup-linux-s390x-gnu": "4.21.3", - "@rollup/rollup-linux-x64-gnu": "4.21.3", - "@rollup/rollup-linux-x64-musl": "4.21.3", - "@rollup/rollup-win32-arm64-msvc": "4.21.3", - "@rollup/rollup-win32-ia32-msvc": "4.21.3", - "@rollup/rollup-win32-x64-msvc": "4.21.3", + "@rollup/rollup-android-arm-eabi": "4.54.0", + "@rollup/rollup-android-arm64": "4.54.0", + "@rollup/rollup-darwin-arm64": "4.54.0", + "@rollup/rollup-darwin-x64": "4.54.0", + "@rollup/rollup-freebsd-arm64": "4.54.0", + "@rollup/rollup-freebsd-x64": "4.54.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.54.0", + "@rollup/rollup-linux-arm-musleabihf": "4.54.0", + "@rollup/rollup-linux-arm64-gnu": "4.54.0", + "@rollup/rollup-linux-arm64-musl": "4.54.0", + "@rollup/rollup-linux-loong64-gnu": "4.54.0", + "@rollup/rollup-linux-ppc64-gnu": "4.54.0", + "@rollup/rollup-linux-riscv64-gnu": "4.54.0", + "@rollup/rollup-linux-riscv64-musl": "4.54.0", + "@rollup/rollup-linux-s390x-gnu": "4.54.0", + "@rollup/rollup-linux-x64-gnu": "4.54.0", + "@rollup/rollup-linux-x64-musl": "4.54.0", + "@rollup/rollup-openharmony-arm64": "4.54.0", + "@rollup/rollup-win32-arm64-msvc": "4.54.0", + "@rollup/rollup-win32-ia32-msvc": "4.54.0", + "@rollup/rollup-win32-x64-gnu": "4.54.0", + "@rollup/rollup-win32-x64-msvc": "4.54.0", "fsevents": "~2.3.2" } }, @@ -12741,6 +9298,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } @@ -12762,75 +9320,35 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" + }, + "node_modules/safe-json-parse": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz", + "integrity": "sha512-o0JmTu17WGUaUOHa1l0FPGXKBfijbxK6qoHzlkihsDXxzBHvJcA7zgviKR92Xs841rX9pK16unfphLq0/KqX7A==", + "dev": true }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" }, "node_modules/sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true, + "license": "ISC", "optional": true }, - "node_modules/schema-utils": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", - "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/schema-utils/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/schema-utils/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, "node_modules/seek-bzip": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "commander": "^2.8.1" @@ -12845,6 +9363,7 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver" } @@ -12854,6 +9373,7 @@ "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz", "integrity": "sha512-1vZcoRC+LPtHFkLUPyrabsATDSHerxW+hJBN8h04HZOZBuewbXaNROtUVdEPrTdZsWNq6sfsXDhd48GB2xTG4g==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" @@ -12864,6 +9384,7 @@ "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz", "integrity": "sha512-V1fGg9i4CL3qesB6U0L6XAm4xOJiHmt4QAacazumuasc03BvtFGIMCduv01JWQ69Nv+JST9TqhSCiJoxoY031w==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "semver": "^5.3.0" @@ -12872,70 +9393,41 @@ "node": ">=0.10.0" } }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "randombytes": "^2.1.0" - } - }, "node_modules/set-function-length": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", - "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, + "license": "MIT", "dependencies": { - "define-data-property": "^1.1.2", + "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.3", + "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.1" + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" } }, - "node_modules/set-function-length/node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/set-immediate-shim": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", "integrity": "sha512-Li5AOqrZWCVA2n5kryzEmqai6bKSIvpz5oUJHPVj6+dsbD3X1ixtsY5tEnsaNpH3pFAHmG8eIHUrtEtohrg+UQ==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -12948,6 +9440,7 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -12957,6 +9450,7 @@ "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz", "integrity": "sha512-Ny0KN4dyT8ZSCE0frtcbAJGoM/HTArpyPkeli1/00aYfm0sbD/Gk/4x7N2DP9QKGpBsiQH7n6rpm1L79RtviEQ==", "dev": true, + "license": "BSD*", "bin": { "shjs": "bin/shjs" }, @@ -12968,13 +9462,15 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", "integrity": "sha512-fCvEXfh6NWpm+YSuY2bpXb/VIihqWA6hLsgboC+0nl71Q7N7o2eaCW8mJa/NLvQhs6jpd3VZV4UiUQlV6+lc8g==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/sntp": { "version": "1.0.9", @@ -12991,9 +9487,9 @@ } }, "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -13004,26 +9500,17 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, "node_modules/sparkles": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">= 0.10" @@ -13034,43 +9521,49 @@ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "dev": true, + "license": "Apache-2.0", "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, "node_modules/spdx-exceptions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", - "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", - "dev": true + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true, + "license": "CC-BY-3.0" }, "node_modules/spdx-expression-parse": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, + "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "node_modules/spdx-license-ids": { - "version": "3.0.16", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", - "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", - "dev": true + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", + "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==", + "dev": true, + "license": "CC0-1.0" }, "node_modules/sprintf-js": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "license": "BSD-3-Clause" }, "node_modules/squeak": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/squeak/-/squeak-1.3.0.tgz", "integrity": "sha512-YQL1ulInM+ev8nXX7vfXsCsDh6IqXlrremc1hzi77776BtpWgYJUMto3UM05GSAaGzJgWekszjoKDrVNB5XG+A==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "chalk": "^1.0.0", @@ -13081,48 +9574,12 @@ "node": ">=0.10.0" } }, - "node_modules/squeak/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/squeak/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "dev": true, - "optional": true, - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/squeak/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/sshpk": { "version": "1.18.0", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "asn1": "~0.2.3", @@ -13149,6 +9606,7 @@ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.8" @@ -13159,6 +9617,7 @@ "resolved": "https://registry.npmjs.org/stack-parser/-/stack-parser-0.0.1.tgz", "integrity": "sha512-7wM3FaSOHg0EMrQ4GqRLLwAN4oY8eUHiqOnxTQgRnJ3hAiGKhAItH+cAJHqyyxgBJSr06MosLpkg9hksbrJakQ==", "dev": true, + "license": "MIT", "engines": { "node": "*" } @@ -13168,22 +9627,15 @@ "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz", "integrity": "sha512-o+7DC0OM5Jt3+gratXXqfXf62V/CBoqQbT7Kp7jCxTYW2PLOB2/ZSGIfm9T5/QZe1Vw1MCbu6DoB6JnhVtxcJw==", "dev": true, + "license": "MIT", "optional": true }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/stream-buffers": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", "integrity": "sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==", "dev": true, + "license": "Unlicense", "engines": { "node": ">= 0.10.0" } @@ -13193,61 +9645,42 @@ "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==", "dev": true, + "license": "MIT", "dependencies": { "duplexer2": "~0.1.0", "readable-stream": "^2.0.2" } }, - "node_modules/stream-combiner2/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/stream-shift": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", + "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/stream-combiner2/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "license": "MIT" }, - "node_modules/stream-combiner2/node_modules/string_decoder": { + "node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, - "node_modules/stream-shift": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", - "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", - "dev": true - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } + "license": "MIT" }, "node_modules/string-length": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz", "integrity": "sha512-MNCACnufWUf3pQ57O5WTBMkKhzYIaKEcUioO0XHrTMafrbBaNk4IyDOLHBv5xbXO0jLLdsYWeFjpjG2hVHRDtw==", "dev": true, + "license": "MIT", "dependencies": { "strip-ansi": "^3.0.0" }, @@ -13255,11 +9688,18 @@ "node": ">=0.10.0" } }, + "node_modules/string-template": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", + "integrity": "sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw==", + "dev": true + }, "node_modules/string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, + "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -13278,10 +9718,14 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, "node_modules/string-width-cjs/node_modules/ansi-regex": { @@ -13289,6 +9733,7 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -13297,13 +9742,15 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/string-width-cjs/node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -13312,10 +9759,11 @@ } }, "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -13324,10 +9772,11 @@ } }, "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -13343,6 +9792,7 @@ "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/strip-ansi": { @@ -13350,6 +9800,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^2.0.0" }, @@ -13363,8 +9814,12 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { @@ -13372,6 +9827,7 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -13381,6 +9837,7 @@ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", "dev": true, + "license": "MIT", "dependencies": { "is-utf8": "^0.2.0" }, @@ -13393,6 +9850,7 @@ "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz", "integrity": "sha512-7jfJB9YpI2Z0aH3wu10ZqitvYJaE0s5IzFuWE+0pbb4Q/armTloEUShymkDO47YSLnjAW52mlXT//hs9wXNNJQ==", "dev": true, + "license": "MIT", "dependencies": { "first-chunk-stream": "^1.0.0", "strip-bom": "^2.0.0" @@ -13403,47 +9861,20 @@ }, "node_modules/strip-dirs": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz", - "integrity": "sha512-+0QvOUTIs3xMridKraQAUSIp/kq7FRt/QjevB40+U6qJfeuPpTDQENFVfAbfZp59GpJkxY+yMdjR5cgKZyR2vg==", - "dev": true, - "optional": true, - "dependencies": { - "chalk": "^1.0.0", - "get-stdin": "^4.0.1", - "is-absolute": "^0.1.5", - "is-natural-number": "^2.0.0", - "minimist": "^1.1.0", - "sum-up": "^1.0.1" - }, - "bin": { - "strip-dirs": "cli.js" - } - }, - "node_modules/strip-dirs/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-dirs/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz", + "integrity": "sha512-+0QvOUTIs3xMridKraQAUSIp/kq7FRt/QjevB40+U6qJfeuPpTDQENFVfAbfZp59GpJkxY+yMdjR5cgKZyR2vg==", "dev": true, "optional": true, "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "chalk": "^1.0.0", + "get-stdin": "^4.0.1", + "is-absolute": "^0.1.5", + "is-natural-number": "^2.0.0", + "minimist": "^1.1.0", + "sum-up": "^1.0.1" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "strip-dirs": "cli.js" } }, "node_modules/strip-dirs/node_modules/is-absolute": { @@ -13451,6 +9882,7 @@ "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz", "integrity": "sha512-Xi9/ZSn4NFapG8RP98iNPMOeaV3mXPisxKxzKtHVqr3g56j/fBn+yZmnxSVAA8lmZbl2J9b/a4kJvfU3hqQYgA==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "is-relative": "^0.1.0" @@ -13469,21 +9901,12 @@ "node": ">=0.10.0" } }, - "node_modules/strip-dirs/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/strip-indent": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", "integrity": "sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==", "dev": true, + "license": "MIT", "dependencies": { "get-stdin": "^4.0.1" }, @@ -13495,13 +9918,16 @@ } }, "node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "integrity": "sha512-AOPG8EBc5wAikaG1/7uFCNFJwnKOuQwFTpYBdTW6OvWHeZBQBrAA/amefHGrEiOnCPcLFZK6FUPtWVKpQVIRgg==", "dev": true, - "optional": true, + "license": "MIT", + "bin": { + "strip-json-comments": "cli.js" + }, "engines": { - "node": ">=0.10.0" + "node": ">=0.8.0" } }, "node_modules/strip-outer": { @@ -13509,6 +9935,7 @@ "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "escape-string-regexp": "^1.0.2" @@ -13518,17 +9945,18 @@ } }, "node_modules/sucrase": { - "version": "3.35.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", - "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz", + "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", - "glob": "^10.3.10", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", + "tinyglobby": "^0.2.11", "ts-interface-checker": "^0.1.9" }, "bin": { @@ -13539,123 +9967,43 @@ "node": ">=16 || 14 >=14.17" } }, - "node_modules/sucrase/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/sucrase/node_modules/commander": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } }, - "node_modules/sucrase/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/sucrase/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/sum-up": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sum-up/-/sum-up-1.0.3.tgz", "integrity": "sha512-zw5P8gnhiqokJUWRdR6F4kIIIke0+ubQSGyYUY506GCbJWtV7F6Xuy0j6S125eSX2oF+a8KdivsZ8PlVEH0Mcw==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "chalk": "^1.0.0" } }, - "node_modules/sum-up/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sum-up/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "dev": true, - "optional": true, - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sum-up/node_modules/supports-color": { + "node_modules/supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", "dev": true, - "optional": true, + "license": "MIT", "engines": { "node": ">=0.8.0" } }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -13669,6 +10017,7 @@ "integrity": "sha512-C5A1r5SjFesNoKsmc+kWBxmB04iBGH2D/nFy8HJaME9+SyZKcmqcN8QG+GwxIc7D2+JWhaaW7uaM9+XwfplTEQ==", "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "coa": "~1.0.1", @@ -13691,6 +10040,7 @@ "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==", "dev": true, + "license": "BSD-2-Clause", "optional": true, "bin": { "esparse": "bin/esparse.js", @@ -13705,6 +10055,7 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz", "integrity": "sha512-BLv3oxhfET+w5fjPwq3PsAsxzi9i3qzU//HMpWVz0A6KplF86HdR9x2TGnv9DXhSUrO7LO8czUiTd3yb3mLSvg==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "argparse": "^1.0.7", @@ -13714,57 +10065,35 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/svgo/node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "optional": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/svgo/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "optional": true, - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, "node_modules/tailwindcss": { - "version": "3.4.11", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.11.tgz", - "integrity": "sha512-qhEuBcLemjSJk5ajccN9xJFtM/h0AVCPaA6C92jNP+M2J8kX+eMJHI7R2HFKUvvAsMpcfLILMCFYSeDwpMmlUg==", + "version": "3.4.19", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.19.tgz", + "integrity": "sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==", "dev": true, + "license": "MIT", "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", - "chokidar": "^3.5.3", + "chokidar": "^3.6.0", "didyoumean": "^1.2.2", "dlv": "^1.1.3", - "fast-glob": "^3.3.0", + "fast-glob": "^3.3.2", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", - "jiti": "^1.21.0", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", + "jiti": "^1.21.7", + "lilconfig": "^3.1.3", + "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", "postcss-import": "^15.1.0", "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" + "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" }, "bin": { "tailwind": "lib/cli.js", @@ -13774,23 +10103,12 @@ "node": ">=14.0.0" } }, - "node_modules/tailwindcss/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/tailwindcss/node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -13799,29 +10117,17 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/tannin/-/tannin-1.2.0.tgz", "integrity": "sha512-U7GgX/RcSeUETbV7gYgoz8PD7Ni4y95pgIP/Z6ayI3CfhSujwKEBlGFTCRN+Aqnuyf4AN2yHL+L8x+TCGjb9uA==", + "license": "MIT", "dependencies": { "@tannin/plural-forms": "^1.1.0" } }, - "node_modules/tapable": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", - "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/tar-stream": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", "dev": true, + "license": "MIT", "dependencies": { "bl": "^1.0.0", "buffer-alloc": "^1.2.0", @@ -13835,41 +10141,12 @@ "node": ">= 0.8.0" } }, - "node_modules/tar-stream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/tar-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/tar-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/tempfile": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-1.1.1.tgz", "integrity": "sha512-NjT12fW6pSEKz1eVcADgaKfeM+XZ4+zSaqVz46XH7+CiEwcelnwtGWRRjF1p+xyW2PVgKKKS2UUw1LzRelntxg==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "os-tmpdir": "^1.0.0", @@ -13879,71 +10156,19 @@ "node": ">=0.10.0" } }, - "node_modules/terser": { - "version": "5.44.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.44.1.tgz", - "integrity": "sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.15.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.14", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz", - "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.25", - "jest-worker": "^27.4.5", - "schema-utils": "^4.3.0", - "serialize-javascript": "^6.0.2", - "terser": "^5.31.1" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/thenify": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", "dev": true, + "license": "MIT", "dependencies": { "any-promise": "^1.0.0" } @@ -13953,6 +10178,7 @@ "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", "dev": true, + "license": "MIT", "dependencies": { "thenify": ">= 3.1.0 < 4" }, @@ -13965,6 +10191,7 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", "integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==", "dev": true, + "license": "MIT", "dependencies": { "readable-stream": ">=1.0.33-1 <1.1.0-0", "xtend": ">=4.0.0 <4.1.0-0" @@ -13975,46 +10202,18 @@ "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz", "integrity": "sha512-miwWajb1B80NvIVKXFPN/o7+vJc4jYUvnZCwvhicRAoTxdD9wbcjri70j+BenCrN/JXEPKDjhpw4iY7yiNsCGg==", "dev": true, + "license": "MIT", "dependencies": { "through2": "~2.0.0", "xtend": "~4.0.0" } }, - "node_modules/through2-filter/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/through2-filter/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/through2-filter/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/through2-filter/node_modules/through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, + "license": "MIT", "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" @@ -14024,13 +10223,15 @@ "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/through2/node_modules/readable-stream": { "version": "1.0.34", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", "dev": true, + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -14042,59 +10243,112 @@ "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/time-stamp": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", "integrity": "sha512-gLCeArryy2yNTRzTGKbZbloctj64jkZ57hj5zdraXue6aFgd6PmvVtEyiUU+hvU0v7q08oVv8r8ev0tRo6bvgw==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/timed-out": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-3.1.3.tgz", - "integrity": "sha512-3RB4qgvPkxF/FGPnrzaWLhW1rxNK2sdH0mFjbhxkfTR6QXvcM3EtYm9L44UrhODZrZ+yhDXeMncLqi8QXn2MJg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-2.0.0.tgz", + "integrity": "sha512-pqqJOi1rF5zNs/ps4vmbE4SFCrM4iR7LW+GHAsHqO/EumqbIWceioevYLM5xZRgQSH6gFgL9J/uB7EcJhQ9niQ==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/tiny-lr": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz", - "integrity": "sha512-cmC4iw/nymXg+dc57AQ8Xv3bHxNQOGyQC3Ht5xLN67hksk6ucshrLk/VKiXuMbnZgToQ2NbnICxYj63xVw+Qbw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz", + "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==", "dev": true, + "license": "MIT", "dependencies": { - "body-parser": "~1.14.0", - "debug": "~2.2.0", + "body": "^5.1.0", + "debug": "^3.1.0", "faye-websocket": "~0.10.0", - "livereload-js": "^2.2.0", - "parseurl": "~1.3.0", - "qs": "~5.1.0" + "livereload-js": "^2.3.0", + "object-assign": "^4.1.0", + "qs": "^6.4.0" } }, - "node_modules/tiny-lr/node_modules/qs": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz", - "integrity": "sha512-SGDM48EwFLWnYYpNlOkEIRJb4wil5FKJxpR6NVfQjz6qJmX53ki7Xj1cLNEAkb70vUfJmdVLOwODyABgZyDMZw==", + "node_modules/tiny-lr/node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, - "engines": ">=0.10.40" + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "dev": true, + "license": "MIT", "dependencies": { - "rimraf": "^3.0.0" + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/tmp": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=8.17.0" + "node": ">=14.14" } }, "node_modules/to-absolute-glob": { @@ -14102,6 +10356,7 @@ "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz", "integrity": "sha512-Vvl5x6zNf9iVG1QTWeknmWrKzZxaeKfIDRibrZCR3b2V/2NlFJuD2HV7P7AVjaKLZNqLPHqyr0jGrW0fTcxCPQ==", "dev": true, + "license": "MIT", "dependencies": { "extend-shallow": "^2.0.1" }, @@ -14110,16 +10365,33 @@ } }, "node_modules/to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", - "dev": true + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.2.tgz", + "integrity": "sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "isarray": "^2.0.5", + "safe-buffer": "^5.2.1", + "typed-array-buffer": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/to-buffer/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -14132,6 +10404,7 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "dev": true, + "license": "BSD-3-Clause", "optional": true, "dependencies": { "punycode": "^1.4.1" @@ -14145,6 +10418,7 @@ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", "integrity": "sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -14154,6 +10428,7 @@ "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "escape-string-regexp": "^1.0.2" @@ -14166,13 +10441,15 @@ "version": "0.1.13", "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/tunnel-agent": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", "integrity": "sha512-e0IoVDWx8SDHc/hwFTqJDQ7CCDTEeGhmcT9jkWJjoGQSpgBz20nAMr80E3Tpk7PatJ1b37DQDgJR3CNSzcMOZQ==", "dev": true, + "license": "Apache-2.0", "optional": true, "engines": { "node": "*" @@ -14183,32 +10460,57 @@ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", "dev": true, + "license": "Unlicense", "optional": true }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", "dev": true, + "license": "MIT", "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" }, "engines": { - "node": ">= 0.6" + "node": ">= 0.4" } }, "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "source-map": "~0.5.1", + "yargs": "~3.10.0" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + }, + "optionalDependencies": { + "uglify-to-browserify": "~1.0.0" + } }, "node_modules/uglify-to-browserify": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", "integrity": "sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/unc-path-regex": { @@ -14216,6 +10518,7 @@ "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -14231,6 +10534,7 @@ "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.6.tgz", "integrity": "sha512-VoC83HWXmCrF6rgkyxS9GHv8W9Q5nhMKho+OadDJGzL2oDYbYEppBaCMH6pFlwLeqj2QS+hhkw2kpXkSdD1JxQ==", "dev": true, + "license": "MIT", "dependencies": { "sprintf-js": "^1.1.1", "util-deprecate": "^1.0.2" @@ -14243,90 +10547,18 @@ "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", - "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz", - "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz", - "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } + "license": "MIT" }, "node_modules/unique-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", - "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.4.0.tgz", + "integrity": "sha512-V6QarSfeSgDipGA9EZdoIzu03ZDlOFkk+FbEP5cwgrZXN3iIkYR91IjU2EnM6rB835kGQsqHX8qncObTXV+6KA==", "dev": true, + "license": "MIT", "dependencies": { "json-stable-stringify-without-jsonify": "^1.0.1", - "through2-filter": "^3.0.0" - } - }, - "node_modules/unique-stream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/unique-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/unique-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "through2-filter": "3.0.0" } }, "node_modules/unique-stream/node_modules/through2": { @@ -14334,6 +10566,7 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, + "license": "MIT", "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" @@ -14344,34 +10577,27 @@ "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", "dev": true, + "license": "MIT", "dependencies": { "through2": "~2.0.0", "xtend": "~4.0.0" } }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/unzip-response": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz", "integrity": "sha512-pwCcjjhEcpW45JZIySExBHYv5Y9EeL2OIGEfrSKp2dMUFGFv4CpvZkwJbVge8OvGH2BNNtJBx67DuKuJhf+N5Q==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.10" } }, "node_modules/update-browserslist-db": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz", - "integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", "dev": true, "funding": [ { @@ -14404,6 +10630,7 @@ "resolved": "https://registry.npmjs.org/uri-path/-/uri-path-1.0.0.tgz", "integrity": "sha512-8pMuAn4KacYdGMkFaoQARicp4HSw24/DHOVKWqVRJ8LhhAwPPFpdGvdL9184JVmUwe7vz7Z9n6IqI6t5n2ELdg==", "dev": true, + "license": "WTFPL OR MIT", "engines": { "node": ">= 0.10" } @@ -14413,6 +10640,7 @@ "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", "integrity": "sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "prepend-http": "^1.0.1" @@ -14426,6 +10654,7 @@ "resolved": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz", "integrity": "sha512-dQ9cJzMou5OKr6ZzfvwJkCq3rC72PNXhqz0v3EIhF4a3Np+ujr100AhUx2cKx5ei3iymoJpJrPB3sVSEMdqAeg==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "ip-regex": "^1.0.1" @@ -14437,21 +10666,24 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" }, "node_modules/uuid": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", "integrity": "sha512-FULf7fayPdpASncVy4DLh3xydlXEJJpvIELjYjNeQWYUZ9pclcpvCZSr2gkmN2FrrGcI7G/cJsIEwk5/8vfXpg==", "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/v8flags": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", "dev": true, + "license": "MIT", "dependencies": { "homedir-polyfill": "^1.0.1" }, @@ -14464,6 +10696,7 @@ "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz", "integrity": "sha512-sgECfZthyaCKW10N0fm27cg8HYTFK5qMWgypqkXMQ4Wbl/zZKx7xZICgcoxIIE+WFAP/MBL2EFwC/YvLxw3Zeg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -14473,6 +10706,7 @@ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, + "license": "Apache-2.0", "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -14486,6 +10720,7 @@ "engines": [ "node >=0.6.0" ], + "license": "MIT", "optional": true, "dependencies": { "assert-plus": "^1.0.0", @@ -14498,6 +10733,7 @@ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.8" @@ -14508,6 +10744,7 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/vinyl": { @@ -14515,6 +10752,7 @@ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", "integrity": "sha512-Ci3wnR2uuSAWFMSglZuB8Z2apBdtOyz8CV7dC6/U1XbltXBC+IuutUkXQISz01P+US2ouBuesSbV6zILZ6BuzQ==", "dev": true, + "license": "MIT", "dependencies": { "clone": "^1.0.0", "clone-stats": "^0.0.1", @@ -14529,6 +10767,7 @@ "resolved": "https://registry.npmjs.org/vinyl-assign/-/vinyl-assign-1.2.1.tgz", "integrity": "sha512-jUVK1MkXgsZDdyUAy0rnrcmPeuR/ZLwsaS377zaaciz9SoDRVPIjHlUcYVcUAzLD+AolsLxMMwSe/VP77lAvow==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "object-assign": "^4.0.1", @@ -14538,37 +10777,15 @@ "node": ">=0.10.0" } }, - "node_modules/vinyl-assign/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "optional": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/vinyl-assign/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "optional": true - }, - "node_modules/vinyl-assign/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/vinyl-assign/node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, + "license": "MIT", "optional": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "engines": { + "node": ">=0.10.0" } }, "node_modules/vinyl-fs": { @@ -14576,6 +10793,7 @@ "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz", "integrity": "sha512-lxMlQW/Wxk/pwhooY3Ut0Q11OH5ZvZfV0Gg1c306fBNWznQ6ZeQaCdE7XX0O/PpGSqgAsHMBxwFgcGxiYW3hZg==", "dev": true, + "license": "MIT", "dependencies": { "duplexify": "^3.2.0", "glob-stream": "^5.3.2", @@ -14587,67 +10805,26 @@ "merge-stream": "^1.0.0", "mkdirp": "^0.5.0", "object-assign": "^4.0.0", - "readable-stream": "^2.0.4", - "strip-bom": "^2.0.0", - "strip-bom-stream": "^1.0.0", - "through2": "^2.0.0", - "through2-filter": "^2.0.0", - "vali-date": "^1.0.0", - "vinyl": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/vinyl-fs/node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/vinyl-fs/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "dependencies": { - "minimist": "^1.2.6" + "readable-stream": "^2.0.4", + "strip-bom": "^2.0.0", + "strip-bom-stream": "^1.0.0", + "through2": "^2.0.0", + "through2-filter": "^2.0.0", + "vali-date": "^1.0.0", + "vinyl": "^1.0.0" }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/vinyl-fs/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "engines": { + "node": ">=0.10" } }, - "node_modules/vinyl-fs/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/vinyl-fs/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/vinyl-fs/node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, "node_modules/vinyl-fs/node_modules/through2": { @@ -14655,6 +10832,7 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, + "license": "MIT", "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" @@ -14665,6 +10843,7 @@ "resolved": "https://registry.npmjs.org/vitawind/-/vitawind-2.3.0.tgz", "integrity": "sha512-er2CTD+2ZX93LP25gZTNSxNqSRtAPl/5J2++y/meP4Wir8YtfVn9NkHPMSidi1eB+lVJJst/OVVqRbvos39aRw==", "dev": true, + "license": "MIT", "dependencies": { "autoprefixer": "^10.4.16", "postcss": "^8.4.31", @@ -14683,10 +10862,11 @@ } }, "node_modules/vite": { - "version": "5.4.4", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.4.tgz", - "integrity": "sha512-RHFCkULitycHVTtelJ6jQLd+KSAAzOgEYorV32R2q++M6COBjKJR6BxqClwp5sf0XaBDjVMuJ9wnNfyAJwjMkA==", + "version": "5.4.21", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz", + "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", "dev": true, + "license": "MIT", "dependencies": { "esbuild": "^0.21.3", "postcss": "^8.4.43", @@ -14742,15 +10922,16 @@ } }, "node_modules/vue": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.4.tgz", - "integrity": "sha512-3yAj2gkmiY+i7+22A1PWM+kjOVXjU74UPINcTiN7grIVPyFFI0lpGwHlV/4xydDmobaBn7/xmi+YG8HeSlCTcg==", + "version": "3.5.26", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.26.tgz", + "integrity": "sha512-SJ/NTccVyAoNUJmkM9KUqPcYlY+u8OVL1X5EW9RIs3ch5H2uERxyyIUI4MRxVCSOiEcupX9xNGde1tL9ZKpimA==", + "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.5.4", - "@vue/compiler-sfc": "3.5.4", - "@vue/runtime-dom": "3.5.4", - "@vue/server-renderer": "3.5.4", - "@vue/shared": "3.5.4" + "@vue/compiler-dom": "3.5.26", + "@vue/compiler-sfc": "3.5.26", + "@vue/runtime-dom": "3.5.26", + "@vue/server-renderer": "3.5.26", + "@vue/shared": "3.5.26" }, "peerDependencies": { "typescript": "*" @@ -14766,6 +10947,7 @@ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", "hasInstallScript": true, + "license": "MIT", "bin": { "vue-demi-fix": "bin/vue-demi-fix.js", "vue-demi-switch": "bin/vue-demi-switch.js" @@ -14787,9 +10969,10 @@ } }, "node_modules/vue-router": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.4.4.tgz", - "integrity": "sha512-3MlnDqwRwZwCQVbtVfpsU+nrNymNjnXSsQtXName5925NVC1+326VVfYH9vSrA0N13teGEo8z5x7gbRnGjCDiQ==", + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.6.4.tgz", + "integrity": "sha512-Hz9q5sa33Yhduglwz6g9skT8OBPii+4bFn88w6J+J4MfEo4KRRpmiNG/hHHkdbRFlLBOqxN8y8gf2Fb0MTUgVg==", + "license": "MIT", "dependencies": { "@vue/devtools-api": "^6.6.4" }, @@ -14797,7 +10980,7 @@ "url": "https://github.com/sponsors/posva" }, "peerDependencies": { - "vue": "^3.2.0" + "vue": "^3.5.0" } }, "node_modules/walkdir": { @@ -14805,6 +10988,7 @@ "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz", "integrity": "sha512-lMFYXGpf7eg+RInVL021ZbJJT4hqsvsBvq5sZBp874jfhs3IWlA7OPoG0ojQrYcXHuUSi+Nqp6qGN+pPGaMgPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.6.0" } @@ -14814,190 +10998,18 @@ "resolved": "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz", "integrity": "sha512-Y2HUDMktriUm+SR2gZWxlrszcgtXExlhQYZ8QJNYbl22jum00KIUcHJ/h/sdAXhWTJcbSkiMYN9Z2tWbWYSrrw==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "wrap-fn": "^0.1.0" } }, - "node_modules/watchpack": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", - "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack": { - "version": "5.103.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.103.0.tgz", - "integrity": "sha512-HU1JOuV1OavsZ+mfigY0j8d1TgQgbZ6M+J75zDkpEAwYeXjWSqrGJtgnPblJjd/mAyTNQ7ygw0MiKOn6etz8yw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/eslint-scope": "^3.7.7", - "@types/estree": "^1.0.8", - "@types/json-schema": "^7.0.15", - "@webassemblyjs/ast": "^1.14.1", - "@webassemblyjs/wasm-edit": "^1.14.1", - "@webassemblyjs/wasm-parser": "^1.14.1", - "acorn": "^8.15.0", - "acorn-import-phases": "^1.0.3", - "browserslist": "^4.26.3", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.3", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.3.1", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^4.3.3", - "tapable": "^2.3.0", - "terser-webpack-plugin": "^5.3.11", - "watchpack": "^2.4.4", - "webpack-sources": "^3.3.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-cli": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz", - "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.1.1", - "@webpack-cli/info": "^2.0.2", - "@webpack-cli/serve": "^2.0.5", - "colorette": "^2.0.14", - "commander": "^10.0.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14" - } - }, - "node_modules/webpack-cli/node_modules/interpret": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", - "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack-cli/node_modules/rechoir": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve": "^1.20.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz", - "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack/node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, "node_modules/websocket-driver": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", "dev": true, + "license": "Apache-2.0", "dependencies": { "http-parser-js": ">=0.5.1", "safe-buffer": ">=5.1.0", @@ -15012,6 +11024,7 @@ "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=0.8.0" } @@ -15021,29 +11034,49 @@ "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", "integrity": "sha512-mmIPAft2vTgEILgPeZFqE/wWh24SEsR/k+N9fJ3Jxrz44iDFy9aemCxdksfURSHYFCLmvs/d/7Iso5XjPpNfrA==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=0.6.0" } }, "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, "bin": { - "which": "bin/which" + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "node_modules/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/window-size": { "version": "0.1.0", @@ -15059,6 +11092,7 @@ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", "integrity": "sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==", "dev": true, + "license": "MIT/X11", "engines": { "node": ">=0.4.0" } @@ -15068,6 +11102,7 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -15086,10 +11121,17 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { @@ -15097,21 +11139,40 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/wrap-ansi-cjs/node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -15126,6 +11187,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -15134,10 +11196,11 @@ } }, "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -15146,10 +11209,11 @@ } }, "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -15158,10 +11222,11 @@ } }, "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -15177,49 +11242,42 @@ "resolved": "https://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.5.tgz", "integrity": "sha512-xDLdGx0M8JQw9QDAC9s5NUxtg9MI09F6Vbxa2LYoSoCvzJnx2n81YMIfykmXEGsUvuLaxnblJTzhSOjUOX37ag==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "co": "3.1.0" } }, + "node_modules/wrap-fn/node_modules/co": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/co/-/co-3.1.0.tgz", + "integrity": "sha512-CQsjCRiNObI8AtTsNIBDRMQ4oMR83CzEswHYahClvul7gKk+lDQiOKv+5qh7LQWf5sh6jkZNispz/QlsZxyNgA==", + "dev": true, + "license": "MIT", + "optional": true + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.4" } }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "license": "ISC" - }, - "node_modules/yaml": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz", - "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==", - "dev": true, - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/yargs": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", "integrity": "sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A==", "dev": true, + "license": "MIT", "dependencies": { "camelcase": "^1.0.2", "cliui": "^2.1.0", @@ -15232,6 +11290,7 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", "integrity": "sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -15241,30 +11300,19 @@ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } }, - "node_modules/yocto-queue": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", - "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/zip-stream": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", "integrity": "sha512-2olrDUuPM4NvRIgGPhvrp84f7/HmWR6RiQrgwFF2VctmnssFiogtYL3DcA8Vl2bsSmju79sVXe38TsII7JleUg==", "dev": true, + "license": "MIT", "dependencies": { "archiver-utils": "^1.3.0", "compress-commons": "^1.2.0", @@ -15274,36 +11322,6 @@ "engines": { "node": ">= 0.10.0" } - }, - "node_modules/zip-stream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/zip-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/zip-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } } } } diff --git a/package.json b/package.json index 5f76f1edf..79bfa643a 100644 --- a/package.json +++ b/package.json @@ -12,21 +12,15 @@ "build:subscriptions": "ENTRY=subscriptions vite build", "build:frontend-subscriptions": "ENTRY=frontend-subscriptions vite build", "build:ai-form-builder": "ENTRY=ai-form-builder vite build", - "build:user-directory": "NODE_ENV=production webpack --config webpack.user-directory.config.js --mode=production", - "dev:user-directory": "NODE_ENV=development webpack --config webpack.user-directory.config.js --watch --mode=development", + "build:user-directory": "cd modules/user-directory && npm run build", + "dev:user-directory": "cd modules/user-directory && npm run dev", "build:css": "grunt tailwind-minify" }, "devDependencies": { - "@babel/core": "^7.28.0", - "@babel/preset-env": "^7.28.0", - "@babel/preset-react": "^7.27.1", "@tailwindcss/forms": "^0.5.7", "@types/node": "^18.11.18", "@vitejs/plugin-vue": "^5.0.4", - "@wordpress/dependency-extraction-webpack-plugin": "^6.23.0", "autoprefixer": "^10.4.16", - "babel-loader": "^9.2.1", - "css-loader": "^7.1.2", "daisyui": "^4.12.2", "grunt": "^1.5.3", "grunt-contrib-clean": "~1.0.0", @@ -46,16 +40,12 @@ "grunt-wp-i18n": "^1.0.3", "grunt-wp-readme-to-markdown": "^2.0.1", "jshint-stylish": "^2.2.1", - "mini-css-extract-plugin": "^2.9.2", "postcss": "^8.4.31", - "postcss-loader": "^8.1.1", "prettier": "^3.2.5", "prettier-plugin-tailwindcss": "^0.5.11", "tailwindcss": "^3.3.5", "vitawind": "^2.3.0", - "vite": "^5.1.4", - "webpack": "^5.101.0", - "webpack-cli": "^5.1.4" + "vite": "^5.1.4" }, "dependencies": { "@headlessui/vue": "^1.7.23", diff --git a/src/js/user-directory/App.js b/src/js/user-directory/App.js index 6cc110b98..293872e65 100644 --- a/src/js/user-directory/App.js +++ b/src/js/user-directory/App.js @@ -143,14 +143,11 @@ const App = () => {
    -

    {__('User Directories', 'wp-user-frontend')}

    - -
    -
    - +
    +

    {__('User Directories', 'wp-user-frontend')}

    + {/* Pro Badge on hover - vertically centered */} {hasReachedLimit && ( -
    +
    )} @@ -168,7 +166,7 @@ const App = () => { {/* Limit Warning */} {hasReachedLimit && ( -
    +
    @@ -186,7 +184,11 @@ const App = () => { )}
    - {loading ? null : (directories.length === 0 ? ( + {loading ? ( +
    +
    +
    + ) : directories.length === 0 ? ( ) : ( { onEdit={handleEdit} config={config} /> - ))} + )}
    { - if (totalPages <= 1) return null; - const range = []; - const delta = 2; - for ( - let i = Math.max( 1, currentPage - delta ); - i <= Math.min( totalPages, currentPage + delta ); - i++ - ) { - range.push( i ); - } - return ( -
    - -
    - ); - }; - return ( - <> -
    - - - - - - - - - - - +
    +
    +
    +
    +
    {__('Directory Name', 'wp-user-frontend')}{__('ID', 'wp-user-frontend')}{__('Members', 'wp-user-frontend')}{__('Shortcode', 'wp-user-frontend')} 
    + + + + + + + + + + {directories.map( dir => { // Helper to escape shortcode attribute values const escapeShortcodeAttr = (val) => { @@ -233,7 +191,7 @@ const DirectoryList = ( {directories, currentPage, totalPages, onPageChange, fet const displayShortcode = `[wpuf_user_listing id="${dir.ID}"]`; return ( - @@ -283,7 +241,7 @@ const DirectoryList = ( {directories, currentPage, totalPages, onPageChange, fet {openMenuId === dir.ID && ( -
    menuRefs.current[dir.ID] = el}> +
    menuRefs.current[dir.ID] = el}>
    {__('Duplicate', 'wp-user-frontend')} @@ -298,10 +256,72 @@ const DirectoryList = ( {directories, currentPage, totalPages, onPageChange, fet ); } )}
    -
    + {__('Title', 'wp-user-frontend')} + + {__('ID', 'wp-user-frontend')} + + {__('Members', 'wp-user-frontend')} + + {__('Shortcode', 'wp-user-frontend')} + + {__('Actions', 'wp-user-frontend')} +
    + { onEdit && onEdit(dir);}} >{dir.post_title} {dir.ID}
    + +
    + + {/* Pagination */} + {totalPages > 1 && ( +
    + +
    + )} +
    - {renderPagination()} - +
    ); }; diff --git a/src/js/user-directory/components/common/Header.js b/src/js/user-directory/components/common/Header.js index c4aa69089..935fdaab8 100644 --- a/src/js/user-directory/components/common/Header.js +++ b/src/js/user-directory/components/common/Header.js @@ -31,7 +31,7 @@ const Header = ({ utm = 'wpuf-user-directory' }) => { }, []); return ( -
    +
    WPUF Icon

    {__('WP User Frontend', 'wp-user-frontend')}

    diff --git a/src/js/user-directory/components/steps/StepAdvanced.js b/src/js/user-directory/components/steps/StepAdvanced.js index 4155bfda8..6d239c9b2 100644 --- a/src/js/user-directory/components/steps/StepAdvanced.js +++ b/src/js/user-directory/components/steps/StepAdvanced.js @@ -258,9 +258,9 @@ const StepAdvanced = ({ formData, setFormData, config }) => { onMouseEnter={() => !option.isFree && setHoveredOption(`sort-${option.value}`)} onMouseLeave={() => setHoveredOption(null)} > - {/* Pro Badge on hover */} + {/* Pro Badge on hover - vertically centered */} {!option.isFree && isHovered && ( -
    +
    )} @@ -345,13 +345,13 @@ const StepAdvanced = ({ formData, setFormData, config }) => { onMouseEnter={() => setHoveredOption('social-profiles')} onMouseLeave={() => setHoveredOption(null)} > - {/* Pro Badge on hover */} + {/* Pro Badge on hover - vertically centered */} {hoveredOption === 'social-profiles' && ( -
    +
    )} -
    { onMouseEnter={() => !option.isFree && setHoveredOption(`gallery-${option.value}`)} onMouseLeave={() => setHoveredOption(null)} > - {/* Pro Badge on hover */} + {/* Pro Badge on hover - vertically centered */} {!option.isFree && isHovered && ( -
    +
    )} @@ -441,9 +441,9 @@ const StepAdvanced = ({ formData, setFormData, config }) => { onMouseEnter={() => !size.isFree && setHoveredOption(`avatar-${size.value}`)} onMouseLeave={() => setHoveredOption(null)} > - {/* Pro Badge on hover */} + {/* Pro Badge on hover - vertically centered */} {!size.isFree && isHovered && ( -
    +
    )} diff --git a/src/js/user-directory/components/steps/StepTabs.js b/src/js/user-directory/components/steps/StepTabs.js index 89ee92cfe..11414e59a 100644 --- a/src/js/user-directory/components/steps/StepTabs.js +++ b/src/js/user-directory/components/steps/StepTabs.js @@ -198,19 +198,19 @@ const StepTabs = ({ formData, setFormData, config }) => {
    - {/* Pro Badge on hover - positioned in center above both icons */} + {/* Pro Badge on hover - vertically centered */} {isHovered && ( -
    - Pro
    @@ -322,12 +322,12 @@ const StepTabs = ({ formData, setFormData, config }) => { - {/* Pro Badge on hover */} + {/* Pro Badge on hover - vertically centered */} {hoveredContentType === 'add-content' && ( -
    - Pro + Pro
    @@ -338,16 +338,16 @@ const StepTabs = ({ formData, setFormData, config }) => {
    {/* Meta Field */} -
    setHoveredContentType('meta-field')} onMouseLeave={() => setHoveredContentType(null)} > {hoveredContentType === 'meta-field' && ( -
    - Pro + Pro
    @@ -370,16 +370,16 @@ const StepTabs = ({ formData, setFormData, config }) => {
    {/* Section */} -
    setHoveredContentType('section')} onMouseLeave={() => setHoveredContentType(null)} > {hoveredContentType === 'section' && ( -
    - Pro + Pro
    @@ -402,16 +402,16 @@ const StepTabs = ({ formData, setFormData, config }) => {
    {/* Post Type */} -
    setHoveredContentType('post-type')} onMouseLeave={() => setHoveredContentType(null)} > {hoveredContentType === 'post-type' && ( -
    - Pro + Pro
    @@ -434,16 +434,16 @@ const StepTabs = ({ formData, setFormData, config }) => {
    {/* Comment */} -
    setHoveredContentType('comment')} onMouseLeave={() => setHoveredContentType(null)} > {hoveredContentType === 'comment' && ( -
    - Pro + Pro
    @@ -466,16 +466,16 @@ const StepTabs = ({ formData, setFormData, config }) => {
    {/* Image/File */} -
    setHoveredContentType('image-file')} onMouseLeave={() => setHoveredContentType(null)} > {hoveredContentType === 'image-file' && ( -
    - Pro + Pro
    diff --git a/src/js/user-directory/styles/main.css b/src/js/user-directory/styles/main.css index 9923f18ab..8c6787ef2 100644 --- a/src/js/user-directory/styles/main.css +++ b/src/js/user-directory/styles/main.css @@ -2,6 +2,7 @@ * User Directory Free - Main Styles * * Tailwind CSS with wpuf- prefix + * Matches Pro's wpuf-ud.css exactly * * @package WPUF * @subpackage Free/User_Directory @@ -28,27 +29,274 @@ max-width: unset !important; } -/* Full page white background - matches Pro */ -#wpcontent, #wpbody { - background: #fff; +/* Set white background for WordPress admin body - matches forms-list.css pattern */ +/* This file is only loaded on User Directory page, so no scoping needed */ +#wpbody, +#wpcontent, +#wpbody-content { + background: #fff !important; } -/* Custom animations */ -@keyframes fade-in { +#wpbody-content { + min-height: 100vh; +} + +.wpuf-user-directory-empty { + text-align: center; + padding: 2rem; + color: #6b7280; + font-style: italic; +} + + +.wpuf-ud-table { + width: 100%; + border-collapse: collapse; +} + +.wpuf-ud-thead { + background-color: #FFFFFF; +} + +.wpuf-ud-tbody { + background-color: white; +} + +.wpuf-ud-row { + border-bottom: 1px solid #e5e7eb; +} + +.wpuf-ud-row:hover { + background-color: #f9fafb; +} + +/* User field styles - Basic typography */ +.wpuf-user-email, +.wpuf-user-role, +.wpuf-user-posts, +.wpuf-user-joined, +.wpuf-user-field { + color: #374151; + font-size: 0.875rem; +} + +/* Profile link styles */ +.wpuf-text-indigo-600 { + color: #4f46e5; +} + +.hover\:wpuf-text-indigo-900:hover { + color: #312e81; +} + +/* Loading States */ +.wpuf-directory-loading { + text-align: center; + padding: 3rem; +} + +.wpuf-directory-loading .wpuf-animate-spin { + animation: spin 1s linear infinite; +} + +@keyframes spin { from { - opacity: 0; - transform: translateY(10px); + transform: rotate(0deg); } to { - opacity: 1; - transform: translateY(0); + transform: rotate(360deg); + } +} + +/* Empty State */ +.wpuf-directory-empty { + text-align: center; + padding: 3rem; + background: #f8fafc; + border: 1px solid #e2e8f0; + border-radius: 8px; +} + +/* Custom Field Styles - Basic */ +.wpuf-custom-field { + font-size: 0.875rem; + color: #374151; +} + +/* WordPress Block Editor Color Support for Custom Fields */ +.wpuf-custom-field.has-text-color, +.wpuf-custom-field.has-text-color * { + color: inherit !important; +} + +.wpuf-custom-field[style*="color"], +.wpuf-custom-field[style*="color"] * { + color: inherit !important; +} + +/* Focus States */ +.wpuf-btn:focus { + outline: 2px solid #3b82f6; + outline-offset: 2px; +} + +/* Print Styles */ +@media print { + .wpuf-pagination, + .wpuf-action-buttons { + display: none !important; + } + + .wpuf-table-body { + border: 1px solid #000; + } + + .wpuf-user-row { + border-bottom: 1px solid #000; } } -.wpuf-animate-fadein { - animation: fade-in 0.3s ease-out forwards; +/* Dropdown Text Truncation - Prevent caret overlap */ +.wpuf-ud-search-in, +.wpuf-ud-sort-by, +.wpuf-ud-sort-order { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + /* Ensure sufficient space for caret icon */ + padding-right: 3rem !important; + /* Ensure consistent appearance across all dropdowns */ + max-width: 100%; + box-sizing: border-box; } -#wpuf-ud-free-app { +/* Ensure dropdown options are also properly truncated */ +.wpuf-ud-search-in option, +.wpuf-ud-sort-by option, +.wpuf-ud-sort-order option { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; max-width: 100%; } + +/* Override any theme/plugin styles that might affect layout preview images */ +.wpuf-user-directory-setup img { + width: auto !important; + height: auto !important; + max-width: none !important; + max-height: none !important; + object-fit: initial !important; + padding: 0 !important; + margin: 0 !important; + box-shadow: none !important; + border-radius: 0 !important; +} + +/* Dropdown menu z-index fix for table rows */ +.wpuf-z-\[9999\] { + z-index: 9999 !important; +} + +/* Ensure table container doesn't create stacking context */ +.wpuf-overflow-hidden { + overflow: visible !important; +} + +/* Loading spinner - Free version specific */ +.wpuf-loader { + width: 24px; + height: 24px; + border: 3px solid #e5e7eb; + border-top-color: #059669; + border-radius: 50%; + animation: spin 1s linear infinite; +} + +/** + * Layout-3 specific styles for User Directory Listing + * Matches Pro's wpuf-ud.css layout-3 styles + */ + +/* Remove empty paragraph elements from layout */ +.wpuf-ud-list-layout-3 p:empty { + display: none !important; +} + +/* Add spacing only between non-empty elements */ +.wpuf-ud-list-layout-3 p:not(:empty) + p:not(:empty) { + margin-top: 0.25rem; +} + +/* Dynamic card heights - prevent excessive whitespace */ +.wpuf-ud-list-layout-3 li { + height: auto !important; + min-height: 280px; +} + +/* Hide empty flex containers */ +.wpuf-ud-list .wpuf-flex-col > *:empty { + display: none !important; +} + +/* Social icons container - hide if empty */ +.wpuf-social-icons:empty { + display: none !important; +} + +/* Ensure View Profile button stays at bottom with proper spacing */ +.wpuf-ud-list-layout-3 .wpuf-flex-shrink-0:last-child { + margin-top: auto; + padding-top: 1rem; +} + +/* Ensure button area doesn't collapse */ +.wpuf-ud-list a[href*="profile"] { + display: inline-flex !important; +} + +/* Optimize spacing for user info sections */ +.wpuf-ud-list .wpuf-flex-col.wpuf-text-center > :first-child { + margin-top: 0; +} + +.wpuf-ud-list .wpuf-flex-col.wpuf-text-center > :last-child { + margin-bottom: 0; +} + +/* Compact spacing when minimal data is present */ +.wpuf-ud-list li:has(p:empty) { + padding-top: 1.25rem; + padding-bottom: 1.25rem; +} + +/* Grid adjustments for responsive behavior */ +@media (max-width: 768px) { + .wpuf-ud-list-layout-3 ul { + gap: 1rem; + } + + .wpuf-ud-list-layout-3 li { + min-height: auto; + } +} + +/* Ensure consistent avatar spacing */ +.wpuf-ud-list .wpuf-flex-shrink-0:has(img) { + flex-shrink: 0; +} + +/* Handle empty bio/description fields */ +.wpuf-ud-list .wpuf-user-bio:empty { + display: none !important; +} + +/* Dropdown menu z-index fix for table rows */ +.wpuf-z-\[9999\] { + z-index: 9999 !important; +} + +/* Ensure table container doesn't create stacking context */ +.wpuf-overflow-hidden { + overflow: visible !important; +} From bd9dd30c6ab80c85ef0c5402ae53ab416ad228c0 Mon Sep 17 00:00:00 2001 From: Ariful Hoque Date: Mon, 22 Dec 2025 12:49:38 +0600 Subject: [PATCH 07/20] Refactor advanced step options and update sort values Updated sort option values from 'ID' to 'id' and adjusted related logic for consistency. Removed free/pro checks from handlers to simplify state updates. Improved UI/UX for avatar and sort options, added Pro-locked features with badges and tooltips, and enhanced descriptions for better clarity. --- .../components/steps/StepAdvanced.js | 149 +++++++++++++----- 1 file changed, 112 insertions(+), 37 deletions(-) diff --git a/src/js/user-directory/components/steps/StepAdvanced.js b/src/js/user-directory/components/steps/StepAdvanced.js index 6d239c9b2..28487485b 100644 --- a/src/js/user-directory/components/steps/StepAdvanced.js +++ b/src/js/user-directory/components/steps/StepAdvanced.js @@ -8,12 +8,12 @@ const StepAdvanced = ({ formData, setFormData, config }) => { // Free version options const freeAvatarSizes = ['192']; // Only 192 is free - const freeSortOptions = ['ID']; // Only User ID is free + const freeSortOptions = ['id']; // Only User ID is free const freeGallerySizes = ['thumbnail']; // Only thumbnail is free - + const handleChange = (e) => { const { name, value, type, checked } = e.target; - + if (name === 'users_per_page') { setFormData(prev => ({ ...prev, @@ -37,14 +37,11 @@ const StepAdvanced = ({ formData, setFormData, config }) => { max_item: numericValue })); } else if (name === 'default_sort_by') { - // Only allow free sort options - if (freeSortOptions.includes(value)) { - setFormData(prev => ({ - ...prev, - default_sort_by: value, - orderby: value - })); - } + setFormData(prev => ({ + ...prev, + default_sort_by: value, + orderby: value + })); } else if (name === 'default_sort_order') { setFormData(prev => ({ ...prev, @@ -57,12 +54,8 @@ const StepAdvanced = ({ formData, setFormData, config }) => { setFormData(prev => ({ ...prev, [name]: value })); } } else if (name === 'profile_size') { - // Only allow free gallery sizes - if (freeGallerySizes.includes(value)) { - setFormData(prev => ({ ...prev, [name]: value })); - } + setFormData(prev => ({ ...prev, [name]: value })); } else if (name === 'profile_base') { - // Profile permalink is all free setFormData(prev => ({ ...prev, [name]: value })); } else if (type === 'checkbox') { setFormData(prev => ({ ...prev, [name]: checked })); @@ -121,21 +114,20 @@ const StepAdvanced = ({ formData, setFormData, config }) => { // Pro badge component const ProBadge = ({ small = false }) => ( - Pro ); // Sort options with Pro status const sortOptions = [ - { value: 'ID', label: __('User ID', 'wp-user-frontend'), isFree: true }, - { value: 'display_name', label: __('Display Name', 'wp-user-frontend'), isFree: false }, - { value: 'user_registered', label: __('Registration Date', 'wp-user-frontend'), isFree: false }, + { value: 'id', label: __('User ID', 'wp-user-frontend'), isFree: true }, { value: 'user_login', label: __('Username', 'wp-user-frontend'), isFree: false }, { value: 'user_email', label: __('Email', 'wp-user-frontend'), isFree: false }, - { value: 'post_count', label: __('Post Count', 'wp-user-frontend'), isFree: false }, + { value: 'display_name', label: __('Display Name', 'wp-user-frontend'), isFree: false }, + { value: 'registered', label: __('Registration Date', 'wp-user-frontend'), isFree: false }, ]; // Avatar sizes with Pro status @@ -194,7 +186,7 @@ const StepAdvanced = ({ formData, setFormData, config }) => { textAlign: 'center', color: '#64748B' }} - >{__('Fine-tune your directory settings with customizable options for sorting, pagination, and display preferences', 'wp-user-frontend')}

    + >{__('Manage how your user directory looks and behaves, from permalinks, socials and avatars display to sorting, for a clean, intuitive directory experience', 'wp-user-frontend')}

    {/* Users Per Page - Available in Free */} @@ -213,7 +205,7 @@ const StepAdvanced = ({ formData, setFormData, config }) => { max="100" className="wpuf-block wpuf-min-w-full wpuf-m-0 wpuf-leading-none wpuf-text-gray-700 placeholder:wpuf-text-gray-400 wpuf-max-w-full focus:wpuf-ring-transparent" style={numberInputStyle} - value={formData.users_per_page || formData.max_item_per_page || 12} + value={formData.users_per_page || formData.max_item_per_page || 10} onChange={handleChange} />
    @@ -240,7 +232,7 @@ const StepAdvanced = ({ formData, setFormData, config }) => { {/* Default Sort By - User ID is free, rest are Pro */}
    -