From 78af350610c5b3ab8d079ef684389017b0f2ef15 Mon Sep 17 00:00:00 2001 From: Tana M Berry Date: Thu, 12 Oct 2023 14:45:21 -0500 Subject: [PATCH 01/57] website/docs: Balok pr for User docs (#7139) * procedrual docs * restructure * new image, edit tweaks * more tweaks * edits * edits for new button labels * more content in invitations * tweaks * Optimised images with calibre/image-actions * fixed link * links * ken's edits * changed label name * spelling checks * fix links * links again * fighting with imports * ugh * add extensions back * fix link * tweak * rename file again * more links * added punctuation * use generated index Signed-off-by: Jens Langhammer --------- Signed-off-by: Jens Langhammer Co-authored-by: Tana Berry Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com> Co-authored-by: Jens Langhammer --- website/docs/expressions/_functions.md | 2 +- website/docs/expressions/_user.md | 2 +- website/docs/flow/context/index.md | 2 +- website/docs/policies/expression.mdx | 4 +- .../docs/user-group/user/create_invite.png | Bin 0 -> 174983 bytes website/docs/user-group/user/index.mdx | 12 ++ website/docs/user-group/user/invitations.md | 49 ++++++++ .../user-group/user/user_basic_operations.md | 117 ++++++++++++++++++ .../user-group/{user.md => user/user_ref.md} | 10 +- website/sidebars.js | 17 ++- 10 files changed, 204 insertions(+), 11 deletions(-) create mode 100644 website/docs/user-group/user/create_invite.png create mode 100644 website/docs/user-group/user/index.mdx create mode 100644 website/docs/user-group/user/invitations.md create mode 100644 website/docs/user-group/user/user_basic_operations.md rename website/docs/user-group/{user.md => user/user_ref.md} (88%) diff --git a/website/docs/expressions/_functions.md b/website/docs/expressions/_functions.md index 57624b119601..ceddc916c520 100644 --- a/website/docs/expressions/_functions.md +++ b/website/docs/expressions/_functions.md @@ -66,7 +66,7 @@ return ak_is_group_member(request.user, name="test_group") Fetch a user matching `**filters`. -Returns "None" if no user was found, otherwise [User](/docs/user-group/user) +Returns "None" if no user was found, otherwise returns the [User](/docs/user-group/user) object. Example: diff --git a/website/docs/expressions/_user.md b/website/docs/expressions/_user.md index cc747ccadf79..250e15400af6 100644 --- a/website/docs/expressions/_user.md +++ b/website/docs/expressions/_user.md @@ -1,4 +1,4 @@ -- `user`: The current user. This may be `None` if there is no contextual user. See ([User](../user-group/user.md#object-attributes)) +- `user`: The current user. This may be `None` if there is no contextual user. See [User](../user-group/user/user_ref.md#object-properties). Example: diff --git a/website/docs/flow/context/index.md b/website/docs/flow/context/index.md index a98512c25b06..07b5840926bf 100644 --- a/website/docs/flow/context/index.md +++ b/website/docs/flow/context/index.md @@ -22,7 +22,7 @@ Keys prefixed with `goauthentik.io` are used internally by authentik and are sub ### Common keys -#### `pending_user` ([User object](../../user-group/user.md)) +#### `pending_user` ([User object](../../user-group/user/user_ref.md#object-properties)) `pending_user` is used by multiple stages. In the context of most flow executions, it represents the data of the user that is executing the flow. This value is not set automatically, it is set via the [Identification stage](../stages/identification/). diff --git a/website/docs/policies/expression.mdx b/website/docs/policies/expression.mdx index c98803f657a3..cf59dccfdcd0 100644 --- a/website/docs/policies/expression.mdx +++ b/website/docs/policies/expression.mdx @@ -41,7 +41,7 @@ import Objects from "../expressions/_objects.md"; - `request`: A PolicyRequest object, which has the following properties: - - `request.user`: The current user, against which the policy is applied. See [User](../user-group/user.md#object-attributes) + - `request.user`: The current user, against which the policy is applied. See [User](../user-group/user/user_ref.md#object-properties) :::caution When a policy is executed in the context of a flow, this will be set to the user initiaing request, and will only be changed by a `user_login` stage. For that reason, using this value in authentication flow policies may not return the expected user. Use `context['pending_user']` instead; User Identification and other stages update this value during flow execution. @@ -77,7 +77,7 @@ This includes the following: - `context['prompt_data']`: Data which has been saved from a prompt stage or an external source. (Optional) - `context['application']`: The application the user is in the process of authorizing. (Optional) - `context['source']`: The source the user is authenticating/enrolling with. (Optional) -- `context['pending_user']`: The currently pending user, see [User](../user-group/user.md#object-attributes) +- `context['pending_user']`: The currently pending user, see [User](../user-group/user/user_ref.md#object-properties) - `context['is_restored']`: Contains the flow token when the flow plan was restored from a link, for example the user clicked a link to a flow which was sent by an email stage. (Optional) - `context['auth_method']`: Authentication method (this value is set by password stages) (Optional) diff --git a/website/docs/user-group/user/create_invite.png b/website/docs/user-group/user/create_invite.png new file mode 100644 index 0000000000000000000000000000000000000000..3855bb82a39c31c350aa656780954711b0577e52 GIT binary patch literal 174983 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�Yg=7N^h#SA06Y1&~Mv7mvv~M2gRD0Sm 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�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 literal 0 HcmV?d00001 diff --git a/website/docs/user-group/user/index.mdx b/website/docs/user-group/user/index.mdx new file mode 100644 index 000000000000..9f15e85ffbb7 --- /dev/null +++ b/website/docs/user-group/user/index.mdx @@ -0,0 +1,12 @@ +--- +title: About users +--- + +import DocCardList from "@theme/DocCardList"; +import { useCurrentSidebarCategory } from "@docusaurus/theme-common"; + +In authentik you can create and manage users with fine-tuned access control, session and event details, group membership, super-user rights, impersonation, and password management and recovery. + +To learn more about working with users in authentik, refer to the following topics: + + diff --git a/website/docs/user-group/user/invitations.md b/website/docs/user-group/user/invitations.md new file mode 100644 index 000000000000..7387543f5fba --- /dev/null +++ b/website/docs/user-group/user/invitations.md @@ -0,0 +1,49 @@ +--- +title: Invitations +description: "Learn how to create an invitation URL for new users to enroll." +--- + +Invitations are another way to create a user, by inviting someone to join your authentik instance, as a new user. With invitations, you can either email an enrollment invitation URL to one or more specific recipients with pre-defined credentials, or you can email a URL to users, who can then log in and define their own credentials. + +:::info +You can also create a policy to see if the invitation was ever used. +::: + +## Create an invitation + +The fastest way to create an invitation is to use our pre-defined `default-enrollment-flow` that has the necessary stages and prompts already included. + +**Step 1. Download the `default-enrollment-flow` file** + +To download the `default-enrollment-flow` file, run this command: + +``` +wget https://raw.githubusercontent.com/goauthentik/authentik/main/website/developer-docs/blueprints/example/flows-enrollment-2-stage.yaml +``` + +Alternatively, use this [link](/blueprints/example/flows-enrollment-2-stage.yaml) to view and save the file. For more details, refer to the [documentation](https://goauthentik.io/docs/flow/examples/flows#enrollment-2-stage). + +**Step 2. Import the `default-enrollment-flow` file** + +In authentik, navigate to the Admin UI, and then click **Flows** in the left navigation pane. + +At the top of the Flows page, click **Import**, and then select the `flows-enrollment-2-stage.yaml` file that you just downloaded. + +**Step 3. Create the invitation object** + +In the Admin UI, navigate to **Directory --> Invitations**, and then click **Create** to open the **Create Invitation** modal. Define the following fields: + +- **Name**: provide a name for your invitation object. +- **Expires**: select a date for when you want the invitation to expire. +- **Flow**: in the drop-down menu, select the **default-enrollment-flow** Flow. +- **Custom attributes**: (_optional_) enter optional key/value pairs here, to pre-define any information about the user that you will invite to enroll. The data entered here is considered as a variable, specifically the `context['prompt_data']` variable. This data is read by the context flow's [prompt stage](../../flow/stages/prompt/index.md) in an expression policy. + +![Create an invitation modal box](./create_invite.png) + +- **Single use**: specify whether or not you want the invitation to expire after a single use. + +Click **Save** to save the new invitation and close the modal and return to the **Invitations** page. + +**Step 3. Email the invitation** + +On the **Invitations** page, click the chevron beside your new invitation, to expand the details. The **Link to use the invitation** displays with the URL. Copy the URL and send it in an email to the people you want to invite to enroll. diff --git a/website/docs/user-group/user/user_basic_operations.md b/website/docs/user-group/user/user_basic_operations.md new file mode 100644 index 000000000000..73a834252159 --- /dev/null +++ b/website/docs/user-group/user/user_basic_operations.md @@ -0,0 +1,117 @@ +--- +title: Manage users +--- + +The following topics are for the basic management of users: how to create, modify, delete or deactivate users, and using a recovery email. + +### Create a user + +> If you want to automate user creation, you can do that either by [invitations](./invitations.md), [`user_write` stage](../../flow/stages/user_write), or [using the API](/developer-docs/api/browser). + +1. In the Admin interface of your authentik instance, select **Directory > Users** in the left side menu. + +2. Select the folder where you want to create a user. + +3. Click **Create** (for a default user). + +4. Fill in the required fields: + +- **Username**: This value must be unique across your user folders. +- **Path**: The path where the user will be created. It will be automatically populated with the folder you selected in the previous step. + +5. Fill the **_optional_** fields if needed: + +- **Name**: The display name of the user. +- **Email**: The email address of the user. That will be used if there is a [notification rule](../../events/notifications) triggered or for [email stages](../../flow/stages/email). +- **Is active**: Define is the newly created user account is active. Selected by default. +- **Attributes**: Custom attributes definition for the user, in YAML or JSON format. These attributes can be used to enforce additional prompts on authentication stages or define conditions to enforce specific policies if the current implementation does not fit your use case. The value is an empty dictionary by default. + +6. Click **Create** + +You should see a confirmation pop-up on the top-right of the screen that the user has been created, and see the new user in the user list. You can directly click the username if you want to [modify your user](./user_basic_operations#modify-a-user). + +### View user details + +In the **Directory > Users** menu of the Admin interface, you can browse all the users in your authentik instance. + +To view details about a specific user: + +1. In the list of all users, click on the name of the user you want to check. + + This takes you to the **Overview** tab, with basic information about the user, and also quick access to perform basic actions to the user. + +2. To see further details, click any of the other tabs: + +- **Session** shows the active sessions established by the user. If there is any need, you can clean up the connected devices for a user by selecting the device(s) and then clicking **Delete**. This forces the user to authenticate again on the deleted devices. +- **Groups** allows you to manage the group membership of the user. You can find more details on [groups](../group). +- **User events** displays all the events generated by the user during a session, such as login, logout, application authorisation, password reset, user info update, etc. +- **Explicit consent** lists all the permissions the user has given explicitly to an application. Entries will only appear if the user is validating an [explicit consent flow in an OAuth2 provider](../../providers/oauth2/). If you want to delete the explicit consent (because the application is requiring new permissions, or the user has explicitly asked to reset his consent on third-party apps), select the applications and click **Delete**. The user will be asked to again give explicit consent to share information with the application. +- **OAuth Refresh Tokens** lists all the OAuth tokens currently distributed. You can remove the tokens by selecting the applications and then clicking **Delete**. +- **MFA Authenticators** shows all the authentications that the user has registered to their user profile. You can remove the tokens if the user has lost their authenticator and want to enroll a new one. + +## Modify a user + +After the creation of the user, you can edit any parameter defined during the creation. + +To modify a user object, go to **Directory > Users**, and click the edit icon beside the name. + +You can also go into [user details](#view-user-details), and click **Edit**. + +## User recovery + +If a user has lost their credentials, there are several options. + +### Email them a recovery link + +1. In the Admin interface, navigate to **Directory > Users** to display all users. + +2. Either click the name of the user to display the full User details page, or click the chevron (the › symbol) beside their name to expand the toptions. + +3. To generate a recovery link, which you can then copy and paste into an email, click **View recovery link**. + + A pop-up will appear on your browser with the link for you to copy and to send to the user. + +### Automate email to a user + +You can use our automated email to send a link with the URL for the user to reset their password. This option will only work if you have properly [configured a SMTP server during the installation](../../installation/docker-compose#email-configuration-optional-but-recommended) and set an email address for the user. + +1. In the Admin interface, navigate to **Directory > Users** to display all users. + +2. Either click the name of the user to display the full User details page, or click the chevron beside their name to expand the toptions. + +3. To send the automated email to the user, click **Email recovery link**. + +If the user does not receive the email, check if the mail server parameters [are properly configured](../../troubleshooting/emails). + +### Reset the password for the user + +As an Admin, you can simply reset the password for the user. + +1. In the Admin interface, navigate to **Directory > Users** to display all users. + +2. Either click the name of the user to display the full User details page, or click the chevron beside their name to expand the toptions. + +3. To reset the user's password, click **Reset password**, and then define the new value. + +## Deactivate or Delete user + +#### To deactivate a user: + +1. Go into the user list or detail, and click **Deactivate**. + +2. Review the changes and click **Update**. + +The active sessions are revoked and the authentication of the user blocked. You can reactivate the account by following the same procedure. + +#### To delete a user: + +:::caution +This deletion is not reversible, so be sure you do not need to recover any identity data of the user. +You may instead deactivate the account to preserve identity data. +::: + +1. Go into the user list and select one (or multiple users) to delete and click **Delete** on the top-right of the page. + +2. Review the changes and click **Delete**. + +The user list refreshes and no longer displays the removed users. diff --git a/website/docs/user-group/user.md b/website/docs/user-group/user/user_ref.md similarity index 88% rename from website/docs/user-group/user.md rename to website/docs/user-group/user/user_ref.md index 6651b7cf22d4..88d8a3af5c04 100644 --- a/website/docs/user-group/user.md +++ b/website/docs/user-group/user/user_ref.md @@ -1,5 +1,5 @@ --- -title: User +title: User properties and attributes --- ## Object properties @@ -19,15 +19,15 @@ The User object has the following properties: - `group_attributes()` Merged attributes of all groups the user is member of and the user's own attributes. - `ak_groups` This is a queryset of all the user's groups. - You can do additional filtering like + You can do additional filtering like: ```python user.ak_groups.filter(name__startswith='test') ``` - see [here](https://docs.djangoproject.com/en/3.1/ref/models/querysets/#id4) + For Django field lookups, see [here](https://docs.djangoproject.com/en/4.2/ref/models/querysets/#id4). - To get the name of all groups, you can do + To get the name of all groups, you can use this command: ```python [group.name for group in user.ak_groups.all()] @@ -72,7 +72,7 @@ Only applies when the token creation is triggered by the user with this attribut ### `goauthentik.io/user/debug`: -See [Troubleshooting access problems](../troubleshooting/access.md), when set, the user gets a more detailed explanation of access decisions. +See [Troubleshooting access problems](../../troubleshooting/access), when set, the user gets a more detailed explanation of access decisions. ### `additionalHeaders`: diff --git a/website/sidebars.js b/website/sidebars.js index 6b8a56bdf5de..902194492021 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -260,7 +260,22 @@ const docsSidebar = { { type: "category", label: "Users & Groups", - items: ["user-group/user", "user-group/group"], + items: [ + { + type: "category", + label: "Users", + link: { + type: "doc", + id: "user-group/user/index", + }, + items: [ + "user-group/user/user_basic_operations", + "user-group/user/user_ref", + "user-group/user/invitations", + ], + }, + "user-group/group", + ], }, { type: "category", From 2c735528375a269d0a700bdba5c8e91be16b820c Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Thu, 12 Oct 2023 19:51:56 +0000 Subject: [PATCH 02/57] translate: Updates for file web/xliff/en.xlf in zh-Hans (#7158) * Translate web/xliff/en.xlf in zh-Hans 100% translated source file: 'web/xliff/en.xlf' on 'zh-Hans'. * Removing web/xliff/en.xlf in zh-Hans 99% of minimum 100% translated source file: 'web/xliff/en.xlf' on 'zh-Hans'. --------- Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com> From 63ad84400189e0b84425d5c424ca1c5e9ffdca8d Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Fri, 13 Oct 2023 11:35:29 +0200 Subject: [PATCH 03/57] translate: Updates for file web/xliff/en.xlf in zh-Hans (#7161) Translate web/xliff/en.xlf in zh-Hans 100% translated source file: 'web/xliff/en.xlf' on 'zh-Hans'. Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com> --- web/xliff/zh-Hans.xlf | 50 +++++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/web/xliff/zh-Hans.xlf b/web/xliff/zh-Hans.xlf index f1cc96f3033a..9fb60a94a1a3 100644 --- a/web/xliff/zh-Hans.xlf +++ b/web/xliff/zh-Hans.xlf @@ -1,4 +1,4 @@ - + @@ -613,9 +613,9 @@ - The URL "" was not found. - 未找到 URL " - "。 + The URL "" was not found. + 未找到 URL " + "。 @@ -1067,8 +1067,8 @@ - To allow any redirect URI, set this value to ".*". Be aware of the possible security implications this can have. - 要允许任何重定向 URI,请将此值设置为 ".*"。请注意这可能带来的安全影响。 + To allow any redirect URI, set this value to ".*". Be aware of the possible security implications this can have. + 要允许任何重定向 URI,请将此值设置为 ".*"。请注意这可能带来的安全影响。 @@ -1809,8 +1809,8 @@ - Either input a full URL, a relative path, or use 'fa://fa-test' to use the Font Awesome icon "fa-test". - 输入完整 URL、相对路径,或者使用 'fa://fa-test' 来使用 Font Awesome 图标 "fa-test"。 + Either input a full URL, a relative path, or use 'fa://fa-test' to use the Font Awesome icon "fa-test". + 输入完整 URL、相对路径,或者使用 'fa://fa-test' 来使用 Font Awesome 图标 "fa-test"。 @@ -3233,8 +3233,8 @@ doesn't pass when either or both of the selected options are equal or above the - Field which contains members of a group. Note that if using the "memberUid" field, the value is assumed to contain a relative distinguished name. e.g. 'memberUid=some-user' instead of 'memberUid=cn=some-user,ou=groups,...' - 包含组成员的字段。请注意,如果使用 "memberUid" 字段,则假定该值包含相对可分辨名称。例如,'memberUid=some-user' 而不是 'memberUid=cn=some-user,ou=groups,...' + Field which contains members of a group. Note that if using the "memberUid" field, the value is assumed to contain a relative distinguished name. e.g. 'memberUid=some-user' instead of 'memberUid=cn=some-user,ou=groups,...' + 包含组成员的字段。请注意,如果使用 "memberUid" 字段,则假定该值包含相对可分辨名称。例如,'memberUid=some-user' 而不是 'memberUid=cn=some-user,ou=groups,...' @@ -4026,8 +4026,8 @@ doesn't pass when either or both of the selected options are equal or above the - When using an external logging solution for archiving, this can be set to "minutes=5". - 使用外部日志记录解决方案进行存档时,可以将其设置为 "minutes=5"。 + When using an external logging solution for archiving, this can be set to "minutes=5". + 使用外部日志记录解决方案进行存档时,可以将其设置为 "minutes=5"。 @@ -4036,8 +4036,8 @@ doesn't pass when either or both of the selected options are equal or above the - Format: "weeks=3;days=2;hours=3,seconds=2". - 格式:"weeks=3;days=2;hours=3,seconds=2"。 + Format: "weeks=3;days=2;hours=3,seconds=2". + 格式:"weeks=3;days=2;hours=3,seconds=2"。 @@ -4233,10 +4233,10 @@ doesn't pass when either or both of the selected options are equal or above the - Are you sure you want to update ""? + Are you sure you want to update ""? 您确定要更新 - " - " 吗? + " + " 吗? @@ -5332,7 +5332,7 @@ doesn't pass when either or both of the selected options are equal or above the - A "roaming" authenticator, like a YubiKey + A "roaming" authenticator, like a YubiKey 像 YubiKey 这样的“漫游”身份验证器 @@ -5667,10 +5667,10 @@ doesn't pass when either or both of the selected options are equal or above the - ("", of type ) + ("", of type ) - (" - ",类型为 + (" + ",类型为 @@ -5719,7 +5719,7 @@ doesn't pass when either or both of the selected options are equal or above the - If set to a duration above 0, the user will have the option to choose to "stay signed in", which will extend their session by the time specified here. + If set to a duration above 0, the user will have the option to choose to "stay signed in", which will extend their session by the time specified here. 如果设置时长大于 0,用户可以选择“保持登录”选项,这将使用户的会话延长此处设置的时间。 @@ -7823,16 +7823,20 @@ Bindings to groups/users are checked against the user of the event. Flow Info + 流程信息 Stage used to configure a WebAuthn authenticator (i.e. Yubikey, FaceID/Windows Hello). + 用来配置 WebAuthn 身份验证器(即 Yubikey、FaceID/Windows Hello)的阶段。 Custom attributes + 自定义属性 Don't show this message again. + 不要再显示此消息。 - + \ No newline at end of file From 27ace668367db275cf5ba67bb177a23e88d0512f Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Fri, 13 Oct 2023 11:35:44 +0200 Subject: [PATCH 04/57] translate: Updates for file web/xliff/en.xlf in zh_CN (#7162) Translate web/xliff/en.xlf in zh_CN 100% translated source file: 'web/xliff/en.xlf' on 'zh_CN'. Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com> --- web/xliff/zh_CN.xlf | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/web/xliff/zh_CN.xlf b/web/xliff/zh_CN.xlf index 411ef8e828e5..caf2987eb450 100644 --- a/web/xliff/zh_CN.xlf +++ b/web/xliff/zh_CN.xlf @@ -5305,11 +5305,6 @@ doesn't pass when either or both of the selected options are equal or above the When multiple stages are selected, the user can choose which one they want to enroll. 选中多个阶段时,用户可以选择要注册哪个。 - - - Stage used to configure a WebAutnn authenticator (i.e. Yubikey, FaceID/Windows Hello). - 用来配置 WebAuthn 身份验证器(即 Yubikey、FaceID/Windows Hello)的阶段。 - User verification @@ -7825,6 +7820,22 @@ Bindings to groups/users are checked against the user of the event. When using IDP-initiated logins, the relay state will be set to this value. 当使用 IDP 发起的登录时,中继状态会被设置为此值。 + + + Flow Info + 流程信息 + + + Stage used to configure a WebAuthn authenticator (i.e. Yubikey, FaceID/Windows Hello). + 用来配置 WebAuthn 身份验证器(即 Yubikey、FaceID/Windows Hello)的阶段。 + + + Custom attributes + 自定义属性 + + + Don't show this message again. + 不要再显示此消息。 From 63a9cf296361f3ea5977e14c3784f3c8c8c443b2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 13 Oct 2023 11:35:57 +0200 Subject: [PATCH 05/57] web: bump the wdio group in /tests/wdio with 4 updates (#7160) Bumps the wdio group in /tests/wdio with 4 updates: [@wdio/cli](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-cli), [@wdio/local-runner](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-local-runner), [@wdio/mocha-framework](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-mocha-framework) and [@wdio/spec-reporter](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-spec-reporter). Updates `@wdio/cli` from 8.17.0 to 8.18.0 - [Release notes](https://github.com/webdriverio/webdriverio/releases) - [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md) - [Commits](https://github.com/webdriverio/webdriverio/commits/v8.18.0/packages/wdio-cli) Updates `@wdio/local-runner` from 8.17.0 to 8.18.0 - [Release notes](https://github.com/webdriverio/webdriverio/releases) - [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md) - [Commits](https://github.com/webdriverio/webdriverio/commits/v8.18.0/packages/wdio-local-runner) Updates `@wdio/mocha-framework` from 8.17.0 to 8.18.0 - [Release notes](https://github.com/webdriverio/webdriverio/releases) - [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md) - [Commits](https://github.com/webdriverio/webdriverio/commits/v8.18.0/packages/wdio-mocha-framework) Updates `@wdio/spec-reporter` from 8.17.0 to 8.18.1 - [Release notes](https://github.com/webdriverio/webdriverio/releases) - [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md) - [Commits](https://github.com/webdriverio/webdriverio/commits/v8.18.1/packages/wdio-spec-reporter) --- updated-dependencies: - dependency-name: "@wdio/cli" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: wdio - dependency-name: "@wdio/local-runner" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: wdio - dependency-name: "@wdio/mocha-framework" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: wdio - dependency-name: "@wdio/spec-reporter" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: wdio ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tests/wdio/package-lock.json | 116 +++++++++++++++++------------------ tests/wdio/package.json | 8 +-- 2 files changed, 62 insertions(+), 62 deletions(-) diff --git a/tests/wdio/package-lock.json b/tests/wdio/package-lock.json index d594c937c3c7..2eeafd9eb21c 100644 --- a/tests/wdio/package-lock.json +++ b/tests/wdio/package-lock.json @@ -9,10 +9,10 @@ "@trivago/prettier-plugin-sort-imports": "^4.2.0", "@typescript-eslint/eslint-plugin": "^6.7.5", "@typescript-eslint/parser": "^6.7.5", - "@wdio/cli": "^8.17.0", - "@wdio/local-runner": "^8.17.0", - "@wdio/mocha-framework": "^8.17.0", - "@wdio/spec-reporter": "^8.17.0", + "@wdio/cli": "^8.18.0", + "@wdio/local-runner": "^8.18.0", + "@wdio/mocha-framework": "^8.18.0", + "@wdio/spec-reporter": "^8.18.1", "eslint": "^8.51.0", "eslint-config-google": "^0.14.0", "eslint-plugin-sonarjs": "^0.21.0", @@ -1067,18 +1067,18 @@ } }, "node_modules/@wdio/cli": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-8.17.0.tgz", - "integrity": "sha512-RF7QMY4K9aS6kQipHcmPPtuo5VZd8UNOqt2dw97b2LKxK0niDOAwQNQSB5lzhCOJ6sRVAIlX/DVo23zhGbldvA==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-8.18.0.tgz", + "integrity": "sha512-zLt6pEbSwW/S7sBH5uZrYn9HhexB57ufqMV6IAKgX0SsJQwqOu1hdCIOiH1ZAfAHr2bPjpqIDIW+WOvV7mug9g==", "dev": true, "dependencies": { "@types/node": "^20.1.1", - "@wdio/config": "8.17.0", - "@wdio/globals": "8.17.0", + "@wdio/config": "8.18.0", + "@wdio/globals": "8.18.0", "@wdio/logger": "8.16.17", - "@wdio/protocols": "8.16.5", + "@wdio/protocols": "8.18.0", "@wdio/types": "8.17.0", - "@wdio/utils": "8.17.0", + "@wdio/utils": "8.18.0", "async-exit-hook": "^2.0.1", "chalk": "^5.2.0", "chokidar": "^3.5.3", @@ -1093,7 +1093,7 @@ "lodash.union": "^4.6.0", "read-pkg-up": "10.1.0", "recursive-readdir": "^2.2.3", - "webdriverio": "8.17.0", + "webdriverio": "8.18.0", "yargs": "^17.7.2", "yarn-install": "^1.0.0" }, @@ -1117,14 +1117,14 @@ } }, "node_modules/@wdio/config": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@wdio/config/-/config-8.17.0.tgz", - "integrity": "sha512-6qUgE99D8XSKSDdwLrpeEatJ133Ce0UPrIyTNdsIFOQ7vSmwBif+vmFDSa7mCt1+ay2hLYglEwVJ1r+48Ke/pw==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/@wdio/config/-/config-8.18.0.tgz", + "integrity": "sha512-sS5OXyxRtPCXDKloCqtEFuhei9WCxFzM7B5CyTKanbZ+xF4+t21aNF49OXXzWZXhUylK88whGB7amwO8tfJFww==", "dev": true, "dependencies": { "@wdio/logger": "8.16.17", "@wdio/types": "8.17.0", - "@wdio/utils": "8.17.0", + "@wdio/utils": "8.18.0", "decamelize": "^6.0.0", "deepmerge-ts": "^5.0.0", "glob": "^10.2.2", @@ -1136,28 +1136,28 @@ } }, "node_modules/@wdio/globals": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@wdio/globals/-/globals-8.17.0.tgz", - "integrity": "sha512-SWI1faPNYgZnPwS2TZF+/Vpg2wxB8Yx0nHv/t3JvZ/QOZs/NpWJ9oXNjCDuktljNXaYhUOgYsx1e5DHHR6VTuQ==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/@wdio/globals/-/globals-8.18.0.tgz", + "integrity": "sha512-r6BvpMaqD3+pf7U7Lq1EnbahGhf/3BRO6aqQP7z7IlwakoeU9ih/yTA31BGt36wj0Vx8dhFfR0JpFhMXpvDqiA==", "dev": true, "engines": { "node": "^16.13 || >=18" }, "optionalDependencies": { "expect-webdriverio": "^4.2.5", - "webdriverio": "8.17.0" + "webdriverio": "8.18.0" } }, "node_modules/@wdio/local-runner": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-8.17.0.tgz", - "integrity": "sha512-hYubvTs80U2h9s4mtd7+znRiQwLnn2duwdYW0L+pRkt3yDmaA76R/a//GrpIFqn9j04463S9xv4pOGOat10fPA==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-8.18.0.tgz", + "integrity": "sha512-fArLIgYbMPP7gqajy6lZSMgECkyKFNRJG75UA0NjMoTBmZLzJavgadnB/uF42dXyNBdZ218abikF90qMLF1RJg==", "dev": true, "dependencies": { "@types/node": "^20.1.0", "@wdio/logger": "8.16.17", "@wdio/repl": "8.10.1", - "@wdio/runner": "8.17.0", + "@wdio/runner": "8.18.0", "@wdio/types": "8.17.0", "async-exit-hook": "^2.0.1", "split2": "^4.1.0", @@ -1195,16 +1195,16 @@ } }, "node_modules/@wdio/mocha-framework": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@wdio/mocha-framework/-/mocha-framework-8.17.0.tgz", - "integrity": "sha512-jHNsPib3sddudsULxxVJi/M4k+A+YfrkZr1covvEciLUF4Myr8O1D6GOLPT8HkqY3XMU6PKjs1Xz1rkZokmuAw==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/@wdio/mocha-framework/-/mocha-framework-8.18.0.tgz", + "integrity": "sha512-8c+z3il5s9nWqZ4NqQxOherex2VbMC4xNAllJO4pixeJkKhRI30mB0f1/gMM4YjO7sW801AHSSMD1lWNh/kDOg==", "dev": true, "dependencies": { "@types/mocha": "^10.0.0", "@types/node": "^20.1.0", "@wdio/logger": "8.16.17", "@wdio/types": "8.17.0", - "@wdio/utils": "8.17.0", + "@wdio/utils": "8.18.0", "mocha": "^10.0.0" }, "engines": { @@ -1212,9 +1212,9 @@ } }, "node_modules/@wdio/protocols": { - "version": "8.16.5", - "resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-8.16.5.tgz", - "integrity": "sha512-u9I57hIqmcOgrDH327ZCc2GTXv2YFN5bg6UaA3OUoJU7eJgGYHFB6RrjiNjLXer68iIx07wwVM70V/1xzijd3Q==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-8.18.0.tgz", + "integrity": "sha512-TABA0mksHvu5tE8qNYYDR0fDyo90NCANeghbGAtsI8TUsJzgH0dwpos3WSSiB97J9HRSZuWIMa7YuABEkBIjWQ==", "dev": true }, "node_modules/@wdio/repl": { @@ -1246,31 +1246,31 @@ } }, "node_modules/@wdio/runner": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-8.17.0.tgz", - "integrity": "sha512-icWRiCytpIlrJGq2CUUS4QfrFjiiX2pDoBGH1hr7L8XDorQ7niyTQWYPj7DoDuDy42poWuCjsCxZCBgb5YHw1Q==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-8.18.0.tgz", + "integrity": "sha512-5I9DWh1cW9/Om+E7vNWFNx7BqavAzOFvvj1cihTzT766Y3I2wLHAUAE0OJoOZsk53beBJNYnCIOwrOWjk7RdZQ==", "dev": true, "dependencies": { "@types/node": "^20.1.0", - "@wdio/config": "8.17.0", - "@wdio/globals": "8.17.0", + "@wdio/config": "8.18.0", + "@wdio/globals": "8.18.0", "@wdio/logger": "8.16.17", "@wdio/types": "8.17.0", - "@wdio/utils": "8.17.0", + "@wdio/utils": "8.18.0", "deepmerge-ts": "^5.0.0", "expect-webdriverio": "^4.2.5", "gaze": "^1.1.2", - "webdriver": "8.17.0", - "webdriverio": "8.17.0" + "webdriver": "8.18.0", + "webdriverio": "8.18.0" }, "engines": { "node": "^16.13 || >=18" } }, "node_modules/@wdio/spec-reporter": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@wdio/spec-reporter/-/spec-reporter-8.17.0.tgz", - "integrity": "sha512-qefsqN71S0Imbcdq7mWqVVij6qbLw8Mx55tUsr+ImPhDDQWbh+XPgP0tsTDbdLmPez7V2Ui0wovHA2WYbif3GQ==", + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@wdio/spec-reporter/-/spec-reporter-8.18.1.tgz", + "integrity": "sha512-p6l8mR7K+l66QJl/m+sV9ahCp570ThaqxLc3npYDt5N4ut/qqDgqnwVU3qt0kwx/QMLrYLiXjjMKXqs6DkJTiA==", "dev": true, "dependencies": { "@wdio/reporter": "8.17.0", @@ -1308,9 +1308,9 @@ } }, "node_modules/@wdio/utils": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-8.17.0.tgz", - "integrity": "sha512-WkXY+kSFOi/7tztB1uWVRfu6E/4TIEBYni+qCYTkaPI5903EDratkeakINuu63xL7WtYv9adt7ndtDVcsi1KTg==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-8.18.0.tgz", + "integrity": "sha512-ziXToU5BZSW96KNPhTGYl3eVmHQV5YeI+lsBozXJ5tGofaBCYMtbxdAI573IwR6lo8+evEdNTIGJgZXp8lDOxQ==", "dev": true, "dependencies": { "@puppeteer/browsers": "^1.6.0", @@ -8693,18 +8693,18 @@ } }, "node_modules/webdriver": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-8.17.0.tgz", - "integrity": "sha512-YxAOPJx4dxVOsN2A7XpFu1IzA12M3yO82oDCjauyPGJ7+TQgXGVqEuk0wtNzOn8Ok8uq7sPFkne5ASQBsH6cWg==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-8.18.0.tgz", + "integrity": "sha512-OImB/K2BMGVP77yGpB4qrAwzAVrlusL5egaqoA9sl4inh1Ff+6n+LwQmPfe/dezejm5Fxuaf/HWvWEq91WbghQ==", "dev": true, "dependencies": { "@types/node": "^20.1.0", "@types/ws": "^8.5.3", - "@wdio/config": "8.17.0", + "@wdio/config": "8.18.0", "@wdio/logger": "8.16.17", - "@wdio/protocols": "8.16.5", + "@wdio/protocols": "8.18.0", "@wdio/types": "8.17.0", - "@wdio/utils": "8.17.0", + "@wdio/utils": "8.18.0", "deepmerge-ts": "^5.1.0", "got": "^ 12.6.1", "ky": "^0.33.0", @@ -8752,18 +8752,18 @@ } }, "node_modules/webdriverio": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.17.0.tgz", - "integrity": "sha512-nn4OzRAJOxWYRQDdQNM/XQ9QKYWfUjhirFwB3GeQ5vEcqzvJmU0U0DMwlMjDYi6O6RMvkJY384+GA/0Dfiq3vg==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.18.0.tgz", + "integrity": "sha512-LVgmZHn36NOL4O1RszBa7TPYf5VAyakmgkkDtWe1tVVQ2AkbIKnhKGLar6BQd/wfLIn61pKfvvmmYwDjnXgkhg==", "dev": true, "dependencies": { "@types/node": "^20.1.0", - "@wdio/config": "8.17.0", + "@wdio/config": "8.18.0", "@wdio/logger": "8.16.17", - "@wdio/protocols": "8.16.5", + "@wdio/protocols": "8.18.0", "@wdio/repl": "8.10.1", "@wdio/types": "8.17.0", - "@wdio/utils": "8.17.0", + "@wdio/utils": "8.18.0", "archiver": "^6.0.0", "aria-query": "^5.0.0", "css-shorthand-properties": "^1.1.1", @@ -8780,7 +8780,7 @@ "resq": "^1.9.1", "rgb2hex": "0.2.5", "serialize-error": "^11.0.1", - "webdriver": "8.17.0" + "webdriver": "8.18.0" }, "engines": { "node": "^16.13 || >=18" diff --git a/tests/wdio/package.json b/tests/wdio/package.json index 8fbe2bf960cc..02313d828ac3 100644 --- a/tests/wdio/package.json +++ b/tests/wdio/package.json @@ -6,10 +6,10 @@ "@trivago/prettier-plugin-sort-imports": "^4.2.0", "@typescript-eslint/eslint-plugin": "^6.7.5", "@typescript-eslint/parser": "^6.7.5", - "@wdio/cli": "^8.17.0", - "@wdio/local-runner": "^8.17.0", - "@wdio/mocha-framework": "^8.17.0", - "@wdio/spec-reporter": "^8.17.0", + "@wdio/cli": "^8.18.0", + "@wdio/local-runner": "^8.18.0", + "@wdio/mocha-framework": "^8.18.0", + "@wdio/spec-reporter": "^8.18.1", "eslint": "^8.51.0", "eslint-config-google": "^0.14.0", "eslint-plugin-sonarjs": "^0.21.0", From 41bb1ca7072da606359e2afcc8d73ac521aa5858 Mon Sep 17 00:00:00 2001 From: Jens L Date: Fri, 13 Oct 2023 19:03:13 +0200 Subject: [PATCH 06/57] providers/scim: remove preview (#7166) Signed-off-by: Jens Langhammer --- web/src/admin/providers/scim/SCIMProviderViewPage.ts | 5 +---- website/docs/providers/scim/index.md | 4 ---- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/web/src/admin/providers/scim/SCIMProviderViewPage.ts b/web/src/admin/providers/scim/SCIMProviderViewPage.ts index 8a4d7fe0bdbe..e9d0afb79065 100644 --- a/web/src/admin/providers/scim/SCIMProviderViewPage.ts +++ b/web/src/admin/providers/scim/SCIMProviderViewPage.ts @@ -120,10 +120,7 @@ export class SCIMProviderViewPage extends AKElement { if (!this.provider) { return html``; } - return html`

- ${!this.provider?.assignedBackchannelApplicationName + return html` ${!this.provider?.assignedBackchannelApplicationName ? html`
${msg( "Warning: Provider is not assigned to an application as backchannel provider.", diff --git a/website/docs/providers/scim/index.md b/website/docs/providers/scim/index.md index ee8f4c020a2d..51fb4d86819e 100644 --- a/website/docs/providers/scim/index.md +++ b/website/docs/providers/scim/index.md @@ -4,10 +4,6 @@ title: SCIM Provider SCIM (System for Cross-domain Identity Management) is a set of APIs to provision users and groups. The SCIM provider in authentik supports SCIM 2.0 and can be used to provision and sync users from authentik into other applications. -:::info -The SCIM provider is currently in Preview. -::: - ### Configuration A SCIM provider requires a base URL and a token. SCIM works via HTTP requests, so authentik must be able to reach the specified endpoint. From 4a8e71e2c6cb8d46aef61a9fbbb45312d7fef35f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Oct 2023 11:31:50 +0200 Subject: [PATCH 07/57] web: bump the wdio group in /tests/wdio with 3 updates (#7180) Bumps the wdio group in /tests/wdio with 3 updates: [@wdio/cli](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-cli), [@wdio/local-runner](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-local-runner) and [@wdio/mocha-framework](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-mocha-framework). Updates `@wdio/cli` from 8.18.0 to 8.18.2 - [Release notes](https://github.com/webdriverio/webdriverio/releases) - [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md) - [Commits](https://github.com/webdriverio/webdriverio/commits/v8.18.2/packages/wdio-cli) Updates `@wdio/local-runner` from 8.18.0 to 8.18.2 - [Release notes](https://github.com/webdriverio/webdriverio/releases) - [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md) - [Commits](https://github.com/webdriverio/webdriverio/commits/v8.18.2/packages/wdio-local-runner) Updates `@wdio/mocha-framework` from 8.18.0 to 8.18.2 - [Release notes](https://github.com/webdriverio/webdriverio/releases) - [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md) - [Commits](https://github.com/webdriverio/webdriverio/commits/v8.18.2/packages/wdio-mocha-framework) --- updated-dependencies: - dependency-name: "@wdio/cli" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: wdio - dependency-name: "@wdio/local-runner" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: wdio - dependency-name: "@wdio/mocha-framework" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: wdio ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tests/wdio/package-lock.json | 96 ++++++++++++++++++------------------ tests/wdio/package.json | 6 +-- 2 files changed, 51 insertions(+), 51 deletions(-) diff --git a/tests/wdio/package-lock.json b/tests/wdio/package-lock.json index 2eeafd9eb21c..2f0ff41a9bb3 100644 --- a/tests/wdio/package-lock.json +++ b/tests/wdio/package-lock.json @@ -9,9 +9,9 @@ "@trivago/prettier-plugin-sort-imports": "^4.2.0", "@typescript-eslint/eslint-plugin": "^6.7.5", "@typescript-eslint/parser": "^6.7.5", - "@wdio/cli": "^8.18.0", - "@wdio/local-runner": "^8.18.0", - "@wdio/mocha-framework": "^8.18.0", + "@wdio/cli": "^8.18.2", + "@wdio/local-runner": "^8.18.2", + "@wdio/mocha-framework": "^8.18.2", "@wdio/spec-reporter": "^8.18.1", "eslint": "^8.51.0", "eslint-config-google": "^0.14.0", @@ -1067,18 +1067,18 @@ } }, "node_modules/@wdio/cli": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-8.18.0.tgz", - "integrity": "sha512-zLt6pEbSwW/S7sBH5uZrYn9HhexB57ufqMV6IAKgX0SsJQwqOu1hdCIOiH1ZAfAHr2bPjpqIDIW+WOvV7mug9g==", + "version": "8.18.2", + "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-8.18.2.tgz", + "integrity": "sha512-vjMedd7PEHZywxbRE/rHzAPbj+hsCJz5b7vPTXu9QuwH2wWU2ab79ZqQpaUMKwZx8yXJfG6neb89tEbF9ximqQ==", "dev": true, "dependencies": { "@types/node": "^20.1.1", - "@wdio/config": "8.18.0", - "@wdio/globals": "8.18.0", + "@wdio/config": "8.18.2", + "@wdio/globals": "8.18.2", "@wdio/logger": "8.16.17", "@wdio/protocols": "8.18.0", "@wdio/types": "8.17.0", - "@wdio/utils": "8.18.0", + "@wdio/utils": "8.18.2", "async-exit-hook": "^2.0.1", "chalk": "^5.2.0", "chokidar": "^3.5.3", @@ -1093,7 +1093,7 @@ "lodash.union": "^4.6.0", "read-pkg-up": "10.1.0", "recursive-readdir": "^2.2.3", - "webdriverio": "8.18.0", + "webdriverio": "8.18.2", "yargs": "^17.7.2", "yarn-install": "^1.0.0" }, @@ -1117,14 +1117,14 @@ } }, "node_modules/@wdio/config": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/@wdio/config/-/config-8.18.0.tgz", - "integrity": "sha512-sS5OXyxRtPCXDKloCqtEFuhei9WCxFzM7B5CyTKanbZ+xF4+t21aNF49OXXzWZXhUylK88whGB7amwO8tfJFww==", + "version": "8.18.2", + "resolved": "https://registry.npmjs.org/@wdio/config/-/config-8.18.2.tgz", + "integrity": "sha512-O3K36Wk/G/P5t9NfI/jBjLMdJq1KEDQTmbLvrbRckqzX5SQmPFg2pg18gE9N3JQE4A7qR+imxVo45HmhFDyn4w==", "dev": true, "dependencies": { "@wdio/logger": "8.16.17", "@wdio/types": "8.17.0", - "@wdio/utils": "8.18.0", + "@wdio/utils": "8.18.2", "decamelize": "^6.0.0", "deepmerge-ts": "^5.0.0", "glob": "^10.2.2", @@ -1136,28 +1136,28 @@ } }, "node_modules/@wdio/globals": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/@wdio/globals/-/globals-8.18.0.tgz", - "integrity": "sha512-r6BvpMaqD3+pf7U7Lq1EnbahGhf/3BRO6aqQP7z7IlwakoeU9ih/yTA31BGt36wj0Vx8dhFfR0JpFhMXpvDqiA==", + "version": "8.18.2", + "resolved": "https://registry.npmjs.org/@wdio/globals/-/globals-8.18.2.tgz", + "integrity": "sha512-hHZqqWlvEaVHru+e5bMXsTBbPqKi85JO5q2XKX+ixS4XWoZXoMjN5WzL/3N9GkF2mJqIkyb9DHUT0T2vvf3oNA==", "dev": true, "engines": { "node": "^16.13 || >=18" }, "optionalDependencies": { "expect-webdriverio": "^4.2.5", - "webdriverio": "8.18.0" + "webdriverio": "8.18.2" } }, "node_modules/@wdio/local-runner": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-8.18.0.tgz", - "integrity": "sha512-fArLIgYbMPP7gqajy6lZSMgECkyKFNRJG75UA0NjMoTBmZLzJavgadnB/uF42dXyNBdZ218abikF90qMLF1RJg==", + "version": "8.18.2", + "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-8.18.2.tgz", + "integrity": "sha512-W5QRXmH+MngHEVktsX6WXyoP/WI3mSlN66E1xGYLtMVwPhp3wMXDIrk1K/0UCAViX7lQ3tvo0B2QoZhsAXVT+A==", "dev": true, "dependencies": { "@types/node": "^20.1.0", "@wdio/logger": "8.16.17", "@wdio/repl": "8.10.1", - "@wdio/runner": "8.18.0", + "@wdio/runner": "8.18.2", "@wdio/types": "8.17.0", "async-exit-hook": "^2.0.1", "split2": "^4.1.0", @@ -1195,16 +1195,16 @@ } }, "node_modules/@wdio/mocha-framework": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/@wdio/mocha-framework/-/mocha-framework-8.18.0.tgz", - "integrity": "sha512-8c+z3il5s9nWqZ4NqQxOherex2VbMC4xNAllJO4pixeJkKhRI30mB0f1/gMM4YjO7sW801AHSSMD1lWNh/kDOg==", + "version": "8.18.2", + "resolved": "https://registry.npmjs.org/@wdio/mocha-framework/-/mocha-framework-8.18.2.tgz", + "integrity": "sha512-vsuPyuPbkw8FOsOeru9BJXwbSyk9//MiFnqNWwCdbFqVTc0M+RIYklnVgDUyx7Fnl87XewVWDioOWr71FH4ZhQ==", "dev": true, "dependencies": { "@types/mocha": "^10.0.0", "@types/node": "^20.1.0", "@wdio/logger": "8.16.17", "@wdio/types": "8.17.0", - "@wdio/utils": "8.18.0", + "@wdio/utils": "8.18.2", "mocha": "^10.0.0" }, "engines": { @@ -1246,22 +1246,22 @@ } }, "node_modules/@wdio/runner": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-8.18.0.tgz", - "integrity": "sha512-5I9DWh1cW9/Om+E7vNWFNx7BqavAzOFvvj1cihTzT766Y3I2wLHAUAE0OJoOZsk53beBJNYnCIOwrOWjk7RdZQ==", + "version": "8.18.2", + "resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-8.18.2.tgz", + "integrity": "sha512-UPfvKA9yunEadHHDZwveZmKL0ayHDCkUegzUzgHFYmhnijUAa1Xeo837NpBe9y753TWt5PgRA4BIXSDlxJ9ySA==", "dev": true, "dependencies": { "@types/node": "^20.1.0", - "@wdio/config": "8.18.0", - "@wdio/globals": "8.18.0", + "@wdio/config": "8.18.2", + "@wdio/globals": "8.18.2", "@wdio/logger": "8.16.17", "@wdio/types": "8.17.0", - "@wdio/utils": "8.18.0", + "@wdio/utils": "8.18.2", "deepmerge-ts": "^5.0.0", "expect-webdriverio": "^4.2.5", "gaze": "^1.1.2", - "webdriver": "8.18.0", - "webdriverio": "8.18.0" + "webdriver": "8.18.2", + "webdriverio": "8.18.2" }, "engines": { "node": "^16.13 || >=18" @@ -1308,9 +1308,9 @@ } }, "node_modules/@wdio/utils": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-8.18.0.tgz", - "integrity": "sha512-ziXToU5BZSW96KNPhTGYl3eVmHQV5YeI+lsBozXJ5tGofaBCYMtbxdAI573IwR6lo8+evEdNTIGJgZXp8lDOxQ==", + "version": "8.18.2", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-8.18.2.tgz", + "integrity": "sha512-TQrrKv+knFn4Z/T/e/+wdnBoykNBg6rfo0NsAwaWh4PbJ1tf+Dc9GjzWhvJTgHwZf4v78K8Z+77qkqoLCF1wSg==", "dev": true, "dependencies": { "@puppeteer/browsers": "^1.6.0", @@ -8693,18 +8693,18 @@ } }, "node_modules/webdriver": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-8.18.0.tgz", - "integrity": "sha512-OImB/K2BMGVP77yGpB4qrAwzAVrlusL5egaqoA9sl4inh1Ff+6n+LwQmPfe/dezejm5Fxuaf/HWvWEq91WbghQ==", + "version": "8.18.2", + "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-8.18.2.tgz", + "integrity": "sha512-7xr8K2jlrRdhqK6LLHrg96OiccWT5EeBIQXk9xAifgIbs6l/JfzCjC9WqC0AmX9plXjR8wf2LS+Ob9Ajhx6v+A==", "dev": true, "dependencies": { "@types/node": "^20.1.0", "@types/ws": "^8.5.3", - "@wdio/config": "8.18.0", + "@wdio/config": "8.18.2", "@wdio/logger": "8.16.17", "@wdio/protocols": "8.18.0", "@wdio/types": "8.17.0", - "@wdio/utils": "8.18.0", + "@wdio/utils": "8.18.2", "deepmerge-ts": "^5.1.0", "got": "^ 12.6.1", "ky": "^0.33.0", @@ -8752,18 +8752,18 @@ } }, "node_modules/webdriverio": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.18.0.tgz", - "integrity": "sha512-LVgmZHn36NOL4O1RszBa7TPYf5VAyakmgkkDtWe1tVVQ2AkbIKnhKGLar6BQd/wfLIn61pKfvvmmYwDjnXgkhg==", + "version": "8.18.2", + "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.18.2.tgz", + "integrity": "sha512-vX+U4QH9HdyT3upcOzP6YMpnAA1oZJJAZetvf9aWZ9KnBzgkL60LiZ/q9xCX+VWYKEIvNZ66ekppbuZ8FpobIQ==", "dev": true, "dependencies": { "@types/node": "^20.1.0", - "@wdio/config": "8.18.0", + "@wdio/config": "8.18.2", "@wdio/logger": "8.16.17", "@wdio/protocols": "8.18.0", "@wdio/repl": "8.10.1", "@wdio/types": "8.17.0", - "@wdio/utils": "8.18.0", + "@wdio/utils": "8.18.2", "archiver": "^6.0.0", "aria-query": "^5.0.0", "css-shorthand-properties": "^1.1.1", @@ -8780,7 +8780,7 @@ "resq": "^1.9.1", "rgb2hex": "0.2.5", "serialize-error": "^11.0.1", - "webdriver": "8.18.0" + "webdriver": "8.18.2" }, "engines": { "node": "^16.13 || >=18" diff --git a/tests/wdio/package.json b/tests/wdio/package.json index 02313d828ac3..bf0f4758c147 100644 --- a/tests/wdio/package.json +++ b/tests/wdio/package.json @@ -6,9 +6,9 @@ "@trivago/prettier-plugin-sort-imports": "^4.2.0", "@typescript-eslint/eslint-plugin": "^6.7.5", "@typescript-eslint/parser": "^6.7.5", - "@wdio/cli": "^8.18.0", - "@wdio/local-runner": "^8.18.0", - "@wdio/mocha-framework": "^8.18.0", + "@wdio/cli": "^8.18.2", + "@wdio/local-runner": "^8.18.2", + "@wdio/mocha-framework": "^8.18.2", "@wdio/spec-reporter": "^8.18.1", "eslint": "^8.51.0", "eslint-config-google": "^0.14.0", From 84e0f7bc2d6039ae9e74df477572d465c620c059 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Oct 2023 11:32:18 +0200 Subject: [PATCH 08/57] web: bump rollup from 4.0.2 to 4.1.3 in /web (#7179) Bumps [rollup](https://github.com/rollup/rollup) from 4.0.2 to 4.1.3. - [Release notes](https://github.com/rollup/rollup/releases) - [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md) - [Commits](https://github.com/rollup/rollup/compare/v4.0.2...v4.1.3) --- updated-dependencies: - dependency-name: rollup dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web/package-lock.json | 104 +++++++++++++++++++++--------------------- web/package.json | 2 +- 2 files changed, 53 insertions(+), 53 deletions(-) diff --git a/web/package-lock.json b/web/package-lock.json index ec600c34ce60..ceb9dbaf32ba 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -87,7 +87,7 @@ "pyright": "^1.1.331", "react": "^18.2.0", "react-dom": "^18.2.0", - "rollup": "^4.0.2", + "rollup": "^4.1.3", "rollup-plugin-copy": "^3.5.0", "rollup-plugin-cssimport": "^1.0.3", "rollup-plugin-postcss-lit": "^2.1.0", @@ -4557,9 +4557,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.0.2.tgz", - "integrity": "sha512-xDvk1pT4vaPU2BOLy0MqHMdYZyntqpaBf8RhBiezlqG9OjY8F50TyctHo8znigYKd+QCFhCmlmXHOL/LoaOl3w==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.1.3.tgz", + "integrity": "sha512-pugxxuAygWTDj3WcyXGspor433gR35riZz66L0EdToX+shXGfh9qKgEFdTPoW9KwIrrJnxDGv9ncfl+a9bFg1w==", "cpu": [ "arm" ], @@ -4570,9 +4570,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.0.2.tgz", - "integrity": "sha512-lqCglytY3E6raze27DD9VQJWohbwCxzqs9aSHcj5X/8hJpzZfNdbsr4Ja9Hqp6iPyF53+5PtPx0pKRlkSvlHZg==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.1.3.tgz", + "integrity": "sha512-gO5j0qqT6ETdSf10gxTBeBmsKPC6yK80StTxHr4pvTYpPDfI7/mzSHy/3ez3OQyjxcBXs3i8tSF8aknwCkzv6Q==", "cpu": [ "arm64" ], @@ -4583,9 +4583,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.0.2.tgz", - "integrity": "sha512-nkBKItS6E6CCzvRwgiKad+j+1ibmL7SIInj7oqMWmdkCjiSX6VeVZw2mLlRKIUL+JjsBgpATTfo7BiAXc1v0jA==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.1.3.tgz", + "integrity": "sha512-ibOYcmg3VTXxQOb9HnrmGCshO/5hWucl/Yw8KSt6DE12oif4ssX9pxBBEodu65fprS6qKy80rSs1VvpzVFRRXA==", "cpu": [ "arm64" ], @@ -4596,9 +4596,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.0.2.tgz", - "integrity": "sha512-vX2C8xvWPIbpEgQht95+dY6BReKAvtDgPDGi0XN0kWJKkm4WdNmq5dnwscv/zxvi+n6jUTBhs6GtpkkWT4q8Gg==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.1.3.tgz", + "integrity": "sha512-wgWtqQZjtOVuWnDr3BoNqO9mRpgb/XoqSyzqHxA4xSUgj+3cksJzTe7XCTzBoRc2IPB0mWr9/W+QDUu7OWleEQ==", "cpu": [ "x64" ], @@ -4609,9 +4609,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.0.2.tgz", - "integrity": "sha512-DVFIfcHOjgmeHOAqji4xNz2wczt1Bmzy9MwBZKBa83SjBVO/i38VHDR+9ixo8QpBOiEagmNw12DucG+v55tCrg==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.1.3.tgz", + "integrity": "sha512-73mb6Fk3WnygqCbYHPk7EWAUvmfKZr2teKD+Qb3i6nLQ3wEihEJixg8psUi0pmge77qmuONjOIiJnT8+hTWqEQ==", "cpu": [ "arm" ], @@ -4622,9 +4622,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.0.2.tgz", - "integrity": "sha512-GCK/a9ItUxPI0V5hQEJjH4JtOJO90GF2Hja7TO+EZ8rmkGvEi8/ZDMhXmcuDpQT7/PWrTT9RvnG8snMd5SrhBQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.1.3.tgz", + "integrity": "sha512-XI7zAp5ADEph8iHXjk4silYARe/QO7zDGM71R7A6jnny4vlXCYBPB6V6rZm2kZ4VfckeZQukdGOlnvvW5fWLzA==", "cpu": [ "arm64" ], @@ -4635,9 +4635,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.0.2.tgz", - "integrity": "sha512-cLuBp7rOjIB1R2j/VazjCmHC7liWUur2e9mFflLJBAWCkrZ+X0+QwHLvOQakIwDymungzAKv6W9kHZnTp/Mqrg==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.1.3.tgz", + "integrity": "sha512-6yFpmrH6xx00b9qEoabkyeHzamKSv8c43+SgaItTcHzgaaX3HGRSK+ZZt9GokB3Cc7z4HXllK7Ts5fF5W8FddQ==", "cpu": [ "arm64" ], @@ -4648,9 +4648,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.0.2.tgz", - "integrity": "sha512-Zqw4iVnJr2naoyQus0yLy7sLtisCQcpdMKUCeXPBjkJtpiflRime/TMojbnl8O3oxUAj92mxr+t7im/RbgA20w==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.1.3.tgz", + "integrity": "sha512-Zbb2CWJfbu2aZqd7hl9otRffh0MgYVhVsOz/sV6LSJcJ2LldBuvn2K9wVTo1gKh2xtTnJo93vusSppk1WtB4NA==", "cpu": [ "x64" ], @@ -4661,9 +4661,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.0.2.tgz", - "integrity": "sha512-jJRU9TyUD/iMqjf8aLAp7XiN3pIj5v6Qcu+cdzBfVTKDD0Fvua4oUoK8eVJ9ZuKBEQKt3WdlcwJXFkpmMLk6kg==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.1.3.tgz", + "integrity": "sha512-GNATGqh1xMSIwFt3A7co3zyw8hMlUs8E+cBe9Hank0L32hpDYavoPqu7Uat74es+eDqrGn0szfm08ZjYf/ApCQ==", "cpu": [ "x64" ], @@ -4674,9 +4674,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.0.2.tgz", - "integrity": "sha512-ZkS2NixCxHKC4zbOnw64ztEGGDVIYP6nKkGBfOAxEPW71Sji9v8z3yaHNuae/JHPwXA+14oDefnOuVfxl59SmQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.1.3.tgz", + "integrity": "sha512-rTxOCH2ZLWkbZJh621qNmS4zDjvIOnvwXdd0Zvkm8twvVoyWATbn6q/bI3bXjQeV7mEASXU1atUWzdeovTcrrw==", "cpu": [ "arm64" ], @@ -4687,9 +4687,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.0.2.tgz", - "integrity": "sha512-3SKjj+tvnZ0oZq2BKB+fI+DqYI83VrRzk7eed8tJkxeZ4zxJZcLSE8YDQLYGq1tZAnAX+H076RHHB4gTZXsQzw==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.1.3.tgz", + "integrity": "sha512-JcnmTz5d2kcxKTjcPPt0p86IzhViYOj8f8qFWwyzgDpCHFLXAKv9C4uxnwTornHvWq31km7zZ8IBZui8LjX52w==", "cpu": [ "ia32" ], @@ -4700,9 +4700,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.0.2.tgz", - "integrity": "sha512-MBdJIOxRauKkry7t2q+rTHa3aWjVez2eioWg+etRVS3dE4tChhmt5oqZYr48R6bPmcwEhxQr96gVRfeQrLbqng==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.1.3.tgz", + "integrity": "sha512-B9oi0JSMvSOsjB0Rve1WLFFEv+8uRvok+N3XWtxzSi/jjiVeM6wbfFgnHzZ2LA7FG9tJs0V7aHLD+73Q8VUIvg==", "cpu": [ "x64" ], @@ -20239,9 +20239,9 @@ "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" }, "node_modules/rollup": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.0.2.tgz", - "integrity": "sha512-MCScu4usMPCeVFaiLcgMDaBQeYi1z6vpWxz0r0hq0Hv77Y2YuOTZldkuNJ54BdYBH3e+nkrk6j0Rre/NLDBYzg==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.1.3.tgz", + "integrity": "sha512-ytWlDll2r0Q7iQGX+aZ8ptfZIE55vLApNuMnMYlaMO40wk3o/nN6sjuEvwQjhnAcqQ+NSX4vPgXE/eIO609HMA==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -20251,18 +20251,18 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.0.2", - "@rollup/rollup-android-arm64": "4.0.2", - "@rollup/rollup-darwin-arm64": "4.0.2", - "@rollup/rollup-darwin-x64": "4.0.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.0.2", - "@rollup/rollup-linux-arm64-gnu": "4.0.2", - "@rollup/rollup-linux-arm64-musl": "4.0.2", - "@rollup/rollup-linux-x64-gnu": "4.0.2", - "@rollup/rollup-linux-x64-musl": "4.0.2", - "@rollup/rollup-win32-arm64-msvc": "4.0.2", - "@rollup/rollup-win32-ia32-msvc": "4.0.2", - "@rollup/rollup-win32-x64-msvc": "4.0.2", + "@rollup/rollup-android-arm-eabi": "4.1.3", + "@rollup/rollup-android-arm64": "4.1.3", + "@rollup/rollup-darwin-arm64": "4.1.3", + "@rollup/rollup-darwin-x64": "4.1.3", + "@rollup/rollup-linux-arm-gnueabihf": "4.1.3", + "@rollup/rollup-linux-arm64-gnu": "4.1.3", + "@rollup/rollup-linux-arm64-musl": "4.1.3", + "@rollup/rollup-linux-x64-gnu": "4.1.3", + "@rollup/rollup-linux-x64-musl": "4.1.3", + "@rollup/rollup-win32-arm64-msvc": "4.1.3", + "@rollup/rollup-win32-ia32-msvc": "4.1.3", + "@rollup/rollup-win32-x64-msvc": "4.1.3", "fsevents": "~2.3.2" } }, diff --git a/web/package.json b/web/package.json index 9555d20d9064..7bdb047b5405 100644 --- a/web/package.json +++ b/web/package.json @@ -105,7 +105,7 @@ "pyright": "^1.1.331", "react": "^18.2.0", "react-dom": "^18.2.0", - "rollup": "^4.0.2", + "rollup": "^4.1.3", "rollup-plugin-copy": "^3.5.0", "rollup-plugin-cssimport": "^1.0.3", "rollup-plugin-postcss-lit": "^2.1.0", From cf977950fd1cd8b1517d623279e075f93bc3a33c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Oct 2023 11:32:57 +0200 Subject: [PATCH 09/57] web: bump yaml from 2.3.2 to 2.3.3 in /web (#7176) Bumps [yaml](https://github.com/eemeli/yaml) from 2.3.2 to 2.3.3. - [Release notes](https://github.com/eemeli/yaml/releases) - [Commits](https://github.com/eemeli/yaml/compare/v2.3.2...v2.3.3) --- updated-dependencies: - dependency-name: yaml dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web/package-lock.json | 8 ++++---- web/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/web/package-lock.json b/web/package-lock.json index ceb9dbaf32ba..1e364b5c6e98 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -40,7 +40,7 @@ "rapidoc": "^9.3.4", "style-mod": "^4.1.0", "webcomponent-qr-code": "^1.2.0", - "yaml": "^2.3.2" + "yaml": "^2.3.3" }, "devDependencies": { "@babel/core": "^7.23.2", @@ -23404,9 +23404,9 @@ "dev": true }, "node_modules/yaml": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz", - "integrity": "sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.3.tgz", + "integrity": "sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==", "engines": { "node": ">= 14" } diff --git a/web/package.json b/web/package.json index 7bdb047b5405..54f3f9143bd0 100644 --- a/web/package.json +++ b/web/package.json @@ -58,7 +58,7 @@ "rapidoc": "^9.3.4", "style-mod": "^4.1.0", "webcomponent-qr-code": "^1.2.0", - "yaml": "^2.3.2" + "yaml": "^2.3.3" }, "devDependencies": { "@babel/core": "^7.23.2", From ef7e4a8b57c962bdb36c2db8e4e89ba1a95a630b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Oct 2023 11:33:45 +0200 Subject: [PATCH 10/57] web: bump @rollup/plugin-commonjs from 25.0.5 to 25.0.7 in /web (#7178) Bumps [@rollup/plugin-commonjs](https://github.com/rollup/plugins/tree/HEAD/packages/commonjs) from 25.0.5 to 25.0.7. - [Changelog](https://github.com/rollup/plugins/blob/master/packages/commonjs/CHANGELOG.md) - [Commits](https://github.com/rollup/plugins/commits/commonjs-v25.0.7/packages/commonjs) --- updated-dependencies: - dependency-name: "@rollup/plugin-commonjs" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web/package-lock.json | 22 +++++++++++++++++----- web/package.json | 2 +- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/web/package-lock.json b/web/package-lock.json index 1e364b5c6e98..dcd3bb74790e 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -56,7 +56,7 @@ "@jeysal/storybook-addon-css-user-preferences": "^0.2.0", "@lit/localize-tools": "^0.7.0", "@rollup/plugin-babel": "^6.0.4", - "@rollup/plugin-commonjs": "^25.0.5", + "@rollup/plugin-commonjs": "^25.0.7", "@rollup/plugin-node-resolve": "^15.2.3", "@rollup/plugin-replace": "^5.0.3", "@rollup/plugin-terser": "^0.4.4", @@ -4416,9 +4416,9 @@ } }, "node_modules/@rollup/plugin-commonjs": { - "version": "25.0.5", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.5.tgz", - "integrity": "sha512-xY8r/A9oisSeSuLCTfhssyDjo9Vp/eDiRLXkg1MXCcEEgEjPmLU+ZyDB20OOD0NlyDa/8SGbK5uIggF5XTx77w==", + "version": "25.0.7", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.7.tgz", + "integrity": "sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==", "dev": true, "dependencies": { "@rollup/pluginutils": "^5.0.1", @@ -4426,7 +4426,7 @@ "estree-walker": "^2.0.2", "glob": "^8.0.3", "is-reference": "1.2.1", - "magic-string": "^0.27.0" + "magic-string": "^0.30.3" }, "engines": { "node": ">=14.0.0" @@ -4440,6 +4440,18 @@ } } }, + "node_modules/@rollup/plugin-commonjs/node_modules/magic-string": { + "version": "0.30.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", + "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/@rollup/plugin-node-resolve": { "version": "15.2.3", "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", diff --git a/web/package.json b/web/package.json index 54f3f9143bd0..8df5e94d382a 100644 --- a/web/package.json +++ b/web/package.json @@ -74,7 +74,7 @@ "@jeysal/storybook-addon-css-user-preferences": "^0.2.0", "@lit/localize-tools": "^0.7.0", "@rollup/plugin-babel": "^6.0.4", - "@rollup/plugin-commonjs": "^25.0.5", + "@rollup/plugin-commonjs": "^25.0.7", "@rollup/plugin-node-resolve": "^15.2.3", "@rollup/plugin-replace": "^5.0.3", "@rollup/plugin-terser": "^0.4.4", From c0f7a75d5cdb3efd57a3dfde30baac94b5bfb404 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Oct 2023 11:34:09 +0200 Subject: [PATCH 11/57] web: bump the sentry group in /web with 2 updates (#7175) Bumps the sentry group in /web with 2 updates: [@sentry/browser](https://github.com/getsentry/sentry-javascript) and [@sentry/tracing](https://github.com/getsentry/sentry-javascript). Updates `@sentry/browser` from 7.73.0 to 7.74.0 - [Release notes](https://github.com/getsentry/sentry-javascript/releases) - [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md) - [Commits](https://github.com/getsentry/sentry-javascript/compare/7.73.0...7.74.0) Updates `@sentry/tracing` from 7.73.0 to 7.74.0 - [Release notes](https://github.com/getsentry/sentry-javascript/releases) - [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md) - [Commits](https://github.com/getsentry/sentry-javascript/compare/7.73.0...7.74.0) --- updated-dependencies: - dependency-name: "@sentry/browser" dependency-type: direct:production update-type: version-update:semver-minor dependency-group: sentry - dependency-name: "@sentry/tracing" dependency-type: direct:production update-type: version-update:semver-minor dependency-group: sentry ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web/package-lock.json | 78 +++++++++++++++++++++---------------------- web/package.json | 4 +-- 2 files changed, 41 insertions(+), 41 deletions(-) diff --git a/web/package-lock.json b/web/package-lock.json index dcd3bb74790e..0e4ceded0c92 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -24,8 +24,8 @@ "@open-wc/lit-helpers": "^0.6.0", "@patternfly/elements": "^2.4.0", "@patternfly/patternfly": "^4.224.2", - "@sentry/browser": "^7.73.0", - "@sentry/tracing": "^7.73.0", + "@sentry/browser": "^7.74.0", + "@sentry/tracing": "^7.74.0", "@webcomponents/webcomponentsjs": "^2.8.0", "base64-js": "^1.5.1", "chart.js": "^4.4.0", @@ -4725,13 +4725,13 @@ ] }, "node_modules/@sentry-internal/tracing": { - "version": "7.73.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.73.0.tgz", - "integrity": "sha512-ig3WL/Nqp8nRQ52P205NaypGKNfIl/G+cIqge9xPW6zfRb5kJdM1YParw9GSJ1SPjEZBkBORGAML0on5H2FILw==", + "version": "7.74.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.74.0.tgz", + "integrity": "sha512-JK6IRGgdtZjswGfaGIHNWIThffhOHzVIIaGmglui+VFIzOsOqePjoxaDV0MEvzafxXZD7eWqGE5RGuZ0n6HFVg==", "dependencies": { - "@sentry/core": "7.73.0", - "@sentry/types": "7.73.0", - "@sentry/utils": "7.73.0", + "@sentry/core": "7.74.0", + "@sentry/types": "7.74.0", + "@sentry/utils": "7.74.0", "tslib": "^2.4.1 || ^1.9.3" }, "engines": { @@ -4739,15 +4739,15 @@ } }, "node_modules/@sentry/browser": { - "version": "7.73.0", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.73.0.tgz", - "integrity": "sha512-e301hUixcJ5+HNKCJwajFF5smF4opXEFSclyWsJuFNufv5J/1C1SDhbwG2JjBt5zzdSoKWJKT1ewR6vpICyoDw==", - "dependencies": { - "@sentry-internal/tracing": "7.73.0", - "@sentry/core": "7.73.0", - "@sentry/replay": "7.73.0", - "@sentry/types": "7.73.0", - "@sentry/utils": "7.73.0", + "version": "7.74.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.74.0.tgz", + "integrity": "sha512-Njr8216Z1dFUcl6NqBOk20dssK9SjoVddY74Xq+Q4p3NfXBG3lkMcACXor7SFoJRZXq8CZWGS13Cc5KwViRw4g==", + "dependencies": { + "@sentry-internal/tracing": "7.74.0", + "@sentry/core": "7.74.0", + "@sentry/replay": "7.74.0", + "@sentry/types": "7.74.0", + "@sentry/utils": "7.74.0", "tslib": "^2.4.1 || ^1.9.3" }, "engines": { @@ -4755,12 +4755,12 @@ } }, "node_modules/@sentry/core": { - "version": "7.73.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.73.0.tgz", - "integrity": "sha512-9FEz4Gq848LOgVN2OxJGYuQqxv7cIVw69VlAzWHEm3njt8mjvlTq+7UiFsGRo84+59V2FQuHxzA7vVjl90WfSg==", + "version": "7.74.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.74.0.tgz", + "integrity": "sha512-83NRuqn7nDZkSVBN5yJQqcpXDG4yMYiB7TkYUKrGTzBpRy6KUOrkCdybuKk0oraTIGiGSe5WEwCFySiNgR9FzA==", "dependencies": { - "@sentry/types": "7.73.0", - "@sentry/utils": "7.73.0", + "@sentry/types": "7.74.0", + "@sentry/utils": "7.74.0", "tslib": "^2.4.1 || ^1.9.3" }, "engines": { @@ -4768,43 +4768,43 @@ } }, "node_modules/@sentry/replay": { - "version": "7.73.0", - "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.73.0.tgz", - "integrity": "sha512-a8IC9SowBisLYD2IdLkXzx7gN4iVwHDJhQvLp2B8ARs1PyPjJ7gCxSMHeGrYp94V0gOXtorNYkrxvuX8ayPROA==", + "version": "7.74.0", + "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.74.0.tgz", + "integrity": "sha512-GoYa3cHTTFVI/J1cnZ0i4X128mf/JljaswO3PWNTe2k3lSHq/LM5aV0keClRvwM0W8hlix8oOTT06nnenOUmmw==", "dependencies": { - "@sentry/core": "7.73.0", - "@sentry/types": "7.73.0", - "@sentry/utils": "7.73.0" + "@sentry/core": "7.74.0", + "@sentry/types": "7.74.0", + "@sentry/utils": "7.74.0" }, "engines": { "node": ">=12" } }, "node_modules/@sentry/tracing": { - "version": "7.73.0", - "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-7.73.0.tgz", - "integrity": "sha512-LOQR6Hkc8ZoflCXWtMlxTbCBEwv0MSOr3vesnRsmlFG8TW1YUIneU+wKnVxToWAZ8fq+6ubclnuIUKHfqTk/Tg==", + "version": "7.74.0", + "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-7.74.0.tgz", + "integrity": "sha512-rSFJADhh3J3zmkzJ1EXCOwS3h7F6o/lSKu7CWZSZ6k5kBvbCJ5AXvGQadhPdWPJMMcPFzCJaOyTKEPcwL4tbCw==", "dependencies": { - "@sentry-internal/tracing": "7.73.0" + "@sentry-internal/tracing": "7.74.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/types": { - "version": "7.73.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.73.0.tgz", - "integrity": "sha512-/v8++bly8jW7r4cP2wswYiiVpn7eLLcqwnfPUMeCQze4zj3F3nTRIKc9BGHzU0V+fhHa3RwRC2ksqTGq1oJMDg==", + "version": "7.74.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.74.0.tgz", + "integrity": "sha512-rI5eIRbUycWjn6s6o3yAjjWtIvYSxZDdnKv5je2EZINfLKcMPj1dkl6wQd2F4y7gLfD/N6Y0wZYIXC3DUdJQQg==", "engines": { "node": ">=8" } }, "node_modules/@sentry/utils": { - "version": "7.73.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.73.0.tgz", - "integrity": "sha512-h3ZK/qpf4k76FhJV9uiSbvMz3V/0Ovy94C+5/9UgPMVCJXFmVsdw8n/dwANJ7LupVPfYP23xFGgebDMFlK1/2w==", + "version": "7.74.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.74.0.tgz", + "integrity": "sha512-k3np8nuTPtx5KDODPtULfFln4UXdE56MZCcF19Jv6Ljxf+YN/Ady1+0Oi3e0XoSvFpWNyWnglauT7M65qCE6kg==", "dependencies": { - "@sentry/types": "7.73.0", + "@sentry/types": "7.74.0", "tslib": "^2.4.1 || ^1.9.3" }, "engines": { diff --git a/web/package.json b/web/package.json index 8df5e94d382a..f2ec37d7aeb5 100644 --- a/web/package.json +++ b/web/package.json @@ -42,8 +42,8 @@ "@open-wc/lit-helpers": "^0.6.0", "@patternfly/elements": "^2.4.0", "@patternfly/patternfly": "^4.224.2", - "@sentry/browser": "^7.73.0", - "@sentry/tracing": "^7.73.0", + "@sentry/browser": "^7.74.0", + "@sentry/tracing": "^7.74.0", "@webcomponents/webcomponentsjs": "^2.8.0", "base64-js": "^1.5.1", "chart.js": "^4.4.0", From 1ffb76501e7cb84a88b55cdabf277989132f3455 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Oct 2023 12:33:26 +0200 Subject: [PATCH 12/57] web: bump @rollup/plugin-replace from 5.0.3 to 5.0.4 in /web (#7177) Bumps [@rollup/plugin-replace](https://github.com/rollup/plugins/tree/HEAD/packages/replace) from 5.0.3 to 5.0.4. - [Changelog](https://github.com/rollup/plugins/blob/master/packages/replace/CHANGELOG.md) - [Commits](https://github.com/rollup/plugins/commits/babel-v5.0.4/packages/replace) --- updated-dependencies: - dependency-name: "@rollup/plugin-replace" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web/package-lock.json | 54 ++++++++----------------------------------- web/package.json | 2 +- 2 files changed, 10 insertions(+), 46 deletions(-) diff --git a/web/package-lock.json b/web/package-lock.json index 0e4ceded0c92..e72da4ff218e 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -58,7 +58,7 @@ "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-commonjs": "^25.0.7", "@rollup/plugin-node-resolve": "^15.2.3", - "@rollup/plugin-replace": "^5.0.3", + "@rollup/plugin-replace": "^5.0.4", "@rollup/plugin-terser": "^0.4.4", "@rollup/plugin-typescript": "^11.1.5", "@storybook/addon-essentials": "^7.4.6", @@ -4440,18 +4440,6 @@ } } }, - "node_modules/@rollup/plugin-commonjs/node_modules/magic-string": { - "version": "0.30.5", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", - "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/@rollup/plugin-node-resolve": { "version": "15.2.3", "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", @@ -4478,13 +4466,13 @@ } }, "node_modules/@rollup/plugin-replace": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-5.0.3.tgz", - "integrity": "sha512-je7fu05B800IrMlWjb2wzJcdXzHYW46iTipfChnBDbIbDXhASZs27W1B58T2Yf45jZtJUONegpbce+9Ut2Ti/Q==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-5.0.4.tgz", + "integrity": "sha512-E2hmRnlh09K8HGT0rOnnri9OTh+BILGr7NVJGB30S4E3cLRn3J0xjdiyOZ74adPs4NiAMgrjUMGAZNJDBgsdmQ==", "dev": true, "dependencies": { "@rollup/pluginutils": "^5.0.1", - "magic-string": "^0.27.0" + "magic-string": "^0.30.3" }, "engines": { "node": ">=14.0.0" @@ -7701,18 +7689,6 @@ "node": ">=14.14" } }, - "node_modules/@storybook/builder-vite/node_modules/magic-string": { - "version": "0.30.4", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.4.tgz", - "integrity": "sha512-Q/TKtsC5BPm0kGqgBIF9oXAs/xEf2vRKiIB4wCRQTJOQIByZ1d+NnUOotvJOvNpi5RNIgVOMC3pOuaP1ZTDlVg==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/@storybook/builder-vite/node_modules/rollup": { "version": "3.29.4", "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", @@ -9436,18 +9412,6 @@ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@storybook/web-components-vite/node_modules/magic-string": { - "version": "0.30.3", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.3.tgz", - "integrity": "sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/@storybook/web-components/node_modules/@storybook/channels": { "version": "7.4.6", "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", @@ -17209,12 +17173,12 @@ } }, "node_modules/magic-string": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", - "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "version": "0.30.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", + "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", "dev": true, "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" + "@jridgewell/sourcemap-codec": "^1.4.15" }, "engines": { "node": ">=12" diff --git a/web/package.json b/web/package.json index f2ec37d7aeb5..445a8c6ad98a 100644 --- a/web/package.json +++ b/web/package.json @@ -76,7 +76,7 @@ "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-commonjs": "^25.0.7", "@rollup/plugin-node-resolve": "^15.2.3", - "@rollup/plugin-replace": "^5.0.3", + "@rollup/plugin-replace": "^5.0.4", "@rollup/plugin-terser": "^0.4.4", "@rollup/plugin-typescript": "^11.1.5", "@storybook/addon-essentials": "^7.4.6", From 5eb1c4e4bf4f1b7278113d822d7fa005fc18c2c5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Oct 2023 12:33:45 +0200 Subject: [PATCH 13/57] web: bump @formatjs/intl-listformat from 7.4.2 to 7.5.0 in /web (#7182) Bumps [@formatjs/intl-listformat](https://github.com/formatjs/formatjs) from 7.4.2 to 7.5.0. - [Release notes](https://github.com/formatjs/formatjs/releases) - [Commits](https://github.com/formatjs/formatjs/compare/@formatjs/intl-listformat@7.4.2...@formatjs/intl-listformat@7.5.0) --- updated-dependencies: - dependency-name: "@formatjs/intl-listformat" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web/package-lock.json | 8 ++++---- web/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/web/package-lock.json b/web/package-lock.json index e72da4ff218e..8e96d852250b 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -15,7 +15,7 @@ "@codemirror/lang-xml": "^6.0.2", "@codemirror/legacy-modes": "^6.3.3", "@codemirror/theme-one-dark": "^6.1.2", - "@formatjs/intl-listformat": "^7.4.2", + "@formatjs/intl-listformat": "^7.5.0", "@fortawesome/fontawesome-free": "^6.4.2", "@goauthentik/api": "^2023.8.3-1696847703", "@lit-labs/context": "^0.4.1", @@ -2855,9 +2855,9 @@ } }, "node_modules/@formatjs/intl-listformat": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.4.2.tgz", - "integrity": "sha512-+6bSVudEQkf12Hh7kuKt8Xv/MyFlqdwA4V4NLnTZW8uYdF9RxlOELDD0rPaOc2++TMKIzI5o6XXwHPvpL6VrPA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.5.0.tgz", + "integrity": "sha512-n9FsXGl1T2ZbX6wSyrzCDJHrbJR0YJ9ZNsAqUvHXfbY3nsOmGnSTf5+bkuIp1Xiywu7m1X1Pfm/Ngp/yK1H84A==", "dependencies": { "@formatjs/ecma402-abstract": "1.17.2", "@formatjs/intl-localematcher": "0.4.2", diff --git a/web/package.json b/web/package.json index 445a8c6ad98a..67280a83d839 100644 --- a/web/package.json +++ b/web/package.json @@ -33,7 +33,7 @@ "@codemirror/lang-xml": "^6.0.2", "@codemirror/legacy-modes": "^6.3.3", "@codemirror/theme-one-dark": "^6.1.2", - "@formatjs/intl-listformat": "^7.4.2", + "@formatjs/intl-listformat": "^7.5.0", "@fortawesome/fontawesome-free": "^6.4.2", "@goauthentik/api": "^2023.8.3-1696847703", "@lit-labs/context": "^0.4.1", From 3c3f1678e5d9174fc18ab0641e4c527bcb2a4f5d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Oct 2023 12:34:19 +0200 Subject: [PATCH 14/57] web: bump rollup from 4.1.3 to 4.1.4 in /web (#7181) Bumps [rollup](https://github.com/rollup/rollup) from 4.1.3 to 4.1.4. - [Release notes](https://github.com/rollup/rollup/releases) - [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md) - [Commits](https://github.com/rollup/rollup/compare/v4.1.3...v4.1.4) --- updated-dependencies: - dependency-name: rollup dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web/package-lock.json | 104 +++++++++++++++++++++--------------------- web/package.json | 2 +- 2 files changed, 53 insertions(+), 53 deletions(-) diff --git a/web/package-lock.json b/web/package-lock.json index 8e96d852250b..e205d71be4b0 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -87,7 +87,7 @@ "pyright": "^1.1.331", "react": "^18.2.0", "react-dom": "^18.2.0", - "rollup": "^4.1.3", + "rollup": "^4.1.4", "rollup-plugin-copy": "^3.5.0", "rollup-plugin-cssimport": "^1.0.3", "rollup-plugin-postcss-lit": "^2.1.0", @@ -4557,9 +4557,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.1.3.tgz", - "integrity": "sha512-pugxxuAygWTDj3WcyXGspor433gR35riZz66L0EdToX+shXGfh9qKgEFdTPoW9KwIrrJnxDGv9ncfl+a9bFg1w==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.1.4.tgz", + "integrity": "sha512-WlzkuFvpKl6CLFdc3V6ESPt7gq5Vrimd2Yv9IzKXdOpgbH4cdDSS1JLiACX8toygihtH5OlxyQzhXOph7Ovlpw==", "cpu": [ "arm" ], @@ -4570,9 +4570,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.1.3.tgz", - "integrity": "sha512-gO5j0qqT6ETdSf10gxTBeBmsKPC6yK80StTxHr4pvTYpPDfI7/mzSHy/3ez3OQyjxcBXs3i8tSF8aknwCkzv6Q==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.1.4.tgz", + "integrity": "sha512-D1e+ABe56T9Pq2fD+R3ybe1ylCDzu3tY4Qm2Mj24R9wXNCq35+JbFbOpc2yrroO2/tGhTobmEl2Bm5xfE/n8RA==", "cpu": [ "arm64" ], @@ -4583,9 +4583,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.1.3.tgz", - "integrity": "sha512-ibOYcmg3VTXxQOb9HnrmGCshO/5hWucl/Yw8KSt6DE12oif4ssX9pxBBEodu65fprS6qKy80rSs1VvpzVFRRXA==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.1.4.tgz", + "integrity": "sha512-7vTYrgEiOrjxnjsgdPB+4i7EMxbVp7XXtS+50GJYj695xYTTEMn3HZVEvgtwjOUkAP/Q4HDejm4fIAjLeAfhtg==", "cpu": [ "arm64" ], @@ -4596,9 +4596,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.1.3.tgz", - "integrity": "sha512-wgWtqQZjtOVuWnDr3BoNqO9mRpgb/XoqSyzqHxA4xSUgj+3cksJzTe7XCTzBoRc2IPB0mWr9/W+QDUu7OWleEQ==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.1.4.tgz", + "integrity": "sha512-eGJVZScKSLZkYjhTAESCtbyTBq9SXeW9+TX36ki5gVhDqJtnQ5k0f9F44jNK5RhAMgIj0Ht9+n6HAgH0gUUyWQ==", "cpu": [ "x64" ], @@ -4609,9 +4609,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.1.3.tgz", - "integrity": "sha512-73mb6Fk3WnygqCbYHPk7EWAUvmfKZr2teKD+Qb3i6nLQ3wEihEJixg8psUi0pmge77qmuONjOIiJnT8+hTWqEQ==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.1.4.tgz", + "integrity": "sha512-HnigYSEg2hOdX1meROecbk++z1nVJDpEofw9V2oWKqOWzTJlJf1UXVbDE6Hg30CapJxZu5ga4fdAQc/gODDkKg==", "cpu": [ "arm" ], @@ -4622,9 +4622,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.1.3.tgz", - "integrity": "sha512-XI7zAp5ADEph8iHXjk4silYARe/QO7zDGM71R7A6jnny4vlXCYBPB6V6rZm2kZ4VfckeZQukdGOlnvvW5fWLzA==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.1.4.tgz", + "integrity": "sha512-TzJ+N2EoTLWkaClV2CUhBlj6ljXofaYzF/R9HXqQ3JCMnCHQZmQnbnZllw7yTDp0OG5whP4gIPozR4QiX+00MQ==", "cpu": [ "arm64" ], @@ -4635,9 +4635,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.1.3.tgz", - "integrity": "sha512-6yFpmrH6xx00b9qEoabkyeHzamKSv8c43+SgaItTcHzgaaX3HGRSK+ZZt9GokB3Cc7z4HXllK7Ts5fF5W8FddQ==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.1.4.tgz", + "integrity": "sha512-aVPmNMdp6Dlo2tWkAduAD/5TL/NT5uor290YvjvFvCv0Q3L7tVdlD8MOGDL+oRSw5XKXKAsDzHhUOPUNPRHVTQ==", "cpu": [ "arm64" ], @@ -4648,9 +4648,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.1.3.tgz", - "integrity": "sha512-Zbb2CWJfbu2aZqd7hl9otRffh0MgYVhVsOz/sV6LSJcJ2LldBuvn2K9wVTo1gKh2xtTnJo93vusSppk1WtB4NA==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.1.4.tgz", + "integrity": "sha512-77Fb79ayiDad0grvVsz4/OB55wJRyw9Ao+GdOBA9XywtHpuq5iRbVyHToGxWquYWlEf6WHFQQnFEttsAzboyKg==", "cpu": [ "x64" ], @@ -4661,9 +4661,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.1.3.tgz", - "integrity": "sha512-GNATGqh1xMSIwFt3A7co3zyw8hMlUs8E+cBe9Hank0L32hpDYavoPqu7Uat74es+eDqrGn0szfm08ZjYf/ApCQ==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.1.4.tgz", + "integrity": "sha512-/t6C6niEQTqmQTVTD9TDwUzxG91Mlk69/v0qodIPUnjjB3wR4UA3klg+orR2SU3Ux2Cgf2pWPL9utK80/1ek8g==", "cpu": [ "x64" ], @@ -4674,9 +4674,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.1.3.tgz", - "integrity": "sha512-rTxOCH2ZLWkbZJh621qNmS4zDjvIOnvwXdd0Zvkm8twvVoyWATbn6q/bI3bXjQeV7mEASXU1atUWzdeovTcrrw==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.1.4.tgz", + "integrity": "sha512-ZY5BHHrOPkMbCuGWFNpJH0t18D2LU6GMYKGaqaWTQ3CQOL57Fem4zE941/Ek5pIsVt70HyDXssVEFQXlITI5Gg==", "cpu": [ "arm64" ], @@ -4687,9 +4687,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.1.3.tgz", - "integrity": "sha512-JcnmTz5d2kcxKTjcPPt0p86IzhViYOj8f8qFWwyzgDpCHFLXAKv9C4uxnwTornHvWq31km7zZ8IBZui8LjX52w==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.1.4.tgz", + "integrity": "sha512-XG2mcRfFrJvYyYaQmvCIvgfkaGinfXrpkBuIbJrTl9SaIQ8HumheWTIwkNz2mktCKwZfXHQNpO7RgXLIGQ7HXA==", "cpu": [ "ia32" ], @@ -4700,9 +4700,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.1.3.tgz", - "integrity": "sha512-B9oi0JSMvSOsjB0Rve1WLFFEv+8uRvok+N3XWtxzSi/jjiVeM6wbfFgnHzZ2LA7FG9tJs0V7aHLD+73Q8VUIvg==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.1.4.tgz", + "integrity": "sha512-ANFqWYPwkhIqPmXw8vm0GpBEHiPpqcm99jiiAp71DbCSqLDhrtr019C5vhD0Bw4My+LmMvciZq6IsWHqQpl2ZQ==", "cpu": [ "x64" ], @@ -20215,9 +20215,9 @@ "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" }, "node_modules/rollup": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.1.3.tgz", - "integrity": "sha512-ytWlDll2r0Q7iQGX+aZ8ptfZIE55vLApNuMnMYlaMO40wk3o/nN6sjuEvwQjhnAcqQ+NSX4vPgXE/eIO609HMA==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.1.4.tgz", + "integrity": "sha512-U8Yk1lQRKqCkDBip/pMYT+IKaN7b7UesK3fLSTuHBoBJacCE+oBqo/dfG/gkUdQNNB2OBmRP98cn2C2bkYZkyw==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -20227,18 +20227,18 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.1.3", - "@rollup/rollup-android-arm64": "4.1.3", - "@rollup/rollup-darwin-arm64": "4.1.3", - "@rollup/rollup-darwin-x64": "4.1.3", - "@rollup/rollup-linux-arm-gnueabihf": "4.1.3", - "@rollup/rollup-linux-arm64-gnu": "4.1.3", - "@rollup/rollup-linux-arm64-musl": "4.1.3", - "@rollup/rollup-linux-x64-gnu": "4.1.3", - "@rollup/rollup-linux-x64-musl": "4.1.3", - "@rollup/rollup-win32-arm64-msvc": "4.1.3", - "@rollup/rollup-win32-ia32-msvc": "4.1.3", - "@rollup/rollup-win32-x64-msvc": "4.1.3", + "@rollup/rollup-android-arm-eabi": "4.1.4", + "@rollup/rollup-android-arm64": "4.1.4", + "@rollup/rollup-darwin-arm64": "4.1.4", + "@rollup/rollup-darwin-x64": "4.1.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.1.4", + "@rollup/rollup-linux-arm64-gnu": "4.1.4", + "@rollup/rollup-linux-arm64-musl": "4.1.4", + "@rollup/rollup-linux-x64-gnu": "4.1.4", + "@rollup/rollup-linux-x64-musl": "4.1.4", + "@rollup/rollup-win32-arm64-msvc": "4.1.4", + "@rollup/rollup-win32-ia32-msvc": "4.1.4", + "@rollup/rollup-win32-x64-msvc": "4.1.4", "fsevents": "~2.3.2" } }, diff --git a/web/package.json b/web/package.json index 67280a83d839..76e1ed5bbb41 100644 --- a/web/package.json +++ b/web/package.json @@ -105,7 +105,7 @@ "pyright": "^1.1.331", "react": "^18.2.0", "react-dom": "^18.2.0", - "rollup": "^4.1.3", + "rollup": "^4.1.4", "rollup-plugin-copy": "^3.5.0", "rollup-plugin-cssimport": "^1.0.3", "rollup-plugin-postcss-lit": "^2.1.0", From 07b8c5bc7a90387841ad753425bcf6f5c3109d0f Mon Sep 17 00:00:00 2001 From: Oleh Vivtash Date: Mon, 16 Oct 2023 14:10:21 +0300 Subject: [PATCH 15/57] website/docs: fix API OAuth token usage (#7159) Update api.md JWT Token howto update Signed-off-by: Oleh Vivtash --- website/developer-docs/api/api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/developer-docs/api/api.md b/website/developer-docs/api/api.md index e6b7b6dc33f9..7e3877be79c3 100644 --- a/website/developer-docs/api/api.md +++ b/website/developer-docs/api/api.md @@ -22,4 +22,4 @@ Users can create tokens to authenticate as any user with a static key, which can ### JWT Token -OAuth2 clients can request the scope `goauthentik.io/api`, which allows their OAuth Refresh token to be used to authenticate to the API. +OAuth2 clients can request the scope `goauthentik.io/api`, which allows their OAuth Access token to be used to authenticate to the API. From 00b2a773b4e087dc9a8467e87997554bacceb349 Mon Sep 17 00:00:00 2001 From: Alissa Gerhard Date: Mon, 16 Oct 2023 13:11:34 +0200 Subject: [PATCH 16/57] sources/ldap: made ldap_sync_single calls from ldap_sync_all asynchronous (#6862) --- authentik/sources/ldap/tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/authentik/sources/ldap/tasks.py b/authentik/sources/ldap/tasks.py index 026f398b6a86..9c4d6af73ab0 100644 --- a/authentik/sources/ldap/tasks.py +++ b/authentik/sources/ldap/tasks.py @@ -32,7 +32,7 @@ def ldap_sync_all(): """Sync all sources""" for source in LDAPSource.objects.filter(enabled=True): - ldap_sync_single(source.pk) + ldap_sync_single.apply_async(args=[source.pk]) @CELERY_APP.task( From 25d4905d6c545727188ab0d7e678d81d91804001 Mon Sep 17 00:00:00 2001 From: Jens L Date: Mon, 16 Oct 2023 17:01:44 +0200 Subject: [PATCH 17/57] outposts: use channel groups instead of saving channel names (#7183) * outposts: use channel groups instead of saving channel names Signed-off-by: Jens Langhammer * use pubsub Signed-off-by: Jens Langhammer * support storing other args with state Signed-off-by: Jens Langhammer --------- Signed-off-by: Jens Langhammer --- .../outposts/{channels.py => consumer.py} | 46 ++++++++----------- authentik/outposts/models.py | 2 +- authentik/outposts/tasks.py | 9 ++-- authentik/outposts/tests/test_ws.py | 2 +- authentik/outposts/urls.py | 2 +- authentik/providers/proxy/tasks.py | 22 ++++----- authentik/root/settings.py | 4 +- 7 files changed, 39 insertions(+), 48 deletions(-) rename authentik/outposts/{channels.py => consumer.py} (79%) diff --git a/authentik/outposts/channels.py b/authentik/outposts/consumer.py similarity index 79% rename from authentik/outposts/channels.py rename to authentik/outposts/consumer.py index f0b656a47dd3..e8c2ee1274af 100644 --- a/authentik/outposts/channels.py +++ b/authentik/outposts/consumer.py @@ -4,6 +4,7 @@ from enum import IntEnum from typing import Any, Optional +from asgiref.sync import async_to_sync from channels.exceptions import DenyConnection from dacite.core import from_dict from dacite.data import Data @@ -14,6 +15,8 @@ from authentik.outposts.apps import GAUGE_OUTPOSTS_CONNECTED, GAUGE_OUTPOSTS_LAST_UPDATE from authentik.outposts.models import OUTPOST_HELLO_INTERVAL, Outpost, OutpostState +OUTPOST_GROUP = "group_outpost_%(outpost_pk)s" + class WebsocketMessageInstruction(IntEnum): """Commands which can be triggered over Websocket""" @@ -47,8 +50,6 @@ class OutpostConsumer(AuthJsonConsumer): last_uid: Optional[str] = None - first_msg = False - def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.logger = get_logger() @@ -71,22 +72,26 @@ def connect(self): raise DenyConnection() self.outpost = outpost self.last_uid = self.channel_name + async_to_sync(self.channel_layer.group_add)( + OUTPOST_GROUP % {"outpost_pk": str(self.outpost.pk)}, self.channel_name + ) + GAUGE_OUTPOSTS_CONNECTED.labels( + outpost=self.outpost.name, + uid=self.last_uid, + expected=self.outpost.config.kubernetes_replicas, + ).inc() def disconnect(self, code): + if self.outpost: + async_to_sync(self.channel_layer.group_discard)( + OUTPOST_GROUP % {"outpost_pk": str(self.outpost.pk)}, self.channel_name + ) if self.outpost and self.last_uid: - state = OutpostState.for_instance_uid(self.outpost, self.last_uid) - if self.channel_name in state.channel_ids: - state.channel_ids.remove(self.channel_name) - state.save() GAUGE_OUTPOSTS_CONNECTED.labels( outpost=self.outpost.name, uid=self.last_uid, expected=self.outpost.config.kubernetes_replicas, ).dec() - self.logger.debug( - "removed outpost instance from cache", - instance_uuid=self.last_uid, - ) def receive_json(self, content: Data): msg = from_dict(WebsocketMessage, content) @@ -97,26 +102,13 @@ def receive_json(self, content: Data): raise DenyConnection() state = OutpostState.for_instance_uid(self.outpost, uid) - if self.channel_name not in state.channel_ids: - state.channel_ids.append(self.channel_name) state.last_seen = datetime.now() - state.hostname = msg.args.get("hostname", "") - - if not self.first_msg: - GAUGE_OUTPOSTS_CONNECTED.labels( - outpost=self.outpost.name, - uid=self.last_uid, - expected=self.outpost.config.kubernetes_replicas, - ).inc() - self.logger.debug( - "added outpost instance to cache", - instance_uuid=self.last_uid, - ) - self.first_msg = True + state.hostname = msg.args.pop("hostname", "") if msg.instruction == WebsocketMessageInstruction.HELLO: - state.version = msg.args.get("version", None) - state.build_hash = msg.args.get("buildHash", "") + state.version = msg.args.pop("version", None) + state.build_hash = msg.args.pop("buildHash", "") + state.args = msg.args elif msg.instruction == WebsocketMessageInstruction.ACK: return GAUGE_OUTPOSTS_LAST_UPDATE.labels( diff --git a/authentik/outposts/models.py b/authentik/outposts/models.py index 3caae7e7365a..878a3e9e6831 100644 --- a/authentik/outposts/models.py +++ b/authentik/outposts/models.py @@ -411,12 +411,12 @@ class OutpostState: """Outpost instance state, last_seen and version""" uid: str - channel_ids: list[str] = field(default_factory=list) last_seen: Optional[datetime] = field(default=None) version: Optional[str] = field(default=None) version_should: Version = field(default=OUR_VERSION) build_hash: str = field(default="") hostname: str = field(default="") + args: dict = field(default_factory=dict) _outpost: Optional[Outpost] = field(default=None) diff --git a/authentik/outposts/tasks.py b/authentik/outposts/tasks.py index ddb0d53522a4..b6b3a9bab99a 100644 --- a/authentik/outposts/tasks.py +++ b/authentik/outposts/tasks.py @@ -25,6 +25,7 @@ ) from authentik.lib.config import CONFIG from authentik.lib.utils.reflection import path_to_class +from authentik.outposts.consumer import OUTPOST_GROUP from authentik.outposts.controllers.base import BaseController, ControllerException from authentik.outposts.controllers.docker import DockerClient from authentik.outposts.controllers.kubernetes import KubernetesClient @@ -34,7 +35,6 @@ Outpost, OutpostModel, OutpostServiceConnection, - OutpostState, OutpostType, ServiceConnectionInvalid, ) @@ -243,10 +243,9 @@ def _outpost_single_update(outpost: Outpost, layer=None): outpost.build_user_permissions(outpost.user) if not layer: # pragma: no cover layer = get_channel_layer() - for state in OutpostState.for_outpost(outpost): - for channel in state.channel_ids: - LOGGER.debug("sending update", channel=channel, instance=state.uid, outpost=outpost) - async_to_sync(layer.send)(channel, {"type": "event.update"}) + group = OUTPOST_GROUP % {"outpost_pk": str(outpost.pk)} + LOGGER.debug("sending update", channel=group, outpost=outpost) + async_to_sync(layer.group_send)(group, {"type": "event.update"}) @CELERY_APP.task( diff --git a/authentik/outposts/tests/test_ws.py b/authentik/outposts/tests/test_ws.py index 9d85460446d0..b8fcba925d90 100644 --- a/authentik/outposts/tests/test_ws.py +++ b/authentik/outposts/tests/test_ws.py @@ -7,7 +7,7 @@ from authentik import __version__ from authentik.core.tests.utils import create_test_flow -from authentik.outposts.channels import WebsocketMessage, WebsocketMessageInstruction +from authentik.outposts.consumer import WebsocketMessage, WebsocketMessageInstruction from authentik.outposts.models import Outpost, OutpostType from authentik.providers.proxy.models import ProxyProvider from authentik.root import websocket diff --git a/authentik/outposts/urls.py b/authentik/outposts/urls.py index 353dfd13ce7a..cd7ba3bf8883 100644 --- a/authentik/outposts/urls.py +++ b/authentik/outposts/urls.py @@ -7,7 +7,7 @@ KubernetesServiceConnectionViewSet, ServiceConnectionViewSet, ) -from authentik.outposts.channels import OutpostConsumer +from authentik.outposts.consumer import OutpostConsumer from authentik.root.middleware import ChannelsLoggingMiddleware websocket_urlpatterns = [ diff --git a/authentik/providers/proxy/tasks.py b/authentik/providers/proxy/tasks.py index 630b0d186a56..aec8e669ab1b 100644 --- a/authentik/providers/proxy/tasks.py +++ b/authentik/providers/proxy/tasks.py @@ -3,7 +3,8 @@ from channels.layers import get_channel_layer from django.db import DatabaseError, InternalError, ProgrammingError -from authentik.outposts.models import Outpost, OutpostState, OutpostType +from authentik.outposts.consumer import OUTPOST_GROUP +from authentik.outposts.models import Outpost, OutpostType from authentik.providers.proxy.models import ProxyProvider from authentik.root.celery import CELERY_APP @@ -23,13 +24,12 @@ def proxy_on_logout(session_id: str): """Update outpost instances connected to a single outpost""" layer = get_channel_layer() for outpost in Outpost.objects.filter(type=OutpostType.PROXY): - for state in OutpostState.for_outpost(outpost): - for channel in state.channel_ids: - async_to_sync(layer.send)( - channel, - { - "type": "event.provider.specific", - "sub_type": "logout", - "session_id": session_id, - }, - ) + group = OUTPOST_GROUP % {"outpost_pk": str(outpost.pk)} + async_to_sync(layer.group_send)( + group, + { + "type": "event.provider.specific", + "sub_type": "logout", + "session_id": session_id, + }, + ) diff --git a/authentik/root/settings.py b/authentik/root/settings.py index a7ed583aef6d..3cb0818628b2 100644 --- a/authentik/root/settings.py +++ b/authentik/root/settings.py @@ -253,10 +253,10 @@ CHANNEL_LAYERS = { "default": { - "BACKEND": "channels_redis.core.RedisChannelLayer", + "BACKEND": "channels_redis.pubsub.RedisPubSubChannelLayer", "CONFIG": { "hosts": [f"{_redis_url}/{CONFIG.get('redis.db')}"], - "prefix": "authentik_channels", + "prefix": "authentik_channels_", }, }, } From dce913496e861c26062a469aa63cfea8d4ebee16 Mon Sep 17 00:00:00 2001 From: Jens L Date: Mon, 16 Oct 2023 17:28:53 +0200 Subject: [PATCH 18/57] lifecycle: re-fix system migrations (#7185) fix system migrations? Signed-off-by: Jens Langhammer --- lifecycle/system_migrations/to_0_10.py | 2 ++ lifecycle/system_migrations/to_0_13_authentik.py | 3 ++- lifecycle/system_migrations/to_0_14_events..py | 7 +++++-- lifecycle/system_migrations/to_2021_3_authenticator.py | 2 ++ lifecycle/system_migrations/to_2023_1_hibp_remove.py | 7 +++++-- 5 files changed, 16 insertions(+), 5 deletions(-) diff --git a/lifecycle/system_migrations/to_0_10.py b/lifecycle/system_migrations/to_0_10.py index 84ab45b39003..ebad5c70ad08 100644 --- a/lifecycle/system_migrations/to_0_10.py +++ b/lifecycle/system_migrations/to_0_10.py @@ -2,6 +2,7 @@ from lifecycle.migrate import BaseMigration SQL_STATEMENT = """ +BEGIN TRANSACTION; DELETE FROM django_migrations WHERE app = 'passbook_stages_prompt'; DROP TABLE passbook_stages_prompt_prompt cascade; DROP TABLE passbook_stages_prompt_promptstage cascade; @@ -22,6 +23,7 @@ DELETE FROM django_migrations WHERE app = 'passbook_flows' AND name = '0009_source_flows'; DELETE FROM django_migrations WHERE app = 'passbook_flows' AND name = '0010_provider_flows'; DELETE FROM django_migrations WHERE app = 'passbook_stages_password' AND name = '0002_passwordstage_change_flow'; +COMMIT; """ diff --git a/lifecycle/system_migrations/to_0_13_authentik.py b/lifecycle/system_migrations/to_0_13_authentik.py index 8ba702132169..b621859d7c14 100644 --- a/lifecycle/system_migrations/to_0_13_authentik.py +++ b/lifecycle/system_migrations/to_0_13_authentik.py @@ -4,7 +4,7 @@ from authentik.lib.config import CONFIG from lifecycle.migrate import BaseMigration -SQL_STATEMENT = """ +SQL_STATEMENT = """BEGIN TRANSACTION; ALTER TABLE passbook_audit_event RENAME TO authentik_audit_event; ALTER TABLE passbook_core_application RENAME TO authentik_core_application; ALTER TABLE passbook_core_group RENAME TO authentik_core_group; @@ -92,6 +92,7 @@ UPDATE django_migrations SET app = replace(app, 'passbook', 'authentik'); UPDATE django_content_type SET app_label = replace(app_label, 'passbook', 'authentik'); +COMMIT; """ diff --git a/lifecycle/system_migrations/to_0_14_events..py b/lifecycle/system_migrations/to_0_14_events..py index b1a0cc727387..9a7b149797e9 100644 --- a/lifecycle/system_migrations/to_0_14_events..py +++ b/lifecycle/system_migrations/to_0_14_events..py @@ -1,9 +1,12 @@ # flake8: noqa from lifecycle.migrate import BaseMigration -SQL_STATEMENT = """ALTER TABLE authentik_audit_event RENAME TO authentik_events_event; +SQL_STATEMENT = """BEGIN TRANSACTION; +ALTER TABLE authentik_audit_event RENAME TO authentik_events_event; UPDATE django_migrations SET app = replace(app, 'authentik_audit', 'authentik_events'); -UPDATE django_content_type SET app_label = replace(app_label, 'authentik_audit', 'authentik_events');""" +UPDATE django_content_type SET app_label = replace(app_label, 'authentik_audit', 'authentik_events'); + +COMMIT;""" class Migration(BaseMigration): diff --git a/lifecycle/system_migrations/to_2021_3_authenticator.py b/lifecycle/system_migrations/to_2021_3_authenticator.py index 3b633fef16b3..52a870ba2b4b 100644 --- a/lifecycle/system_migrations/to_2021_3_authenticator.py +++ b/lifecycle/system_migrations/to_2021_3_authenticator.py @@ -2,6 +2,7 @@ from lifecycle.migrate import BaseMigration SQL_STATEMENT = """ +BEGIN TRANSACTION; ALTER TABLE authentik_stages_otp_static_otpstaticstage RENAME TO authentik_stages_authenticator_static_otpstaticstage; UPDATE django_migrations SET app = replace(app, 'authentik_stages_otp_static', 'authentik_stages_authenticator_static'); UPDATE django_content_type SET app_label = replace(app_label, 'authentik_stages_otp_static', 'authentik_stages_authenticator_static'); @@ -13,6 +14,7 @@ ALTER TABLE authentik_stages_otp_validate_otpvalidatestage RENAME TO authentik_stages_authenticator_validate_otpvalidatestage; UPDATE django_migrations SET app = replace(app, 'authentik_stages_otp_validate', 'authentik_stages_authenticator_validate'); UPDATE django_content_type SET app_label = replace(app_label, 'authentik_stages_otp_validate', 'authentik_stages_authenticator_validate'); +COMMIT; """ diff --git a/lifecycle/system_migrations/to_2023_1_hibp_remove.py b/lifecycle/system_migrations/to_2023_1_hibp_remove.py index c43f6bb85c8e..92ec2e1f6497 100644 --- a/lifecycle/system_migrations/to_2023_1_hibp_remove.py +++ b/lifecycle/system_migrations/to_2023_1_hibp_remove.py @@ -1,8 +1,11 @@ # flake8: noqa from lifecycle.migrate import BaseMigration -SQL_STATEMENT = """DROP TABLE "authentik_policies_hibp_haveibeenpwendpolicy"; -DELETE FROM django_migrations WHERE app = 'authentik_policies_hibp';""" +SQL_STATEMENT = """ +BEGIN TRANSACTION; +DROP TABLE "authentik_policies_hibp_haveibeenpwendpolicy"; +DELETE FROM django_migrations WHERE app = 'authentik_policies_hibp'; +COMMIT;""" class Migration(BaseMigration): From e28babb0b8d90b40e71f84ca921dbedf26646c5d Mon Sep 17 00:00:00 2001 From: Jens L Date: Mon, 16 Oct 2023 17:31:50 +0200 Subject: [PATCH 19/57] core: Initial RBAC (#6806) * rename consent permission Signed-off-by: Jens Langhammer * the user version Signed-off-by: Jens Langhammer t Signed-off-by: Jens Langhammer * initial role Signed-off-by: Jens Langhammer * start form Signed-off-by: Jens Langhammer * some minor table refactoring Signed-off-by: Jens Langhammer * fix user, add assign Signed-off-by: Jens Langhammer * add roles ui Signed-off-by: Jens Langhammer * fix backend Signed-off-by: Jens Langhammer * add assign API for roles Signed-off-by: Jens Langhammer * start adding toggle buttons Signed-off-by: Jens Langhammer * start view page Signed-off-by: Jens Langhammer * exclude add_ permission for per-object perms Signed-off-by: Jens Langhammer * small cleanup Signed-off-by: Jens Langhammer * add permission list for roles Signed-off-by: Jens Langhammer * make sidebar update Signed-off-by: Jens Langhammer * fix page header not re-rendering? Signed-off-by: Jens Langhammer * fixup Signed-off-by: Jens Langhammer * add search Signed-off-by: Jens Langhammer * show first category in table groupBy except when its empty Signed-off-by: Jens Langhammer * make model and object PK optional but required together Signed-off-by: Jens Langhammer * allow for setting global perms Signed-off-by: Jens Langhammer * exclude non-authentik permissions Signed-off-by: Jens Langhammer * exclude models which aren't allowed (base models etc) Signed-off-by: Jens Langhammer * ensure all models have verbose_name set, exclude some more internal objects Signed-off-by: Jens Langhammer * lint fix Signed-off-by: Jens Langhammer * fix role perm assign Signed-off-by: Jens Langhammer * add unasign for global perms Signed-off-by: Jens Langhammer * add meta changes Signed-off-by: Jens Langhammer * clear modal state after submit Signed-off-by: Jens Langhammer * add roles to our group Signed-off-by: Jens Langhammer * fix duplicate url names Signed-off-by: Jens Langhammer * make recursive group query more usable Signed-off-by: Jens Langhammer * add name field to role itself and move group creation to signal Signed-off-by: Jens Langhammer * start sync Signed-off-by: Jens Langhammer * move rbac stuff to separate django app Signed-off-by: Jens Langhammer * fix lint and such Signed-off-by: Jens Langhammer * fix go Signed-off-by: Jens Langhammer * update Signed-off-by: Jens Langhammer * start API changes Signed-off-by: Jens Langhammer * add more API tests Signed-off-by: Jens Langhammer * make admin interface not require superuser for now, improve error handling Signed-off-by: Jens Langhammer * replace some IsAdminUser where applicable Signed-off-by: Jens Langhammer * migrate flow inspector perms to actual permission Signed-off-by: Jens Langhammer * fix license not being a serializermodel Signed-off-by: Jens Langhammer * add permission modal to models without view page Signed-off-by: Jens Langhammer * add additional permissions to assign/unassign permissions Signed-off-by: Jens Langhammer * add action to unassign user permissions Signed-off-by: Jens Langhammer * add permissions tab to remaining view pages Signed-off-by: Jens Langhammer * fix Signed-off-by: Jens Langhammer * fix flow inspector permission check Signed-off-by: Jens Langhammer * fix codecov config? Signed-off-by: Jens Langhammer * add more API tests Signed-off-by: Jens Langhammer * ensure viewsets have an order set Signed-off-by: Jens Langhammer * hopefully the last api name change Signed-off-by: Jens Langhammer * make perm modal less confusing Signed-off-by: Jens Langhammer * start user view permission page Signed-off-by: Jens Langhammer * only make delete bulk form expandable if usedBy is set Signed-off-by: Jens Langhammer * expand permission tables Signed-off-by: Jens Langhammer * add more things Signed-off-by: Jens Langhammer * add user global permission table Signed-off-by: Jens Langhammer * fix lint Signed-off-by: Jens Langhammer * fix tests' url names Signed-off-by: Jens Langhammer * add tests for assign perms Signed-off-by: Jens Langhammer * add unassign tests Signed-off-by: Jens Langhammer * rebuild permissions Signed-off-by: Jens Langhammer * prevent assigning/unassigning permissions to internal service accounts Signed-off-by: Jens Langhammer * only enable default api browser in debug Signed-off-by: Jens Langhammer * fix role object permissions showing duplicate Signed-off-by: Jens Langhammer * fix role link on role object permissions table Signed-off-by: Jens Langhammer * fix object permission modal having duplicate close buttons Signed-off-by: Jens Langhammer * return error if user has no global perm and no object perms also improve error display on table Signed-off-by: Jens Langhammer * small optimisation Signed-off-by: Jens Langhammer * optimise even more Signed-off-by: Jens Langhammer * update locale Signed-off-by: Jens Langhammer * add system permission for non-object permissions Signed-off-by: Jens Langhammer * allow access to admin interface based on perm Signed-off-by: Jens Langhammer * clean Signed-off-by: Jens Langhammer * don't exclude base models Signed-off-by: Jens Langhammer --------- Signed-off-by: Jens Langhammer --- .github/codecov.yml | 4 +- Makefile | 3 +- authentik/admin/api/meta.py | 6 +- authentik/admin/api/metrics.py | 4 +- authentik/admin/api/system.py | 4 +- authentik/admin/api/tasks.py | 6 +- authentik/admin/api/workers.py | 4 +- authentik/api/authorization.py | 6 +- authentik/api/decorators.py | 16 +- authentik/api/pagination.py | 7 + authentik/api/tests/test_viewsets.py | 1 + authentik/blueprints/api.py | 3 +- authentik/blueprints/v1/importer.py | 18 +- authentik/core/api/applications.py | 4 +- authentik/core/api/groups.py | 26 +- .../core/api/transactional_applications.py | 1 + authentik/core/api/used_by.py | 5 + authentik/core/api/users.py | 25 +- authentik/core/migrations/0032_group_roles.py | 45 + authentik/core/models.py | 78 +- authentik/core/signals.py | 3 + authentik/core/tests/utils.py | 12 +- authentik/enterprise/api.py | 4 +- ...e_users_license_internal_users_and_more.py | 4 + authentik/enterprise/models.py | 12 +- authentik/flows/api/bindings.py | 1 + authentik/flows/challenge.py | 7 - .../migrations/0026_alter_flow_options.py | 25 + authentik/flows/models.py | 7 +- authentik/flows/views/inspector.py | 18 +- authentik/lib/validators.py | 32 + .../migrations/0020_alter_outpost_type.py | 4 + authentik/outposts/models.py | 4 + authentik/policies/models.py | 4 +- authentik/rbac/__init__.py | 0 authentik/rbac/api/__init__.py | 0 authentik/rbac/api/rbac.py | 130 ++ authentik/rbac/api/rbac_assigned_by_roles.py | 123 ++ authentik/rbac/api/rbac_assigned_by_users.py | 129 ++ authentik/rbac/api/rbac_roles.py | 71 + authentik/rbac/api/rbac_users.py | 71 + authentik/rbac/api/roles.py | 24 + authentik/rbac/apps.py | 15 + authentik/rbac/filters.py | 26 + authentik/rbac/migrations/0001_initial.py | 47 + .../rbac/migrations/0002_systempermission.py | 33 + authentik/rbac/migrations/__init__.py | 0 authentik/rbac/models.py | 73 + authentik/rbac/permissions.py | 30 + authentik/rbac/signals.py | 67 + authentik/rbac/tests/__init__.py | 0 .../rbac/tests/test_api_assigned_by_roles.py | 151 ++ .../rbac/tests/test_api_assigned_by_users.py | 196 ++ authentik/rbac/tests/test_api_filters.py | 122 ++ authentik/rbac/tests/test_roles.py | 35 + authentik/rbac/urls.py | 24 + authentik/root/settings.py | 8 +- .../migrations/0009_throttling.py | 8 + .../stages/authenticator_static/models.py | 8 +- .../migrations/0010_alter_totpdevice_key.py | 4 + authentik/stages/authenticator_totp/models.py | 4 +- authentik/stages/consent/stage.py | 13 +- authentik/stages/prompt/api.py | 1 + blueprints/schema.json | 109 +- internal/outpost/ldap/search/memory/memory.go | 2 +- schema.yml | 1622 ++++++++++++++++- web/src/admin/AdminInterface.ts | 7 +- web/src/admin/Routes.ts | 8 + .../admin-overview/cards/AdminStatusCard.ts | 9 + .../admin/applications/ApplicationViewPage.ts | 14 +- web/src/admin/blueprints/BlueprintListPage.ts | 13 +- .../crypto/CertificateKeyPairListPage.ts | 32 +- .../enterprise/EnterpriseLicenseListPage.ts | 34 +- web/src/admin/events/RuleListPage.ts | 32 +- web/src/admin/events/TransportListPage.ts | 14 +- web/src/admin/flows/FlowViewPage.ts | 14 +- web/src/admin/groups/GroupForm.ts | 39 +- web/src/admin/groups/GroupViewPage.ts | 34 +- web/src/admin/outposts/OutpostListPage.ts | 14 +- .../outposts/ServiceConnectionListPage.ts | 39 +- web/src/admin/policies/PolicyListPage.ts | 4 + .../policies/reputation/ReputationListPage.ts | 15 +- .../PropertyMappingListPage.ts | 3 + .../providers/ldap/LDAPProviderViewPage.ts | 14 +- .../oauth2/OAuth2ProviderViewPage.ts | 7 + .../providers/proxy/ProxyProviderViewPage.ts | 14 +- .../radius/RadiusProviderViewPage.ts | 15 +- .../providers/saml/SAMLProviderViewPage.ts | 8 + .../providers/scim/SCIMProviderViewPage.ts | 14 +- web/src/admin/roles/RoleForm.ts | 56 + web/src/admin/roles/RoleListPage.ts | 98 + web/src/admin/roles/RolePermissionForm.ts | 88 + .../admin/roles/RolePermissionGlobalTable.ts | 89 + .../admin/roles/RolePermissionObjectTable.ts | 94 + web/src/admin/roles/RoleViewPage.ts | 144 ++ .../admin/sources/ldap/LDAPSourceViewPage.ts | 15 +- .../sources/oauth/OAuthSourceViewPage.ts | 14 +- .../admin/sources/plex/PlexSourceViewPage.ts | 13 +- .../admin/sources/saml/SAMLSourceViewPage.ts | 14 +- web/src/admin/stages/StageListPage.ts | 3 + .../stages/invitation/InvitationListLink.ts | 3 +- .../stages/invitation/InvitationListPage.ts | 31 +- web/src/admin/stages/prompt/PromptListPage.ts | 26 +- web/src/admin/tenants/TenantListPage.ts | 27 +- web/src/admin/tokens/TokenListPage.ts | 22 +- web/src/admin/users/RelatedUserList.ts | 67 +- .../UserAssignedGlobalPermissionsTable.ts | 88 + .../UserAssignedObjectPermissionsTable.ts | 90 + ...UserDevicesList.ts => UserDevicesTable.ts} | 4 +- web/src/admin/users/UserPermissionForm.ts | 88 + web/src/admin/users/UserViewPage.ts | 45 +- web/src/common/errors.ts | 27 + web/src/common/users.ts | 1 + web/src/elements/PageHeader.ts | 3 +- .../ak-locale-context/ak-locale-context.ts | 2 +- web/src/elements/charts/Chart.ts | 45 +- web/src/elements/forms/DeleteBulkForm.ts | 6 +- .../elements/rbac/ObjectPermissionModal.ts | 74 + .../elements/rbac/ObjectPermissionsPage.ts | 68 + .../elements/rbac/PermissionSelectModal.ts | 95 + .../elements/rbac/RoleObjectPermissionForm.ts | 107 ++ .../rbac/RoleObjectPermissionTable.ts | 97 + .../elements/rbac/UserObjectPermissionForm.ts | 111 ++ .../rbac/UserObjectPermissionTable.ts | 90 + web/src/elements/table/Table.ts | 75 +- web/src/elements/table/TablePage.ts | 8 - web/src/flow/stages/consent/ConsentStage.ts | 8 +- web/src/user/UserInterface.ts | 6 +- .../user/user-settings/UserSettingsPage.ts | 2 - web/xliff/de.xlf | 105 ++ web/xliff/en.xlf | 105 ++ web/xliff/es.xlf | 105 ++ web/xliff/fr.xlf | 105 ++ web/xliff/pl.xlf | 105 ++ web/xliff/pseudo-LOCALE.xlf | 105 ++ web/xliff/tr.xlf | 105 ++ web/xliff/zh-Hans.xlf | 151 +- web/xliff/zh-Hant.xlf | 105 ++ web/xliff/zh_TW.xlf | 105 ++ 139 files changed, 6562 insertions(+), 424 deletions(-) create mode 100644 authentik/core/migrations/0032_group_roles.py create mode 100644 authentik/flows/migrations/0026_alter_flow_options.py create mode 100644 authentik/lib/validators.py create mode 100644 authentik/rbac/__init__.py create mode 100644 authentik/rbac/api/__init__.py create mode 100644 authentik/rbac/api/rbac.py create mode 100644 authentik/rbac/api/rbac_assigned_by_roles.py create mode 100644 authentik/rbac/api/rbac_assigned_by_users.py create mode 100644 authentik/rbac/api/rbac_roles.py create mode 100644 authentik/rbac/api/rbac_users.py create mode 100644 authentik/rbac/api/roles.py create mode 100644 authentik/rbac/apps.py create mode 100644 authentik/rbac/filters.py create mode 100644 authentik/rbac/migrations/0001_initial.py create mode 100644 authentik/rbac/migrations/0002_systempermission.py create mode 100644 authentik/rbac/migrations/__init__.py create mode 100644 authentik/rbac/models.py create mode 100644 authentik/rbac/permissions.py create mode 100644 authentik/rbac/signals.py create mode 100644 authentik/rbac/tests/__init__.py create mode 100644 authentik/rbac/tests/test_api_assigned_by_roles.py create mode 100644 authentik/rbac/tests/test_api_assigned_by_users.py create mode 100644 authentik/rbac/tests/test_api_filters.py create mode 100644 authentik/rbac/tests/test_roles.py create mode 100644 authentik/rbac/urls.py create mode 100644 web/src/admin/roles/RoleForm.ts create mode 100644 web/src/admin/roles/RoleListPage.ts create mode 100644 web/src/admin/roles/RolePermissionForm.ts create mode 100644 web/src/admin/roles/RolePermissionGlobalTable.ts create mode 100644 web/src/admin/roles/RolePermissionObjectTable.ts create mode 100644 web/src/admin/roles/RoleViewPage.ts create mode 100644 web/src/admin/users/UserAssignedGlobalPermissionsTable.ts create mode 100644 web/src/admin/users/UserAssignedObjectPermissionsTable.ts rename web/src/admin/users/{UserDevicesList.ts => UserDevicesTable.ts} (96%) create mode 100644 web/src/admin/users/UserPermissionForm.ts create mode 100644 web/src/elements/rbac/ObjectPermissionModal.ts create mode 100644 web/src/elements/rbac/ObjectPermissionsPage.ts create mode 100644 web/src/elements/rbac/PermissionSelectModal.ts create mode 100644 web/src/elements/rbac/RoleObjectPermissionForm.ts create mode 100644 web/src/elements/rbac/RoleObjectPermissionTable.ts create mode 100644 web/src/elements/rbac/UserObjectPermissionForm.ts create mode 100644 web/src/elements/rbac/UserObjectPermissionTable.ts diff --git a/.github/codecov.yml b/.github/codecov.yml index 1042659edd62..8db67faf6f84 100644 --- a/.github/codecov.yml +++ b/.github/codecov.yml @@ -6,5 +6,5 @@ coverage: # adjust accordingly based on how flaky your tests are # this allows a 1% drop from the previous base commit coverage threshold: 1% - notify: - after_n_builds: 3 +comment: + after_n_builds: 3 diff --git a/Makefile b/Makefile index bb7f70a43d24..9eb357164775 100644 --- a/Makefile +++ b/Makefile @@ -62,8 +62,9 @@ lint-fix: ## Lint and automatically fix errors in the python source code. Repor codespell -w $(CODESPELL_ARGS) lint: ## Lint the python and golang sources - pylint $(PY_SOURCES) bandit -r $(PY_SOURCES) -x node_modules + ./web/node_modules/.bin/pyright $(PY_SOURCES) + pylint $(PY_SOURCES) golangci-lint run -v migrate: ## Run the Authentik Django server's migrations diff --git a/authentik/admin/api/meta.py b/authentik/admin/api/meta.py index 25d944411d01..52640b8c5002 100644 --- a/authentik/admin/api/meta.py +++ b/authentik/admin/api/meta.py @@ -1,7 +1,7 @@ """Meta API""" from drf_spectacular.utils import extend_schema from rest_framework.fields import CharField -from rest_framework.permissions import IsAdminUser +from rest_framework.permissions import IsAuthenticated from rest_framework.request import Request from rest_framework.response import Response from rest_framework.viewsets import ViewSet @@ -21,7 +21,7 @@ class AppSerializer(PassiveSerializer): class AppsViewSet(ViewSet): """Read-only view list all installed apps""" - permission_classes = [IsAdminUser] + permission_classes = [IsAuthenticated] @extend_schema(responses={200: AppSerializer(many=True)}) def list(self, request: Request) -> Response: @@ -35,7 +35,7 @@ def list(self, request: Request) -> Response: class ModelViewSet(ViewSet): """Read-only view list all installed models""" - permission_classes = [IsAdminUser] + permission_classes = [IsAuthenticated] @extend_schema(responses={200: AppSerializer(many=True)}) def list(self, request: Request) -> Response: diff --git a/authentik/admin/api/metrics.py b/authentik/admin/api/metrics.py index 08aea59d28fb..af32662b17f9 100644 --- a/authentik/admin/api/metrics.py +++ b/authentik/admin/api/metrics.py @@ -5,7 +5,7 @@ from drf_spectacular.utils import extend_schema, extend_schema_field from guardian.shortcuts import get_objects_for_user from rest_framework.fields import IntegerField, SerializerMethodField -from rest_framework.permissions import IsAdminUser +from rest_framework.permissions import IsAuthenticated from rest_framework.request import Request from rest_framework.response import Response from rest_framework.views import APIView @@ -68,7 +68,7 @@ def get_authorizations(self, _): class AdministrationMetricsViewSet(APIView): """Login Metrics per 1h""" - permission_classes = [IsAdminUser] + permission_classes = [IsAuthenticated] @extend_schema(responses={200: LoginMetricsSerializer(many=False)}) def get(self, request: Request) -> Response: diff --git a/authentik/admin/api/system.py b/authentik/admin/api/system.py index 11dc5dfec9fb..7e7d2d920b89 100644 --- a/authentik/admin/api/system.py +++ b/authentik/admin/api/system.py @@ -8,7 +8,6 @@ from drf_spectacular.utils import extend_schema from gunicorn import version_info as gunicorn_version from rest_framework.fields import SerializerMethodField -from rest_framework.permissions import IsAdminUser from rest_framework.request import Request from rest_framework.response import Response from rest_framework.views import APIView @@ -17,6 +16,7 @@ from authentik.lib.utils.reflection import get_env from authentik.outposts.apps import MANAGED_OUTPOST from authentik.outposts.models import Outpost +from authentik.rbac.permissions import HasPermission class RuntimeDict(TypedDict): @@ -88,7 +88,7 @@ def get_embedded_outpost_host(self, request: Request) -> str: class SystemView(APIView): """Get system information.""" - permission_classes = [IsAdminUser] + permission_classes = [HasPermission("authentik_rbac.view_system_info")] pagination_class = None filter_backends = [] serializer_class = SystemSerializer diff --git a/authentik/admin/api/tasks.py b/authentik/admin/api/tasks.py index 00fbe4e0870f..72714dad5c22 100644 --- a/authentik/admin/api/tasks.py +++ b/authentik/admin/api/tasks.py @@ -14,14 +14,15 @@ ListField, SerializerMethodField, ) -from rest_framework.permissions import IsAdminUser from rest_framework.request import Request from rest_framework.response import Response from rest_framework.viewsets import ViewSet from structlog.stdlib import get_logger +from authentik.api.decorators import permission_required from authentik.core.api.utils import PassiveSerializer from authentik.events.monitored_tasks import TaskInfo, TaskResultStatus +from authentik.rbac.permissions import HasPermission LOGGER = get_logger() @@ -63,7 +64,7 @@ def to_representation(self, instance: TaskInfo): class TaskViewSet(ViewSet): """Read-only view set that returns all background tasks""" - permission_classes = [IsAdminUser] + permission_classes = [HasPermission("authentik_rbac.view_system_tasks")] serializer_class = TaskSerializer @extend_schema( @@ -93,6 +94,7 @@ def list(self, request: Request) -> Response: tasks = sorted(TaskInfo.all().values(), key=lambda task: task.task_name) return Response(TaskSerializer(tasks, many=True).data) + @permission_required(None, ["authentik_rbac.run_system_tasks"]) @extend_schema( request=OpenApiTypes.NONE, responses={ diff --git a/authentik/admin/api/workers.py b/authentik/admin/api/workers.py index ab6d03873aec..3b5da059482f 100644 --- a/authentik/admin/api/workers.py +++ b/authentik/admin/api/workers.py @@ -2,18 +2,18 @@ from django.conf import settings from drf_spectacular.utils import extend_schema, inline_serializer from rest_framework.fields import IntegerField -from rest_framework.permissions import IsAdminUser from rest_framework.request import Request from rest_framework.response import Response from rest_framework.views import APIView +from authentik.rbac.permissions import HasPermission from authentik.root.celery import CELERY_APP class WorkerView(APIView): """Get currently connected worker count.""" - permission_classes = [IsAdminUser] + permission_classes = [HasPermission("authentik_rbac.view_system_info")] @extend_schema(responses=inline_serializer("Workers", fields={"count": IntegerField()})) def get(self, request: Request) -> Response: diff --git a/authentik/api/authorization.py b/authentik/api/authorization.py index 05cd45819092..e3ae48e5c6e1 100644 --- a/authentik/api/authorization.py +++ b/authentik/api/authorization.py @@ -7,9 +7,9 @@ from rest_framework.filters import BaseFilterBackend from rest_framework.permissions import BasePermission from rest_framework.request import Request -from rest_framework_guardian.filters import ObjectPermissionsFilter from authentik.api.authentication import validate_auth +from authentik.rbac.filters import ObjectFilter class OwnerFilter(BaseFilterBackend): @@ -26,14 +26,14 @@ def filter_queryset(self, request: Request, queryset: QuerySet, view) -> QuerySe class SecretKeyFilter(DjangoFilterBackend): """Allow access to all objects when authenticated with secret key as token. - Replaces both DjangoFilterBackend and ObjectPermissionsFilter""" + Replaces both DjangoFilterBackend and ObjectFilter""" def filter_queryset(self, request: Request, queryset: QuerySet, view) -> QuerySet: auth_header = get_authorization_header(request) token = validate_auth(auth_header) if token and token == settings.SECRET_KEY: return queryset - queryset = ObjectPermissionsFilter().filter_queryset(request, queryset, view) + queryset = ObjectFilter().filter_queryset(request, queryset, view) return super().filter_queryset(request, queryset, view) diff --git a/authentik/api/decorators.py b/authentik/api/decorators.py index a79cebc92443..0cd737c76d82 100644 --- a/authentik/api/decorators.py +++ b/authentik/api/decorators.py @@ -10,7 +10,7 @@ LOGGER = get_logger() -def permission_required(perm: Optional[str] = None, other_perms: Optional[list[str]] = None): +def permission_required(obj_perm: Optional[str] = None, global_perms: Optional[list[str]] = None): """Check permissions for a single custom action""" def wrapper_outter(func: Callable): @@ -18,15 +18,17 @@ def wrapper_outter(func: Callable): @wraps(func) def wrapper(self: ModelViewSet, request: Request, *args, **kwargs) -> Response: - if perm: + if obj_perm: obj = self.get_object() - if not request.user.has_perm(perm, obj): - LOGGER.debug("denying access for object", user=request.user, perm=perm, obj=obj) + if not request.user.has_perm(obj_perm, obj): + LOGGER.debug( + "denying access for object", user=request.user, perm=obj_perm, obj=obj + ) return self.permission_denied(request) - if other_perms: - for other_perm in other_perms: + if global_perms: + for other_perm in global_perms: if not request.user.has_perm(other_perm): - LOGGER.debug("denying access for other", user=request.user, perm=perm) + LOGGER.debug("denying access for other", user=request.user, perm=other_perm) return self.permission_denied(request) return func(self, request, *args, **kwargs) diff --git a/authentik/api/pagination.py b/authentik/api/pagination.py index 7125c8968266..402dbac9b719 100644 --- a/authentik/api/pagination.py +++ b/authentik/api/pagination.py @@ -77,3 +77,10 @@ def get_paginated_response_schema(self, schema): }, "required": ["pagination", "results"], } + + +class SmallerPagination(Pagination): + """Smaller pagination for objects which might require a lot of queries + to retrieve all data for.""" + + max_page_size = 10 diff --git a/authentik/api/tests/test_viewsets.py b/authentik/api/tests/test_viewsets.py index dee956461579..ac3d7da62db9 100644 --- a/authentik/api/tests/test_viewsets.py +++ b/authentik/api/tests/test_viewsets.py @@ -16,6 +16,7 @@ def viewset_tester_factory(test_viewset: type[ModelViewSet]) -> Callable: def tester(self: TestModelViewSets): self.assertIsNotNone(getattr(test_viewset, "search_fields", None)) + self.assertIsNotNone(getattr(test_viewset, "ordering", None)) filterset_class = getattr(test_viewset, "filterset_class", None) if not filterset_class: self.assertIsNotNone(getattr(test_viewset, "filterset_fields", None)) diff --git a/authentik/blueprints/api.py b/authentik/blueprints/api.py index 9fac62c7230d..721eb5dcbef7 100644 --- a/authentik/blueprints/api.py +++ b/authentik/blueprints/api.py @@ -4,7 +4,6 @@ from rest_framework.decorators import action from rest_framework.exceptions import ValidationError from rest_framework.fields import CharField, DateTimeField, JSONField -from rest_framework.permissions import IsAdminUser from rest_framework.request import Request from rest_framework.response import Response from rest_framework.serializers import ListSerializer, ModelSerializer @@ -87,11 +86,11 @@ class Meta: class BlueprintInstanceViewSet(UsedByMixin, ModelViewSet): """Blueprint instances""" - permission_classes = [IsAdminUser] serializer_class = BlueprintInstanceSerializer queryset = BlueprintInstance.objects.all() search_fields = ["name", "path"] filterset_fields = ["name", "path"] + ordering = ["name"] @extend_schema( responses={ diff --git a/authentik/blueprints/v1/importer.py b/authentik/blueprints/v1/importer.py index 76c667c25e3d..f2191548ee3e 100644 --- a/authentik/blueprints/v1/importer.py +++ b/authentik/blueprints/v1/importer.py @@ -35,25 +35,28 @@ Source, UserSourceConnection, ) +from authentik.enterprise.models import LicenseUsage from authentik.events.utils import cleanse_dict from authentik.flows.models import FlowToken, Stage from authentik.lib.models import SerializerModel from authentik.lib.sentry import SentryIgnoredException from authentik.outposts.models import OutpostServiceConnection from authentik.policies.models import Policy, PolicyBindingModel +from authentik.providers.scim.models import SCIMGroup, SCIMUser # Context set when the serializer is created in a blueprint context # Update website/developer-docs/blueprints/v1/models.md when used SERIALIZER_CONTEXT_BLUEPRINT = "blueprint_entry" -def is_model_allowed(model: type[Model]) -> bool: - """Check if model is allowed""" +def excluded_models() -> list[type[Model]]: + """Return a list of all excluded models that shouldn't be exposed via API + or other means (internal only, base classes, non-used objects, etc)""" # pylint: disable=imported-auth-user from django.contrib.auth.models import Group as DjangoGroup from django.contrib.auth.models import User as DjangoUser - excluded_models = ( + return ( DjangoUser, DjangoGroup, # Base classes @@ -69,8 +72,15 @@ def is_model_allowed(model: type[Model]) -> bool: AuthenticatedSession, # Classes which are only internally managed FlowToken, + LicenseUsage, + SCIMGroup, + SCIMUser, ) - return model not in excluded_models and issubclass(model, (SerializerModel, BaseMetaModel)) + + +def is_model_allowed(model: type[Model]) -> bool: + """Check if model is allowed""" + return model not in excluded_models() and issubclass(model, (SerializerModel, BaseMetaModel)) class DoRollback(SentryIgnoredException): diff --git a/authentik/core/api/applications.py b/authentik/core/api/applications.py index f40aa316567e..478181c28fd9 100644 --- a/authentik/core/api/applications.py +++ b/authentik/core/api/applications.py @@ -17,7 +17,6 @@ from rest_framework.response import Response from rest_framework.serializers import ModelSerializer from rest_framework.viewsets import ModelViewSet -from rest_framework_guardian.filters import ObjectPermissionsFilter from structlog.stdlib import get_logger from structlog.testing import capture_logs @@ -38,6 +37,7 @@ from authentik.policies.api.exec import PolicyTestResultSerializer from authentik.policies.engine import PolicyEngine from authentik.policies.types import PolicyResult +from authentik.rbac.filters import ObjectFilter LOGGER = get_logger() @@ -122,7 +122,7 @@ class ApplicationViewSet(UsedByMixin, ModelViewSet): def _filter_queryset_for_list(self, queryset: QuerySet) -> QuerySet: """Custom filter_queryset method which ignores guardian, but still supports sorting""" for backend in list(self.filter_backends): - if backend == ObjectPermissionsFilter: + if backend == ObjectFilter: continue queryset = backend().filter_queryset(self.request, queryset, self) return queryset diff --git a/authentik/core/api/groups.py b/authentik/core/api/groups.py index 961633037d1b..4c6a8b509909 100644 --- a/authentik/core/api/groups.py +++ b/authentik/core/api/groups.py @@ -2,7 +2,6 @@ from json import loads from typing import Optional -from django.db.models.query import QuerySet from django.http import Http404 from django_filters.filters import CharFilter, ModelMultipleChoiceFilter from django_filters.filterset import FilterSet @@ -14,12 +13,12 @@ from rest_framework.response import Response from rest_framework.serializers import ListSerializer, ModelSerializer, ValidationError from rest_framework.viewsets import ModelViewSet -from rest_framework_guardian.filters import ObjectPermissionsFilter from authentik.api.decorators import permission_required from authentik.core.api.used_by import UsedByMixin from authentik.core.api.utils import PassiveSerializer, is_dict from authentik.core.models import Group, User +from authentik.rbac.api.roles import RoleSerializer class GroupMemberSerializer(ModelSerializer): @@ -49,6 +48,12 @@ class GroupSerializer(ModelSerializer): users_obj = ListSerializer( child=GroupMemberSerializer(), read_only=True, source="users", required=False ) + roles_obj = ListSerializer( + child=RoleSerializer(), + read_only=True, + source="roles", + required=False, + ) parent_name = CharField(source="parent.name", read_only=True, allow_null=True) num_pk = IntegerField(read_only=True) @@ -71,8 +76,10 @@ class Meta: "parent", "parent_name", "users", - "attributes", "users_obj", + "attributes", + "roles", + "roles_obj", ] extra_kwargs = { "users": { @@ -138,19 +145,6 @@ class GroupViewSet(UsedByMixin, ModelViewSet): filterset_class = GroupFilter ordering = ["name"] - def _filter_queryset_for_list(self, queryset: QuerySet) -> QuerySet: - """Custom filter_queryset method which ignores guardian, but still supports sorting""" - for backend in list(self.filter_backends): - if backend == ObjectPermissionsFilter: - continue - queryset = backend().filter_queryset(self.request, queryset, self) - return queryset - - def filter_queryset(self, queryset): - if self.request.user.has_perm("authentik_core.view_group"): - return self._filter_queryset_for_list(queryset) - return super().filter_queryset(queryset) - @permission_required(None, ["authentik_core.add_user"]) @extend_schema( request=UserAccountSerializer, diff --git a/authentik/core/api/transactional_applications.py b/authentik/core/api/transactional_applications.py index 9cc0ab0e5dec..19b6ea4656a8 100644 --- a/authentik/core/api/transactional_applications.py +++ b/authentik/core/api/transactional_applications.py @@ -119,6 +119,7 @@ class TransactionApplicationResponseSerializer(PassiveSerializer): class TransactionalApplicationView(APIView): """Create provider and application and attach them in a single transaction""" + # TODO: Migrate to a more specific permission permission_classes = [IsAdminUser] @extend_schema( diff --git a/authentik/core/api/used_by.py b/authentik/core/api/used_by.py index 66f0a70ddb5a..25e7d829511d 100644 --- a/authentik/core/api/used_by.py +++ b/authentik/core/api/used_by.py @@ -73,6 +73,11 @@ def used_by(self, request: Request, *args, **kwargs) -> Response: # but so we only apply them once, have a simple flag for the first object first_object = True + # TODO: This will only return the used-by references that the user can see + # Either we have to leak model information here to not make the list + # useless if the user doesn't have all permissions, or we need to double + # query and check if there is a difference between modes the user can see + # and can't see and add a warning for obj in get_objects_for_user( request.user, f"{app}.view_{model_name}", manager ).all(): diff --git a/authentik/core/api/users.py b/authentik/core/api/users.py index be59dc1c178a..d4adacc972dd 100644 --- a/authentik/core/api/users.py +++ b/authentik/core/api/users.py @@ -7,7 +7,6 @@ from django.contrib.sessions.backends.cache import KEY_PREFIX from django.core.cache import cache from django.db.models.functions import ExtractHour -from django.db.models.query import QuerySet from django.db.transaction import atomic from django.db.utils import IntegrityError from django.urls import reverse_lazy @@ -52,7 +51,6 @@ ) from rest_framework.validators import UniqueValidator from rest_framework.viewsets import ModelViewSet -from rest_framework_guardian.filters import ObjectPermissionsFilter from structlog.stdlib import get_logger from authentik.admin.api.metrics import CoordinateSerializer @@ -205,6 +203,7 @@ class UserSelfSerializer(ModelSerializer): groups = SerializerMethodField() uid = CharField(read_only=True) settings = SerializerMethodField() + system_permissions = SerializerMethodField() @extend_schema_field( ListSerializer( @@ -226,6 +225,14 @@ def get_settings(self, user: User) -> dict[str, Any]: """Get user settings with tenant and group settings applied""" return user.group_attributes(self._context["request"]).get("settings", {}) + def get_system_permissions(self, user: User) -> list[str]: + """Get all system permissions assigned to the user""" + return list( + user.user_permissions.filter( + content_type__app_label="authentik_rbac", content_type__model="systempermission" + ).values_list("codename", flat=True) + ) + class Meta: model = User fields = [ @@ -240,6 +247,7 @@ class Meta: "uid", "settings", "type", + "system_permissions", ] extra_kwargs = { "is_active": {"read_only": True}, @@ -654,19 +662,6 @@ def impersonate_end(self, request: Request) -> Response: return Response(status=204) - def _filter_queryset_for_list(self, queryset: QuerySet) -> QuerySet: - """Custom filter_queryset method which ignores guardian, but still supports sorting""" - for backend in list(self.filter_backends): - if backend == ObjectPermissionsFilter: - continue - queryset = backend().filter_queryset(self.request, queryset, self) - return queryset - - def filter_queryset(self, queryset): - if self.request.user.has_perm("authentik_core.view_user"): - return self._filter_queryset_for_list(queryset) - return super().filter_queryset(queryset) - @extend_schema( responses={ 200: inline_serializer( diff --git a/authentik/core/migrations/0032_group_roles.py b/authentik/core/migrations/0032_group_roles.py new file mode 100644 index 000000000000..754b1bfba5ec --- /dev/null +++ b/authentik/core/migrations/0032_group_roles.py @@ -0,0 +1,45 @@ +# Generated by Django 4.2.6 on 2023-10-11 13:37 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("authentik_core", "0031_alter_user_type"), + ("authentik_rbac", "0001_initial"), + ] + + operations = [ + migrations.AlterModelOptions( + name="group", + options={"verbose_name": "Group", "verbose_name_plural": "Groups"}, + ), + migrations.AlterModelOptions( + name="token", + options={ + "permissions": [("view_token_key", "View token's key")], + "verbose_name": "Token", + "verbose_name_plural": "Tokens", + }, + ), + migrations.AlterModelOptions( + name="user", + options={ + "permissions": [ + ("reset_user_password", "Reset Password"), + ("impersonate", "Can impersonate other users"), + ("assign_user_permissions", "Can assign permissions to users"), + ("unassign_user_permissions", "Can unassign permissions from users"), + ], + "verbose_name": "User", + "verbose_name_plural": "Users", + }, + ), + migrations.AddField( + model_name="group", + name="roles", + field=models.ManyToManyField( + blank=True, related_name="ak_groups", to="authentik_rbac.role" + ), + ), + ] diff --git a/authentik/core/models.py b/authentik/core/models.py index 7f4c25ca7f8b..5365ef693f27 100644 --- a/authentik/core/models.py +++ b/authentik/core/models.py @@ -1,7 +1,7 @@ """authentik core models""" from datetime import timedelta from hashlib import sha256 -from typing import Any, Optional +from typing import Any, Optional, Self from uuid import uuid4 from deepmerge import always_merger @@ -88,6 +88,8 @@ class Group(SerializerModel): default=False, help_text=_("Users added to this group will be superusers.") ) + roles = models.ManyToManyField("authentik_rbac.Role", related_name="ak_groups", blank=True) + parent = models.ForeignKey( "Group", blank=True, @@ -115,6 +117,38 @@ def is_member(self, user: "User") -> bool: """Recursively check if `user` is member of us, or any parent.""" return user.all_groups().filter(group_uuid=self.group_uuid).exists() + def children_recursive(self: Self | QuerySet["Group"]) -> QuerySet["Group"]: + """Recursively get all groups that have this as parent or are indirectly related""" + direct_groups = [] + if isinstance(self, QuerySet): + direct_groups = list(x for x in self.all().values_list("pk", flat=True).iterator()) + else: + direct_groups = [self.pk] + if len(direct_groups) < 1: + return Group.objects.none() + query = """ + WITH RECURSIVE parents AS ( + SELECT authentik_core_group.*, 0 AS relative_depth + FROM authentik_core_group + WHERE authentik_core_group.group_uuid = ANY(%s) + + UNION ALL + + SELECT authentik_core_group.*, parents.relative_depth + 1 + FROM authentik_core_group, parents + WHERE ( + authentik_core_group.group_uuid = parents.parent_id and + parents.relative_depth < 20 + ) + ) + SELECT group_uuid + FROM parents + GROUP BY group_uuid, name + ORDER BY name; + """ + group_pks = [group.pk for group in Group.objects.raw(query, [direct_groups]).iterator()] + return Group.objects.filter(pk__in=group_pks) + def __str__(self): return f"Group {self.name}" @@ -125,6 +159,8 @@ class Meta: "parent", ), ) + verbose_name = _("Group") + verbose_name_plural = _("Groups") class UserManager(DjangoUserManager): @@ -160,33 +196,7 @@ def all_groups(self) -> QuerySet[Group]: """Recursively get all groups this user is a member of. At least one query is done to get the direct groups of the user, with groups there are at most 3 queries done""" - direct_groups = list( - x for x in self.ak_groups.all().values_list("pk", flat=True).iterator() - ) - if len(direct_groups) < 1: - return Group.objects.none() - query = """ - WITH RECURSIVE parents AS ( - SELECT authentik_core_group.*, 0 AS relative_depth - FROM authentik_core_group - WHERE authentik_core_group.group_uuid = ANY(%s) - - UNION ALL - - SELECT authentik_core_group.*, parents.relative_depth + 1 - FROM authentik_core_group, parents - WHERE ( - authentik_core_group.group_uuid = parents.parent_id and - parents.relative_depth < 20 - ) - ) - SELECT group_uuid - FROM parents - GROUP BY group_uuid, name - ORDER BY name; - """ - group_pks = [group.pk for group in Group.objects.raw(query, [direct_groups]).iterator()] - return Group.objects.filter(pk__in=group_pks) + return Group.children_recursive(self.ak_groups.all()) def group_attributes(self, request: Optional[HttpRequest] = None) -> dict[str, Any]: """Get a dictionary containing the attributes from all groups the user belongs to, @@ -261,12 +271,14 @@ def avatar(self) -> str: return get_avatar(self) class Meta: - permissions = ( - ("reset_user_password", "Reset Password"), - ("impersonate", "Can impersonate other users"), - ) verbose_name = _("User") verbose_name_plural = _("Users") + permissions = [ + ("reset_user_password", _("Reset Password")), + ("impersonate", _("Can impersonate other users")), + ("assign_user_permissions", _("Can assign permissions to users")), + ("unassign_user_permissions", _("Can unassign permissions from users")), + ] class Provider(SerializerModel): @@ -675,7 +687,7 @@ class Meta: models.Index(fields=["identifier"]), models.Index(fields=["key"]), ] - permissions = (("view_token_key", "View token's key"),) + permissions = [("view_token_key", _("View token's key"))] class PropertyMapping(SerializerModel, ManagedModel): diff --git a/authentik/core/signals.py b/authentik/core/signals.py index 76cbd38ffa64..31340fce91b1 100644 --- a/authentik/core/signals.py +++ b/authentik/core/signals.py @@ -7,6 +7,7 @@ from django.db.models.signals import post_save, pre_delete, pre_save from django.dispatch import receiver from django.http.request import HttpRequest +from structlog.stdlib import get_logger from authentik.core.models import Application, AuthenticatedSession, BackchannelProvider, User @@ -15,6 +16,8 @@ # Arguments: credentials: dict[str, any], request: HttpRequest, stage: Stage login_failed = Signal() +LOGGER = get_logger() + @receiver(post_save, sender=Application) def post_save_application(sender: type[Model], instance, created: bool, **_): diff --git a/authentik/core/tests/utils.py b/authentik/core/tests/utils.py index 59294e6fda60..da4294f420bd 100644 --- a/authentik/core/tests/utils.py +++ b/authentik/core/tests/utils.py @@ -21,10 +21,9 @@ def create_test_flow( ) -def create_test_admin_user(name: Optional[str] = None, **kwargs) -> User: - """Generate a test-admin user""" +def create_test_user(name: Optional[str] = None, **kwargs) -> User: + """Generate a test user""" uid = generate_id(20) if not name else name - group = Group.objects.create(name=uid, is_superuser=True) kwargs.setdefault("email", f"{uid}@goauthentik.io") kwargs.setdefault("username", uid) user: User = User.objects.create( @@ -33,6 +32,13 @@ def create_test_admin_user(name: Optional[str] = None, **kwargs) -> User: ) user.set_password(uid) user.save() + return user + + +def create_test_admin_user(name: Optional[str] = None, **kwargs) -> User: + """Generate a test-admin user""" + user = create_test_user(name, **kwargs) + group = Group.objects.create(name=user.name or name, is_superuser=True) group.users.add(user) return user diff --git a/authentik/enterprise/api.py b/authentik/enterprise/api.py index 6a215b1fe46d..fdf0a11fcfe3 100644 --- a/authentik/enterprise/api.py +++ b/authentik/enterprise/api.py @@ -6,7 +6,7 @@ from drf_spectacular.utils import extend_schema, inline_serializer from rest_framework.decorators import action from rest_framework.fields import BooleanField, CharField, DateTimeField, IntegerField -from rest_framework.permissions import IsAdminUser, IsAuthenticated +from rest_framework.permissions import IsAuthenticated from rest_framework.request import Request from rest_framework.response import Response from rest_framework.serializers import ModelSerializer @@ -84,7 +84,7 @@ class LicenseViewSet(UsedByMixin, ModelViewSet): 200: inline_serializer("InstallIDSerializer", {"install_id": CharField(required=True)}), }, ) - @action(detail=False, methods=["GET"], permission_classes=[IsAdminUser]) + @action(detail=False, methods=["GET"]) def get_install_id(self, request: Request) -> Response: """Get install_id""" return Response( diff --git a/authentik/enterprise/migrations/0002_rename_users_license_internal_users_and_more.py b/authentik/enterprise/migrations/0002_rename_users_license_internal_users_and_more.py index b3c199743250..da574762e006 100644 --- a/authentik/enterprise/migrations/0002_rename_users_license_internal_users_and_more.py +++ b/authentik/enterprise/migrations/0002_rename_users_license_internal_users_and_more.py @@ -33,4 +33,8 @@ class Migration(migrations.Migration): "verbose_name_plural": "License Usage Records", }, ), + migrations.AlterModelOptions( + name="license", + options={"verbose_name": "License", "verbose_name_plural": "Licenses"}, + ), ] diff --git a/authentik/enterprise/models.py b/authentik/enterprise/models.py index d10acd3ef3f4..aca8f0b02132 100644 --- a/authentik/enterprise/models.py +++ b/authentik/enterprise/models.py @@ -19,8 +19,10 @@ from guardian.shortcuts import get_anonymous_user from jwt import PyJWTError, decode, get_unverified_header from rest_framework.exceptions import ValidationError +from rest_framework.serializers import BaseSerializer from authentik.core.models import ExpiringModel, User, UserTypes +from authentik.lib.models import SerializerModel from authentik.root.install_id import get_install_id @@ -151,7 +153,7 @@ def last_valid_date() -> datetime: return usage.record_date -class License(models.Model): +class License(SerializerModel): """An authentik enterprise license""" license_uuid = models.UUIDField(primary_key=True, editable=False, default=uuid4) @@ -162,6 +164,12 @@ class License(models.Model): internal_users = models.BigIntegerField() external_users = models.BigIntegerField() + @property + def serializer(self) -> type[BaseSerializer]: + from authentik.enterprise.api import LicenseSerializer + + return LicenseSerializer + @property def status(self) -> LicenseKey: """Get parsed license status""" @@ -169,6 +177,8 @@ def status(self) -> LicenseKey: class Meta: indexes = (HashIndex(fields=("key",)),) + verbose_name = _("License") + verbose_name_plural = _("Licenses") def usage_expiry(): diff --git a/authentik/flows/api/bindings.py b/authentik/flows/api/bindings.py index bda3ab32395e..96e2e466294e 100644 --- a/authentik/flows/api/bindings.py +++ b/authentik/flows/api/bindings.py @@ -45,3 +45,4 @@ class FlowStageBindingViewSet(UsedByMixin, ModelViewSet): serializer_class = FlowStageBindingSerializer filterset_fields = "__all__" search_fields = ["stage__name"] + ordering = ["order"] diff --git a/authentik/flows/challenge.py b/authentik/flows/challenge.py index e1eeb56fd67e..eb968ce791ab 100644 --- a/authentik/flows/challenge.py +++ b/authentik/flows/challenge.py @@ -132,13 +132,6 @@ class PermissionDict(TypedDict): name: str -class PermissionSerializer(PassiveSerializer): - """Permission used for consent""" - - name = CharField(allow_blank=True) - id = CharField() - - class ChallengeResponse(PassiveSerializer): """Base class for all challenge responses""" diff --git a/authentik/flows/migrations/0026_alter_flow_options.py b/authentik/flows/migrations/0026_alter_flow_options.py new file mode 100644 index 000000000000..c53d3774e8c3 --- /dev/null +++ b/authentik/flows/migrations/0026_alter_flow_options.py @@ -0,0 +1,25 @@ +# Generated by Django 4.2.6 on 2023-10-10 17:18 + +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("authentik_flows", "0025_alter_flowstagebinding_evaluate_on_plan_and_more"), + ] + + operations = [ + migrations.AlterModelOptions( + name="flow", + options={ + "permissions": [ + ("export_flow", "Can export a Flow"), + ("inspect_flow", "Can inspect a Flow's execution"), + ("view_flow_cache", "View Flow's cache metrics"), + ("clear_flow_cache", "Clear Flow's cache metrics"), + ], + "verbose_name": "Flow", + "verbose_name_plural": "Flows", + }, + ), + ] diff --git a/authentik/flows/models.py b/authentik/flows/models.py index f638ef04d806..67f7f0a9cfd3 100644 --- a/authentik/flows/models.py +++ b/authentik/flows/models.py @@ -194,9 +194,10 @@ class Meta: verbose_name_plural = _("Flows") permissions = [ - ("export_flow", "Can export a Flow"), - ("view_flow_cache", "View Flow's cache metrics"), - ("clear_flow_cache", "Clear Flow's cache metrics"), + ("export_flow", _("Can export a Flow")), + ("inspect_flow", _("Can inspect a Flow's execution")), + ("view_flow_cache", _("View Flow's cache metrics")), + ("clear_flow_cache", _("Clear Flow's cache metrics")), ] diff --git a/authentik/flows/views/inspector.py b/authentik/flows/views/inspector.py index 3593c65da6e3..4800ead6d7b3 100644 --- a/authentik/flows/views/inspector.py +++ b/authentik/flows/views/inspector.py @@ -3,6 +3,7 @@ from typing import Any from django.conf import settings +from django.http import Http404 from django.http.request import HttpRequest from django.http.response import HttpResponse from django.shortcuts import get_object_or_404 @@ -11,7 +12,6 @@ from drf_spectacular.types import OpenApiTypes from drf_spectacular.utils import OpenApiResponse, extend_schema from rest_framework.fields import BooleanField, ListField, SerializerMethodField -from rest_framework.permissions import IsAdminUser from rest_framework.request import Request from rest_framework.response import Response from rest_framework.views import APIView @@ -68,21 +68,19 @@ class FlowInspectionSerializer(PassiveSerializer): class FlowInspectorView(APIView): """Flow inspector API""" - permission_classes = [IsAdminUser] - flow: Flow _logger: BoundLogger - - def check_permissions(self, request): - """Always allow access when in debug mode""" - if settings.DEBUG: - return None - return super().check_permissions(request) + permission_classes = [] def setup(self, request: HttpRequest, flow_slug: str): super().setup(request, flow_slug=flow_slug) - self.flow = get_object_or_404(Flow.objects.select_related(), slug=flow_slug) self._logger = get_logger().bind(flow_slug=flow_slug) + self.flow = get_object_or_404(Flow.objects.select_related(), slug=flow_slug) + if settings.DEBUG: + return + if request.user.has_perm("authentik_flow.inspect_flow", self.flow): + return + raise Http404 @extend_schema( responses={ diff --git a/authentik/lib/validators.py b/authentik/lib/validators.py new file mode 100644 index 000000000000..7c67da8c1a55 --- /dev/null +++ b/authentik/lib/validators.py @@ -0,0 +1,32 @@ +"""Serializer validators""" +from typing import Optional + +from django.utils.translation import gettext_lazy as _ +from rest_framework.exceptions import ValidationError +from rest_framework.serializers import Serializer +from rest_framework.utils.representation import smart_repr + + +class RequiredTogetherValidator: + """Serializer-level validator that ensures all fields in `fields` are only + used together""" + + fields: list[str] + requires_context = True + message = _("The fields {field_names} must be used together.") + + def __init__(self, fields: list[str], message: Optional[str] = None) -> None: + self.fields = fields + self.message = message or self.message + + def __call__(self, attrs: dict, serializer: Serializer): + """Check that if any of the fields in `self.fields` are set, all of them must be set""" + if any(field in attrs for field in self.fields) and not all( + field in attrs for field in self.fields + ): + field_names = ", ".join(self.fields) + message = self.message.format(field_names=field_names) + raise ValidationError(message, code="required") + + def __repr__(self): + return "<%s(fields=%s)>" % (self.__class__.__name__, smart_repr(self.fields)) diff --git a/authentik/outposts/migrations/0020_alter_outpost_type.py b/authentik/outposts/migrations/0020_alter_outpost_type.py index 5036137c0f17..b643f8d47d0d 100644 --- a/authentik/outposts/migrations/0020_alter_outpost_type.py +++ b/authentik/outposts/migrations/0020_alter_outpost_type.py @@ -28,4 +28,8 @@ class Migration(migrations.Migration): verbose_name="Managed by authentik", ), ), + migrations.AlterModelOptions( + name="outpost", + options={"verbose_name": "Outpost", "verbose_name_plural": "Outposts"}, + ), ] diff --git a/authentik/outposts/models.py b/authentik/outposts/models.py index 878a3e9e6831..f876a0cf35f3 100644 --- a/authentik/outposts/models.py +++ b/authentik/outposts/models.py @@ -405,6 +405,10 @@ def get_required_objects(self) -> Iterable[models.Model | str]: def __str__(self) -> str: return f"Outpost {self.name}" + class Meta: + verbose_name = _("Outpost") + verbose_name_plural = _("Outposts") + @dataclass class OutpostState: diff --git a/authentik/policies/models.py b/authentik/policies/models.py index 2e7d69c61875..b99aeb549773 100644 --- a/authentik/policies/models.py +++ b/authentik/policies/models.py @@ -190,8 +190,8 @@ class Meta: verbose_name_plural = _("Policies") permissions = [ - ("view_policy_cache", "View Policy's cache metrics"), - ("clear_policy_cache", "Clear Policy's cache metrics"), + ("view_policy_cache", _("View Policy's cache metrics")), + ("clear_policy_cache", _("Clear Policy's cache metrics")), ] class PolicyMeta: diff --git a/authentik/rbac/__init__.py b/authentik/rbac/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/authentik/rbac/api/__init__.py b/authentik/rbac/api/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/authentik/rbac/api/rbac.py b/authentik/rbac/api/rbac.py new file mode 100644 index 000000000000..3f468f483d96 --- /dev/null +++ b/authentik/rbac/api/rbac.py @@ -0,0 +1,130 @@ +"""common RBAC serializers""" +from django.apps import apps +from django.contrib.auth.models import Permission +from django.db.models import QuerySet +from django_filters.filters import ModelChoiceFilter +from django_filters.filterset import FilterSet +from rest_framework.exceptions import ValidationError +from rest_framework.fields import ( + CharField, + ChoiceField, + ListField, + ReadOnlyField, + SerializerMethodField, +) +from rest_framework.serializers import ModelSerializer +from rest_framework.viewsets import ReadOnlyModelViewSet + +from authentik.core.api.utils import PassiveSerializer +from authentik.core.models import User +from authentik.lib.validators import RequiredTogetherValidator +from authentik.policies.event_matcher.models import model_choices +from authentik.rbac.models import Role + + +class PermissionSerializer(ModelSerializer): + """Global permission""" + + app_label = ReadOnlyField(source="content_type.app_label") + app_label_verbose = SerializerMethodField() + model = ReadOnlyField(source="content_type.model") + model_verbose = SerializerMethodField() + + def get_app_label_verbose(self, instance: Permission) -> str: + """Human-readable app label""" + return apps.get_app_config(instance.content_type.app_label).verbose_name + + def get_model_verbose(self, instance: Permission) -> str: + """Human-readable model name""" + return apps.get_model( + instance.content_type.app_label, instance.content_type.model + )._meta.verbose_name + + class Meta: + model = Permission + fields = [ + "id", + "name", + "codename", + "model", + "app_label", + "app_label_verbose", + "model_verbose", + ] + + +class PermissionFilter(FilterSet): + """Filter permissions""" + + role = ModelChoiceFilter(queryset=Role.objects.all(), method="filter_role") + user = ModelChoiceFilter(queryset=User.objects.all()) + + def filter_role(self, queryset: QuerySet, name, value: Role) -> QuerySet: + """Filter permissions based on role""" + return queryset.filter(group__role=value) + + class Meta: + model = Permission + fields = [ + "codename", + "content_type__model", + "content_type__app_label", + "role", + "user", + ] + + +class RBACPermissionViewSet(ReadOnlyModelViewSet): + """Read-only list of all permissions, filterable by model and app""" + + queryset = Permission.objects.none() + serializer_class = PermissionSerializer + ordering = ["name"] + filterset_class = PermissionFilter + search_fields = [ + "codename", + "content_type__model", + "content_type__app_label", + ] + + def get_queryset(self) -> QuerySet: + return ( + Permission.objects.all() + .select_related("content_type") + .filter( + content_type__app_label__startswith="authentik", + ) + ) + + +class PermissionAssignSerializer(PassiveSerializer): + """Request to assign a new permission""" + + permissions = ListField(child=CharField()) + model = ChoiceField(choices=model_choices(), required=False) + object_pk = CharField(required=False) + + validators = [RequiredTogetherValidator(fields=["model", "object_pk"])] + + def validate(self, attrs: dict) -> dict: + model_instance = None + # Check if we're setting an object-level perm or global + model = attrs.get("model") + object_pk = attrs.get("object_pk") + if model and object_pk: + model = apps.get_model(attrs["model"]) + model_instance = model.objects.filter(pk=attrs["object_pk"]).first() + attrs["model_instance"] = model_instance + if attrs.get("model"): + return attrs + permissions = attrs.get("permissions", []) + if not all("." in perm for perm in permissions): + raise ValidationError( + { + "permissions": ( + "When assigning global permissions, codename must be given as " + "app_label.codename" + ) + } + ) + return attrs diff --git a/authentik/rbac/api/rbac_assigned_by_roles.py b/authentik/rbac/api/rbac_assigned_by_roles.py new file mode 100644 index 000000000000..5dcdcab129c3 --- /dev/null +++ b/authentik/rbac/api/rbac_assigned_by_roles.py @@ -0,0 +1,123 @@ +"""common RBAC serializers""" +from django.db.models import Q, QuerySet +from django.db.transaction import atomic +from django_filters.filters import CharFilter, ChoiceFilter +from django_filters.filterset import FilterSet +from drf_spectacular.utils import OpenApiResponse, extend_schema +from guardian.models import GroupObjectPermission +from guardian.shortcuts import assign_perm, remove_perm +from rest_framework.decorators import action +from rest_framework.fields import CharField, ReadOnlyField +from rest_framework.mixins import ListModelMixin +from rest_framework.request import Request +from rest_framework.response import Response +from rest_framework.serializers import ModelSerializer +from rest_framework.viewsets import GenericViewSet + +from authentik.api.decorators import permission_required +from authentik.core.api.utils import PassiveSerializer +from authentik.policies.event_matcher.models import model_choices +from authentik.rbac.api.rbac import PermissionAssignSerializer +from authentik.rbac.models import Role + + +class RoleObjectPermissionSerializer(ModelSerializer): + """Role-bound object level permission""" + + app_label = ReadOnlyField(source="content_type.app_label") + model = ReadOnlyField(source="content_type.model") + codename = ReadOnlyField(source="permission.codename") + name = ReadOnlyField(source="permission.name") + object_pk = ReadOnlyField() + + class Meta: + model = GroupObjectPermission + fields = ["id", "codename", "model", "app_label", "object_pk", "name"] + + +class RoleAssignedObjectPermissionSerializer(PassiveSerializer): + """Roles assigned object permission serializer""" + + role_pk = CharField(source="group.role.pk", read_only=True) + name = CharField(source="group.name", read_only=True) + permissions = RoleObjectPermissionSerializer( + many=True, source="group.groupobjectpermission_set" + ) + + class Meta: + model = Role + fields = ["role_pk", "name", "permissions"] + + +class RoleAssignedPermissionFilter(FilterSet): + """Role Assigned permission filter""" + + model = ChoiceFilter(choices=model_choices(), method="filter_model", required=True) + object_pk = CharFilter(method="filter_object_pk") + + def filter_model(self, queryset: QuerySet, name, value: str) -> QuerySet: + """Filter by object type""" + app, _, model = value.partition(".") + return queryset.filter( + Q( + group__permissions__content_type__app_label=app, + group__permissions__content_type__model=model, + ) + | Q( + group__groupobjectpermission__permission__content_type__app_label=app, + group__groupobjectpermission__permission__content_type__model=model, + ) + ).distinct() + + def filter_object_pk(self, queryset: QuerySet, name, value: str) -> QuerySet: + """Filter by object primary key""" + return queryset.filter(Q(group__groupobjectpermission__object_pk=value)).distinct() + + +class RoleAssignedPermissionViewSet(ListModelMixin, GenericViewSet): + """Get assigned object permissions for a single object""" + + serializer_class = RoleAssignedObjectPermissionSerializer + ordering = ["name"] + # The filtering is done in the filterset, + # which has a required filter that does the heavy lifting + queryset = Role.objects.all() + filterset_class = RoleAssignedPermissionFilter + + @permission_required("authentik_rbac.assign_role_permissions") + @extend_schema( + request=PermissionAssignSerializer(), + responses={ + 204: OpenApiResponse(description="Successfully assigned"), + }, + ) + @action(methods=["POST"], detail=True, pagination_class=None, filter_backends=[]) + def assign(self, request: Request, *args, **kwargs) -> Response: + """Assign permission(s) to role. When `object_pk` is set, the permissions + are only assigned to the specific object, otherwise they are assigned globally.""" + role: Role = self.get_object() + data = PermissionAssignSerializer(data=request.data) + data.is_valid(raise_exception=True) + with atomic(): + for perm in data.validated_data["permissions"]: + assign_perm(perm, role.group, data.validated_data["model_instance"]) + return Response(status=204) + + @permission_required("authentik_rbac.unassign_role_permissions") + @extend_schema( + request=PermissionAssignSerializer(), + responses={ + 204: OpenApiResponse(description="Successfully unassigned"), + }, + ) + @action(methods=["PATCH"], detail=True, pagination_class=None, filter_backends=[]) + def unassign(self, request: Request, *args, **kwargs) -> Response: + """Unassign permission(s) to role. When `object_pk` is set, the permissions + are only assigned to the specific object, otherwise they are assigned globally.""" + role: Role = self.get_object() + data = PermissionAssignSerializer(data=request.data) + data.is_valid(raise_exception=True) + with atomic(): + for perm in data.validated_data["permissions"]: + remove_perm(perm, role.group, data.validated_data["model_instance"]) + return Response(status=204) diff --git a/authentik/rbac/api/rbac_assigned_by_users.py b/authentik/rbac/api/rbac_assigned_by_users.py new file mode 100644 index 000000000000..d69b30a5224b --- /dev/null +++ b/authentik/rbac/api/rbac_assigned_by_users.py @@ -0,0 +1,129 @@ +"""common RBAC serializers""" +from django.db.models import Q, QuerySet +from django.db.transaction import atomic +from django_filters.filters import CharFilter, ChoiceFilter +from django_filters.filterset import FilterSet +from drf_spectacular.utils import OpenApiResponse, extend_schema +from guardian.models import UserObjectPermission +from guardian.shortcuts import assign_perm, remove_perm +from rest_framework.decorators import action +from rest_framework.exceptions import ValidationError +from rest_framework.fields import BooleanField, ReadOnlyField +from rest_framework.mixins import ListModelMixin +from rest_framework.request import Request +from rest_framework.response import Response +from rest_framework.serializers import ModelSerializer +from rest_framework.viewsets import GenericViewSet + +from authentik.api.decorators import permission_required +from authentik.core.api.groups import GroupMemberSerializer +from authentik.core.models import User, UserTypes +from authentik.policies.event_matcher.models import model_choices +from authentik.rbac.api.rbac import PermissionAssignSerializer + + +class UserObjectPermissionSerializer(ModelSerializer): + """User-bound object level permission""" + + app_label = ReadOnlyField(source="content_type.app_label") + model = ReadOnlyField(source="content_type.model") + codename = ReadOnlyField(source="permission.codename") + name = ReadOnlyField(source="permission.name") + object_pk = ReadOnlyField() + + class Meta: + model = UserObjectPermission + fields = ["id", "codename", "model", "app_label", "object_pk", "name"] + + +class UserAssignedObjectPermissionSerializer(GroupMemberSerializer): + """Users assigned object permission serializer""" + + permissions = UserObjectPermissionSerializer(many=True, source="userobjectpermission_set") + is_superuser = BooleanField() + + class Meta: + model = GroupMemberSerializer.Meta.model + fields = GroupMemberSerializer.Meta.fields + ["permissions", "is_superuser"] + + +class UserAssignedPermissionFilter(FilterSet): + """Assigned permission filter""" + + model = ChoiceFilter(choices=model_choices(), method="filter_model", required=True) + object_pk = CharFilter(method="filter_object_pk") + + def filter_model(self, queryset: QuerySet, name, value: str) -> QuerySet: + """Filter by object type""" + app, _, model = value.partition(".") + return queryset.filter( + Q( + user_permissions__content_type__app_label=app, + user_permissions__content_type__model=model, + ) + | Q( + userobjectpermission__permission__content_type__app_label=app, + userobjectpermission__permission__content_type__model=model, + ) + | Q(ak_groups__is_superuser=True) + ).distinct() + + def filter_object_pk(self, queryset: QuerySet, name, value: str) -> QuerySet: + """Filter by object primary key""" + return queryset.filter( + Q(userobjectpermission__object_pk=value) | Q(ak_groups__is_superuser=True), + ).distinct() + + +class UserAssignedPermissionViewSet(ListModelMixin, GenericViewSet): + """Get assigned object permissions for a single object""" + + serializer_class = UserAssignedObjectPermissionSerializer + ordering = ["username"] + # The filtering is done in the filterset, + # which has a required filter that does the heavy lifting + queryset = User.objects.all() + filterset_class = UserAssignedPermissionFilter + + @permission_required("authentik_core.assign_user_permissions") + @extend_schema( + request=PermissionAssignSerializer(), + responses={ + 204: OpenApiResponse(description="Successfully assigned"), + }, + ) + @action(methods=["POST"], detail=True, pagination_class=None, filter_backends=[]) + def assign(self, request: Request, *args, **kwargs) -> Response: + """Assign permission(s) to user""" + user: User = self.get_object() + if user.type == UserTypes.INTERNAL_SERVICE_ACCOUNT: + raise ValidationError("Permissions cannot be assigned to an internal service account.") + data = PermissionAssignSerializer(data=request.data) + data.is_valid(raise_exception=True) + with atomic(): + for perm in data.validated_data["permissions"]: + assign_perm(perm, user, data.validated_data["model_instance"]) + return Response(status=204) + + @permission_required("authentik_core.unassign_user_permissions") + @extend_schema( + request=PermissionAssignSerializer(), + responses={ + 204: OpenApiResponse(description="Successfully unassigned"), + }, + ) + @action(methods=["PATCH"], detail=True, pagination_class=None, filter_backends=[]) + def unassign(self, request: Request, *args, **kwargs) -> Response: + """Unassign permission(s) to user. When `object_pk` is set, the permissions + are only assigned to the specific object, otherwise they are assigned globally.""" + user: User = self.get_object() + if user.type == UserTypes.INTERNAL_SERVICE_ACCOUNT: + raise ValidationError( + "Permissions cannot be unassigned from an internal service account." + ) + data = PermissionAssignSerializer(data=request.data) + data.is_valid(raise_exception=True) + with atomic(): + for perm in data.validated_data["permissions"]: + remove_perm(perm, user, data.validated_data["model_instance"]) + return Response(status=204) diff --git a/authentik/rbac/api/rbac_roles.py b/authentik/rbac/api/rbac_roles.py new file mode 100644 index 000000000000..162a3225b07c --- /dev/null +++ b/authentik/rbac/api/rbac_roles.py @@ -0,0 +1,71 @@ +"""common RBAC serializers""" +from typing import Optional + +from django.apps import apps +from django_filters.filters import UUIDFilter +from django_filters.filterset import FilterSet +from guardian.models import GroupObjectPermission +from guardian.shortcuts import get_objects_for_group +from rest_framework.fields import SerializerMethodField +from rest_framework.mixins import ListModelMixin +from rest_framework.viewsets import GenericViewSet + +from authentik.api.pagination import SmallerPagination +from authentik.rbac.api.rbac_assigned_by_roles import RoleObjectPermissionSerializer + + +class ExtraRoleObjectPermissionSerializer(RoleObjectPermissionSerializer): + """User permission with additional object-related data""" + + app_label_verbose = SerializerMethodField() + model_verbose = SerializerMethodField() + + object_description = SerializerMethodField() + + def get_app_label_verbose(self, instance: GroupObjectPermission) -> str: + """Get app label from permission's model""" + return apps.get_app_config(instance.content_type.app_label).verbose_name + + def get_model_verbose(self, instance: GroupObjectPermission) -> str: + """Get model label from permission's model""" + return apps.get_model( + instance.content_type.app_label, instance.content_type.model + )._meta.verbose_name + + def get_object_description(self, instance: GroupObjectPermission) -> Optional[str]: + """Get model description from attached model. This operation takes at least + one additional query, and the description is only shown if the user/role has the + view_ permission on the object""" + app_label = instance.content_type.app_label + model = instance.content_type.model + model_class = apps.get_model(app_label, model) + objects = get_objects_for_group(instance.group, f"{app_label}.view_{model}", model_class) + obj = objects.first() + if not obj: + return None + return str(obj) + + class Meta(RoleObjectPermissionSerializer.Meta): + fields = RoleObjectPermissionSerializer.Meta.fields + [ + "app_label_verbose", + "model_verbose", + "object_description", + ] + + +class RolePermissionFilter(FilterSet): + """Role permission filter""" + + uuid = UUIDFilter("group__role__uuid", required=True) + + +class RolePermissionViewSet(ListModelMixin, GenericViewSet): + """Get a role's assigned object permissions""" + + serializer_class = ExtraRoleObjectPermissionSerializer + ordering = ["group__role__name"] + pagination_class = SmallerPagination + # The filtering is done in the filterset, + # which has a required filter that does the heavy lifting + queryset = GroupObjectPermission.objects.select_related("content_type", "group__role").all() + filterset_class = RolePermissionFilter diff --git a/authentik/rbac/api/rbac_users.py b/authentik/rbac/api/rbac_users.py new file mode 100644 index 000000000000..04f3fcabd477 --- /dev/null +++ b/authentik/rbac/api/rbac_users.py @@ -0,0 +1,71 @@ +"""common RBAC serializers""" +from typing import Optional + +from django.apps import apps +from django_filters.filters import NumberFilter +from django_filters.filterset import FilterSet +from guardian.models import UserObjectPermission +from guardian.shortcuts import get_objects_for_user +from rest_framework.fields import SerializerMethodField +from rest_framework.mixins import ListModelMixin +from rest_framework.viewsets import GenericViewSet + +from authentik.api.pagination import SmallerPagination +from authentik.rbac.api.rbac_assigned_by_users import UserObjectPermissionSerializer + + +class ExtraUserObjectPermissionSerializer(UserObjectPermissionSerializer): + """User permission with additional object-related data""" + + app_label_verbose = SerializerMethodField() + model_verbose = SerializerMethodField() + + object_description = SerializerMethodField() + + def get_app_label_verbose(self, instance: UserObjectPermission) -> str: + """Get app label from permission's model""" + return apps.get_app_config(instance.content_type.app_label).verbose_name + + def get_model_verbose(self, instance: UserObjectPermission) -> str: + """Get model label from permission's model""" + return apps.get_model( + instance.content_type.app_label, instance.content_type.model + )._meta.verbose_name + + def get_object_description(self, instance: UserObjectPermission) -> Optional[str]: + """Get model description from attached model. This operation takes at least + one additional query, and the description is only shown if the user/role has the + view_ permission on the object""" + app_label = instance.content_type.app_label + model = instance.content_type.model + model_class = apps.get_model(app_label, model) + objects = get_objects_for_user(instance.user, f"{app_label}.view_{model}", model_class) + obj = objects.first() + if not obj: + return None + return str(obj) + + class Meta(UserObjectPermissionSerializer.Meta): + fields = UserObjectPermissionSerializer.Meta.fields + [ + "app_label_verbose", + "model_verbose", + "object_description", + ] + + +class UserPermissionFilter(FilterSet): + """User-assigned permission filter""" + + user_id = NumberFilter("user__id", required=True) + + +class UserPermissionViewSet(ListModelMixin, GenericViewSet): + """Get a users's assigned object permissions""" + + serializer_class = ExtraUserObjectPermissionSerializer + ordering = ["user__username"] + pagination_class = SmallerPagination + # The filtering is done in the filterset, + # which has a required filter that does the heavy lifting + queryset = UserObjectPermission.objects.select_related("content_type", "user").all() + filterset_class = UserPermissionFilter diff --git a/authentik/rbac/api/roles.py b/authentik/rbac/api/roles.py new file mode 100644 index 000000000000..36eef8a193da --- /dev/null +++ b/authentik/rbac/api/roles.py @@ -0,0 +1,24 @@ +"""RBAC Roles""" +from rest_framework.serializers import ModelSerializer +from rest_framework.viewsets import ModelViewSet + +from authentik.core.api.used_by import UsedByMixin +from authentik.rbac.models import Role + + +class RoleSerializer(ModelSerializer): + """Role serializer""" + + class Meta: + model = Role + fields = ["pk", "name"] + + +class RoleViewSet(UsedByMixin, ModelViewSet): + """Role viewset""" + + serializer_class = RoleSerializer + queryset = Role.objects.all() + search_fields = ["group__name"] + ordering = ["group__name"] + filterset_fields = ["group__name"] diff --git a/authentik/rbac/apps.py b/authentik/rbac/apps.py new file mode 100644 index 000000000000..f6b878c010fb --- /dev/null +++ b/authentik/rbac/apps.py @@ -0,0 +1,15 @@ +"""authentik rbac app config""" +from authentik.blueprints.apps import ManagedAppConfig + + +class AuthentikRBACConfig(ManagedAppConfig): + """authentik rbac app config""" + + name = "authentik.rbac" + label = "authentik_rbac" + verbose_name = "authentik RBAC" + default = True + + def reconcile_load_rbac_signals(self): + """Load rbac signals""" + self.import_module("authentik.rbac.signals") diff --git a/authentik/rbac/filters.py b/authentik/rbac/filters.py new file mode 100644 index 000000000000..395efd6736ef --- /dev/null +++ b/authentik/rbac/filters.py @@ -0,0 +1,26 @@ +"""RBAC API Filter""" +from django.db.models import QuerySet +from rest_framework.exceptions import PermissionDenied +from rest_framework.request import Request +from rest_framework_guardian.filters import ObjectPermissionsFilter + + +class ObjectFilter(ObjectPermissionsFilter): + """Object permission filter that grants global permission higher priority than + per-object permissions""" + + def filter_queryset(self, request: Request, queryset: QuerySet, view) -> QuerySet: + permission = self.perm_format % { + "app_label": queryset.model._meta.app_label, + "model_name": queryset.model._meta.model_name, + } + # having the global permission set on a user has higher priority than + # per-object permissions + if request.user.has_perm(permission): + return queryset + queryset = super().filter_queryset(request, queryset, view) + if not queryset.exists(): + # User doesn't have direct permission to all objects + # and also no object permissions assigned (directly or via role) + raise PermissionDenied() + return queryset diff --git a/authentik/rbac/migrations/0001_initial.py b/authentik/rbac/migrations/0001_initial.py new file mode 100644 index 000000000000..85cabbf1169f --- /dev/null +++ b/authentik/rbac/migrations/0001_initial.py @@ -0,0 +1,47 @@ +# Generated by Django 4.2.6 on 2023-10-11 13:37 + +import uuid + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + initial = True + + dependencies = [ + ("auth", "0012_alter_user_first_name_max_length"), + ] + + operations = [ + migrations.CreateModel( + name="Role", + fields=[ + ( + "uuid", + models.UUIDField( + default=uuid.uuid4, + editable=False, + primary_key=True, + serialize=False, + unique=True, + ), + ), + ("name", models.TextField(max_length=150, unique=True)), + ( + "group", + models.OneToOneField( + on_delete=django.db.models.deletion.CASCADE, to="auth.group" + ), + ), + ], + options={ + "verbose_name": "Role", + "verbose_name_plural": "Roles", + "permissions": [ + ("assign_role_permissions", "Can assign permissions to users"), + ("unassign_role_permissions", "Can unassign permissions from users"), + ], + }, + ), + ] diff --git a/authentik/rbac/migrations/0002_systempermission.py b/authentik/rbac/migrations/0002_systempermission.py new file mode 100644 index 000000000000..eb4a03bb40ca --- /dev/null +++ b/authentik/rbac/migrations/0002_systempermission.py @@ -0,0 +1,33 @@ +# Generated by Django 4.2.6 on 2023-10-12 15:26 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("authentik_rbac", "0001_initial"), + ] + + operations = [ + migrations.CreateModel( + name="SystemPermission", + fields=[ + ( + "id", + models.AutoField( + auto_created=True, primary_key=True, serialize=False, verbose_name="ID" + ), + ), + ], + options={ + "permissions": [ + ("view_system_info", "Can view system info"), + ("view_system_tasks", "Can view system tasks"), + ("run_system_tasks", "Can run system tasks"), + ("access_admin_interface", "Can access admin interface"), + ], + "managed": False, + "default_permissions": (), + }, + ), + ] diff --git a/authentik/rbac/migrations/__init__.py b/authentik/rbac/migrations/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/authentik/rbac/models.py b/authentik/rbac/models.py new file mode 100644 index 000000000000..fe6096f7debf --- /dev/null +++ b/authentik/rbac/models.py @@ -0,0 +1,73 @@ +"""RBAC models""" +from typing import Optional +from uuid import uuid4 + +from django.db import models +from django.db.transaction import atomic +from django.utils.translation import gettext_lazy as _ +from guardian.shortcuts import assign_perm +from rest_framework.serializers import BaseSerializer + +from authentik.lib.models import SerializerModel + + +class Role(SerializerModel): + """RBAC role, which can have different permissions (both global and per-object) attached + to it.""" + + uuid = models.UUIDField(default=uuid4, editable=False, unique=True, primary_key=True) + # Due to the way django and django-guardian work, this is somewhat of a hack. + # Django and django-guardian allow for setting permissions on users and groups, but they + # only allow for a custom user object, not a custom group object, which is why + # we have both authentik and django groups. With this model, we use the inbuilt group system + # for RBAC. This means that every Role needs a single django group that its assigned to + # which will hold all of the actual permissions + # The main advantage of that is that all the permission checking just works out of the box, + # as these permissions are checked by default by django and most other libraries that build + # on top of django + group = models.OneToOneField("auth.Group", on_delete=models.CASCADE) + + # name field has the same constraints as the group model + name = models.TextField(max_length=150, unique=True) + + def assign_permission(self, *perms: str, obj: Optional[models.Model] = None): + """Assign permission to role, can handle multiple permissions, + but when assigning multiple permissions to an object the permissions + must all belong to the object given""" + with atomic(): + for perm in perms: + assign_perm(perm, self.group, obj) + + @property + def serializer(self) -> type[BaseSerializer]: + from authentik.rbac.api.roles import RoleSerializer + + return RoleSerializer + + def __str__(self) -> str: + return f"Role {self.name}" + + class Meta: + verbose_name = _("Role") + verbose_name_plural = _("Roles") + permissions = [ + ("assign_role_permissions", _("Can assign permissions to users")), + ("unassign_role_permissions", _("Can unassign permissions from users")), + ] + + +class SystemPermission(models.Model): + """System-wide permissions that are not related to any direct + database model""" + + class Meta: + managed = False + default_permissions = () + verbose_name = _("System permission") + verbose_name_plural = _("System permissions") + permissions = [ + ("view_system_info", _("Can view system info")), + ("view_system_tasks", _("Can view system tasks")), + ("run_system_tasks", _("Can run system tasks")), + ("access_admin_interface", _("Can access admin interface")), + ] diff --git a/authentik/rbac/permissions.py b/authentik/rbac/permissions.py new file mode 100644 index 000000000000..011a027158a0 --- /dev/null +++ b/authentik/rbac/permissions.py @@ -0,0 +1,30 @@ +"""RBAC Permissions""" +from django.db.models import Model +from rest_framework.permissions import BasePermission, DjangoObjectPermissions +from rest_framework.request import Request + + +class ObjectPermissions(DjangoObjectPermissions): + """RBAC Permissions""" + + def has_object_permission(self, request: Request, view, obj: Model): + queryset = self._queryset(view) + model_cls = queryset.model + perms = self.get_required_object_permissions(request.method, model_cls) + # Rank global permissions higher than per-object permissions + if request.user.has_perms(perms): + return True + return super().has_object_permission(request, view, obj) + + +# pylint: disable=invalid-name +def HasPermission(*perm: str) -> type[BasePermission]: + """Permission checker for any non-object permissions, returns + a BasePermission class that can be used with rest_framework""" + + # pylint: disable=missing-class-docstring, invalid-name + class checker(BasePermission): + def has_permission(self, request: Request, view): + return bool(request.user and request.user.has_perms(perm)) + + return checker diff --git a/authentik/rbac/signals.py b/authentik/rbac/signals.py new file mode 100644 index 000000000000..f3bbbc036dc5 --- /dev/null +++ b/authentik/rbac/signals.py @@ -0,0 +1,67 @@ +"""rbac signals""" +from django.contrib.auth.models import Group as DjangoGroup +from django.db.models.signals import m2m_changed, pre_save +from django.db.transaction import atomic +from django.dispatch import receiver +from structlog.stdlib import get_logger + +from authentik.core.models import Group +from authentik.rbac.models import Role + +LOGGER = get_logger() + + +@receiver(pre_save, sender=Role) +def rbac_role_pre_save(sender: type[Role], instance: Role, **_): + """Ensure role has a group object created for it""" + if hasattr(instance, "group"): + return + group, _ = DjangoGroup.objects.get_or_create(name=instance.name) + instance.group = group + + +@receiver(m2m_changed, sender=Group.roles.through) +def rbac_group_role_m2m(sender: type[Group], action: str, instance: Group, reverse: bool, **_): + """RBAC: Sync group members into roles when roles are assigned""" + if action not in ["post_add", "post_remove", "post_clear"]: + return + with atomic(): + group_users = list( + instance.children_recursive() + .exclude(users__isnull=True) + .values_list("users", flat=True) + ) + if not group_users: + return + for role in instance.roles.all(): + role: Role + role.group.user_set.set(group_users) + LOGGER.debug("Updated users in group", group=instance) + + +# pylint: disable=no-member +@receiver(m2m_changed, sender=Group.users.through) +def rbac_group_users_m2m( + sender: type[Group], action: str, instance: Group, pk_set: set, reverse: bool, **_ +): + """Handle Group/User m2m and mirror it to roles""" + if action not in ["post_add", "post_remove"]: + return + # reverse: instance is a Group, pk_set is a list of user pks + # non-reverse: instance is a User, pk_set is a list of groups + with atomic(): + if reverse: + for role in instance.roles.all(): + role: Role + if action == "post_add": + role.group.user_set.add(*pk_set) + elif action == "post_remove": + role.group.user_set.remove(*pk_set) + else: + for group in Group.objects.filter(pk__in=pk_set): + for role in group.roles.all(): + role: Role + if action == "post_add": + role.group.user_set.add(instance) + elif action == "post_remove": + role.group.user_set.remove(instance) diff --git a/authentik/rbac/tests/__init__.py b/authentik/rbac/tests/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/authentik/rbac/tests/test_api_assigned_by_roles.py b/authentik/rbac/tests/test_api_assigned_by_roles.py new file mode 100644 index 000000000000..07032e80504b --- /dev/null +++ b/authentik/rbac/tests/test_api_assigned_by_roles.py @@ -0,0 +1,151 @@ +"""Test RoleAssignedPermissionViewSet api""" +from django.urls import reverse +from rest_framework.test import APITestCase + +from authentik.core.models import Group +from authentik.core.tests.utils import create_test_admin_user, create_test_user +from authentik.lib.generators import generate_id +from authentik.rbac.api.rbac_assigned_by_roles import RoleAssignedObjectPermissionSerializer +from authentik.rbac.models import Role +from authentik.stages.invitation.models import Invitation + + +class TestRBACRoleAPI(APITestCase): + """Test RoleAssignedPermissionViewSet api""" + + def setUp(self) -> None: + self.superuser = create_test_admin_user() + + self.user = create_test_user() + self.role = Role.objects.create(name=generate_id()) + self.group = Group.objects.create(name=generate_id()) + self.group.roles.add(self.role) + self.group.users.add(self.user) + + def test_filter_assigned(self): + """Test RoleAssignedPermissionViewSet's filters""" + inv = Invitation.objects.create( + name=generate_id(), + created_by=self.superuser, + ) + self.role.assign_permission("authentik_stages_invitation.view_invitation", obj=inv) + # self.user doesn't have permissions to see their (object) permissions + self.client.force_login(self.superuser) + res = self.client.get( + reverse("authentik_api:permissions-assigned-by-roles-list"), + { + "model": "authentik_stages_invitation.invitation", + "object_pk": str(inv.pk), + "ordering": "pk", + }, + ) + self.assertEqual(res.status_code, 200) + self.assertJSONEqual( + res.content.decode(), + { + "pagination": { + "next": 0, + "previous": 0, + "count": 1, + "current": 1, + "total_pages": 1, + "start_index": 1, + "end_index": 1, + }, + "results": [ + RoleAssignedObjectPermissionSerializer(instance=self.role).data, + ], + }, + ) + + def test_assign_global(self): + """Test permission assign""" + self.client.force_login(self.superuser) + res = self.client.post( + reverse( + "authentik_api:permissions-assigned-by-roles-assign", + kwargs={ + "pk": self.role.pk, + }, + ), + { + "permissions": ["authentik_stages_invitation.view_invitation"], + }, + ) + self.assertEqual(res.status_code, 204) + self.assertTrue(self.user.has_perm("authentik_stages_invitation.view_invitation")) + + def test_assign_object(self): + """Test permission assign (object)""" + inv = Invitation.objects.create( + name=generate_id(), + created_by=self.superuser, + ) + self.client.force_login(self.superuser) + res = self.client.post( + reverse( + "authentik_api:permissions-assigned-by-roles-assign", + kwargs={ + "pk": self.role.pk, + }, + ), + { + "permissions": ["authentik_stages_invitation.view_invitation"], + "model": "authentik_stages_invitation.invitation", + "object_pk": str(inv.pk), + }, + ) + self.assertEqual(res.status_code, 204) + self.assertTrue( + self.user.has_perm( + "authentik_stages_invitation.view_invitation", + inv, + ) + ) + + def test_unassign_global(self): + """Test permission unassign""" + self.role.assign_permission("authentik_stages_invitation.view_invitation") + self.client.force_login(self.superuser) + res = self.client.patch( + reverse( + "authentik_api:permissions-assigned-by-roles-unassign", + kwargs={ + "pk": str(self.role.pk), + }, + ), + { + "permissions": ["authentik_stages_invitation.view_invitation"], + }, + ) + self.assertEqual(res.status_code, 204) + self.assertFalse(self.user.has_perm("authentik_stages_invitation.view_invitation")) + + def test_unassign_object(self): + """Test permission unassign (object)""" + inv = Invitation.objects.create( + name=generate_id(), + created_by=self.superuser, + ) + self.role.assign_permission("authentik_stages_invitation.view_invitation", obj=inv) + self.client.force_login(self.superuser) + res = self.client.patch( + reverse( + "authentik_api:permissions-assigned-by-roles-unassign", + kwargs={ + "pk": str(self.role.pk), + }, + ), + { + "permissions": ["authentik_stages_invitation.view_invitation"], + "model": "authentik_stages_invitation.invitation", + "object_pk": str(inv.pk), + }, + ) + self.assertEqual(res.status_code, 204) + self.assertFalse( + self.user.has_perm( + "authentik_stages_invitation.view_invitation", + inv, + ) + ) diff --git a/authentik/rbac/tests/test_api_assigned_by_users.py b/authentik/rbac/tests/test_api_assigned_by_users.py new file mode 100644 index 000000000000..fa1238495bcf --- /dev/null +++ b/authentik/rbac/tests/test_api_assigned_by_users.py @@ -0,0 +1,196 @@ +"""Test UserAssignedPermissionViewSet api""" +from django.urls import reverse +from guardian.shortcuts import assign_perm +from rest_framework.test import APITestCase + +from authentik.core.models import Group, UserTypes +from authentik.core.tests.utils import create_test_admin_user, create_test_user +from authentik.lib.generators import generate_id +from authentik.rbac.api.rbac_assigned_by_users import UserAssignedObjectPermissionSerializer +from authentik.rbac.models import Role +from authentik.stages.invitation.models import Invitation + + +class TestRBACUserAPI(APITestCase): + """Test UserAssignedPermissionViewSet api""" + + def setUp(self) -> None: + self.superuser = create_test_admin_user() + + self.user = create_test_user() + self.role = Role.objects.create(name=generate_id()) + self.group = Group.objects.create(name=generate_id()) + self.group.roles.add(self.role) + self.group.users.add(self.user) + + def test_filter_assigned(self): + """Test UserAssignedPermissionViewSet's filters""" + inv = Invitation.objects.create( + name=generate_id(), + created_by=self.superuser, + ) + assign_perm("authentik_stages_invitation.view_invitation", self.user, inv) + # self.user doesn't have permissions to see their (object) permissions + self.client.force_login(self.superuser) + res = self.client.get( + reverse("authentik_api:permissions-assigned-by-users-list"), + { + "model": "authentik_stages_invitation.invitation", + "object_pk": str(inv.pk), + "ordering": "pk", + }, + ) + self.assertEqual(res.status_code, 200) + self.assertJSONEqual( + res.content.decode(), + { + "pagination": { + "next": 0, + "previous": 0, + "count": 2, + "current": 1, + "total_pages": 1, + "start_index": 1, + "end_index": 2, + }, + "results": sorted( + [ + UserAssignedObjectPermissionSerializer(instance=self.user).data, + UserAssignedObjectPermissionSerializer(instance=self.superuser).data, + ], + key=lambda u: u["pk"], + ), + }, + ) + + def test_assign_global(self): + """Test permission assign""" + self.client.force_login(self.superuser) + res = self.client.post( + reverse( + "authentik_api:permissions-assigned-by-users-assign", + kwargs={ + "pk": self.user.pk, + }, + ), + { + "permissions": ["authentik_stages_invitation.view_invitation"], + }, + ) + self.assertEqual(res.status_code, 204) + self.assertTrue(self.user.has_perm("authentik_stages_invitation.view_invitation")) + + def test_assign_global_internal_sa(self): + """Test permission assign (to internal service account)""" + self.client.force_login(self.superuser) + self.user.type = UserTypes.INTERNAL_SERVICE_ACCOUNT + self.user.save() + res = self.client.post( + reverse( + "authentik_api:permissions-assigned-by-users-assign", + kwargs={ + "pk": self.user.pk, + }, + ), + { + "permissions": ["authentik_stages_invitation.view_invitation"], + }, + ) + self.assertEqual(res.status_code, 400) + self.assertFalse(self.user.has_perm("authentik_stages_invitation.view_invitation")) + + def test_assign_object(self): + """Test permission assign (object)""" + inv = Invitation.objects.create( + name=generate_id(), + created_by=self.superuser, + ) + self.client.force_login(self.superuser) + res = self.client.post( + reverse( + "authentik_api:permissions-assigned-by-users-assign", + kwargs={ + "pk": self.user.pk, + }, + ), + { + "permissions": ["authentik_stages_invitation.view_invitation"], + "model": "authentik_stages_invitation.invitation", + "object_pk": str(inv.pk), + }, + ) + self.assertEqual(res.status_code, 204) + self.assertTrue( + self.user.has_perm( + "authentik_stages_invitation.view_invitation", + inv, + ) + ) + + def test_unassign_global(self): + """Test permission unassign""" + assign_perm("authentik_stages_invitation.view_invitation", self.user) + self.client.force_login(self.superuser) + res = self.client.patch( + reverse( + "authentik_api:permissions-assigned-by-users-unassign", + kwargs={ + "pk": self.user.pk, + }, + ), + { + "permissions": ["authentik_stages_invitation.view_invitation"], + }, + ) + self.assertEqual(res.status_code, 204) + self.assertFalse(self.user.has_perm("authentik_stages_invitation.view_invitation")) + + def test_unassign_global_internal_sa(self): + """Test permission unassign (from internal service account)""" + self.client.force_login(self.superuser) + self.user.type = UserTypes.INTERNAL_SERVICE_ACCOUNT + self.user.save() + assign_perm("authentik_stages_invitation.view_invitation", self.user) + self.client.force_login(self.superuser) + res = self.client.patch( + reverse( + "authentik_api:permissions-assigned-by-users-unassign", + kwargs={ + "pk": self.user.pk, + }, + ), + { + "permissions": ["authentik_stages_invitation.view_invitation"], + }, + ) + self.assertEqual(res.status_code, 400) + self.assertTrue(self.user.has_perm("authentik_stages_invitation.view_invitation")) + + def test_unassign_object(self): + """Test permission unassign (object)""" + inv = Invitation.objects.create( + name=generate_id(), + created_by=self.superuser, + ) + assign_perm("authentik_stages_invitation.view_invitation", self.user, inv) + self.client.force_login(self.superuser) + res = self.client.patch( + reverse( + "authentik_api:permissions-assigned-by-users-unassign", + kwargs={ + "pk": self.user.pk, + }, + ), + { + "permissions": ["authentik_stages_invitation.view_invitation"], + "model": "authentik_stages_invitation.invitation", + "object_pk": str(inv.pk), + }, + ) + self.assertEqual(res.status_code, 204) + self.assertFalse( + self.user.has_perm( + "authentik_stages_invitation.view_invitation", + inv, + ) + ) diff --git a/authentik/rbac/tests/test_api_filters.py b/authentik/rbac/tests/test_api_filters.py new file mode 100644 index 000000000000..91bd707d7dd0 --- /dev/null +++ b/authentik/rbac/tests/test_api_filters.py @@ -0,0 +1,122 @@ +"""RBAC role tests""" +from django.urls import reverse +from rest_framework.test import APITestCase + +from authentik.core.models import Group +from authentik.core.tests.utils import create_test_admin_user, create_test_user +from authentik.lib.generators import generate_id +from authentik.rbac.models import Role +from authentik.stages.invitation.api import InvitationSerializer +from authentik.stages.invitation.models import Invitation + + +class TestAPIPerms(APITestCase): + """Test API Permission and filtering""" + + def setUp(self) -> None: + self.superuser = create_test_admin_user() + + self.user = create_test_user() + self.role = Role.objects.create(name=generate_id()) + self.group = Group.objects.create(name=generate_id()) + self.group.roles.add(self.role) + self.group.users.add(self.user) + + def test_list_simple(self): + """Test list (single object, role has global permission)""" + self.client.force_login(self.user) + self.role.assign_permission("authentik_stages_invitation.view_invitation") + + Invitation.objects.all().delete() + inv = Invitation.objects.create( + name=generate_id(), + created_by=self.superuser, + ) + res = self.client.get(reverse("authentik_api:invitation-list")) + self.assertEqual(res.status_code, 200) + self.assertJSONEqual( + res.content.decode(), + { + "pagination": { + "next": 0, + "previous": 0, + "count": 1, + "current": 1, + "total_pages": 1, + "start_index": 1, + "end_index": 1, + }, + "results": [ + InvitationSerializer(instance=inv).data, + ], + }, + ) + + def test_list_object_perm(self): + """Test list""" + self.client.force_login(self.user) + + Invitation.objects.all().delete() + Invitation.objects.create( + name=generate_id(), + created_by=self.superuser, + ) + inv2 = Invitation.objects.create( + name=generate_id(), + created_by=self.superuser, + ) + self.role.assign_permission("authentik_stages_invitation.view_invitation", obj=inv2) + + res = self.client.get(reverse("authentik_api:invitation-list")) + self.assertEqual(res.status_code, 200) + self.assertJSONEqual( + res.content.decode(), + { + "pagination": { + "next": 0, + "previous": 0, + "count": 1, + "current": 1, + "total_pages": 1, + "start_index": 1, + "end_index": 1, + }, + "results": [ + InvitationSerializer(instance=inv2).data, + ], + }, + ) + + def test_list_denied(self): + """Test list without adding permission""" + self.client.force_login(self.user) + + res = self.client.get(reverse("authentik_api:invitation-list")) + self.assertEqual(res.status_code, 403) + self.assertJSONEqual( + res.content.decode(), + {"detail": "You do not have permission to perform this action."}, + ) + + def test_create_simple(self): + """Test create with permission""" + self.client.force_login(self.user) + self.role.assign_permission("authentik_stages_invitation.add_invitation") + res = self.client.post( + reverse("authentik_api:invitation-list"), + data={ + "name": generate_id(), + }, + ) + self.assertEqual(res.status_code, 201) + + def test_create_simple_denied(self): + """Test create without assigning permission""" + self.client.force_login(self.user) + res = self.client.post( + reverse("authentik_api:invitation-list"), + data={ + "name": generate_id(), + }, + ) + self.assertEqual(res.status_code, 403) diff --git a/authentik/rbac/tests/test_roles.py b/authentik/rbac/tests/test_roles.py new file mode 100644 index 000000000000..f9cbfdabb84a --- /dev/null +++ b/authentik/rbac/tests/test_roles.py @@ -0,0 +1,35 @@ +"""RBAC role tests""" +from rest_framework.test import APITestCase + +from authentik.core.models import Group +from authentik.core.tests.utils import create_test_admin_user +from authentik.lib.generators import generate_id +from authentik.rbac.models import Role + + +class TestRoles(APITestCase): + """Test roles""" + + def test_role_create(self): + """Test creation""" + user = create_test_admin_user() + group = Group.objects.create(name=generate_id()) + role = Role.objects.create(name=generate_id()) + role.assign_permission("authentik_core.view_application") + group.roles.add(role) + group.users.add(user) + self.assertEqual(list(role.group.user_set.all()), [user]) + self.assertTrue(user.has_perm("authentik_core.view_application")) + + def test_role_create_remove(self): + """Test creation and remove""" + user = create_test_admin_user() + group = Group.objects.create(name=generate_id()) + role = Role.objects.create(name=generate_id()) + role.assign_permission("authentik_core.view_application") + group.roles.add(role) + group.users.add(user) + self.assertEqual(list(role.group.user_set.all()), [user]) + self.assertTrue(user.has_perm("authentik_core.view_application")) + user.delete() + self.assertEqual(list(role.group.user_set.all()), []) diff --git a/authentik/rbac/urls.py b/authentik/rbac/urls.py new file mode 100644 index 000000000000..586264a503c4 --- /dev/null +++ b/authentik/rbac/urls.py @@ -0,0 +1,24 @@ +"""RBAC API urls""" +from authentik.rbac.api.rbac import RBACPermissionViewSet +from authentik.rbac.api.rbac_assigned_by_roles import RoleAssignedPermissionViewSet +from authentik.rbac.api.rbac_assigned_by_users import UserAssignedPermissionViewSet +from authentik.rbac.api.rbac_roles import RolePermissionViewSet +from authentik.rbac.api.rbac_users import UserPermissionViewSet +from authentik.rbac.api.roles import RoleViewSet + +api_urlpatterns = [ + ( + "rbac/permissions/assigned_by_users", + UserAssignedPermissionViewSet, + "permissions-assigned-by-users", + ), + ( + "rbac/permissions/assigned_by_roles", + RoleAssignedPermissionViewSet, + "permissions-assigned-by-roles", + ), + ("rbac/permissions/users", UserPermissionViewSet, "permissions-users"), + ("rbac/permissions/roles", RolePermissionViewSet, "permissions-roles"), + ("rbac/permissions", RBACPermissionViewSet), + ("rbac/roles", RoleViewSet), +] diff --git a/authentik/root/settings.py b/authentik/root/settings.py index 3cb0818628b2..ee31f2cc620f 100644 --- a/authentik/root/settings.py +++ b/authentik/root/settings.py @@ -77,6 +77,7 @@ "authentik.providers.radius", "authentik.providers.saml", "authentik.providers.scim", + "authentik.rbac", "authentik.recovery", "authentik.sources.ldap", "authentik.sources.oauth", @@ -156,7 +157,7 @@ "DEFAULT_PAGINATION_CLASS": "authentik.api.pagination.Pagination", "PAGE_SIZE": 100, "DEFAULT_FILTER_BACKENDS": [ - "rest_framework_guardian.filters.ObjectPermissionsFilter", + "authentik.rbac.filters.ObjectFilter", "django_filters.rest_framework.DjangoFilterBackend", "rest_framework.filters.OrderingFilter", "rest_framework.filters.SearchFilter", @@ -164,7 +165,7 @@ "DEFAULT_PARSER_CLASSES": [ "rest_framework.parsers.JSONParser", ], - "DEFAULT_PERMISSION_CLASSES": ("rest_framework.permissions.DjangoObjectPermissions",), + "DEFAULT_PERMISSION_CLASSES": ("authentik.rbac.permissions.ObjectPermissions",), "DEFAULT_AUTHENTICATION_CLASSES": ( "authentik.api.authentication.TokenAuthentication", "rest_framework.authentication.SessionAuthentication", @@ -410,6 +411,9 @@ def _update_settings(app_path: str): INSTALLED_APPS.append("silk") SILKY_PYTHON_PROFILER = True MIDDLEWARE = ["silk.middleware.SilkyMiddleware"] + MIDDLEWARE + REST_FRAMEWORK["DEFAULT_RENDERER_CLASSES"].append( + "rest_framework.renderers.BrowsableAPIRenderer" + ) INSTALLED_APPS.append("authentik.core") diff --git a/authentik/stages/authenticator_static/migrations/0009_throttling.py b/authentik/stages/authenticator_static/migrations/0009_throttling.py index 17690de2ef1b..1883f8836bda 100644 --- a/authentik/stages/authenticator_static/migrations/0009_throttling.py +++ b/authentik/stages/authenticator_static/migrations/0009_throttling.py @@ -30,4 +30,12 @@ class Migration(migrations.Migration): name="staticdevice", options={"verbose_name": "Static device", "verbose_name_plural": "Static devices"}, ), + migrations.AlterModelOptions( + name="staticdevice", + options={"verbose_name": "Static Device", "verbose_name_plural": "Static Devices"}, + ), + migrations.AlterModelOptions( + name="statictoken", + options={"verbose_name": "Static Token", "verbose_name_plural": "Static Tokens"}, + ), ] diff --git a/authentik/stages/authenticator_static/models.py b/authentik/stages/authenticator_static/models.py index ac8b55b089da..7ce3451599b8 100644 --- a/authentik/stages/authenticator_static/models.py +++ b/authentik/stages/authenticator_static/models.py @@ -95,8 +95,8 @@ def verify_token(self, token): return match is not None class Meta(Device.Meta): - verbose_name = _("Static device") - verbose_name_plural = _("Static devices") + verbose_name = _("Static Device") + verbose_name_plural = _("Static Devices") class StaticToken(models.Model): @@ -124,3 +124,7 @@ def random_token(): """ return b32encode(urandom(5)).decode("utf-8").lower() + + class Meta: + verbose_name = _("Static Token") + verbose_name_plural = _("Static Tokens") diff --git a/authentik/stages/authenticator_totp/migrations/0010_alter_totpdevice_key.py b/authentik/stages/authenticator_totp/migrations/0010_alter_totpdevice_key.py index 436eaa38a28f..af007e4df5b7 100644 --- a/authentik/stages/authenticator_totp/migrations/0010_alter_totpdevice_key.py +++ b/authentik/stages/authenticator_totp/migrations/0010_alter_totpdevice_key.py @@ -25,4 +25,8 @@ class Migration(migrations.Migration): name="totpdevice", options={"verbose_name": "TOTP device", "verbose_name_plural": "TOTP devices"}, ), + migrations.AlterModelOptions( + name="totpdevice", + options={"verbose_name": "TOTP Device", "verbose_name_plural": "TOTP Devices"}, + ), ] diff --git a/authentik/stages/authenticator_totp/models.py b/authentik/stages/authenticator_totp/models.py index 6828a8e2e2b5..41bf2d2c8b8f 100644 --- a/authentik/stages/authenticator_totp/models.py +++ b/authentik/stages/authenticator_totp/models.py @@ -241,5 +241,5 @@ def _read_str_from_settings(self, key): return None class Meta(Device.Meta): - verbose_name = _("TOTP device") - verbose_name_plural = _("TOTP devices") + verbose_name = _("TOTP Device") + verbose_name_plural = _("TOTP Devices") diff --git a/authentik/stages/consent/stage.py b/authentik/stages/consent/stage.py index d8c42724f3ef..61677559cd02 100644 --- a/authentik/stages/consent/stage.py +++ b/authentik/stages/consent/stage.py @@ -6,11 +6,11 @@ from django.utils.timezone import now from rest_framework.fields import CharField +from authentik.core.api.utils import PassiveSerializer from authentik.flows.challenge import ( Challenge, ChallengeResponse, ChallengeTypes, - PermissionSerializer, WithUserInfoChallenge, ) from authentik.flows.planner import PLAN_CONTEXT_APPLICATION, PLAN_CONTEXT_PENDING_USER @@ -25,12 +25,19 @@ SESSION_KEY_CONSENT_TOKEN = "authentik/stages/consent/token" # nosec +class ConsentPermissionSerializer(PassiveSerializer): + """Permission used for consent""" + + name = CharField(allow_blank=True) + id = CharField() + + class ConsentChallenge(WithUserInfoChallenge): """Challenge info for consent screens""" header_text = CharField(required=False) - permissions = PermissionSerializer(many=True) - additional_permissions = PermissionSerializer(many=True) + permissions = ConsentPermissionSerializer(many=True) + additional_permissions = ConsentPermissionSerializer(many=True) component = CharField(default="ak-stage-consent") token = CharField(required=True) diff --git a/authentik/stages/prompt/api.py b/authentik/stages/prompt/api.py index 255c97b4b6be..7d484f598860 100644 --- a/authentik/stages/prompt/api.py +++ b/authentik/stages/prompt/api.py @@ -71,6 +71,7 @@ class PromptViewSet(UsedByMixin, ModelViewSet): queryset = Prompt.objects.all().prefetch_related("promptstage_set") serializer_class = PromptSerializer + ordering = ["field_key"] filterset_fields = ["field_key", "name", "label", "type", "placeholder"] search_fields = ["field_key", "name", "label", "type", "placeholder"] diff --git a/blueprints/schema.json b/blueprints/schema.json index 9dc77b796350..57f62408785a 100644 --- a/blueprints/schema.json +++ b/blueprints/schema.json @@ -1188,6 +1188,43 @@ } } }, + { + "type": "object", + "required": [ + "model", + "identifiers" + ], + "properties": { + "model": { + "const": "authentik_rbac.role" + }, + "id": { + "type": "string" + }, + "state": { + "type": "string", + "enum": [ + "absent", + "present", + "created", + "must_created" + ], + "default": "present" + }, + "conditions": { + "type": "array", + "items": { + "type": "boolean" + } + }, + "attrs": { + "$ref": "#/$defs/model_authentik_rbac.role" + }, + "identifiers": { + "$ref": "#/$defs/model_authentik_rbac.role" + } + } + }, { "type": "object", "required": [ @@ -2705,6 +2742,43 @@ } } }, + { + "type": "object", + "required": [ + "model", + "identifiers" + ], + "properties": { + "model": { + "const": "authentik_enterprise.license" + }, + "id": { + "type": "string" + }, + "state": { + "type": "string", + "enum": [ + "absent", + "present", + "created", + "must_created" + ], + "default": "present" + }, + "conditions": { + "type": "array", + "items": { + "type": "boolean" + } + }, + "attrs": { + "$ref": "#/$defs/model_authentik_enterprise.license" + }, + "identifiers": { + "$ref": "#/$defs/model_authentik_enterprise.license" + } + } + }, { "type": "object", "required": [ @@ -3372,6 +3446,7 @@ "authentik.providers.radius", "authentik.providers.saml", "authentik.providers.scim", + "authentik.rbac", "authentik.recovery", "authentik.sources.ldap", "authentik.sources.oauth", @@ -3443,6 +3518,7 @@ "authentik_providers_saml.samlpropertymapping", "authentik_providers_scim.scimprovider", "authentik_providers_scim.scimmapping", + "authentik_rbac.role", "authentik_sources_ldap.ldapsource", "authentik_sources_ldap.ldappropertymapping", "authentik_sources_oauth.oauthsource", @@ -3483,7 +3559,8 @@ "authentik_core.group", "authentik_core.user", "authentik_core.application", - "authentik_core.token" + "authentik_core.token", + "authentik_enterprise.license" ], "title": "Model", "description": "Match events created by selected model. When left empty, all models are matched. When an app is selected, all the application's models are matched." @@ -4944,6 +5021,18 @@ }, "required": [] }, + "model_authentik_rbac.role": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 150, + "minLength": 1, + "title": "Name" + } + }, + "required": [] + }, "model_authentik_sources_ldap.ldapsource": { "type": "object", "properties": { @@ -8405,6 +8494,13 @@ "type": "object", "additionalProperties": true, "title": "Attributes" + }, + "roles": { + "type": "array", + "items": { + "type": "integer" + }, + "title": "Roles" } }, "required": [] @@ -8599,6 +8695,17 @@ }, "required": [] }, + "model_authentik_enterprise.license": { + "type": "object", + "properties": { + "key": { + "type": "string", + "minLength": 1, + "title": "Key" + } + }, + "required": [] + }, "model_authentik_blueprints.metaapplyblueprint": { "type": "object", "properties": { diff --git a/internal/outpost/ldap/search/memory/memory.go b/internal/outpost/ldap/search/memory/memory.go index d877b76e5ac9..177099f7ec30 100644 --- a/internal/outpost/ldap/search/memory/memory.go +++ b/internal/outpost/ldap/search/memory/memory.go @@ -162,7 +162,7 @@ func (ms *MemorySearcher) Search(req *search.Request) (ldap.ServerSearchResult, for _, u := range g.UsersObj { if flag.UserPk == u.Pk { //TODO: Is there a better way to clone this object? - fg := api.NewGroup(g.Pk, g.NumPk, g.Name, g.ParentName, []api.GroupMember{u}) + fg := api.NewGroup(g.Pk, g.NumPk, g.Name, g.ParentName, []api.GroupMember{u}, []api.Role{}) fg.SetUsers([]int32{flag.UserPk}) if g.Parent.IsSet() { fg.SetParent(*g.Parent.Get()) diff --git a/schema.yml b/schema.yml index 03eed6d01667..219633aa294b 100644 --- a/schema.yml +++ b/schema.yml @@ -885,7 +885,7 @@ paths: name: id schema: type: integer - description: A unique integer value identifying this Static device. + description: A unique integer value identifying this Static Device. required: true tags: - authenticators @@ -918,7 +918,7 @@ paths: name: id schema: type: integer - description: A unique integer value identifying this Static device. + description: A unique integer value identifying this Static Device. required: true tags: - authenticators @@ -957,7 +957,7 @@ paths: name: id schema: type: integer - description: A unique integer value identifying this Static device. + description: A unique integer value identifying this Static Device. required: true tags: - authenticators @@ -995,7 +995,7 @@ paths: name: id schema: type: integer - description: A unique integer value identifying this Static device. + description: A unique integer value identifying this Static Device. required: true tags: - authenticators @@ -1113,7 +1113,7 @@ paths: name: id schema: type: integer - description: A unique integer value identifying this TOTP device. + description: A unique integer value identifying this TOTP Device. required: true tags: - authenticators @@ -1146,7 +1146,7 @@ paths: name: id schema: type: integer - description: A unique integer value identifying this TOTP device. + description: A unique integer value identifying this TOTP Device. required: true tags: - authenticators @@ -1185,7 +1185,7 @@ paths: name: id schema: type: integer - description: A unique integer value identifying this TOTP device. + description: A unique integer value identifying this TOTP Device. required: true tags: - authenticators @@ -1223,7 +1223,7 @@ paths: name: id schema: type: integer - description: A unique integer value identifying this TOTP device. + description: A unique integer value identifying this TOTP Device. required: true tags: - authenticators @@ -2030,7 +2030,7 @@ paths: name: id schema: type: integer - description: A unique integer value identifying this Static device. + description: A unique integer value identifying this Static Device. required: true tags: - authenticators @@ -2063,7 +2063,7 @@ paths: name: id schema: type: integer - description: A unique integer value identifying this Static device. + description: A unique integer value identifying this Static Device. required: true tags: - authenticators @@ -2102,7 +2102,7 @@ paths: name: id schema: type: integer - description: A unique integer value identifying this Static device. + description: A unique integer value identifying this Static Device. required: true tags: - authenticators @@ -2140,7 +2140,7 @@ paths: name: id schema: type: integer - description: A unique integer value identifying this Static device. + description: A unique integer value identifying this Static Device. required: true tags: - authenticators @@ -2170,7 +2170,7 @@ paths: name: id schema: type: integer - description: A unique integer value identifying this Static device. + description: A unique integer value identifying this Static Device. required: true tags: - authenticators @@ -2262,7 +2262,7 @@ paths: name: id schema: type: integer - description: A unique integer value identifying this TOTP device. + description: A unique integer value identifying this TOTP Device. required: true tags: - authenticators @@ -2295,7 +2295,7 @@ paths: name: id schema: type: integer - description: A unique integer value identifying this TOTP device. + description: A unique integer value identifying this TOTP Device. required: true tags: - authenticators @@ -2334,7 +2334,7 @@ paths: name: id schema: type: integer - description: A unique integer value identifying this TOTP device. + description: A unique integer value identifying this TOTP Device. required: true tags: - authenticators @@ -2372,7 +2372,7 @@ paths: name: id schema: type: integer - description: A unique integer value identifying this TOTP device. + description: A unique integer value identifying this TOTP Device. required: true tags: - authenticators @@ -2402,7 +2402,7 @@ paths: name: id schema: type: integer - description: A unique integer value identifying this TOTP device. + description: A unique integer value identifying this TOTP Device. required: true tags: - authenticators @@ -3379,7 +3379,7 @@ paths: schema: type: string format: uuid - description: A UUID string identifying this group. + description: A UUID string identifying this Group. required: true tags: - core @@ -3413,7 +3413,7 @@ paths: schema: type: string format: uuid - description: A UUID string identifying this group. + description: A UUID string identifying this Group. required: true tags: - core @@ -3453,7 +3453,7 @@ paths: schema: type: string format: uuid - description: A UUID string identifying this group. + description: A UUID string identifying this Group. required: true tags: - core @@ -3492,7 +3492,7 @@ paths: schema: type: string format: uuid - description: A UUID string identifying this group. + description: A UUID string identifying this Group. required: true tags: - core @@ -3523,7 +3523,7 @@ paths: schema: type: string format: uuid - description: A UUID string identifying this group. + description: A UUID string identifying this Group. required: true tags: - core @@ -3562,7 +3562,7 @@ paths: schema: type: string format: uuid - description: A UUID string identifying this group. + description: A UUID string identifying this Group. required: true tags: - core @@ -3601,7 +3601,7 @@ paths: schema: type: string format: uuid - description: A UUID string identifying this group. + description: A UUID string identifying this Group. required: true tags: - core @@ -5653,7 +5653,7 @@ paths: schema: type: string format: uuid - description: A UUID string identifying this license. + description: A UUID string identifying this License. required: true tags: - enterprise @@ -5687,7 +5687,7 @@ paths: schema: type: string format: uuid - description: A UUID string identifying this license. + description: A UUID string identifying this License. required: true tags: - enterprise @@ -5727,7 +5727,7 @@ paths: schema: type: string format: uuid - description: A UUID string identifying this license. + description: A UUID string identifying this License. required: true tags: - enterprise @@ -5766,7 +5766,7 @@ paths: schema: type: string format: uuid - description: A UUID string identifying this license. + description: A UUID string identifying this License. required: true tags: - enterprise @@ -5797,7 +5797,7 @@ paths: schema: type: string format: uuid - description: A UUID string identifying this license. + description: A UUID string identifying this License. required: true tags: - enterprise @@ -9120,7 +9120,7 @@ paths: schema: type: string format: uuid - description: A UUID string identifying this outpost. + description: A UUID string identifying this Outpost. required: true tags: - outposts @@ -9154,7 +9154,7 @@ paths: schema: type: string format: uuid - description: A UUID string identifying this outpost. + description: A UUID string identifying this Outpost. required: true tags: - outposts @@ -9194,7 +9194,7 @@ paths: schema: type: string format: uuid - description: A UUID string identifying this outpost. + description: A UUID string identifying this Outpost. required: true tags: - outposts @@ -9233,7 +9233,7 @@ paths: schema: type: string format: uuid - description: A UUID string identifying this outpost. + description: A UUID string identifying this Outpost. required: true tags: - outposts @@ -9312,7 +9312,7 @@ paths: schema: type: string format: uuid - description: A UUID string identifying this outpost. + description: A UUID string identifying this Outpost. required: true tags: - outposts @@ -9349,7 +9349,7 @@ paths: schema: type: string format: uuid - description: A UUID string identifying this outpost. + description: A UUID string identifying this Outpost. required: true tags: - outposts @@ -17051,6 +17051,1068 @@ paths: schema: $ref: '#/components/schemas/GenericError' description: '' + /rbac/permissions/: + get: + operationId: rbac_permissions_list + description: Read-only list of all permissions, filterable by model and app + parameters: + - in: query + name: codename + schema: + type: string + - in: query + name: content_type__app_label + schema: + type: string + - in: query + name: content_type__model + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: query + name: role + schema: + type: string + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: user + schema: + type: integer + tags: + - rbac + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedPermissionList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rbac/permissions/{id}/: + get: + operationId: rbac_permissions_retrieve + description: Read-only list of all permissions, filterable by model and app + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this permission. + required: true + tags: + - rbac + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Permission' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rbac/permissions/assigned_by_roles/: + get: + operationId: rbac_permissions_assigned_by_roles_list + description: Get assigned object permissions for a single object + parameters: + - in: query + name: model + schema: + type: string + enum: + - authentik_blueprints.blueprintinstance + - authentik_core.application + - authentik_core.group + - authentik_core.token + - authentik_core.user + - authentik_crypto.certificatekeypair + - authentik_enterprise.license + - authentik_events.event + - authentik_events.notification + - authentik_events.notificationrule + - authentik_events.notificationtransport + - authentik_events.notificationwebhookmapping + - authentik_flows.flow + - authentik_flows.flowstagebinding + - authentik_outposts.dockerserviceconnection + - authentik_outposts.kubernetesserviceconnection + - authentik_outposts.outpost + - authentik_policies.policybinding + - authentik_policies_dummy.dummypolicy + - authentik_policies_event_matcher.eventmatcherpolicy + - authentik_policies_expiry.passwordexpirypolicy + - authentik_policies_expression.expressionpolicy + - authentik_policies_password.passwordpolicy + - authentik_policies_reputation.reputation + - authentik_policies_reputation.reputationpolicy + - authentik_providers_ldap.ldapprovider + - authentik_providers_oauth2.accesstoken + - authentik_providers_oauth2.authorizationcode + - authentik_providers_oauth2.oauth2provider + - authentik_providers_oauth2.refreshtoken + - authentik_providers_oauth2.scopemapping + - authentik_providers_proxy.proxyprovider + - authentik_providers_radius.radiusprovider + - authentik_providers_saml.samlpropertymapping + - authentik_providers_saml.samlprovider + - authentik_providers_scim.scimmapping + - authentik_providers_scim.scimprovider + - authentik_rbac.role + - authentik_sources_ldap.ldappropertymapping + - authentik_sources_ldap.ldapsource + - authentik_sources_oauth.oauthsource + - authentik_sources_oauth.useroauthsourceconnection + - authentik_sources_plex.plexsource + - authentik_sources_plex.plexsourceconnection + - authentik_sources_saml.samlsource + - authentik_sources_saml.usersamlsourceconnection + - authentik_stages_authenticator_duo.authenticatorduostage + - authentik_stages_authenticator_duo.duodevice + - authentik_stages_authenticator_sms.authenticatorsmsstage + - authentik_stages_authenticator_sms.smsdevice + - authentik_stages_authenticator_static.authenticatorstaticstage + - authentik_stages_authenticator_static.staticdevice + - authentik_stages_authenticator_totp.authenticatortotpstage + - authentik_stages_authenticator_totp.totpdevice + - authentik_stages_authenticator_validate.authenticatorvalidatestage + - authentik_stages_authenticator_webauthn.authenticatewebauthnstage + - authentik_stages_authenticator_webauthn.webauthndevice + - authentik_stages_captcha.captchastage + - authentik_stages_consent.consentstage + - authentik_stages_consent.userconsent + - authentik_stages_deny.denystage + - authentik_stages_dummy.dummystage + - authentik_stages_email.emailstage + - authentik_stages_identification.identificationstage + - authentik_stages_invitation.invitation + - authentik_stages_invitation.invitationstage + - authentik_stages_password.passwordstage + - authentik_stages_prompt.prompt + - authentik_stages_prompt.promptstage + - authentik_stages_user_delete.userdeletestage + - authentik_stages_user_login.userloginstage + - authentik_stages_user_logout.userlogoutstage + - authentik_stages_user_write.userwritestage + - authentik_tenants.tenant + description: |- + * `authentik_crypto.certificatekeypair` - Certificate-Key Pair + * `authentik_events.event` - Event + * `authentik_events.notificationtransport` - Notification Transport + * `authentik_events.notification` - Notification + * `authentik_events.notificationrule` - Notification Rule + * `authentik_events.notificationwebhookmapping` - Webhook Mapping + * `authentik_flows.flow` - Flow + * `authentik_flows.flowstagebinding` - Flow Stage Binding + * `authentik_outposts.dockerserviceconnection` - Docker Service-Connection + * `authentik_outposts.kubernetesserviceconnection` - Kubernetes Service-Connection + * `authentik_outposts.outpost` - Outpost + * `authentik_policies_dummy.dummypolicy` - Dummy Policy + * `authentik_policies_event_matcher.eventmatcherpolicy` - Event Matcher Policy + * `authentik_policies_expiry.passwordexpirypolicy` - Password Expiry Policy + * `authentik_policies_expression.expressionpolicy` - Expression Policy + * `authentik_policies_password.passwordpolicy` - Password Policy + * `authentik_policies_reputation.reputationpolicy` - Reputation Policy + * `authentik_policies_reputation.reputation` - Reputation Score + * `authentik_policies.policybinding` - Policy Binding + * `authentik_providers_ldap.ldapprovider` - LDAP Provider + * `authentik_providers_oauth2.scopemapping` - Scope Mapping + * `authentik_providers_oauth2.oauth2provider` - OAuth2/OpenID Provider + * `authentik_providers_oauth2.authorizationcode` - Authorization Code + * `authentik_providers_oauth2.accesstoken` - OAuth2 Access Token + * `authentik_providers_oauth2.refreshtoken` - OAuth2 Refresh Token + * `authentik_providers_proxy.proxyprovider` - Proxy Provider + * `authentik_providers_radius.radiusprovider` - Radius Provider + * `authentik_providers_saml.samlprovider` - SAML Provider + * `authentik_providers_saml.samlpropertymapping` - SAML Property Mapping + * `authentik_providers_scim.scimprovider` - SCIM Provider + * `authentik_providers_scim.scimmapping` - SCIM Mapping + * `authentik_rbac.role` - Role + * `authentik_sources_ldap.ldapsource` - LDAP Source + * `authentik_sources_ldap.ldappropertymapping` - LDAP Property Mapping + * `authentik_sources_oauth.oauthsource` - OAuth Source + * `authentik_sources_oauth.useroauthsourceconnection` - User OAuth Source Connection + * `authentik_sources_plex.plexsource` - Plex Source + * `authentik_sources_plex.plexsourceconnection` - User Plex Source Connection + * `authentik_sources_saml.samlsource` - SAML Source + * `authentik_sources_saml.usersamlsourceconnection` - User SAML Source Connection + * `authentik_stages_authenticator_duo.authenticatorduostage` - Duo Authenticator Setup Stage + * `authentik_stages_authenticator_duo.duodevice` - Duo Device + * `authentik_stages_authenticator_sms.authenticatorsmsstage` - SMS Authenticator Setup Stage + * `authentik_stages_authenticator_sms.smsdevice` - SMS Device + * `authentik_stages_authenticator_static.authenticatorstaticstage` - Static Authenticator Stage + * `authentik_stages_authenticator_static.staticdevice` - Static Device + * `authentik_stages_authenticator_totp.authenticatortotpstage` - TOTP Authenticator Setup Stage + * `authentik_stages_authenticator_totp.totpdevice` - TOTP Device + * `authentik_stages_authenticator_validate.authenticatorvalidatestage` - Authenticator Validation Stage + * `authentik_stages_authenticator_webauthn.authenticatewebauthnstage` - WebAuthn Authenticator Setup Stage + * `authentik_stages_authenticator_webauthn.webauthndevice` - WebAuthn Device + * `authentik_stages_captcha.captchastage` - Captcha Stage + * `authentik_stages_consent.consentstage` - Consent Stage + * `authentik_stages_consent.userconsent` - User Consent + * `authentik_stages_deny.denystage` - Deny Stage + * `authentik_stages_dummy.dummystage` - Dummy Stage + * `authentik_stages_email.emailstage` - Email Stage + * `authentik_stages_identification.identificationstage` - Identification Stage + * `authentik_stages_invitation.invitationstage` - Invitation Stage + * `authentik_stages_invitation.invitation` - Invitation + * `authentik_stages_password.passwordstage` - Password Stage + * `authentik_stages_prompt.prompt` - Prompt + * `authentik_stages_prompt.promptstage` - Prompt Stage + * `authentik_stages_user_delete.userdeletestage` - User Delete Stage + * `authentik_stages_user_login.userloginstage` - User Login Stage + * `authentik_stages_user_logout.userlogoutstage` - User Logout Stage + * `authentik_stages_user_write.userwritestage` - User Write Stage + * `authentik_tenants.tenant` - Tenant + * `authentik_blueprints.blueprintinstance` - Blueprint Instance + * `authentik_core.group` - Group + * `authentik_core.user` - User + * `authentik_core.application` - Application + * `authentik_core.token` - Token + * `authentik_enterprise.license` - License + required: true + - in: query + name: object_pk + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - rbac + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedRoleAssignedObjectPermissionList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rbac/permissions/assigned_by_roles/{uuid}/assign/: + post: + operationId: rbac_permissions_assigned_by_roles_assign_create + description: |- + Assign permission(s) to role. When `object_pk` is set, the permissions + are only assigned to the specific object, otherwise they are assigned globally. + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Role. + required: true + tags: + - rbac + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PermissionAssignRequest' + required: true + security: + - authentik: [] + responses: + '204': + description: Successfully assigned + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rbac/permissions/assigned_by_roles/{uuid}/unassign/: + patch: + operationId: rbac_permissions_assigned_by_roles_unassign_partial_update + description: |- + Unassign permission(s) to role. When `object_pk` is set, the permissions + are only assigned to the specific object, otherwise they are assigned globally. + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Role. + required: true + tags: + - rbac + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedPermissionAssignRequest' + security: + - authentik: [] + responses: + '204': + description: Successfully unassigned + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rbac/permissions/assigned_by_users/: + get: + operationId: rbac_permissions_assigned_by_users_list + description: Get assigned object permissions for a single object + parameters: + - in: query + name: model + schema: + type: string + enum: + - authentik_blueprints.blueprintinstance + - authentik_core.application + - authentik_core.group + - authentik_core.token + - authentik_core.user + - authentik_crypto.certificatekeypair + - authentik_enterprise.license + - authentik_events.event + - authentik_events.notification + - authentik_events.notificationrule + - authentik_events.notificationtransport + - authentik_events.notificationwebhookmapping + - authentik_flows.flow + - authentik_flows.flowstagebinding + - authentik_outposts.dockerserviceconnection + - authentik_outposts.kubernetesserviceconnection + - authentik_outposts.outpost + - authentik_policies.policybinding + - authentik_policies_dummy.dummypolicy + - authentik_policies_event_matcher.eventmatcherpolicy + - authentik_policies_expiry.passwordexpirypolicy + - authentik_policies_expression.expressionpolicy + - authentik_policies_password.passwordpolicy + - authentik_policies_reputation.reputation + - authentik_policies_reputation.reputationpolicy + - authentik_providers_ldap.ldapprovider + - authentik_providers_oauth2.accesstoken + - authentik_providers_oauth2.authorizationcode + - authentik_providers_oauth2.oauth2provider + - authentik_providers_oauth2.refreshtoken + - authentik_providers_oauth2.scopemapping + - authentik_providers_proxy.proxyprovider + - authentik_providers_radius.radiusprovider + - authentik_providers_saml.samlpropertymapping + - authentik_providers_saml.samlprovider + - authentik_providers_scim.scimmapping + - authentik_providers_scim.scimprovider + - authentik_rbac.role + - authentik_sources_ldap.ldappropertymapping + - authentik_sources_ldap.ldapsource + - authentik_sources_oauth.oauthsource + - authentik_sources_oauth.useroauthsourceconnection + - authentik_sources_plex.plexsource + - authentik_sources_plex.plexsourceconnection + - authentik_sources_saml.samlsource + - authentik_sources_saml.usersamlsourceconnection + - authentik_stages_authenticator_duo.authenticatorduostage + - authentik_stages_authenticator_duo.duodevice + - authentik_stages_authenticator_sms.authenticatorsmsstage + - authentik_stages_authenticator_sms.smsdevice + - authentik_stages_authenticator_static.authenticatorstaticstage + - authentik_stages_authenticator_static.staticdevice + - authentik_stages_authenticator_totp.authenticatortotpstage + - authentik_stages_authenticator_totp.totpdevice + - authentik_stages_authenticator_validate.authenticatorvalidatestage + - authentik_stages_authenticator_webauthn.authenticatewebauthnstage + - authentik_stages_authenticator_webauthn.webauthndevice + - authentik_stages_captcha.captchastage + - authentik_stages_consent.consentstage + - authentik_stages_consent.userconsent + - authentik_stages_deny.denystage + - authentik_stages_dummy.dummystage + - authentik_stages_email.emailstage + - authentik_stages_identification.identificationstage + - authentik_stages_invitation.invitation + - authentik_stages_invitation.invitationstage + - authentik_stages_password.passwordstage + - authentik_stages_prompt.prompt + - authentik_stages_prompt.promptstage + - authentik_stages_user_delete.userdeletestage + - authentik_stages_user_login.userloginstage + - authentik_stages_user_logout.userlogoutstage + - authentik_stages_user_write.userwritestage + - authentik_tenants.tenant + description: |- + * `authentik_crypto.certificatekeypair` - Certificate-Key Pair + * `authentik_events.event` - Event + * `authentik_events.notificationtransport` - Notification Transport + * `authentik_events.notification` - Notification + * `authentik_events.notificationrule` - Notification Rule + * `authentik_events.notificationwebhookmapping` - Webhook Mapping + * `authentik_flows.flow` - Flow + * `authentik_flows.flowstagebinding` - Flow Stage Binding + * `authentik_outposts.dockerserviceconnection` - Docker Service-Connection + * `authentik_outposts.kubernetesserviceconnection` - Kubernetes Service-Connection + * `authentik_outposts.outpost` - Outpost + * `authentik_policies_dummy.dummypolicy` - Dummy Policy + * `authentik_policies_event_matcher.eventmatcherpolicy` - Event Matcher Policy + * `authentik_policies_expiry.passwordexpirypolicy` - Password Expiry Policy + * `authentik_policies_expression.expressionpolicy` - Expression Policy + * `authentik_policies_password.passwordpolicy` - Password Policy + * `authentik_policies_reputation.reputationpolicy` - Reputation Policy + * `authentik_policies_reputation.reputation` - Reputation Score + * `authentik_policies.policybinding` - Policy Binding + * `authentik_providers_ldap.ldapprovider` - LDAP Provider + * `authentik_providers_oauth2.scopemapping` - Scope Mapping + * `authentik_providers_oauth2.oauth2provider` - OAuth2/OpenID Provider + * `authentik_providers_oauth2.authorizationcode` - Authorization Code + * `authentik_providers_oauth2.accesstoken` - OAuth2 Access Token + * `authentik_providers_oauth2.refreshtoken` - OAuth2 Refresh Token + * `authentik_providers_proxy.proxyprovider` - Proxy Provider + * `authentik_providers_radius.radiusprovider` - Radius Provider + * `authentik_providers_saml.samlprovider` - SAML Provider + * `authentik_providers_saml.samlpropertymapping` - SAML Property Mapping + * `authentik_providers_scim.scimprovider` - SCIM Provider + * `authentik_providers_scim.scimmapping` - SCIM Mapping + * `authentik_rbac.role` - Role + * `authentik_sources_ldap.ldapsource` - LDAP Source + * `authentik_sources_ldap.ldappropertymapping` - LDAP Property Mapping + * `authentik_sources_oauth.oauthsource` - OAuth Source + * `authentik_sources_oauth.useroauthsourceconnection` - User OAuth Source Connection + * `authentik_sources_plex.plexsource` - Plex Source + * `authentik_sources_plex.plexsourceconnection` - User Plex Source Connection + * `authentik_sources_saml.samlsource` - SAML Source + * `authentik_sources_saml.usersamlsourceconnection` - User SAML Source Connection + * `authentik_stages_authenticator_duo.authenticatorduostage` - Duo Authenticator Setup Stage + * `authentik_stages_authenticator_duo.duodevice` - Duo Device + * `authentik_stages_authenticator_sms.authenticatorsmsstage` - SMS Authenticator Setup Stage + * `authentik_stages_authenticator_sms.smsdevice` - SMS Device + * `authentik_stages_authenticator_static.authenticatorstaticstage` - Static Authenticator Stage + * `authentik_stages_authenticator_static.staticdevice` - Static Device + * `authentik_stages_authenticator_totp.authenticatortotpstage` - TOTP Authenticator Setup Stage + * `authentik_stages_authenticator_totp.totpdevice` - TOTP Device + * `authentik_stages_authenticator_validate.authenticatorvalidatestage` - Authenticator Validation Stage + * `authentik_stages_authenticator_webauthn.authenticatewebauthnstage` - WebAuthn Authenticator Setup Stage + * `authentik_stages_authenticator_webauthn.webauthndevice` - WebAuthn Device + * `authentik_stages_captcha.captchastage` - Captcha Stage + * `authentik_stages_consent.consentstage` - Consent Stage + * `authentik_stages_consent.userconsent` - User Consent + * `authentik_stages_deny.denystage` - Deny Stage + * `authentik_stages_dummy.dummystage` - Dummy Stage + * `authentik_stages_email.emailstage` - Email Stage + * `authentik_stages_identification.identificationstage` - Identification Stage + * `authentik_stages_invitation.invitationstage` - Invitation Stage + * `authentik_stages_invitation.invitation` - Invitation + * `authentik_stages_password.passwordstage` - Password Stage + * `authentik_stages_prompt.prompt` - Prompt + * `authentik_stages_prompt.promptstage` - Prompt Stage + * `authentik_stages_user_delete.userdeletestage` - User Delete Stage + * `authentik_stages_user_login.userloginstage` - User Login Stage + * `authentik_stages_user_logout.userlogoutstage` - User Logout Stage + * `authentik_stages_user_write.userwritestage` - User Write Stage + * `authentik_tenants.tenant` - Tenant + * `authentik_blueprints.blueprintinstance` - Blueprint Instance + * `authentik_core.group` - Group + * `authentik_core.user` - User + * `authentik_core.application` - Application + * `authentik_core.token` - Token + * `authentik_enterprise.license` - License + required: true + - in: query + name: object_pk + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - rbac + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedUserAssignedObjectPermissionList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rbac/permissions/assigned_by_users/{id}/assign/: + post: + operationId: rbac_permissions_assigned_by_users_assign_create + description: Assign permission(s) to user + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User. + required: true + tags: + - rbac + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PermissionAssignRequest' + required: true + security: + - authentik: [] + responses: + '204': + description: Successfully assigned + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rbac/permissions/assigned_by_users/{id}/unassign/: + patch: + operationId: rbac_permissions_assigned_by_users_unassign_partial_update + description: |- + Unassign permission(s) to user. When `object_pk` is set, the permissions + are only assigned to the specific object, otherwise they are assigned globally. + parameters: + - in: path + name: id + schema: + type: integer + description: A unique integer value identifying this User. + required: true + tags: + - rbac + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedPermissionAssignRequest' + security: + - authentik: [] + responses: + '204': + description: Successfully unassigned + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rbac/permissions/roles/: + get: + operationId: rbac_permissions_roles_list + description: Get a role's assigned object permissions + parameters: + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: uuid + schema: + type: string + format: uuid + required: true + tags: + - rbac + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedExtraRoleObjectPermissionList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rbac/permissions/users/: + get: + operationId: rbac_permissions_users_list + description: Get a users's assigned object permissions + parameters: + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + - in: query + name: user_id + schema: + type: integer + required: true + tags: + - rbac + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedExtraUserObjectPermissionList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rbac/roles/: + get: + operationId: rbac_roles_list + description: Role viewset + parameters: + - in: query + name: group__name + schema: + type: string + - name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - name: search + required: false + in: query + description: A search term. + schema: + type: string + tags: + - rbac + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedRoleList' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + post: + operationId: rbac_roles_create + description: Role viewset + tags: + - rbac + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RoleRequest' + required: true + security: + - authentik: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/Role' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rbac/roles/{uuid}/: + get: + operationId: rbac_roles_retrieve + description: Role viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Role. + required: true + tags: + - rbac + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Role' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + put: + operationId: rbac_roles_update + description: Role viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Role. + required: true + tags: + - rbac + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RoleRequest' + required: true + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Role' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + patch: + operationId: rbac_roles_partial_update + description: Role viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Role. + required: true + tags: + - rbac + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedRoleRequest' + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/Role' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + delete: + operationId: rbac_roles_destroy + description: Role viewset + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Role. + required: true + tags: + - rbac + security: + - authentik: [] + responses: + '204': + description: No response body + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' + /rbac/roles/{uuid}/used_by/: + get: + operationId: rbac_roles_used_by_list + description: Get a list of all objects that use this object + parameters: + - in: path + name: uuid + schema: + type: string + format: uuid + description: A UUID string identifying this Role. + required: true + tags: + - rbac + security: + - authentik: [] + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UsedBy' + description: '' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: '' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: '' /root/config/: get: operationId: root_config_retrieve @@ -26725,6 +27787,7 @@ components: - authentik.providers.radius - authentik.providers.saml - authentik.providers.scim + - authentik.rbac - authentik.recovery - authentik.sources.ldap - authentik.sources.oauth @@ -26775,6 +27838,7 @@ components: * `authentik.providers.radius` - authentik Providers.Radius * `authentik.providers.saml` - authentik Providers.SAML * `authentik.providers.scim` - authentik Providers.SCIM + * `authentik.rbac` - authentik RBAC * `authentik.recovery` - authentik Recovery * `authentik.sources.ldap` - authentik Sources.LDAP * `authentik.sources.oauth` - authentik Sources.OAuth @@ -28495,11 +29559,11 @@ components: permissions: type: array items: - $ref: '#/components/schemas/Permission' + $ref: '#/components/schemas/ConsentPermission' additional_permissions: type: array items: - $ref: '#/components/schemas/Permission' + $ref: '#/components/schemas/ConsentPermission' token: type: string required: @@ -28522,6 +29586,17 @@ components: minLength: 1 required: - token + ConsentPermission: + type: object + description: Permission used for consent + properties: + name: + type: string + id: + type: string + required: + - id + - name ConsentStage: type: object description: ConsentStage Serializer @@ -29510,6 +30585,7 @@ components: * `authentik.providers.radius` - authentik Providers.Radius * `authentik.providers.saml` - authentik Providers.SAML * `authentik.providers.scim` - authentik Providers.SCIM + * `authentik.rbac` - authentik RBAC * `authentik.recovery` - authentik Recovery * `authentik.sources.ldap` - authentik Sources.LDAP * `authentik.sources.oauth` - authentik Sources.OAuth @@ -29556,7 +30632,7 @@ components: * `authentik_flows.flowstagebinding` - Flow Stage Binding * `authentik_outposts.dockerserviceconnection` - Docker Service-Connection * `authentik_outposts.kubernetesserviceconnection` - Kubernetes Service-Connection - * `authentik_outposts.outpost` - outpost + * `authentik_outposts.outpost` - Outpost * `authentik_policies_dummy.dummypolicy` - Dummy Policy * `authentik_policies_event_matcher.eventmatcherpolicy` - Event Matcher Policy * `authentik_policies_expiry.passwordexpirypolicy` - Password Expiry Policy @@ -29577,6 +30653,7 @@ components: * `authentik_providers_saml.samlpropertymapping` - SAML Property Mapping * `authentik_providers_scim.scimprovider` - SCIM Provider * `authentik_providers_scim.scimmapping` - SCIM Mapping + * `authentik_rbac.role` - Role * `authentik_sources_ldap.ldapsource` - LDAP Source * `authentik_sources_ldap.ldappropertymapping` - LDAP Property Mapping * `authentik_sources_oauth.oauthsource` - OAuth Source @@ -29590,9 +30667,9 @@ components: * `authentik_stages_authenticator_sms.authenticatorsmsstage` - SMS Authenticator Setup Stage * `authentik_stages_authenticator_sms.smsdevice` - SMS Device * `authentik_stages_authenticator_static.authenticatorstaticstage` - Static Authenticator Stage - * `authentik_stages_authenticator_static.staticdevice` - Static device + * `authentik_stages_authenticator_static.staticdevice` - Static Device * `authentik_stages_authenticator_totp.authenticatortotpstage` - TOTP Authenticator Setup Stage - * `authentik_stages_authenticator_totp.totpdevice` - TOTP device + * `authentik_stages_authenticator_totp.totpdevice` - TOTP Device * `authentik_stages_authenticator_validate.authenticatorvalidatestage` - Authenticator Validation Stage * `authentik_stages_authenticator_webauthn.authenticatewebauthnstage` - WebAuthn Authenticator Setup Stage * `authentik_stages_authenticator_webauthn.webauthndevice` - WebAuthn Device @@ -29614,10 +30691,11 @@ components: * `authentik_stages_user_write.userwritestage` - User Write Stage * `authentik_tenants.tenant` - Tenant * `authentik_blueprints.blueprintinstance` - Blueprint Instance - * `authentik_core.group` - group + * `authentik_core.group` - Group * `authentik_core.user` - User * `authentik_core.application` - Application * `authentik_core.token` - Token + * `authentik_enterprise.license` - License required: - bound_to - component @@ -29703,6 +30781,7 @@ components: * `authentik.providers.radius` - authentik Providers.Radius * `authentik.providers.saml` - authentik Providers.SAML * `authentik.providers.scim` - authentik Providers.SCIM + * `authentik.rbac` - authentik RBAC * `authentik.recovery` - authentik Recovery * `authentik.sources.ldap` - authentik Sources.LDAP * `authentik.sources.oauth` - authentik Sources.OAuth @@ -29749,7 +30828,7 @@ components: * `authentik_flows.flowstagebinding` - Flow Stage Binding * `authentik_outposts.dockerserviceconnection` - Docker Service-Connection * `authentik_outposts.kubernetesserviceconnection` - Kubernetes Service-Connection - * `authentik_outposts.outpost` - outpost + * `authentik_outposts.outpost` - Outpost * `authentik_policies_dummy.dummypolicy` - Dummy Policy * `authentik_policies_event_matcher.eventmatcherpolicy` - Event Matcher Policy * `authentik_policies_expiry.passwordexpirypolicy` - Password Expiry Policy @@ -29770,6 +30849,7 @@ components: * `authentik_providers_saml.samlpropertymapping` - SAML Property Mapping * `authentik_providers_scim.scimprovider` - SCIM Provider * `authentik_providers_scim.scimmapping` - SCIM Mapping + * `authentik_rbac.role` - Role * `authentik_sources_ldap.ldapsource` - LDAP Source * `authentik_sources_ldap.ldappropertymapping` - LDAP Property Mapping * `authentik_sources_oauth.oauthsource` - OAuth Source @@ -29783,9 +30863,9 @@ components: * `authentik_stages_authenticator_sms.authenticatorsmsstage` - SMS Authenticator Setup Stage * `authentik_stages_authenticator_sms.smsdevice` - SMS Device * `authentik_stages_authenticator_static.authenticatorstaticstage` - Static Authenticator Stage - * `authentik_stages_authenticator_static.staticdevice` - Static device + * `authentik_stages_authenticator_static.staticdevice` - Static Device * `authentik_stages_authenticator_totp.authenticatortotpstage` - TOTP Authenticator Setup Stage - * `authentik_stages_authenticator_totp.totpdevice` - TOTP device + * `authentik_stages_authenticator_totp.totpdevice` - TOTP Device * `authentik_stages_authenticator_validate.authenticatorvalidatestage` - Authenticator Validation Stage * `authentik_stages_authenticator_webauthn.authenticatewebauthnstage` - WebAuthn Authenticator Setup Stage * `authentik_stages_authenticator_webauthn.webauthndevice` - WebAuthn Device @@ -29807,10 +30887,11 @@ components: * `authentik_stages_user_write.userwritestage` - User Write Stage * `authentik_tenants.tenant` - Tenant * `authentik_blueprints.blueprintinstance` - Blueprint Instance - * `authentik_core.group` - group + * `authentik_core.group` - Group * `authentik_core.user` - User * `authentik_core.application` - Application * `authentik_core.token` - Token + * `authentik_enterprise.license` - License required: - name EventRequest: @@ -29948,6 +31029,106 @@ components: required: - expression - name + ExtraRoleObjectPermission: + type: object + description: User permission with additional object-related data + properties: + id: + type: integer + readOnly: true + codename: + type: string + readOnly: true + model: + type: string + title: Python model class name + readOnly: true + app_label: + type: string + readOnly: true + object_pk: + type: string + title: Object ID + readOnly: true + name: + type: string + readOnly: true + app_label_verbose: + type: string + description: Get app label from permission's model + readOnly: true + model_verbose: + type: string + description: Get model label from permission's model + readOnly: true + object_description: + type: string + nullable: true + description: |- + Get model description from attached model. This operation takes at least + one additional query, and the description is only shown if the user/role has the + view_ permission on the object + readOnly: true + required: + - app_label + - app_label_verbose + - codename + - id + - model + - model_verbose + - name + - object_description + - object_pk + ExtraUserObjectPermission: + type: object + description: User permission with additional object-related data + properties: + id: + type: integer + readOnly: true + codename: + type: string + readOnly: true + model: + type: string + title: Python model class name + readOnly: true + app_label: + type: string + readOnly: true + object_pk: + type: string + title: Object ID + readOnly: true + name: + type: string + readOnly: true + app_label_verbose: + type: string + description: Get app label from permission's model + readOnly: true + model_verbose: + type: string + description: Get model label from permission's model + readOnly: true + object_description: + type: string + nullable: true + description: |- + Get model description from attached model. This operation takes at least + one additional query, and the description is only shown if the user/role has the + view_ permission on the object + readOnly: true + required: + - app_label + - app_label_verbose + - codename + - id + - model + - model_verbose + - name + - object_description + - object_pk FilePathRequest: type: object description: Serializer to upload file @@ -30548,19 +31729,30 @@ components: type: array items: type: integer + users_obj: + type: array + items: + $ref: '#/components/schemas/GroupMember' + readOnly: true attributes: type: object additionalProperties: {} - users_obj: + roles: type: array items: - $ref: '#/components/schemas/GroupMember' + type: string + format: uuid + roles_obj: + type: array + items: + $ref: '#/components/schemas/Role' readOnly: true required: - name - num_pk - parent_name - pk + - roles_obj - users_obj GroupMember: type: object @@ -30661,6 +31853,11 @@ components: attributes: type: object additionalProperties: {} + roles: + type: array + items: + type: string + format: uuid required: - name IdentificationChallenge: @@ -31930,6 +33127,7 @@ components: - authentik_providers_saml.samlpropertymapping - authentik_providers_scim.scimprovider - authentik_providers_scim.scimmapping + - authentik_rbac.role - authentik_sources_ldap.ldapsource - authentik_sources_ldap.ldappropertymapping - authentik_sources_oauth.oauthsource @@ -31971,6 +33169,7 @@ components: - authentik_core.user - authentik_core.application - authentik_core.token + - authentik_enterprise.license type: string description: |- * `authentik_crypto.certificatekeypair` - Certificate-Key Pair @@ -31983,7 +33182,7 @@ components: * `authentik_flows.flowstagebinding` - Flow Stage Binding * `authentik_outposts.dockerserviceconnection` - Docker Service-Connection * `authentik_outposts.kubernetesserviceconnection` - Kubernetes Service-Connection - * `authentik_outposts.outpost` - outpost + * `authentik_outposts.outpost` - Outpost * `authentik_policies_dummy.dummypolicy` - Dummy Policy * `authentik_policies_event_matcher.eventmatcherpolicy` - Event Matcher Policy * `authentik_policies_expiry.passwordexpirypolicy` - Password Expiry Policy @@ -32004,6 +33203,7 @@ components: * `authentik_providers_saml.samlpropertymapping` - SAML Property Mapping * `authentik_providers_scim.scimprovider` - SCIM Provider * `authentik_providers_scim.scimmapping` - SCIM Mapping + * `authentik_rbac.role` - Role * `authentik_sources_ldap.ldapsource` - LDAP Source * `authentik_sources_ldap.ldappropertymapping` - LDAP Property Mapping * `authentik_sources_oauth.oauthsource` - OAuth Source @@ -32017,9 +33217,9 @@ components: * `authentik_stages_authenticator_sms.authenticatorsmsstage` - SMS Authenticator Setup Stage * `authentik_stages_authenticator_sms.smsdevice` - SMS Device * `authentik_stages_authenticator_static.authenticatorstaticstage` - Static Authenticator Stage - * `authentik_stages_authenticator_static.staticdevice` - Static device + * `authentik_stages_authenticator_static.staticdevice` - Static Device * `authentik_stages_authenticator_totp.authenticatortotpstage` - TOTP Authenticator Setup Stage - * `authentik_stages_authenticator_totp.totpdevice` - TOTP device + * `authentik_stages_authenticator_totp.totpdevice` - TOTP Device * `authentik_stages_authenticator_validate.authenticatorvalidatestage` - Authenticator Validation Stage * `authentik_stages_authenticator_webauthn.authenticatewebauthnstage` - WebAuthn Authenticator Setup Stage * `authentik_stages_authenticator_webauthn.webauthndevice` - WebAuthn Device @@ -32041,10 +33241,11 @@ components: * `authentik_stages_user_write.userwritestage` - User Write Stage * `authentik_tenants.tenant` - Tenant * `authentik_blueprints.blueprintinstance` - Blueprint Instance - * `authentik_core.group` - group + * `authentik_core.group` - Group * `authentik_core.user` - User * `authentik_core.application` - Application * `authentik_core.token` - Token + * `authentik_enterprise.license` - License NameIdPolicyEnum: enum: - urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress @@ -33292,6 +34493,30 @@ components: required: - pagination - results + PaginatedExtraRoleObjectPermissionList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/ExtraRoleObjectPermission' + required: + - pagination + - results + PaginatedExtraUserObjectPermissionList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/ExtraUserObjectPermission' + required: + - pagination + - results PaginatedFlowList: type: object properties: @@ -33556,6 +34781,18 @@ components: required: - pagination - results + PaginatedPermissionList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/Permission' + required: + - pagination + - results PaginatedPlexSourceConnectionList: type: object properties: @@ -33724,6 +34961,30 @@ components: required: - pagination - results + PaginatedRoleAssignedObjectPermissionList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/RoleAssignedObjectPermission' + required: + - pagination + - results + PaginatedRoleList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/Role' + required: + - pagination + - results PaginatedSAMLPropertyMappingList: type: object properties: @@ -33904,6 +35165,18 @@ components: required: - pagination - results + PaginatedUserAssignedObjectPermissionList: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + results: + type: array + items: + $ref: '#/components/schemas/UserAssignedObjectPermission' + required: + - pagination + - results PaginatedUserConsentList: type: object properties: @@ -34927,6 +36200,7 @@ components: * `authentik.providers.radius` - authentik Providers.Radius * `authentik.providers.saml` - authentik Providers.SAML * `authentik.providers.scim` - authentik Providers.SCIM + * `authentik.rbac` - authentik RBAC * `authentik.recovery` - authentik Recovery * `authentik.sources.ldap` - authentik Sources.LDAP * `authentik.sources.oauth` - authentik Sources.OAuth @@ -34973,7 +36247,7 @@ components: * `authentik_flows.flowstagebinding` - Flow Stage Binding * `authentik_outposts.dockerserviceconnection` - Docker Service-Connection * `authentik_outposts.kubernetesserviceconnection` - Kubernetes Service-Connection - * `authentik_outposts.outpost` - outpost + * `authentik_outposts.outpost` - Outpost * `authentik_policies_dummy.dummypolicy` - Dummy Policy * `authentik_policies_event_matcher.eventmatcherpolicy` - Event Matcher Policy * `authentik_policies_expiry.passwordexpirypolicy` - Password Expiry Policy @@ -34994,6 +36268,7 @@ components: * `authentik_providers_saml.samlpropertymapping` - SAML Property Mapping * `authentik_providers_scim.scimprovider` - SCIM Provider * `authentik_providers_scim.scimmapping` - SCIM Mapping + * `authentik_rbac.role` - Role * `authentik_sources_ldap.ldapsource` - LDAP Source * `authentik_sources_ldap.ldappropertymapping` - LDAP Property Mapping * `authentik_sources_oauth.oauthsource` - OAuth Source @@ -35007,9 +36282,9 @@ components: * `authentik_stages_authenticator_sms.authenticatorsmsstage` - SMS Authenticator Setup Stage * `authentik_stages_authenticator_sms.smsdevice` - SMS Device * `authentik_stages_authenticator_static.authenticatorstaticstage` - Static Authenticator Stage - * `authentik_stages_authenticator_static.staticdevice` - Static device + * `authentik_stages_authenticator_static.staticdevice` - Static Device * `authentik_stages_authenticator_totp.authenticatortotpstage` - TOTP Authenticator Setup Stage - * `authentik_stages_authenticator_totp.totpdevice` - TOTP device + * `authentik_stages_authenticator_totp.totpdevice` - TOTP Device * `authentik_stages_authenticator_validate.authenticatorvalidatestage` - Authenticator Validation Stage * `authentik_stages_authenticator_webauthn.authenticatewebauthnstage` - WebAuthn Authenticator Setup Stage * `authentik_stages_authenticator_webauthn.webauthndevice` - WebAuthn Device @@ -35031,10 +36306,11 @@ components: * `authentik_stages_user_write.userwritestage` - User Write Stage * `authentik_tenants.tenant` - Tenant * `authentik_blueprints.blueprintinstance` - Blueprint Instance - * `authentik_core.group` - group + * `authentik_core.group` - Group * `authentik_core.user` - User * `authentik_core.application` - Application * `authentik_core.token` - Token + * `authentik_enterprise.license` - License PatchedEventRequest: type: object description: Event Serializer @@ -35184,6 +36460,11 @@ components: attributes: type: object additionalProperties: {} + roles: + type: array + items: + type: string + format: uuid PatchedIdentificationStageRequest: type: object description: IdentificationStage Serializer @@ -35891,6 +37172,20 @@ components: minimum: -2147483648 description: How many attempts a user has before the flow is canceled. To lock the user out, use a reputation policy and a user_write stage. + PatchedPermissionAssignRequest: + type: object + description: Request to assign a new permission + properties: + permissions: + type: array + items: + type: string + minLength: 1 + model: + $ref: '#/components/schemas/ModelEnum' + object_pk: + type: string + minLength: 1 PatchedPlexSourceConnectionRequest: type: object description: Plex Source connection Serializer @@ -36198,6 +37493,14 @@ components: type: integer maximum: 2147483647 minimum: -2147483648 + PatchedRoleRequest: + type: object + description: Role serializer + properties: + name: + type: string + minLength: 1 + maxLength: 150 PatchedSAMLPropertyMappingRequest: type: object description: SAMLPropertyMapping Serializer @@ -36744,15 +38047,56 @@ components: maxLength: 200 Permission: type: object - description: Permission used for consent + description: Global permission properties: + id: + type: integer + readOnly: true name: type: string - id: + maxLength: 255 + codename: + type: string + maxLength: 100 + model: + type: string + title: Python model class name + readOnly: true + app_label: type: string + readOnly: true + app_label_verbose: + type: string + description: Human-readable app label + readOnly: true + model_verbose: + type: string + description: Human-readable model name + readOnly: true required: + - app_label + - app_label_verbose + - codename - id + - model + - model_verbose - name + PermissionAssignRequest: + type: object + description: Request to assign a new permission + properties: + permissions: + type: array + items: + type: string + minLength: 1 + model: + $ref: '#/components/schemas/ModelEnum' + object_pk: + type: string + minLength: 1 + required: + - permissions PlexAuthenticationChallenge: type: object description: Challenge shown to the user in identification stage @@ -38280,6 +39624,80 @@ components: * `discouraged` - Discouraged * `preferred` - Preferred * `required` - Required + Role: + type: object + description: Role serializer + properties: + pk: + type: string + format: uuid + readOnly: true + title: Uuid + name: + type: string + maxLength: 150 + required: + - name + - pk + RoleAssignedObjectPermission: + type: object + description: Roles assigned object permission serializer + properties: + role_pk: + type: string + readOnly: true + name: + type: string + readOnly: true + permissions: + type: array + items: + $ref: '#/components/schemas/RoleObjectPermission' + required: + - name + - permissions + - role_pk + RoleObjectPermission: + type: object + description: Role-bound object level permission + properties: + id: + type: integer + readOnly: true + codename: + type: string + readOnly: true + model: + type: string + title: Python model class name + readOnly: true + app_label: + type: string + readOnly: true + object_pk: + type: string + title: Object ID + readOnly: true + name: + type: string + readOnly: true + required: + - app_label + - codename + - id + - model + - name + - object_pk + RoleRequest: + type: object + description: Role serializer + properties: + name: + type: string + minLength: 1 + maxLength: 150 + required: + - name SAMLMetadata: type: object description: SAML Provider Metadata serializer @@ -40176,6 +41594,56 @@ components: type: integer required: - pk + UserAssignedObjectPermission: + type: object + description: Users assigned object permission serializer + properties: + pk: + type: integer + readOnly: true + title: ID + username: + type: string + description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ + only. + pattern: ^[\w.@+-]+$ + maxLength: 150 + name: + type: string + description: User's display name. + is_active: + type: boolean + title: Active + description: Designates whether this user should be treated as active. Unselect + this instead of deleting accounts. + last_login: + type: string + format: date-time + nullable: true + email: + type: string + format: email + title: Email address + maxLength: 254 + attributes: + type: object + additionalProperties: {} + uid: + type: string + readOnly: true + permissions: + type: array + items: + $ref: '#/components/schemas/UserObjectPermission' + is_superuser: + type: boolean + required: + - is_superuser + - name + - permissions + - pk + - uid + - username UserConsent: type: object description: UserConsent Serializer @@ -40564,6 +42032,37 @@ components: required: - identifier - user + UserObjectPermission: + type: object + description: User-bound object level permission + properties: + id: + type: integer + readOnly: true + codename: + type: string + readOnly: true + model: + type: string + title: Python model class name + readOnly: true + app_label: + type: string + readOnly: true + object_pk: + type: string + title: Object ID + readOnly: true + name: + type: string + readOnly: true + required: + - app_label + - codename + - id + - model + - name + - object_pk UserPasswordSetRequest: type: object properties: @@ -40705,6 +42204,12 @@ components: readOnly: true type: $ref: '#/components/schemas/UserTypeEnum' + system_permissions: + type: array + items: + type: string + description: Get all system permissions assigned to the user + readOnly: true required: - avatar - groups @@ -40713,6 +42218,7 @@ components: - name - pk - settings + - system_permissions - uid - username UserSelfGroups: diff --git a/web/src/admin/AdminInterface.ts b/web/src/admin/AdminInterface.ts index fa6d4efa51a2..44d927ae21a3 100644 --- a/web/src/admin/AdminInterface.ts +++ b/web/src/admin/AdminInterface.ts @@ -116,7 +116,11 @@ export class AdminInterface extends Interface { configureSentry(true); this.version = await new AdminApi(DEFAULT_CONFIG).adminVersionRetrieve(); this.user = await me(); - if (!this.user.user.isSuperuser && this.user.user.pk > 0) { + const canAccessAdmin = + this.user.user.isSuperuser || + // TODO: somehow add `access_admin_interface` to the API schema + this.user.user.systemPermissions.includes("access_admin_interface"); + if (!canAccessAdmin && this.user.user.pk > 0) { window.location.assign("/if/user"); } } @@ -211,6 +215,7 @@ export class AdminInterface extends Interface { [null, msg("Directory"), null, [ ["/identity/users", msg("Users"), [`^/identity/users/(?${ID_REGEX})$`]], ["/identity/groups", msg("Groups"), [`^/identity/groups/(?${UUID_REGEX})$`]], + ["/identity/roles", msg("Roles"), [`^/identity/roles/(?${UUID_REGEX})$`]], ["/core/sources", msg("Federation and Social login"), [`^/core/sources/(?${SLUG_REGEX})$`]], ["/core/tokens", msg("Tokens and App passwords")], ["/flow/stages/invitations", msg("Invitations")]]], diff --git a/web/src/admin/Routes.ts b/web/src/admin/Routes.ts index 55a830835198..1c7a9739e282 100644 --- a/web/src/admin/Routes.ts +++ b/web/src/admin/Routes.ts @@ -80,6 +80,14 @@ export const ROUTES: Route[] = [ await import("@goauthentik/admin/users/UserViewPage"); return html``; }), + new Route(new RegExp("^/identity/roles$"), async () => { + await import("@goauthentik/admin/roles/RoleListPage"); + return html``; + }), + new Route(new RegExp(`^/identity/roles/(?${UUID_REGEX})$`), async (args) => { + await import("@goauthentik/admin/roles/RoleViewPage"); + return html``; + }), new Route(new RegExp("^/flow/stages/invitations$"), async () => { await import("@goauthentik/admin/stages/invitation/InvitationListPage"); return html``; diff --git a/web/src/admin/admin-overview/cards/AdminStatusCard.ts b/web/src/admin/admin-overview/cards/AdminStatusCard.ts index b773a78bc80d..d20f5d570d87 100644 --- a/web/src/admin/admin-overview/cards/AdminStatusCard.ts +++ b/web/src/admin/admin-overview/cards/AdminStatusCard.ts @@ -2,9 +2,12 @@ import { EVENT_REFRESH } from "@goauthentik/common/constants"; import { PFSize } from "@goauthentik/elements/Spinner"; import { AggregateCard } from "@goauthentik/elements/cards/AggregateCard"; +import { msg } from "@lit/localize"; import { TemplateResult, html } from "lit"; import { until } from "lit/directives/until.js"; +import { ResponseError } from "@goauthentik/api"; + export interface AdminStatus { icon: string; message?: TemplateResult; @@ -41,6 +44,12 @@ export abstract class AdminStatusCard extends AggregateCard { ${status.message ? html`

${status.message}

` : html``}`; + }) + .catch((exc: ResponseError) => { + return html`

+  ${exc.response.statusText} +

+

${msg("Failed to fetch")}

`; }), html``, )} diff --git a/web/src/admin/applications/ApplicationViewPage.ts b/web/src/admin/applications/ApplicationViewPage.ts index f65182ca7b0b..84ea2f207a79 100644 --- a/web/src/admin/applications/ApplicationViewPage.ts +++ b/web/src/admin/applications/ApplicationViewPage.ts @@ -3,6 +3,7 @@ import "@goauthentik/admin/applications/ApplicationCheckAccessForm"; import "@goauthentik/admin/applications/ApplicationForm"; import "@goauthentik/admin/policies/BoundPoliciesList"; import { PFSize } from "@goauthentik/app/elements/Spinner"; +import "@goauthentik/app/elements/rbac/ObjectPermissionsPage"; import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; import "@goauthentik/components/ak-app-icon"; import "@goauthentik/components/events/ObjectChangelog"; @@ -27,7 +28,12 @@ import PFPage from "@patternfly/patternfly/components/Page/page.css"; import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css"; -import { Application, CoreApi, OutpostsApi } from "@goauthentik/api"; +import { + Application, + CoreApi, + OutpostsApi, + RbacPermissionsAssignedByUsersListModelEnum, +} from "@goauthentik/api"; @customElement("ak-application-view") export class ApplicationViewPage extends AKElement { @@ -299,6 +305,12 @@ export class ApplicationViewPage extends AKElement {
+ `; } } diff --git a/web/src/admin/blueprints/BlueprintListPage.ts b/web/src/admin/blueprints/BlueprintListPage.ts index e2e06351dec1..f038cc957f31 100644 --- a/web/src/admin/blueprints/BlueprintListPage.ts +++ b/web/src/admin/blueprints/BlueprintListPage.ts @@ -7,6 +7,7 @@ import "@goauthentik/elements/buttons/ActionButton"; import "@goauthentik/elements/buttons/SpinnerButton"; import "@goauthentik/elements/forms/DeleteBulkForm"; import "@goauthentik/elements/forms/ModalForm"; +import "@goauthentik/elements/rbac/ObjectPermissionModal"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; @@ -18,7 +19,12 @@ import { customElement, property } from "lit/decorators.js"; import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList/description-list.css"; -import { BlueprintInstance, BlueprintInstanceStatusEnum, ManagedApi } from "@goauthentik/api"; +import { + BlueprintInstance, + BlueprintInstanceStatusEnum, + ManagedApi, + RbacPermissionsAssignedByUsersListModelEnum, +} from "@goauthentik/api"; export function BlueprintStatus(blueprint?: BlueprintInstance): string { if (!blueprint) return ""; @@ -151,6 +157,11 @@ export class BlueprintListPage extends TablePage { + + { diff --git a/web/src/admin/crypto/CertificateKeyPairListPage.ts b/web/src/admin/crypto/CertificateKeyPairListPage.ts index c6959ea409c2..990f3446eea5 100644 --- a/web/src/admin/crypto/CertificateKeyPairListPage.ts +++ b/web/src/admin/crypto/CertificateKeyPairListPage.ts @@ -6,6 +6,7 @@ import { PFColor } from "@goauthentik/elements/Label"; import "@goauthentik/elements/buttons/SpinnerButton"; import "@goauthentik/elements/forms/DeleteBulkForm"; import "@goauthentik/elements/forms/ModalForm"; +import "@goauthentik/elements/rbac/ObjectPermissionModal"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; @@ -17,7 +18,11 @@ import { customElement, property } from "lit/decorators.js"; import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList/description-list.css"; -import { CertificateKeyPair, CryptoApi } from "@goauthentik/api"; +import { + CertificateKeyPair, + CryptoApi, + RbacPermissionsAssignedByUsersListModelEnum, +} from "@goauthentik/api"; @customElement("ak-crypto-certificate-list") export class CertificateKeyPairListPage extends TablePage { @@ -119,16 +124,21 @@ export class CertificateKeyPairListPage extends TablePage { `, html` ${item.certExpiry?.toLocaleString()} `, html` - ${msg("Update")} - ${msg("Update Certificate-Key Pair")} - - - - `, + ${msg("Update")} + ${msg("Update Certificate-Key Pair")} + + + + + + `, ]; } diff --git a/web/src/admin/enterprise/EnterpriseLicenseListPage.ts b/web/src/admin/enterprise/EnterpriseLicenseListPage.ts index 27a0c1b679e0..0d2f16cf3f29 100644 --- a/web/src/admin/enterprise/EnterpriseLicenseListPage.ts +++ b/web/src/admin/enterprise/EnterpriseLicenseListPage.ts @@ -7,6 +7,7 @@ import "@goauthentik/elements/buttons/SpinnerButton"; import "@goauthentik/elements/cards/AggregateCard"; import "@goauthentik/elements/forms/DeleteBulkForm"; import "@goauthentik/elements/forms/ModalForm"; +import "@goauthentik/elements/rbac/ObjectPermissionModal"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; @@ -23,7 +24,13 @@ import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css"; import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css"; -import { EnterpriseApi, License, LicenseForecast, LicenseSummary } from "@goauthentik/api"; +import { + EnterpriseApi, + License, + LicenseForecast, + LicenseSummary, + RbacPermissionsAssignedByUsersListModelEnum, +} from "@goauthentik/api"; @customElement("ak-enterprise-license-list") export class EnterpriseLicenseListPage extends TablePage { @@ -221,16 +228,21 @@ export class EnterpriseLicenseListPage extends TablePage {
${msg(str`External: ${item.externalUsers}`)}
`, html` ${item.expiry?.toLocaleString()} `, html` - ${msg("Update")} - ${msg("Update License")} - - - - `, + ${msg("Update")} + ${msg("Update License")} + + + + + + `, ]; } diff --git a/web/src/admin/events/RuleListPage.ts b/web/src/admin/events/RuleListPage.ts index 58d3e3c1bc40..e997903b17d3 100644 --- a/web/src/admin/events/RuleListPage.ts +++ b/web/src/admin/events/RuleListPage.ts @@ -6,6 +6,8 @@ import { uiConfig } from "@goauthentik/common/ui/config"; import "@goauthentik/elements/buttons/SpinnerButton"; import "@goauthentik/elements/forms/DeleteBulkForm"; import "@goauthentik/elements/forms/ModalForm"; +import "@goauthentik/elements/rbac/ObjectPermissionModal"; +import "@goauthentik/elements/rbac/ObjectPermissionModal"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; @@ -15,7 +17,11 @@ import { msg } from "@lit/localize"; import { TemplateResult, html } from "lit"; import { customElement, property } from "lit/decorators.js"; -import { EventsApi, NotificationRule } from "@goauthentik/api"; +import { + EventsApi, + NotificationRule, + RbacPermissionsAssignedByUsersListModelEnum, +} from "@goauthentik/api"; @customElement("ak-event-rule-list") export class RuleListPage extends TablePage { @@ -88,15 +94,21 @@ export class RuleListPage extends TablePage { ? html`
${item.groupObj.name}` : msg("None (rule disabled)")}`, html` - ${msg("Update")} - ${msg("Update Notification Rule")} - - - `, + ${msg("Update")} + ${msg("Update Notification Rule")} + + + + + + `, ]; } diff --git a/web/src/admin/events/TransportListPage.ts b/web/src/admin/events/TransportListPage.ts index 07f8bc57f2f9..c36c21af99c3 100644 --- a/web/src/admin/events/TransportListPage.ts +++ b/web/src/admin/events/TransportListPage.ts @@ -5,6 +5,8 @@ import "@goauthentik/elements/buttons/ActionButton"; import "@goauthentik/elements/buttons/SpinnerButton"; import "@goauthentik/elements/forms/DeleteBulkForm"; import "@goauthentik/elements/forms/ModalForm"; +import "@goauthentik/elements/rbac/ObjectPermissionModal"; +import "@goauthentik/elements/rbac/ObjectPermissionModal"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; @@ -14,7 +16,11 @@ import { msg } from "@lit/localize"; import { TemplateResult, html } from "lit"; import { customElement, property } from "lit/decorators.js"; -import { EventsApi, NotificationTransport } from "@goauthentik/api"; +import { + EventsApi, + NotificationTransport, + RbacPermissionsAssignedByUsersListModelEnum, +} from "@goauthentik/api"; @customElement("ak-event-transport-list") export class TransportListPage extends TablePage { @@ -90,6 +96,12 @@ export class TransportListPage extends TablePage { + + + { diff --git a/web/src/admin/flows/FlowViewPage.ts b/web/src/admin/flows/FlowViewPage.ts index edd752c7f8b6..c760821e50c3 100644 --- a/web/src/admin/flows/FlowViewPage.ts +++ b/web/src/admin/flows/FlowViewPage.ts @@ -3,6 +3,7 @@ import "@goauthentik/admin/flows/FlowDiagram"; import "@goauthentik/admin/flows/FlowForm"; import "@goauthentik/admin/policies/BoundPoliciesList"; import { DesignationToLabel } from "@goauthentik/app/admin/flows/utils"; +import "@goauthentik/app/elements/rbac/ObjectPermissionsPage"; import { AndNext, DEFAULT_CONFIG } from "@goauthentik/common/api/config"; import "@goauthentik/components/events/ObjectChangelog"; import { AKElement } from "@goauthentik/elements/Base"; @@ -22,7 +23,12 @@ import PFPage from "@patternfly/patternfly/components/Page/page.css"; import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css"; -import { Flow, FlowsApi, ResponseError } from "@goauthentik/api"; +import { + Flow, + FlowsApi, + RbacPermissionsAssignedByUsersListModelEnum, + ResponseError, +} from "@goauthentik/api"; @customElement("ak-flow-view") export class FlowViewPage extends AKElement { @@ -267,6 +273,12 @@ export class FlowViewPage extends AKElement { + `; } } diff --git a/web/src/admin/groups/GroupForm.ts b/web/src/admin/groups/GroupForm.ts index 6525d1aa8088..2a1cca3508ac 100644 --- a/web/src/admin/groups/GroupForm.ts +++ b/web/src/admin/groups/GroupForm.ts @@ -11,13 +11,22 @@ import YAML from "yaml"; import { msg } from "@lit/localize"; import { CSSResult, TemplateResult, css, html } from "lit"; -import { customElement } from "lit/decorators.js"; +import { customElement, state } from "lit/decorators.js"; import { ifDefined } from "lit/directives/if-defined.js"; -import { CoreApi, CoreGroupsListRequest, Group } from "@goauthentik/api"; +import { + CoreApi, + CoreGroupsListRequest, + Group, + PaginatedRoleList, + RbacApi, +} from "@goauthentik/api"; @customElement("ak-group-form") export class GroupForm extends ModelForm { + @state() + roles?: PaginatedRoleList; + static get styles(): CSSResult[] { return super.styles.concat(css` .pf-c-button.pf-m-control { @@ -43,6 +52,12 @@ export class GroupForm extends ModelForm { } } + async load(): Promise { + this.roles = await new RbacApi(DEFAULT_CONFIG).rbacRolesList({ + ordering: "name", + }); + } + async send(data: Group): Promise { if (this.instance?.pk) { return new CoreApi(DEFAULT_CONFIG).coreGroupsPartialUpdate({ @@ -112,6 +127,26 @@ export class GroupForm extends ModelForm { > + + +

+ ${msg( + "Select roles to grant this groups' users' permissions from the selected roles.", + )} +

+

+ ${msg("Hold control/command to select multiple items.")} +

+
${msg("Group Info")}
-
+
+
+
+ ${msg("Roles")} +
+
+
+
    + ${this.group.rolesObj.map((role) => { + return html`
  • + ${role.name} + +
  • `; + })} +
+
+
+
+ + `; } } diff --git a/web/src/admin/outposts/OutpostListPage.ts b/web/src/admin/outposts/OutpostListPage.ts index 575319f16d3d..390134ad03eb 100644 --- a/web/src/admin/outposts/OutpostListPage.ts +++ b/web/src/admin/outposts/OutpostListPage.ts @@ -10,6 +10,7 @@ import { PFSize } from "@goauthentik/elements/Spinner"; import "@goauthentik/elements/buttons/SpinnerButton"; import "@goauthentik/elements/forms/DeleteBulkForm"; import "@goauthentik/elements/forms/ModalForm"; +import "@goauthentik/elements/rbac/ObjectPermissionModal"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; @@ -23,7 +24,13 @@ import { ifDefined } from "lit/directives/if-defined.js"; import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList/description-list.css"; -import { Outpost, OutpostHealth, OutpostTypeEnum, OutpostsApi } from "@goauthentik/api"; +import { + Outpost, + OutpostHealth, + OutpostTypeEnum, + OutpostsApi, + RbacPermissionsAssignedByUsersListModelEnum, +} from "@goauthentik/api"; export function TypeToLabel(type?: OutpostTypeEnum): string { if (!type) return ""; @@ -141,6 +148,11 @@ export class OutpostListPage extends TablePage { + + ${item.managed !== "goauthentik.io/outposts/embedded" ? html` - `, + html` + + ${msg("Update")} + ${msg(str`Update ${item.verboseName}`)} + + + + + + + `, ]; } diff --git a/web/src/admin/policies/PolicyListPage.ts b/web/src/admin/policies/PolicyListPage.ts index a467f94b42a3..9a1dda2158a8 100644 --- a/web/src/admin/policies/PolicyListPage.ts +++ b/web/src/admin/policies/PolicyListPage.ts @@ -13,6 +13,7 @@ import "@goauthentik/elements/forms/ConfirmationForm"; import "@goauthentik/elements/forms/DeleteBulkForm"; import "@goauthentik/elements/forms/ModalForm"; import "@goauthentik/elements/forms/ProxyForm"; +import "@goauthentik/elements/rbac/ObjectPermissionModal"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; @@ -92,6 +93,9 @@ export class PolicyListPage extends TablePage { + + + ${msg("Test")} ${msg("Test Policy")} diff --git a/web/src/admin/policies/reputation/ReputationListPage.ts b/web/src/admin/policies/reputation/ReputationListPage.ts index c2144a436487..8c25f1514080 100644 --- a/web/src/admin/policies/reputation/ReputationListPage.ts +++ b/web/src/admin/policies/reputation/ReputationListPage.ts @@ -4,6 +4,7 @@ import "@goauthentik/elements/buttons/ModalButton"; import "@goauthentik/elements/buttons/SpinnerButton"; import "@goauthentik/elements/forms/DeleteBulkForm"; import "@goauthentik/elements/forms/ModalForm"; +import "@goauthentik/elements/rbac/ObjectPermissionModal"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; @@ -13,7 +14,11 @@ import { msg } from "@lit/localize"; import { TemplateResult, html } from "lit"; import { customElement, property } from "lit/decorators.js"; -import { PoliciesApi, Reputation } from "@goauthentik/api"; +import { + PoliciesApi, + RbacPermissionsAssignedByUsersListModelEnum, + Reputation, +} from "@goauthentik/api"; @customElement("ak-policy-reputation-list") export class ReputationListPage extends TablePage { @@ -52,6 +57,7 @@ export class ReputationListPage extends TablePage { new TableColumn(msg("IP"), "ip"), new TableColumn(msg("Score"), "score"), new TableColumn(msg("Updated"), "updated"), + new TableColumn(msg("Actions")), ]; } @@ -86,6 +92,13 @@ export class ReputationListPage extends TablePage { ${item.ip}`, html`${item.score}`, html`${item.updated.toLocaleString()}`, + html` + + + `, ]; } } diff --git a/web/src/admin/property-mappings/PropertyMappingListPage.ts b/web/src/admin/property-mappings/PropertyMappingListPage.ts index 500525922956..e961a744ccf5 100644 --- a/web/src/admin/property-mappings/PropertyMappingListPage.ts +++ b/web/src/admin/property-mappings/PropertyMappingListPage.ts @@ -10,6 +10,7 @@ import { uiConfig } from "@goauthentik/common/ui/config"; import "@goauthentik/elements/forms/DeleteBulkForm"; import "@goauthentik/elements/forms/ModalForm"; import "@goauthentik/elements/forms/ProxyForm"; +import "@goauthentik/elements/rbac/ObjectPermissionModal"; import { getURLParam, updateURLParams } from "@goauthentik/elements/router/RouteMatch"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; @@ -107,6 +108,8 @@ export class PropertyMappingListPage extends TablePage { + + ${msg("Test")} ${msg("Test Property Mapping")} diff --git a/web/src/admin/providers/ldap/LDAPProviderViewPage.ts b/web/src/admin/providers/ldap/LDAPProviderViewPage.ts index f644bb7c5062..421b04334377 100644 --- a/web/src/admin/providers/ldap/LDAPProviderViewPage.ts +++ b/web/src/admin/providers/ldap/LDAPProviderViewPage.ts @@ -1,5 +1,6 @@ import "@goauthentik/admin/providers/RelatedApplicationButton"; import "@goauthentik/admin/providers/ldap/LDAPProviderForm"; +import "@goauthentik/app/elements/rbac/ObjectPermissionsPage"; import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; import { EVENT_REFRESH } from "@goauthentik/common/constants"; import { me } from "@goauthentik/common/users"; @@ -27,7 +28,12 @@ import PFPage from "@patternfly/patternfly/components/Page/page.css"; import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css"; -import { LDAPProvider, ProvidersApi, SessionUser } from "@goauthentik/api"; +import { + LDAPProvider, + ProvidersApi, + RbacPermissionsAssignedByUsersListModelEnum, + SessionUser, +} from "@goauthentik/api"; @customElement("ak-provider-ldap-view") export class LDAPProviderViewPage extends AKElement { @@ -101,6 +107,12 @@ export class LDAPProviderViewPage extends AKElement { + `; } diff --git a/web/src/admin/providers/oauth2/OAuth2ProviderViewPage.ts b/web/src/admin/providers/oauth2/OAuth2ProviderViewPage.ts index 920e71ceb8d6..afe5dfd582e8 100644 --- a/web/src/admin/providers/oauth2/OAuth2ProviderViewPage.ts +++ b/web/src/admin/providers/oauth2/OAuth2ProviderViewPage.ts @@ -33,6 +33,7 @@ import { OAuth2ProviderSetupURLs, PropertyMappingPreview, ProvidersApi, + RbacPermissionsAssignedByUsersListModelEnum, } from "@goauthentik/api"; @customElement("ak-provider-oauth2-view") @@ -128,6 +129,12 @@ export class OAuth2ProviderViewPage extends AKElement { + `; } diff --git a/web/src/admin/providers/proxy/ProxyProviderViewPage.ts b/web/src/admin/providers/proxy/ProxyProviderViewPage.ts index 2451cfa1e374..a0ce2792d712 100644 --- a/web/src/admin/providers/proxy/ProxyProviderViewPage.ts +++ b/web/src/admin/providers/proxy/ProxyProviderViewPage.ts @@ -1,5 +1,6 @@ import "@goauthentik/admin/providers/RelatedApplicationButton"; import "@goauthentik/admin/providers/proxy/ProxyProviderForm"; +import "@goauthentik/app/elements/rbac/ObjectPermissionsPage"; import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; import { EVENT_REFRESH } from "@goauthentik/common/constants"; import { convertToSlug } from "@goauthentik/common/utils"; @@ -39,7 +40,12 @@ import PFPage from "@patternfly/patternfly/components/Page/page.css"; import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css"; -import { ProvidersApi, ProxyMode, ProxyProvider } from "@goauthentik/api"; +import { + ProvidersApi, + ProxyMode, + ProxyProvider, + RbacPermissionsAssignedByUsersListModelEnum, +} from "@goauthentik/api"; export function ModeToLabel(action?: ProxyMode): string { if (!action) return ""; @@ -208,6 +214,12 @@ export class ProxyProviderViewPage extends AKElement { + `; } diff --git a/web/src/admin/providers/radius/RadiusProviderViewPage.ts b/web/src/admin/providers/radius/RadiusProviderViewPage.ts index b62600a97956..3963face9f46 100644 --- a/web/src/admin/providers/radius/RadiusProviderViewPage.ts +++ b/web/src/admin/providers/radius/RadiusProviderViewPage.ts @@ -1,5 +1,6 @@ import "@goauthentik/admin/providers/RelatedApplicationButton"; import "@goauthentik/admin/providers/radius/RadiusProviderForm"; +import "@goauthentik/app/elements/rbac/ObjectPermissionsPage"; import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; import { EVENT_REFRESH } from "@goauthentik/common/constants"; import "@goauthentik/components/events/ObjectChangelog"; @@ -21,10 +22,13 @@ import PFPage from "@patternfly/patternfly/components/Page/page.css"; import PFGallery from "@patternfly/patternfly/layouts/Gallery/gallery.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css"; import PFDisplay from "@patternfly/patternfly/utilities/Display/display.css"; -import PFFlex from "@patternfly/patternfly/utilities/Flex/flex.css"; import PFSizing from "@patternfly/patternfly/utilities/Sizing/sizing.css"; -import { ProvidersApi, RadiusProvider } from "@goauthentik/api"; +import { + ProvidersApi, + RadiusProvider, + RbacPermissionsAssignedByUsersListModelEnum, +} from "@goauthentik/api"; @customElement("ak-provider-radius-view") export class RadiusProviderViewPage extends AKElement { @@ -50,7 +54,6 @@ export class RadiusProviderViewPage extends AKElement { PFBase, PFButton, PFPage, - PFFlex, PFDisplay, PFGallery, PFContent, @@ -162,6 +165,12 @@ export class RadiusProviderViewPage extends AKElement { + `; } } diff --git a/web/src/admin/providers/saml/SAMLProviderViewPage.ts b/web/src/admin/providers/saml/SAMLProviderViewPage.ts index 3e8d773ef058..806a51b6b5b4 100644 --- a/web/src/admin/providers/saml/SAMLProviderViewPage.ts +++ b/web/src/admin/providers/saml/SAMLProviderViewPage.ts @@ -1,5 +1,6 @@ import "@goauthentik/admin/providers/RelatedApplicationButton"; import "@goauthentik/admin/providers/saml/SAMLProviderForm"; +import "@goauthentik/app/elements/rbac/ObjectPermissionsPage"; import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; import { EVENT_REFRESH } from "@goauthentik/common/constants"; import { MessageLevel } from "@goauthentik/common/messages"; @@ -34,6 +35,7 @@ import { CertificateKeyPair, CryptoApi, ProvidersApi, + RbacPermissionsAssignedByUsersListModelEnum, SAMLMetadata, SAMLProvider, } from "@goauthentik/api"; @@ -226,6 +228,12 @@ export class SAMLProviderViewPage extends AKElement { + `; } diff --git a/web/src/admin/providers/scim/SCIMProviderViewPage.ts b/web/src/admin/providers/scim/SCIMProviderViewPage.ts index e9d0afb79065..3998c7c8148f 100644 --- a/web/src/admin/providers/scim/SCIMProviderViewPage.ts +++ b/web/src/admin/providers/scim/SCIMProviderViewPage.ts @@ -1,4 +1,5 @@ import "@goauthentik/admin/providers/scim/SCIMProviderForm"; +import "@goauthentik/app/elements/rbac/ObjectPermissionsPage"; import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; import { EVENT_REFRESH } from "@goauthentik/common/constants"; import "@goauthentik/components/events/ObjectChangelog"; @@ -26,7 +27,12 @@ import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css"; import PFStack from "@patternfly/patternfly/layouts/Stack/stack.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css"; -import { ProvidersApi, SCIMProvider, Task } from "@goauthentik/api"; +import { + ProvidersApi, + RbacPermissionsAssignedByUsersListModelEnum, + SCIMProvider, + Task, +} from "@goauthentik/api"; @customElement("ak-provider-scim-view") export class SCIMProviderViewPage extends AKElement { @@ -113,6 +119,12 @@ export class SCIMProviderViewPage extends AKElement { + `; } diff --git a/web/src/admin/roles/RoleForm.ts b/web/src/admin/roles/RoleForm.ts new file mode 100644 index 000000000000..48b886b82646 --- /dev/null +++ b/web/src/admin/roles/RoleForm.ts @@ -0,0 +1,56 @@ +import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; +import "@goauthentik/elements/chips/Chip"; +import "@goauthentik/elements/chips/ChipGroup"; +import "@goauthentik/elements/forms/HorizontalFormElement"; +import { ModelForm } from "@goauthentik/elements/forms/ModelForm"; +import "@goauthentik/elements/forms/SearchSelect"; + +import { msg } from "@lit/localize"; +import { TemplateResult, html } from "lit"; +import { customElement } from "lit/decorators.js"; +import { ifDefined } from "lit/directives/if-defined.js"; + +import { RbacApi, Role } from "@goauthentik/api"; + +@customElement("ak-role-form") +export class RoleForm extends ModelForm { + loadInstance(pk: string): Promise { + return new RbacApi(DEFAULT_CONFIG).rbacRolesRetrieve({ + uuid: pk, + }); + } + + getSuccessMessage(): string { + if (this.instance) { + return msg("Successfully updated role."); + } else { + return msg("Successfully created role."); + } + } + + async send(data: Role): Promise { + if (this.instance?.pk) { + return new RbacApi(DEFAULT_CONFIG).rbacRolesPartialUpdate({ + uuid: this.instance.pk, + patchedRoleRequest: data, + }); + } else { + return new RbacApi(DEFAULT_CONFIG).rbacRolesCreate({ + roleRequest: data, + }); + } + } + + renderForm(): TemplateResult { + return html`
+ + + +
`; + } +} diff --git a/web/src/admin/roles/RoleListPage.ts b/web/src/admin/roles/RoleListPage.ts new file mode 100644 index 000000000000..2bf8bf64e634 --- /dev/null +++ b/web/src/admin/roles/RoleListPage.ts @@ -0,0 +1,98 @@ +import "@goauthentik/admin/roles/RoleForm"; +import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; +import { uiConfig } from "@goauthentik/common/ui/config"; +import "@goauthentik/elements/buttons/SpinnerButton"; +import "@goauthentik/elements/forms/DeleteBulkForm"; +import "@goauthentik/elements/forms/ModalForm"; +import { PaginatedResponse } from "@goauthentik/elements/table/Table"; +import { TableColumn } from "@goauthentik/elements/table/Table"; +import { TablePage } from "@goauthentik/elements/table/TablePage"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; + +import { msg } from "@lit/localize"; +import { TemplateResult, html } from "lit"; +import { customElement, property } from "lit/decorators.js"; + +import { RbacApi, Role } from "@goauthentik/api"; + +@customElement("ak-role-list") +export class RoleListPage extends TablePage { + checkbox = true; + searchEnabled(): boolean { + return true; + } + pageTitle(): string { + return msg("Roles"); + } + pageDescription(): string { + return msg("Manage roles which grant permissions to objects within authentik."); + } + pageIcon(): string { + return "fa fa-lock"; + } + + @property() + order = "name"; + + async apiEndpoint(page: number): Promise> { + return new RbacApi(DEFAULT_CONFIG).rbacRolesList({ + ordering: this.order, + page: page, + pageSize: (await uiConfig()).pagination.perPage, + search: this.search || "", + }); + } + + columns(): TableColumn[] { + return [new TableColumn(msg("Name"), "name"), new TableColumn(msg("Actions"))]; + } + + renderToolbarSelected(): TemplateResult { + const disabled = this.selectedElements.length < 1; + return html` { + return new RbacApi(DEFAULT_CONFIG).rbacRolesUsedByList({ + uuid: item.pk, + }); + }} + .delete=${(item: Role) => { + return new RbacApi(DEFAULT_CONFIG).rbacRolesDestroy({ + uuid: item.pk, + }); + }} + > + + `; + } + + row(item: Role): TemplateResult[] { + return [ + html`${item.name}`, + html` + ${msg("Update")} + ${msg("Update Role")} + + + `, + ]; + } + + renderObjectCreate(): TemplateResult { + return html` + + ${msg("Create")} + ${msg("Create Role")} + + + + `; + } +} diff --git a/web/src/admin/roles/RolePermissionForm.ts b/web/src/admin/roles/RolePermissionForm.ts new file mode 100644 index 000000000000..f0312706a6e3 --- /dev/null +++ b/web/src/admin/roles/RolePermissionForm.ts @@ -0,0 +1,88 @@ +import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; +import "@goauthentik/components/ak-toggle-group"; +import "@goauthentik/elements/chips/Chip"; +import "@goauthentik/elements/chips/ChipGroup"; +import "@goauthentik/elements/forms/HorizontalFormElement"; +import { ModelForm } from "@goauthentik/elements/forms/ModelForm"; +import "@goauthentik/elements/forms/Radio"; +import "@goauthentik/elements/forms/SearchSelect"; +import "@goauthentik/elements/rbac/PermissionSelectModal"; + +import { msg } from "@lit/localize"; +import { TemplateResult, html } from "lit"; +import { customElement, property, state } from "lit/decorators.js"; + +import { Permission, RbacApi } from "@goauthentik/api"; + +interface RolePermissionAssign { + permissions: string[]; +} + +@customElement("ak-role-permission-form") +export class RolePermissionForm extends ModelForm { + @state() + permissionsToAdd: Permission[] = []; + + @property() + roleUuid?: string; + + async load(): Promise {} + + loadInstance(): Promise { + throw new Error("Method not implemented."); + } + + getSuccessMessage(): string { + return msg("Successfully assigned permission."); + } + + async send(data: RolePermissionAssign): Promise { + await new RbacApi(DEFAULT_CONFIG).rbacPermissionsAssignedByRolesAssignCreate({ + uuid: this.roleUuid || "", + permissionAssignRequest: { + permissions: data.permissions, + }, + }); + this.permissionsToAdd = []; + return; + } + + renderForm(): TemplateResult { + return html`
+ +
+ { + this.permissionsToAdd = items; + this.requestUpdate(); + return Promise.resolve(); + }} + > + + +
+ + ${this.permissionsToAdd.map((permission) => { + return html` { + const idx = this.permissionsToAdd.indexOf(permission); + this.permissionsToAdd.splice(idx, 1); + this.requestUpdate(); + }} + > + ${permission.name} + `; + })} + +
+
+
+
`; + } +} diff --git a/web/src/admin/roles/RolePermissionGlobalTable.ts b/web/src/admin/roles/RolePermissionGlobalTable.ts new file mode 100644 index 000000000000..9a302c19c092 --- /dev/null +++ b/web/src/admin/roles/RolePermissionGlobalTable.ts @@ -0,0 +1,89 @@ +import "@goauthentik/admin/roles/RolePermissionForm"; +import { DEFAULT_CONFIG } from "@goauthentik/app/common/api/config"; +import { groupBy } from "@goauthentik/app/common/utils"; +import { PaginatedResponse, Table, TableColumn } from "@goauthentik/app/elements/table/Table"; +import "@goauthentik/elements/forms/ModalForm"; + +import { msg } from "@lit/localize"; +import { TemplateResult, html } from "lit"; +import { customElement, property } from "lit/decorators.js"; +import { ifDefined } from "lit/directives/if-defined.js"; + +import { Permission, RbacApi } from "@goauthentik/api"; + +@customElement("ak-role-permissions-global-table") +export class RolePermissionGlobalTable extends Table { + @property() + roleUuid?: string; + + searchEnabled(): boolean { + return true; + } + + checkbox = true; + + order = "content_type__app_label,content_type__model"; + + apiEndpoint(page: number): Promise> { + return new RbacApi(DEFAULT_CONFIG).rbacPermissionsList({ + role: this.roleUuid, + page: page, + ordering: this.order, + search: this.search, + }); + } + + groupBy(items: Permission[]): [string, Permission[]][] { + return groupBy(items, (obj) => { + return obj.appLabelVerbose; + }); + } + + columns(): TableColumn[] { + return [ + new TableColumn("Model", "model"), + new TableColumn("Permission", ""), + new TableColumn(""), + ]; + } + + renderObjectCreate(): TemplateResult { + return html` + + ${msg("Assign")} + ${msg("Assign permission to role")} + + + + + `; + } + + renderToolbarSelected(): TemplateResult { + const disabled = this.selectedElements.length < 1; + return html` { + return new RbacApi( + DEFAULT_CONFIG, + ).rbacPermissionsAssignedByRolesUnassignPartialUpdate({ + uuid: this.roleUuid || "", + patchedPermissionAssignRequest: { + permissions: [`${item.appLabel}.${item.codename}`], + }, + }); + }} + > + + `; + } + + row(item: Permission): TemplateResult[] { + return [html`${item.modelVerbose}`, html`${item.name}`, html`✓`]; + } +} diff --git a/web/src/admin/roles/RolePermissionObjectTable.ts b/web/src/admin/roles/RolePermissionObjectTable.ts new file mode 100644 index 000000000000..e8a71963ad8a --- /dev/null +++ b/web/src/admin/roles/RolePermissionObjectTable.ts @@ -0,0 +1,94 @@ +import { DEFAULT_CONFIG } from "@goauthentik/app/common/api/config"; +import { groupBy } from "@goauthentik/app/common/utils"; +import { PaginatedResponse, Table, TableColumn } from "@goauthentik/app/elements/table/Table"; +import "@goauthentik/elements/forms/DeleteBulkForm"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; + +import { msg } from "@lit/localize"; +import { TemplateResult, html } from "lit"; +import { customElement, property } from "lit/decorators.js"; + +import { ExtraRoleObjectPermission, RbacApi } from "@goauthentik/api"; + +@customElement("ak-role-permissions-object-table") +export class RolePermissionObjectTable extends Table { + @property() + roleUuid?: string; + + searchEnabled(): boolean { + return true; + } + + checkbox = true; + + apiEndpoint(page: number): Promise> { + return new RbacApi(DEFAULT_CONFIG).rbacPermissionsRolesList({ + uuid: this.roleUuid || "", + page: page, + ordering: this.order, + search: this.search, + }); + } + + groupBy(items: ExtraRoleObjectPermission[]): [string, ExtraRoleObjectPermission[]][] { + return groupBy(items, (obj) => { + return obj.appLabelVerbose; + }); + } + + columns(): TableColumn[] { + return [ + new TableColumn("Model", "model"), + new TableColumn("Permission", ""), + new TableColumn("Object", ""), + new TableColumn(""), + ]; + } + + renderToolbarSelected(): TemplateResult { + const disabled = this.selectedElements.length < 1; + return html` { + return [ + { key: msg("Permission"), value: item.name }, + { key: msg("Object"), value: item.objectDescription || item.objectPk }, + ]; + }} + .delete=${(item: ExtraRoleObjectPermission) => { + return new RbacApi( + DEFAULT_CONFIG, + ).rbacPermissionsAssignedByRolesUnassignPartialUpdate({ + uuid: this.roleUuid || "", + patchedPermissionAssignRequest: { + permissions: [`${item.appLabel}.${item.codename}`], + objectPk: item.objectPk, + }, + }); + }} + > + + `; + } + + row(item: ExtraRoleObjectPermission): TemplateResult[] { + return [ + html`${item.modelVerbose}`, + html`${item.name}`, + html`${item.objectDescription + ? html`${item.objectDescription}` + : html` +
${item.objectPk}
+
`}`, + html`✓`, + ]; + } +} diff --git a/web/src/admin/roles/RoleViewPage.ts b/web/src/admin/roles/RoleViewPage.ts new file mode 100644 index 000000000000..b9a77fac45d5 --- /dev/null +++ b/web/src/admin/roles/RoleViewPage.ts @@ -0,0 +1,144 @@ +import "@goauthentik/admin/groups/RelatedGroupList"; +import "@goauthentik/app/admin/roles/RolePermissionGlobalTable"; +import "@goauthentik/app/admin/roles/RolePermissionObjectTable"; +import "@goauthentik/app/elements/rbac/ObjectPermissionsPage"; +import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; +import { EVENT_REFRESH } from "@goauthentik/common/constants"; +import "@goauthentik/components/events/ObjectChangelog"; +import "@goauthentik/components/events/UserEvents"; +import { AKElement } from "@goauthentik/elements/Base"; +import "@goauthentik/elements/CodeMirror"; +import "@goauthentik/elements/PageHeader"; +import "@goauthentik/elements/Tabs"; + +import { msg, str } from "@lit/localize"; +import { CSSResult, TemplateResult, css, html } from "lit"; +import { customElement, property, state } from "lit/decorators.js"; + +import PFButton from "@patternfly/patternfly/components/Button/button.css"; +import PFCard from "@patternfly/patternfly/components/Card/card.css"; +import PFContent from "@patternfly/patternfly/components/Content/content.css"; +import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList/description-list.css"; +import PFPage from "@patternfly/patternfly/components/Page/page.css"; +import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css"; +import PFBase from "@patternfly/patternfly/patternfly-base.css"; +import PFDisplay from "@patternfly/patternfly/utilities/Display/display.css"; + +import { RbacApi, RbacPermissionsAssignedByUsersListModelEnum, Role } from "@goauthentik/api"; + +@customElement("ak-role-view") +export class RoleViewPage extends AKElement { + @property({ type: String }) + set roleId(id: string) { + new RbacApi(DEFAULT_CONFIG) + .rbacRolesRetrieve({ + uuid: id, + }) + .then((role) => { + this._role = role; + }); + } + + @state() + _role?: Role; + + static get styles(): CSSResult[] { + return [ + PFBase, + PFPage, + PFButton, + PFDisplay, + PFGrid, + PFContent, + PFCard, + PFDescriptionList, + css` + .pf-c-description-list__description ak-action-button { + margin-right: 6px; + margin-bottom: 6px; + } + .ak-button-collection { + max-width: 12em; + } + `, + ]; + } + + constructor() { + super(); + this.addEventListener(EVENT_REFRESH, () => { + if (!this._role?.pk) return; + this.roleId = this._role?.pk; + }); + } + + render(): TemplateResult { + return html` + + ${this.renderBody()}`; + } + + renderBody(): TemplateResult { + if (!this._role) { + return html``; + } + return html` +
+
+
+
${msg("Role Info")}
+
+
+
+
+ ${msg("Name")} +
+
+
+ ${this._role.name} +
+
+
+
+
+
+
+
${msg("Assigned global permissions")}
+
+ +
+
+
+
${msg("Assigned object permissions")}
+
+ +
+
+
+
+ +
`; + } +} diff --git a/web/src/admin/sources/ldap/LDAPSourceViewPage.ts b/web/src/admin/sources/ldap/LDAPSourceViewPage.ts index 2c74bc5f2cdf..36129c3c4ef5 100644 --- a/web/src/admin/sources/ldap/LDAPSourceViewPage.ts +++ b/web/src/admin/sources/ldap/LDAPSourceViewPage.ts @@ -1,4 +1,5 @@ import "@goauthentik/admin/sources/ldap/LDAPSourceForm"; +import "@goauthentik/app/elements/rbac/ObjectPermissionsPage"; import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; import { EVENT_REFRESH } from "@goauthentik/common/constants"; import "@goauthentik/components/events/ObjectChangelog"; @@ -22,7 +23,13 @@ import PFPage from "@patternfly/patternfly/components/Page/page.css"; import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css"; -import { LDAPSource, SourcesApi, Task, TaskStatusEnum } from "@goauthentik/api"; +import { + LDAPSource, + RbacPermissionsAssignedByUsersListModelEnum, + SourcesApi, + Task, + TaskStatusEnum, +} from "@goauthentik/api"; @customElement("ak-source-ldap-view") export class LDAPSourceViewPage extends AKElement { @@ -206,6 +213,12 @@ export class LDAPSourceViewPage extends AKElement { + `; } } diff --git a/web/src/admin/sources/oauth/OAuthSourceViewPage.ts b/web/src/admin/sources/oauth/OAuthSourceViewPage.ts index 3bfa5cdaf936..f70c13038e56 100644 --- a/web/src/admin/sources/oauth/OAuthSourceViewPage.ts +++ b/web/src/admin/sources/oauth/OAuthSourceViewPage.ts @@ -1,6 +1,7 @@ import "@goauthentik/admin/policies/BoundPoliciesList"; import "@goauthentik/admin/sources/oauth/OAuthSourceDiagram"; import "@goauthentik/admin/sources/oauth/OAuthSourceForm"; +import "@goauthentik/app/elements/rbac/ObjectPermissionsPage"; import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; import { EVENT_REFRESH } from "@goauthentik/common/constants"; import "@goauthentik/components/events/ObjectChangelog"; @@ -22,7 +23,12 @@ import PFPage from "@patternfly/patternfly/components/Page/page.css"; import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css"; -import { OAuthSource, ProviderTypeEnum, SourcesApi } from "@goauthentik/api"; +import { + OAuthSource, + ProviderTypeEnum, + RbacPermissionsAssignedByUsersListModelEnum, + SourcesApi, +} from "@goauthentik/api"; export function ProviderToLabel(provider?: ProviderTypeEnum): string { switch (provider) { @@ -238,6 +244,12 @@ export class OAuthSourceViewPage extends AKElement { + `; } } diff --git a/web/src/admin/sources/plex/PlexSourceViewPage.ts b/web/src/admin/sources/plex/PlexSourceViewPage.ts index 51db79d27bac..88287a8b2f56 100644 --- a/web/src/admin/sources/plex/PlexSourceViewPage.ts +++ b/web/src/admin/sources/plex/PlexSourceViewPage.ts @@ -1,5 +1,6 @@ import "@goauthentik/admin/policies/BoundPoliciesList"; import "@goauthentik/admin/sources/plex/PlexSourceForm"; +import "@goauthentik/app/elements/rbac/ObjectPermissionsPage"; import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; import { EVENT_REFRESH } from "@goauthentik/common/constants"; import "@goauthentik/components/events/ObjectChangelog"; @@ -21,7 +22,11 @@ import PFPage from "@patternfly/patternfly/components/Page/page.css"; import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css"; -import { PlexSource, SourcesApi } from "@goauthentik/api"; +import { + PlexSource, + RbacPermissionsAssignedByUsersListModelEnum, + SourcesApi, +} from "@goauthentik/api"; @customElement("ak-source-plex-view") export class PlexSourceViewPage extends AKElement { @@ -131,6 +136,12 @@ export class PlexSourceViewPage extends AKElement { + `; } } diff --git a/web/src/admin/sources/saml/SAMLSourceViewPage.ts b/web/src/admin/sources/saml/SAMLSourceViewPage.ts index b85768242a63..56a8750c9d16 100644 --- a/web/src/admin/sources/saml/SAMLSourceViewPage.ts +++ b/web/src/admin/sources/saml/SAMLSourceViewPage.ts @@ -1,5 +1,6 @@ import "@goauthentik/admin/policies/BoundPoliciesList"; import "@goauthentik/admin/sources/saml/SAMLSourceForm"; +import "@goauthentik/app/elements/rbac/ObjectPermissionsPage"; import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; import { EVENT_REFRESH } from "@goauthentik/common/constants"; import "@goauthentik/components/events/ObjectChangelog"; @@ -22,7 +23,12 @@ import PFPage from "@patternfly/patternfly/components/Page/page.css"; import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css"; -import { SAMLMetadata, SAMLSource, SourcesApi } from "@goauthentik/api"; +import { + RbacPermissionsAssignedByUsersListModelEnum, + SAMLMetadata, + SAMLSource, + SourcesApi, +} from "@goauthentik/api"; @customElement("ak-source-saml-view") export class SAMLSourceViewPage extends AKElement { @@ -206,6 +212,12 @@ export class SAMLSourceViewPage extends AKElement { + `; } } diff --git a/web/src/admin/stages/StageListPage.ts b/web/src/admin/stages/StageListPage.ts index 3308fb50e629..fb28cf42dcb1 100644 --- a/web/src/admin/stages/StageListPage.ts +++ b/web/src/admin/stages/StageListPage.ts @@ -24,6 +24,7 @@ import { uiConfig } from "@goauthentik/common/ui/config"; import "@goauthentik/elements/forms/DeleteBulkForm"; import "@goauthentik/elements/forms/ModalForm"; import "@goauthentik/elements/forms/ProxyForm"; +import "@goauthentik/elements/rbac/ObjectPermissionModal"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; @@ -149,6 +150,8 @@ export class StageListPage extends TablePage {
+ + ${this.renderStageActions(item)}`, ]; } diff --git a/web/src/admin/stages/invitation/InvitationListLink.ts b/web/src/admin/stages/invitation/InvitationListLink.ts index 6f96db4f51a4..a08033c87ae6 100644 --- a/web/src/admin/stages/invitation/InvitationListLink.ts +++ b/web/src/admin/stages/invitation/InvitationListLink.ts @@ -9,7 +9,6 @@ import { until } from "lit/directives/until.js"; import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList/description-list.css"; import PFForm from "@patternfly/patternfly/components/Form/form.css"; import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css"; -import PFFlex from "@patternfly/patternfly/layouts/Flex/flex.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css"; import { Invitation, StagesApi } from "@goauthentik/api"; @@ -23,7 +22,7 @@ export class InvitationListLink extends AKElement { selectedFlow?: string; static get styles(): CSSResult[] { - return [PFBase, PFForm, PFFormControl, PFFlex, PFDescriptionList]; + return [PFBase, PFForm, PFFormControl, PFDescriptionList]; } renderLink(): string { diff --git a/web/src/admin/stages/invitation/InvitationListPage.ts b/web/src/admin/stages/invitation/InvitationListPage.ts index 41b81e5f13b0..2288b069188f 100644 --- a/web/src/admin/stages/invitation/InvitationListPage.ts +++ b/web/src/admin/stages/invitation/InvitationListPage.ts @@ -7,6 +7,7 @@ import "@goauthentik/elements/buttons/ModalButton"; import "@goauthentik/elements/buttons/SpinnerButton"; import "@goauthentik/elements/forms/DeleteBulkForm"; import "@goauthentik/elements/forms/ModalForm"; +import "@goauthentik/elements/rbac/ObjectPermissionModal"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; @@ -19,7 +20,12 @@ import { ifDefined } from "lit/directives/if-defined.js"; import PFBanner from "@patternfly/patternfly/components/Banner/banner.css"; -import { FlowDesignationEnum, Invitation, StagesApi } from "@goauthentik/api"; +import { + FlowDesignationEnum, + Invitation, + RbacPermissionsAssignedByUsersListModelEnum, + StagesApi, +} from "@goauthentik/api"; @customElement("ak-stage-invitation-list") export class InvitationListPage extends TablePage { @@ -124,15 +130,20 @@ export class InvitationListPage extends TablePage { html`${item.createdBy?.username}`, html`${item.expires?.toLocaleString() || msg("-")}`, html` - ${msg("Update")} - ${msg("Update Invitation")} - - - `, + ${msg("Update")} + ${msg("Update Invitation")} + + + + + `, ]; } diff --git a/web/src/admin/stages/prompt/PromptListPage.ts b/web/src/admin/stages/prompt/PromptListPage.ts index a67f566e14e9..c2b84a689bd6 100644 --- a/web/src/admin/stages/prompt/PromptListPage.ts +++ b/web/src/admin/stages/prompt/PromptListPage.ts @@ -5,6 +5,7 @@ import "@goauthentik/elements/buttons/ModalButton"; import "@goauthentik/elements/buttons/SpinnerButton"; import "@goauthentik/elements/forms/DeleteBulkForm"; import "@goauthentik/elements/forms/ModalForm"; +import "@goauthentik/elements/rbac/ObjectPermissionModal"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; @@ -14,7 +15,7 @@ import { msg } from "@lit/localize"; import { TemplateResult, html } from "lit"; import { customElement, property } from "lit/decorators.js"; -import { Prompt, StagesApi } from "@goauthentik/api"; +import { Prompt, RbacPermissionsAssignedByUsersListModelEnum, StagesApi } from "@goauthentik/api"; @customElement("ak-stage-prompt-list") export class PromptListPage extends TablePage { @@ -88,15 +89,20 @@ export class PromptListPage extends TablePage { return html`
  • ${stage.name}
  • `; })}`, html` - ${msg("Update")} - ${msg("Update Prompt")} - - - `, + ${msg("Update")} + ${msg("Update Prompt")} + + + + + `, ]; } diff --git a/web/src/admin/tenants/TenantListPage.ts b/web/src/admin/tenants/TenantListPage.ts index 560b0d0970e4..2edaeb2d461f 100644 --- a/web/src/admin/tenants/TenantListPage.ts +++ b/web/src/admin/tenants/TenantListPage.ts @@ -5,6 +5,7 @@ import { PFColor } from "@goauthentik/elements/Label"; import "@goauthentik/elements/buttons/SpinnerButton"; import "@goauthentik/elements/forms/DeleteBulkForm"; import "@goauthentik/elements/forms/ModalForm"; +import "@goauthentik/elements/rbac/ObjectPermissionModal"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; @@ -14,7 +15,7 @@ import { msg } from "@lit/localize"; import { TemplateResult, html } from "lit"; import { customElement, property } from "lit/decorators.js"; -import { CoreApi, Tenant } from "@goauthentik/api"; +import { CoreApi, RbacPermissionsAssignedByUsersListModelEnum, Tenant } from "@goauthentik/api"; @customElement("ak-tenant-list") export class TenantListPage extends TablePage { @@ -85,15 +86,21 @@ export class TenantListPage extends TablePage { ${item._default ? msg("Yes") : msg("No")} `, html` - ${msg("Update")} - ${msg("Update Tenant")} - - - `, + ${msg("Update")} + ${msg("Update Tenant")} + + + + + + `, ]; } diff --git a/web/src/admin/tokens/TokenListPage.ts b/web/src/admin/tokens/TokenListPage.ts index ea6c979dffc8..ec4d1018d92c 100644 --- a/web/src/admin/tokens/TokenListPage.ts +++ b/web/src/admin/tokens/TokenListPage.ts @@ -7,6 +7,7 @@ import "@goauthentik/elements/buttons/Dropdown"; import "@goauthentik/elements/buttons/TokenCopyButton"; import "@goauthentik/elements/forms/DeleteBulkForm"; import "@goauthentik/elements/forms/ModalForm"; +import "@goauthentik/elements/rbac/ObjectPermissionModal"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; @@ -16,7 +17,12 @@ import { msg } from "@lit/localize"; import { TemplateResult, html } from "lit"; import { customElement, property } from "lit/decorators.js"; -import { CoreApi, IntentEnum, Token } from "@goauthentik/api"; +import { + CoreApi, + IntentEnum, + RbacPermissionsAssignedByUsersListModelEnum, + Token, +} from "@goauthentik/api"; @customElement("ak-token-list") export class TokenListPage extends TablePage { @@ -120,7 +126,19 @@ export class TokenListPage extends TablePage { ` - : html``} + : html` `} + + { } renderForm(): TemplateResult { - return html`${this.group?.isSuperuser ? html`` : html``} - -
    - { - this.usersToAdd = items; - this.requestUpdate(); - return Promise.resolve(); - }} - > - - -
    - - ${this.usersToAdd.map((user) => { - return html` { - const idx = this.usersToAdd.indexOf(user); - this.usersToAdd.splice(idx, 1); - this.requestUpdate(); - }} - > - ${UserOption(user)} - `; - })} - -
    + return html` +
    + { + this.usersToAdd = items; + this.requestUpdate(); + return Promise.resolve(); + }} + > + + +
    + + ${this.usersToAdd.map((user) => { + return html` { + const idx = this.usersToAdd.indexOf(user); + this.usersToAdd.splice(idx, 1); + this.requestUpdate(); + }} + > + ${UserOption(user)} + `; + })} +
    - `; +
    +
    `; } } diff --git a/web/src/admin/users/UserAssignedGlobalPermissionsTable.ts b/web/src/admin/users/UserAssignedGlobalPermissionsTable.ts new file mode 100644 index 000000000000..99f171c81695 --- /dev/null +++ b/web/src/admin/users/UserAssignedGlobalPermissionsTable.ts @@ -0,0 +1,88 @@ +import "@goauthentik/admin/users/UserPermissionForm"; +import { DEFAULT_CONFIG } from "@goauthentik/app/common/api/config"; +import { groupBy } from "@goauthentik/app/common/utils"; +import { PaginatedResponse, Table, TableColumn } from "@goauthentik/app/elements/table/Table"; +import "@goauthentik/elements/forms/DeleteBulkForm"; +import "@goauthentik/elements/forms/ModalForm"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; + +import { msg } from "@lit/localize"; +import { TemplateResult, html } from "lit"; +import { customElement, property } from "lit/decorators.js"; +import { ifDefined } from "lit/directives/if-defined.js"; + +import { Permission, RbacApi } from "@goauthentik/api"; + +@customElement("ak-user-assigned-global-permissions-table") +export class UserAssignedGlobalPermissionsTable extends Table { + @property({ type: Number }) + userId?: number; + + checkbox = true; + + apiEndpoint(page: number): Promise> { + return new RbacApi(DEFAULT_CONFIG).rbacPermissionsList({ + user: this.userId || 0, + page: page, + ordering: this.order, + search: this.search, + }); + } + + groupBy(items: Permission[]): [string, Permission[]][] { + return groupBy(items, (obj) => { + return obj.appLabelVerbose; + }); + } + + columns(): TableColumn[] { + return [ + new TableColumn("Model", "model"), + new TableColumn("Permission", ""), + new TableColumn(""), + ]; + } + + renderObjectCreate(): TemplateResult { + return html` + + ${msg("Assign")} + ${msg("Assign permission to user")} + + + + + `; + } + + renderToolbarSelected(): TemplateResult { + const disabled = this.selectedElements.length < 1; + return html` { + return [{ key: msg("Permission"), value: item.name }]; + }} + .delete=${(item: Permission) => { + return new RbacApi( + DEFAULT_CONFIG, + ).rbacPermissionsAssignedByUsersUnassignPartialUpdate({ + id: this.userId || 0, + patchedPermissionAssignRequest: { + permissions: [`${item.appLabel}.${item.codename}`], + }, + }); + }} + > + + `; + } + + row(item: Permission): TemplateResult[] { + return [html`${item.modelVerbose}`, html`${item.name}`, html`✓`]; + } +} diff --git a/web/src/admin/users/UserAssignedObjectPermissionsTable.ts b/web/src/admin/users/UserAssignedObjectPermissionsTable.ts new file mode 100644 index 000000000000..2b5589dc426d --- /dev/null +++ b/web/src/admin/users/UserAssignedObjectPermissionsTable.ts @@ -0,0 +1,90 @@ +import { DEFAULT_CONFIG } from "@goauthentik/app/common/api/config"; +import { groupBy } from "@goauthentik/app/common/utils"; +import { PaginatedResponse, Table, TableColumn } from "@goauthentik/app/elements/table/Table"; +import "@goauthentik/elements/forms/DeleteBulkForm"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; + +import { msg } from "@lit/localize"; +import { TemplateResult, html } from "lit"; +import { customElement, property } from "lit/decorators.js"; + +import { ExtraUserObjectPermission, RbacApi } from "@goauthentik/api"; + +@customElement("ak-user-assigned-object-permissions-table") +export class UserAssignedObjectPermissionsTable extends Table { + @property({ type: Number }) + userId?: number; + + checkbox = true; + + apiEndpoint(page: number): Promise> { + return new RbacApi(DEFAULT_CONFIG).rbacPermissionsUsersList({ + userId: this.userId || 0, + page: page, + ordering: this.order, + search: this.search, + }); + } + + groupBy(items: ExtraUserObjectPermission[]): [string, ExtraUserObjectPermission[]][] { + return groupBy(items, (obj) => { + return obj.appLabelVerbose; + }); + } + + columns(): TableColumn[] { + return [ + new TableColumn("Model", "model"), + new TableColumn("Permission", ""), + new TableColumn("Object", ""), + new TableColumn(""), + ]; + } + + renderToolbarSelected(): TemplateResult { + const disabled = this.selectedElements.length < 1; + return html` { + return [ + { key: msg("Permission"), value: item.name }, + { key: msg("Object"), value: item.objectDescription || item.objectPk }, + ]; + }} + .delete=${(item: ExtraUserObjectPermission) => { + return new RbacApi( + DEFAULT_CONFIG, + ).rbacPermissionsAssignedByUsersUnassignPartialUpdate({ + id: this.userId || 0, + patchedPermissionAssignRequest: { + permissions: [`${item.appLabel}.${item.codename}`], + objectPk: item.objectPk, + }, + }); + }} + > + + `; + } + + row(item: ExtraUserObjectPermission): TemplateResult[] { + return [ + html`${item.modelVerbose}`, + html`${item.name}`, + html`${item.objectDescription + ? html`${item.objectDescription}` + : html` +
    ${item.objectPk}
    +
    `}`, + html`✓`, + ]; + } +} diff --git a/web/src/admin/users/UserDevicesList.ts b/web/src/admin/users/UserDevicesTable.ts similarity index 96% rename from web/src/admin/users/UserDevicesList.ts rename to web/src/admin/users/UserDevicesTable.ts index 6db5af610253..b120c3265028 100644 --- a/web/src/admin/users/UserDevicesList.ts +++ b/web/src/admin/users/UserDevicesTable.ts @@ -10,8 +10,8 @@ import { customElement, property } from "lit/decorators.js"; import { AuthenticatorsApi, Device } from "@goauthentik/api"; -@customElement("ak-user-device-list") -export class UserDeviceList extends Table { +@customElement("ak-user-device-table") +export class UserDeviceTable extends Table { @property({ type: Number }) userId?: number; diff --git a/web/src/admin/users/UserPermissionForm.ts b/web/src/admin/users/UserPermissionForm.ts new file mode 100644 index 000000000000..1f89045e0edc --- /dev/null +++ b/web/src/admin/users/UserPermissionForm.ts @@ -0,0 +1,88 @@ +import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; +import "@goauthentik/components/ak-toggle-group"; +import "@goauthentik/elements/chips/Chip"; +import "@goauthentik/elements/chips/ChipGroup"; +import "@goauthentik/elements/forms/HorizontalFormElement"; +import { ModelForm } from "@goauthentik/elements/forms/ModelForm"; +import "@goauthentik/elements/forms/Radio"; +import "@goauthentik/elements/forms/SearchSelect"; +import "@goauthentik/elements/rbac/PermissionSelectModal"; + +import { msg } from "@lit/localize"; +import { TemplateResult, html } from "lit"; +import { customElement, property, state } from "lit/decorators.js"; + +import { Permission, RbacApi } from "@goauthentik/api"; + +interface UserPermissionAssign { + permissions: string[]; +} + +@customElement("ak-user-permission-form") +export class UserPermissionForm extends ModelForm { + @state() + permissionsToAdd: Permission[] = []; + + @property({ type: Number }) + userId?: number; + + async load(): Promise {} + + loadInstance(): Promise { + throw new Error("Method not implemented."); + } + + getSuccessMessage(): string { + return msg("Successfully assigned permission."); + } + + async send(data: UserPermissionAssign): Promise { + await new RbacApi(DEFAULT_CONFIG).rbacPermissionsAssignedByUsersAssignCreate({ + id: this.userId || 0, + permissionAssignRequest: { + permissions: data.permissions, + }, + }); + this.permissionsToAdd = []; + return; + } + + renderForm(): TemplateResult { + return html`
    + +
    + { + this.permissionsToAdd = items; + this.requestUpdate(); + return Promise.resolve(); + }} + > + + +
    + + ${this.permissionsToAdd.map((permission) => { + return html` { + const idx = this.permissionsToAdd.indexOf(permission); + this.permissionsToAdd.splice(idx, 1); + this.requestUpdate(); + }} + > + ${permission.name} + `; + })} + +
    +
    +
    +
    `; + } +} diff --git a/web/src/admin/users/UserViewPage.ts b/web/src/admin/users/UserViewPage.ts index 0212f1336ca3..c97a20298d32 100644 --- a/web/src/admin/users/UserViewPage.ts +++ b/web/src/admin/users/UserViewPage.ts @@ -3,7 +3,10 @@ import "@goauthentik/admin/users/UserActiveForm"; import "@goauthentik/admin/users/UserChart"; import "@goauthentik/admin/users/UserForm"; import "@goauthentik/admin/users/UserPasswordForm"; +import "@goauthentik/app/admin/users/UserAssignedGlobalPermissionsTable"; +import "@goauthentik/app/admin/users/UserAssignedObjectPermissionsTable"; import { me } from "@goauthentik/app/common/users"; +import "@goauthentik/app/elements/rbac/ObjectPermissionsPage"; import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; import { EVENT_REFRESH } from "@goauthentik/common/constants"; import { MessageLevel } from "@goauthentik/common/messages"; @@ -35,12 +38,17 @@ import PFPage from "@patternfly/patternfly/components/Page/page.css"; import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css"; import PFDisplay from "@patternfly/patternfly/utilities/Display/display.css"; -import PFFlex from "@patternfly/patternfly/utilities/Flex/flex.css"; import PFSizing from "@patternfly/patternfly/utilities/Sizing/sizing.css"; -import { CapabilitiesEnum, CoreApi, SessionUser, User } from "@goauthentik/api"; +import { + CapabilitiesEnum, + CoreApi, + RbacPermissionsAssignedByUsersListModelEnum, + SessionUser, + User, +} from "@goauthentik/api"; -import "./UserDevicesList"; +import "./UserDevicesTable"; @customElement("ak-user-view") export class UserViewPage extends AKElement { @@ -68,7 +76,6 @@ export class UserViewPage extends AKElement { return [ PFBase, PFPage, - PFFlex, PFButton, PFDisplay, PFGrid, @@ -443,7 +450,35 @@ export class UserViewPage extends AKElement { >
    - + +
    +
    + + +
    +
    +
    +
    ${msg("Assigned global permissions")}
    +
    + + +
    +
    +
    +
    ${msg("Assigned object permissions")}
    +
    + + +
    diff --git a/web/src/common/errors.ts b/web/src/common/errors.ts index 7ef4a308c5e0..ad6156bfad7e 100644 --- a/web/src/common/errors.ts +++ b/web/src/common/errors.ts @@ -1,3 +1,30 @@ +import { + GenericError, + GenericErrorFromJSON, + ResponseError, + ValidationError, + ValidationErrorFromJSON, +} from "@goauthentik/api"; + export class SentryIgnoredError extends Error {} export class NotFoundError extends Error {} export class RequestError extends Error {} + +export type APIErrorTypes = ValidationError | GenericError; + +export async function parseAPIError(error: Error): Promise { + if (!(error instanceof ResponseError)) { + return error; + } + if (error.response.status < 400 && error.response.status > 499) { + return error; + } + const body = await error.response.json(); + if (error.response.status === 400) { + return ValidationErrorFromJSON(body); + } + if (error.response.status === 403) { + return GenericErrorFromJSON(body); + } + return body; +} diff --git a/web/src/common/users.ts b/web/src/common/users.ts index 5378236ce9b2..29304757256e 100644 --- a/web/src/common/users.ts +++ b/web/src/common/users.ts @@ -45,6 +45,7 @@ export function me(): Promise { username: "", name: "", settings: {}, + systemPermissions: [], }, }; if (ex.response?.status === 401 || ex.response?.status === 403) { diff --git a/web/src/elements/PageHeader.ts b/web/src/elements/PageHeader.ts index 1f7539085f2e..3f187291b41d 100644 --- a/web/src/elements/PageHeader.ts +++ b/web/src/elements/PageHeader.ts @@ -13,7 +13,7 @@ import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; import { msg } from "@lit/localize"; import { CSSResult, TemplateResult, css, html } from "lit"; -import { customElement, property } from "lit/decorators.js"; +import { customElement, property, state } from "lit/decorators.js"; import PFButton from "@patternfly/patternfly/components/Button/button.css"; import PFContent from "@patternfly/patternfly/components/Content/content.css"; @@ -55,6 +55,7 @@ export class PageHeader extends AKElement { @property() description?: string; + @state() _header = ""; static get styles(): CSSResult[] { diff --git a/web/src/elements/ak-locale-context/ak-locale-context.ts b/web/src/elements/ak-locale-context/ak-locale-context.ts index af69fbf19de5..912d6b711a8a 100644 --- a/web/src/elements/ak-locale-context/ak-locale-context.ts +++ b/web/src/elements/ak-locale-context/ak-locale-context.ts @@ -74,7 +74,7 @@ export class LocaleContext extends LitElement { console.warn(`Received a non-custom event at EVENT_LOCALE_REQUEST: ${ev}`); return; } - console.log("Locale update request received."); + console.debug("authentik/locale: Locale update request received."); this.updateLocale(ev.detail.locale); } diff --git a/web/src/elements/charts/Chart.ts b/web/src/elements/charts/Chart.ts index eb92dbfc3f08..0501db22a2f6 100644 --- a/web/src/elements/charts/Chart.ts +++ b/web/src/elements/charts/Chart.ts @@ -22,7 +22,7 @@ import { msg, str } from "@lit/localize"; import { CSSResult, TemplateResult, css, html } from "lit"; import { property, state } from "lit/decorators.js"; -import { UiThemeEnum } from "@goauthentik/api"; +import { ResponseError, UiThemeEnum } from "@goauthentik/api"; Chart.register(Legend, Tooltip); Chart.register(LineController, BarController, DoughnutController); @@ -65,6 +65,9 @@ export abstract class AKChart extends AKElement { @state() chart?: Chart; + @state() + error?: ResponseError; + @property() centerText?: string; @@ -129,19 +132,23 @@ export abstract class AKChart extends AKElement { } firstUpdated(): void { - this.apiRequest().then((r) => { - const canvas = this.shadowRoot?.querySelector("canvas"); - if (!canvas) { - console.warn("Failed to get canvas element"); - return; - } - const ctx = canvas.getContext("2d"); - if (!ctx) { - console.warn("failed to get 2d context"); - return; - } - this.chart = this.configureChart(r, ctx); - }); + this.apiRequest() + .then((r) => { + const canvas = this.shadowRoot?.querySelector("canvas"); + if (!canvas) { + console.warn("Failed to get canvas element"); + return; + } + const ctx = canvas.getContext("2d"); + if (!ctx) { + console.warn("failed to get 2d context"); + return; + } + this.chart = this.configureChart(r, ctx); + }) + .catch((exc: ResponseError) => { + this.error = exc; + }); } getChartType(): string { @@ -204,7 +211,15 @@ export abstract class AKChart extends AKElement { render(): TemplateResult { return html`
    - ${this.chart ? html`` : html``} + ${this.error + ? html` + +

    ${this.error.response.statusText}

    +
    + ` + : html`${this.chart + ? html`` + : html``}`} ${this.centerText ? html` ${this.centerText} ` : html``}
    diff --git a/web/src/elements/forms/DeleteBulkForm.ts b/web/src/elements/forms/DeleteBulkForm.ts index 5d56f19c0d53..693184b715dc 100644 --- a/web/src/elements/forms/DeleteBulkForm.ts +++ b/web/src/elements/forms/DeleteBulkForm.ts @@ -20,7 +20,6 @@ type BulkDeleteMetadata = { key: string; value: string }[]; @customElement("ak-delete-objects-table") export class DeleteObjectsTable extends Table { - expandable = true; paginated = false; @property({ attribute: false }) @@ -70,6 +69,11 @@ export class DeleteObjectsTable extends Table { return html``; } + firstUpdated(): void { + this.expandable = this.usedBy !== undefined; + super.firstUpdated(); + } + renderExpanded(item: T): TemplateResult { const handler = async () => { if (!this.usedByData.has(item) && this.usedBy) { diff --git a/web/src/elements/rbac/ObjectPermissionModal.ts b/web/src/elements/rbac/ObjectPermissionModal.ts new file mode 100644 index 000000000000..596b2b2c5b8d --- /dev/null +++ b/web/src/elements/rbac/ObjectPermissionModal.ts @@ -0,0 +1,74 @@ +import { AKElement } from "@goauthentik/app/elements/Base"; +import "@goauthentik/elements/forms/ModalForm"; +import { ModelForm } from "@goauthentik/elements/forms/ModelForm"; +import "@goauthentik/elements/rbac/ObjectPermissionsPage"; + +import { msg } from "@lit/localize"; +import { CSSResult, TemplateResult, html } from "lit"; +import { customElement, property } from "lit/decorators.js"; + +import PFButton from "@patternfly/patternfly/components/Button/button.css"; +import PFBase from "@patternfly/patternfly/patternfly-base.css"; + +import { RbacPermissionsAssignedByUsersListModelEnum } from "@goauthentik/api"; + +/** + * This is a bit of a hack to get the viewport checking from ModelForm, + * even though we actually don't need a form here. + * #TODO: Rework this in the future + */ +@customElement("ak-rbac-object-permission-modal-form") +export class ObjectPermissionsPageForm extends ModelForm { + @property() + model?: RbacPermissionsAssignedByUsersListModelEnum; + + @property() + objectPk?: string | number; + + loadInstance(): Promise { + return Promise.resolve(); + } + send(): Promise { + return Promise.resolve(); + } + + renderForm(): TemplateResult { + return html` + `; + } +} + +@customElement("ak-rbac-object-permission-modal") +export class ObjectPermissionModal extends AKElement { + @property() + model?: RbacPermissionsAssignedByUsersListModelEnum; + + @property() + objectPk?: string | number; + + static get styles(): CSSResult[] { + return [PFBase, PFButton]; + } + + render(): TemplateResult { + return html` + + ${msg("Update Permissions")} + + + + `; + } +} diff --git a/web/src/elements/rbac/ObjectPermissionsPage.ts b/web/src/elements/rbac/ObjectPermissionsPage.ts new file mode 100644 index 000000000000..5d0110bd8a97 --- /dev/null +++ b/web/src/elements/rbac/ObjectPermissionsPage.ts @@ -0,0 +1,68 @@ +import { AKElement } from "@goauthentik/app/elements/Base"; +import "@goauthentik/app/elements/rbac/RoleObjectPermissionTable"; +import "@goauthentik/app/elements/rbac/UserObjectPermissionTable"; +import "@goauthentik/elements/Tabs"; + +import { msg } from "@lit/localize"; +import { CSSResult, TemplateResult, html } from "lit"; +import { customElement, property } from "lit/decorators.js"; + +import PFCard from "@patternfly/patternfly/components/Card/card.css"; +import PFPage from "@patternfly/patternfly/components/Page/page.css"; +import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css"; +import PFBase from "@patternfly/patternfly/patternfly-base.css"; + +import { RbacPermissionsAssignedByUsersListModelEnum } from "@goauthentik/api"; + +@customElement("ak-rbac-object-permission-page") +export class ObjectPermissionPage extends AKElement { + @property() + model?: RbacPermissionsAssignedByUsersListModelEnum; + + @property() + objectPk?: string | number; + + static get styles(): CSSResult[] { + return [PFBase, PFGrid, PFPage, PFCard]; + } + render(): TemplateResult { + return html` +
    +
    +
    +
    User Object Permissions
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    Role Object Permissions
    +
    + + +
    +
    +
    +
    +
    `; + } +} diff --git a/web/src/elements/rbac/PermissionSelectModal.ts b/web/src/elements/rbac/PermissionSelectModal.ts new file mode 100644 index 000000000000..648d88f17064 --- /dev/null +++ b/web/src/elements/rbac/PermissionSelectModal.ts @@ -0,0 +1,95 @@ +import { groupBy } from "@goauthentik/app/common/utils"; +import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; +import { uiConfig } from "@goauthentik/common/ui/config"; +import "@goauthentik/elements/buttons/SpinnerButton"; +import { PaginatedResponse } from "@goauthentik/elements/table/Table"; +import { TableColumn } from "@goauthentik/elements/table/Table"; +import { TableModal } from "@goauthentik/elements/table/TableModal"; + +import { msg } from "@lit/localize"; +import { CSSResult, TemplateResult, html } from "lit"; +import { customElement, property } from "lit/decorators.js"; + +import PFBanner from "@patternfly/patternfly/components/Banner/banner.css"; + +import { Permission, RbacApi } from "@goauthentik/api"; + +@customElement("ak-rbac-permission-select-table") +export class PermissionSelectModal extends TableModal { + checkbox = true; + checkboxChip = true; + + searchEnabled(): boolean { + return true; + } + + @property() + confirm!: (selectedItems: Permission[]) => Promise; + + order = "content_type__app_label,content_type__model"; + + static get styles(): CSSResult[] { + return super.styles.concat(PFBanner); + } + + async apiEndpoint(page: number): Promise> { + return new RbacApi(DEFAULT_CONFIG).rbacPermissionsList({ + ordering: this.order, + page: page, + pageSize: (await uiConfig()).pagination.perPage, + search: this.search || "", + }); + } + + groupBy(items: Permission[]): [string, Permission[]][] { + return groupBy(items, (perm) => { + return perm.appLabelVerbose; + }); + } + + columns(): TableColumn[] { + return [new TableColumn(msg("Name"), "codename"), new TableColumn(msg("Model"), "")]; + } + + row(item: Permission): TemplateResult[] { + return [ + html`
    +
    ${item.name}
    +
    `, + html`${item.modelVerbose}`, + ]; + } + + renderSelectedChip(item: Permission): TemplateResult { + return html`${item.name}`; + } + + renderModalInner(): TemplateResult { + return html`
    +
    +

    ${msg("Select permissions to grant")}

    +
    +
    +
    ${this.renderTable()}
    +
    + { + return this.confirm(this.selectedElements).then(() => { + this.open = false; + }); + }} + class="pf-m-primary" + > + ${msg("Add")}   + { + this.open = false; + }} + class="pf-m-secondary" + > + ${msg("Cancel")} + +
    `; + } +} diff --git a/web/src/elements/rbac/RoleObjectPermissionForm.ts b/web/src/elements/rbac/RoleObjectPermissionForm.ts new file mode 100644 index 000000000000..230d30a2e150 --- /dev/null +++ b/web/src/elements/rbac/RoleObjectPermissionForm.ts @@ -0,0 +1,107 @@ +import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; +import "@goauthentik/components/ak-toggle-group"; +import "@goauthentik/elements/forms/HorizontalFormElement"; +import { ModelForm } from "@goauthentik/elements/forms/ModelForm"; +import "@goauthentik/elements/forms/Radio"; +import "@goauthentik/elements/forms/SearchSelect"; + +import { msg } from "@lit/localize"; +import { TemplateResult, html } from "lit"; +import { customElement, property, state } from "lit/decorators.js"; + +import { + ModelEnum, + PaginatedPermissionList, + RbacApi, + RbacRolesListRequest, + Role, +} from "@goauthentik/api"; + +interface RoleAssignData { + role: string; + permissions: { + [key: string]: boolean; + }; +} + +@customElement("ak-rbac-role-object-permission-form") +export class RoleObjectPermissionForm extends ModelForm { + @property() + model?: ModelEnum; + + @property() + objectPk?: string; + + @state() + modelPermissions?: PaginatedPermissionList; + + async load(): Promise { + const [appLabel, modelName] = (this.model || "").split("."); + this.modelPermissions = await new RbacApi(DEFAULT_CONFIG).rbacPermissionsList({ + contentTypeModel: modelName, + contentTypeAppLabel: appLabel, + ordering: "codename", + }); + } + + loadInstance(): Promise { + throw new Error("Method not implemented."); + } + + getSuccessMessage(): string { + return msg("Successfully assigned permission."); + } + + send(data: RoleAssignData): Promise { + return new RbacApi(DEFAULT_CONFIG).rbacPermissionsAssignedByRolesAssignCreate({ + uuid: data.role, + permissionAssignRequest: { + permissions: Object.keys(data.permissions).filter((key) => data.permissions[key]), + model: this.model!, + objectPk: this.objectPk, + }, + }); + } + + renderForm(): TemplateResult { + if (!this.modelPermissions) { + return html``; + } + return html`
    + + => { + const args: RbacRolesListRequest = { + ordering: "name", + }; + if (query !== undefined) { + args.search = query; + } + const roles = await new RbacApi(DEFAULT_CONFIG).rbacRolesList(args); + return roles.results; + }} + .renderElement=${(role: Role): string => { + return role.name; + }} + .value=${(role: Role | undefined): string | undefined => { + return role?.pk; + }} + > + + + ${this.modelPermissions?.results.map((perm) => { + return html` + + `; + })} +
    `; + } +} diff --git a/web/src/elements/rbac/RoleObjectPermissionTable.ts b/web/src/elements/rbac/RoleObjectPermissionTable.ts new file mode 100644 index 000000000000..45a807495175 --- /dev/null +++ b/web/src/elements/rbac/RoleObjectPermissionTable.ts @@ -0,0 +1,97 @@ +import { DEFAULT_CONFIG } from "@goauthentik/app/common/api/config"; +import { PaginatedResponse, Table, TableColumn } from "@goauthentik/app/elements/table/Table"; +import "@goauthentik/elements/forms/ModalForm"; +import "@goauthentik/elements/rbac/RoleObjectPermissionForm"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; + +import { msg } from "@lit/localize"; +import { TemplateResult, html } from "lit"; +import { customElement, property, state } from "lit/decorators.js"; +import { ifDefined } from "lit/directives/if-defined.js"; + +import { + PaginatedPermissionList, + RbacApi, + RbacPermissionsAssignedByRolesListModelEnum, + RoleAssignedObjectPermission, +} from "@goauthentik/api"; + +@customElement("ak-rbac-role-object-permission-table") +export class RoleAssignedObjectPermissionTable extends Table { + @property() + model?: RbacPermissionsAssignedByRolesListModelEnum; + + @property() + objectPk?: string | number; + + @state() + modelPermissions?: PaginatedPermissionList; + + async apiEndpoint(page: number): Promise> { + const perms = await new RbacApi(DEFAULT_CONFIG).rbacPermissionsAssignedByRolesList({ + page: page, + // TODO: better default + model: this.model || RbacPermissionsAssignedByRolesListModelEnum.CoreUser, + objectPk: this.objectPk?.toString(), + }); + const [appLabel, modelName] = (this.model || "").split("."); + const modelPermissions = await new RbacApi(DEFAULT_CONFIG).rbacPermissionsList({ + contentTypeModel: modelName, + contentTypeAppLabel: appLabel, + ordering: "codename", + }); + modelPermissions.results = modelPermissions.results.filter((value) => { + return !value.codename.startsWith("add_"); + }); + this.modelPermissions = modelPermissions; + return perms; + } + + columns(): TableColumn[] { + const baseColumns = [new TableColumn("User", "user")]; + // We don't check pagination since models shouldn't need to have that many permissions? + this.modelPermissions?.results.forEach((perm) => { + baseColumns.push(new TableColumn(perm.name, perm.codename)); + }); + return baseColumns; + } + + renderObjectCreate(): TemplateResult { + return html` + ${msg("Assign")} + ${msg("Assign permission to role")} + + + + `; + } + + row(item: RoleAssignedObjectPermission): TemplateResult[] { + const baseRow = [html` ${item.name}`]; + this.modelPermissions?.results.forEach((perm) => { + const granted = + item.permissions.filter((uperm) => uperm.codename === perm.codename).length > 0; + baseRow.push(html` + { + console.log(granted); + }} + class="pf-m-link" + > + ${granted + ? html`` + : html`X`} + + `); + }); + return baseRow; + } +} diff --git a/web/src/elements/rbac/UserObjectPermissionForm.ts b/web/src/elements/rbac/UserObjectPermissionForm.ts new file mode 100644 index 000000000000..3b3b66402491 --- /dev/null +++ b/web/src/elements/rbac/UserObjectPermissionForm.ts @@ -0,0 +1,111 @@ +import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; +import "@goauthentik/components/ak-toggle-group"; +import "@goauthentik/elements/forms/HorizontalFormElement"; +import { ModelForm } from "@goauthentik/elements/forms/ModelForm"; +import "@goauthentik/elements/forms/Radio"; +import "@goauthentik/elements/forms/SearchSelect"; + +import { msg } from "@lit/localize"; +import { TemplateResult, html } from "lit"; +import { customElement, property, state } from "lit/decorators.js"; + +import { + CoreApi, + CoreUsersListRequest, + ModelEnum, + PaginatedPermissionList, + RbacApi, + User, +} from "@goauthentik/api"; + +interface UserAssignData { + user: number; + permissions: { + [key: string]: boolean; + }; +} + +@customElement("ak-rbac-user-object-permission-form") +export class UserObjectPermissionForm extends ModelForm { + @property() + model?: ModelEnum; + + @property() + objectPk?: string; + + @state() + modelPermissions?: PaginatedPermissionList; + + async load(): Promise { + const [appLabel, modelName] = (this.model || "").split("."); + this.modelPermissions = await new RbacApi(DEFAULT_CONFIG).rbacPermissionsList({ + contentTypeModel: modelName, + contentTypeAppLabel: appLabel, + ordering: "codename", + }); + } + + loadInstance(): Promise { + throw new Error("Method not implemented."); + } + + getSuccessMessage(): string { + return msg("Successfully assigned permission."); + } + + send(data: UserAssignData): Promise { + return new RbacApi(DEFAULT_CONFIG).rbacPermissionsAssignedByUsersAssignCreate({ + id: data.user, + permissionAssignRequest: { + permissions: Object.keys(data.permissions).filter((key) => data.permissions[key]), + model: this.model!, + objectPk: this.objectPk!, + }, + }); + } + + renderForm(): TemplateResult { + if (!this.modelPermissions) { + return html``; + } + return html`
    + + => { + const args: CoreUsersListRequest = { + ordering: "username", + }; + if (query !== undefined) { + args.search = query; + } + const users = await new CoreApi(DEFAULT_CONFIG).coreUsersList(args); + return users.results; + }} + .renderElement=${(user: User): string => { + return user.username; + }} + .renderDescription=${(user: User): TemplateResult => { + return html`${user.name}`; + }} + .value=${(user: User | undefined): number | undefined => { + return user?.pk; + }} + > + + + ${this.modelPermissions?.results.map((perm) => { + return html` + + `; + })} +
    `; + } +} diff --git a/web/src/elements/rbac/UserObjectPermissionTable.ts b/web/src/elements/rbac/UserObjectPermissionTable.ts new file mode 100644 index 000000000000..3c52ca1e6dc1 --- /dev/null +++ b/web/src/elements/rbac/UserObjectPermissionTable.ts @@ -0,0 +1,90 @@ +import { DEFAULT_CONFIG } from "@goauthentik/app/common/api/config"; +import { PaginatedResponse, Table, TableColumn } from "@goauthentik/app/elements/table/Table"; +import "@goauthentik/elements/forms/ModalForm"; +import "@goauthentik/elements/rbac/UserObjectPermissionForm"; +import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; + +import { msg } from "@lit/localize"; +import { TemplateResult, html } from "lit"; +import { customElement, property, state } from "lit/decorators.js"; +import { ifDefined } from "lit/directives/if-defined.js"; + +import { + PaginatedPermissionList, + RbacApi, + RbacPermissionsAssignedByUsersListModelEnum, + UserAssignedObjectPermission, +} from "@goauthentik/api"; + +@customElement("ak-rbac-user-object-permission-table") +export class UserAssignedObjectPermissionTable extends Table { + @property() + model?: RbacPermissionsAssignedByUsersListModelEnum; + + @property() + objectPk?: string | number; + + @state() + modelPermissions?: PaginatedPermissionList; + + async apiEndpoint(page: number): Promise> { + const perms = await new RbacApi(DEFAULT_CONFIG).rbacPermissionsAssignedByUsersList({ + page: page, + // TODO: better default + model: this.model || RbacPermissionsAssignedByUsersListModelEnum.CoreUser, + objectPk: this.objectPk?.toString(), + }); + const [appLabel, modelName] = (this.model || "").split("."); + const modelPermissions = await new RbacApi(DEFAULT_CONFIG).rbacPermissionsList({ + contentTypeModel: modelName, + contentTypeAppLabel: appLabel, + ordering: "codename", + }); + modelPermissions.results = modelPermissions.results.filter((value) => { + return !value.codename.startsWith("add_"); + }); + this.modelPermissions = modelPermissions; + return perms; + } + + columns(): TableColumn[] { + const baseColumns = [new TableColumn("User", "user")]; + // We don't check pagination since models shouldn't need to have that many permissions? + this.modelPermissions?.results.forEach((perm) => { + baseColumns.push(new TableColumn(perm.name, perm.codename)); + }); + return baseColumns; + } + + renderObjectCreate(): TemplateResult { + return html` + ${msg("Assign")} + ${msg("Assign permission to user")} + + + + `; + } + + row(item: UserAssignedObjectPermission): TemplateResult[] { + const baseRow = [html` ${item.username} `]; + this.modelPermissions?.results.forEach((perm) => { + let cell = html`X`; + if (item.permissions.filter((uperm) => uperm.codename === perm.codename).length > 0) { + cell = html``; + } else if (item.isSuperuser) { + cell = html``; + } + baseRow.push(cell); + }); + return baseRow; + } +} diff --git a/web/src/elements/table/Table.ts b/web/src/elements/table/Table.ts index b9cf20b145c2..642af4801291 100644 --- a/web/src/elements/table/Table.ts +++ b/web/src/elements/table/Table.ts @@ -1,3 +1,4 @@ +import { APIErrorTypes, parseAPIError } from "@goauthentik/app/common/errors"; import { EVENT_REFRESH } from "@goauthentik/common/constants"; import { groupBy } from "@goauthentik/common/utils"; import { AKElement } from "@goauthentik/elements/Base"; @@ -148,7 +149,7 @@ export abstract class Table extends AKElement { expandedElements: T[] = []; @state() - hasError?: Error; + error?: APIErrorTypes; static get styles(): CSSResult[] { return [ @@ -191,7 +192,7 @@ export abstract class Table extends AKElement { this.isLoading = true; try { this.data = await this.apiEndpoint(this.page); - this.hasError = undefined; + this.error = undefined; this.page = this.data.pagination.current; const newSelected: T[] = []; const newExpanded: T[] = []; @@ -228,7 +229,7 @@ export abstract class Table extends AKElement { this.expandedElements = newExpanded; } catch (ex) { this.isLoading = false; - this.hasError = ex as Error; + this.error = await parseAPIError(ex as Error); } } @@ -249,25 +250,32 @@ export abstract class Table extends AKElement {
    ${inner ? inner - : html``} + : html`
    ${this.renderObjectCreate()}
    +
    `}
    `; } + renderObjectCreate(): TemplateResult { + return html``; + } + renderError(): TemplateResult { + if (!this.error) { + return html``; + } return html` - ${this.hasError instanceof ResponseError - ? html`
    ${this.hasError.message}
    ` - : html`
    ${this.hasError?.toString()}
    `} + ${this.error instanceof ResponseError + ? html`
    ${this.error.message}
    ` + : html`
    ${this.error.detail}
    `}
    `; } private renderRows(): TemplateResult[] | undefined { - if (this.hasError) { + if (this.error) { return [this.renderEmpty(this.renderError())]; } if (!this.data || this.isLoading) { @@ -277,7 +285,7 @@ export abstract class Table extends AKElement { return [this.renderEmpty()]; } const groupedResults = this.groupBy(this.data.results); - if (groupedResults.length === 1) { + if (groupedResults.length === 1 && groupedResults[0][0] === "") { return this.renderRowGroup(groupedResults[0][1]); } return groupedResults.map(([group, items]) => { @@ -397,14 +405,15 @@ export abstract class Table extends AKElement { } renderToolbar(): TemplateResult { - return html` { - return this.fetch(); - }} - class="pf-m-secondary" - > - ${msg("Refresh")}`; + return html` ${this.renderObjectCreate()} + { + return this.fetch(); + }} + class="pf-m-secondary" + > + ${msg("Refresh")}`; } renderToolbarSelected(): TemplateResult { @@ -419,18 +428,20 @@ export abstract class Table extends AKElement { if (!this.searchEnabled()) { return html``; } - return html` { - this.search = value; - this.fetch(); - updateURLParams({ - search: value, - }); - }} - > - `; + return html`
    + { + this.search = value; + this.fetch(); + updateURLParams({ + search: value, + }); + }} + > + +
    `; } // eslint-disable-next-line @typescript-eslint/no-unused-vars @@ -441,7 +452,7 @@ export abstract class Table extends AKElement { renderToolbarContainer(): TemplateResult { return html`
    -
    ${this.renderSearch()}
    + ${this.renderSearch()}
    ${this.renderToolbar()}
    ${this.renderToolbarAfter()}
    ${this.renderToolbarSelected()}
    diff --git a/web/src/elements/table/TablePage.ts b/web/src/elements/table/TablePage.ts index 8ca297fe6ca3..d3f207622bd8 100644 --- a/web/src/elements/table/TablePage.ts +++ b/web/src/elements/table/TablePage.ts @@ -70,14 +70,6 @@ export abstract class TablePage extends Table { `; } - renderObjectCreate(): TemplateResult { - return html``; - } - - renderToolbar(): TemplateResult { - return html`${this.renderObjectCreate()}${super.renderToolbar()}`; - } - render(): TemplateResult { return html` { @@ -24,7 +28,7 @@ export class ConsentStage extends BaseStage { if (permission.name === "") { return html``; diff --git a/web/src/user/UserInterface.ts b/web/src/user/UserInterface.ts index 0d83982a1129..fbd21d347d97 100644 --- a/web/src/user/UserInterface.ts +++ b/web/src/user/UserInterface.ts @@ -175,6 +175,10 @@ export class UserInterface extends Interface { default: userDisplay = this.me.user.username; } + const canAccessAdmin = + this.me.user.isSuperuser || + // TODO: somehow add `access_admin_interface` to the API schema + this.me.user.systemPermissions.includes("access_admin_interface"); return html`
    @@ -280,7 +284,7 @@ export class UserInterface extends Interface {
    - ${this.me.user.isSuperuser + ${canAccessAdmin ? html` Don't show this message again. + + + Failed to fetch + + + Failed to fetch data. + + + Successfully assigned permission. + + + Role + + + Assign + + + Assign permission to role + + + Assign to new role + + + Directly assigned + + + Assign permission to user + + + Assign to new user + + + User Object Permissions + + + Role Object Permissions + + + Roles + + + Select roles to grant this groups' users' permissions from the selected roles. + + + Update Permissions + + + Editing is disabled for managed tokens + + + Select permissions to grant + + + Permissions to add + + + Select permissions + + + Assign permission + + + Permission(s) + + + Permission + + + User doesn't have view permission so description cannot be retrieved. + + + Assigned permissions + + + Assigned global permissions + + + Assigned object permissions + + + Successfully updated role. + + + Successfully created role. + + + Manage roles which grant permissions to objects within authentik. + + + Role(s) + + + Update Role + + + Create Role + + + Role doesn't have view permission so description cannot be retrieved. + + + Role + + + Role Info diff --git a/web/xliff/en.xlf b/web/xliff/en.xlf index 98ce779f9972..0e80e8b12412 100644 --- a/web/xliff/en.xlf +++ b/web/xliff/en.xlf @@ -6252,6 +6252,111 @@ Bindings to groups/users are checked against the user of the event. Don't show this message again. + + + Failed to fetch + + + Failed to fetch data. + + + Successfully assigned permission. + + + Role + + + Assign + + + Assign permission to role + + + Assign to new role + + + Directly assigned + + + Assign permission to user + + + Assign to new user + + + User Object Permissions + + + Role Object Permissions + + + Roles + + + Select roles to grant this groups' users' permissions from the selected roles. + + + Update Permissions + + + Editing is disabled for managed tokens + + + Select permissions to grant + + + Permissions to add + + + Select permissions + + + Assign permission + + + Permission(s) + + + Permission + + + User doesn't have view permission so description cannot be retrieved. + + + Assigned permissions + + + Assigned global permissions + + + Assigned object permissions + + + Successfully updated role. + + + Successfully created role. + + + Manage roles which grant permissions to objects within authentik. + + + Role(s) + + + Update Role + + + Create Role + + + Role doesn't have view permission so description cannot be retrieved. + + + Role + + + Role Info diff --git a/web/xliff/es.xlf b/web/xliff/es.xlf index b428ab068c98..d9fc1401329c 100644 --- a/web/xliff/es.xlf +++ b/web/xliff/es.xlf @@ -5846,6 +5846,111 @@ Bindings to groups/users are checked against the user of the event. Don't show this message again. + + + Failed to fetch + + + Failed to fetch data. + + + Successfully assigned permission. + + + Role + + + Assign + + + Assign permission to role + + + Assign to new role + + + Directly assigned + + + Assign permission to user + + + Assign to new user + + + User Object Permissions + + + Role Object Permissions + + + Roles + + + Select roles to grant this groups' users' permissions from the selected roles. + + + Update Permissions + + + Editing is disabled for managed tokens + + + Select permissions to grant + + + Permissions to add + + + Select permissions + + + Assign permission + + + Permission(s) + + + Permission + + + User doesn't have view permission so description cannot be retrieved. + + + Assigned permissions + + + Assigned global permissions + + + Assigned object permissions + + + Successfully updated role. + + + Successfully created role. + + + Manage roles which grant permissions to objects within authentik. + + + Role(s) + + + Update Role + + + Create Role + + + Role doesn't have view permission so description cannot be retrieved. + + + Role + + + Role Info diff --git a/web/xliff/fr.xlf b/web/xliff/fr.xlf index 0174261e0eac..178e43b158bc 100644 --- a/web/xliff/fr.xlf +++ b/web/xliff/fr.xlf @@ -7827,6 +7827,111 @@ Les liaisons avec les groupes/utilisateurs sont vérifiées par rapport à l'uti Don't show this message again. + + + Failed to fetch + + + Failed to fetch data. + + + Successfully assigned permission. + + + Role + + + Assign + + + Assign permission to role + + + Assign to new role + + + Directly assigned + + + Assign permission to user + + + Assign to new user + + + User Object Permissions + + + Role Object Permissions + + + Roles + + + Select roles to grant this groups' users' permissions from the selected roles. + + + Update Permissions + + + Editing is disabled for managed tokens + + + Select permissions to grant + + + Permissions to add + + + Select permissions + + + Assign permission + + + Permission(s) + + + Permission + + + User doesn't have view permission so description cannot be retrieved. + + + Assigned permissions + + + Assigned global permissions + + + Assigned object permissions + + + Successfully updated role. + + + Successfully created role. + + + Manage roles which grant permissions to objects within authentik. + + + Role(s) + + + Update Role + + + Create Role + + + Role doesn't have view permission so description cannot be retrieved. + + + Role + + + Role Info diff --git a/web/xliff/pl.xlf b/web/xliff/pl.xlf index ad3cb85ca321..0f43daabe6ee 100644 --- a/web/xliff/pl.xlf +++ b/web/xliff/pl.xlf @@ -6085,6 +6085,111 @@ Bindings to groups/users are checked against the user of the event. Don't show this message again. + + + Failed to fetch + + + Failed to fetch data. + + + Successfully assigned permission. + + + Role + + + Assign + + + Assign permission to role + + + Assign to new role + + + Directly assigned + + + Assign permission to user + + + Assign to new user + + + User Object Permissions + + + Role Object Permissions + + + Roles + + + Select roles to grant this groups' users' permissions from the selected roles. + + + Update Permissions + + + Editing is disabled for managed tokens + + + Select permissions to grant + + + Permissions to add + + + Select permissions + + + Assign permission + + + Permission(s) + + + Permission + + + User doesn't have view permission so description cannot be retrieved. + + + Assigned permissions + + + Assigned global permissions + + + Assigned object permissions + + + Successfully updated role. + + + Successfully created role. + + + Manage roles which grant permissions to objects within authentik. + + + Role(s) + + + Update Role + + + Create Role + + + Role doesn't have view permission so description cannot be retrieved. + + + Role + + + Role Info diff --git a/web/xliff/pseudo-LOCALE.xlf b/web/xliff/pseudo-LOCALE.xlf index 2eabcf7c5cac..b54aac0a8df5 100644 --- a/web/xliff/pseudo-LOCALE.xlf +++ b/web/xliff/pseudo-LOCALE.xlf @@ -6187,6 +6187,111 @@ Bindings to groups/users are checked against the user of the event. Don't show this message again. + + + Failed to fetch + + + Failed to fetch data. + + + Successfully assigned permission. + + + Role + + + Assign + + + Assign permission to role + + + Assign to new role + + + Directly assigned + + + Assign permission to user + + + Assign to new user + + + User Object Permissions + + + Role Object Permissions + + + Roles + + + Select roles to grant this groups' users' permissions from the selected roles. + + + Update Permissions + + + Editing is disabled for managed tokens + + + Select permissions to grant + + + Permissions to add + + + Select permissions + + + Assign permission + + + Permission(s) + + + Permission + + + User doesn't have view permission so description cannot be retrieved. + + + Assigned permissions + + + Assigned global permissions + + + Assigned object permissions + + + Successfully updated role. + + + Successfully created role. + + + Manage roles which grant permissions to objects within authentik. + + + Role(s) + + + Update Role + + + Create Role + + + Role doesn't have view permission so description cannot be retrieved. + + + Role + + + Role Info diff --git a/web/xliff/tr.xlf b/web/xliff/tr.xlf index deaddd663023..a2d79415f7b3 100644 --- a/web/xliff/tr.xlf +++ b/web/xliff/tr.xlf @@ -5839,6 +5839,111 @@ Bindings to groups/users are checked against the user of the event. Don't show this message again. + + + Failed to fetch + + + Failed to fetch data. + + + Successfully assigned permission. + + + Role + + + Assign + + + Assign permission to role + + + Assign to new role + + + Directly assigned + + + Assign permission to user + + + Assign to new user + + + User Object Permissions + + + Role Object Permissions + + + Roles + + + Select roles to grant this groups' users' permissions from the selected roles. + + + Update Permissions + + + Editing is disabled for managed tokens + + + Select permissions to grant + + + Permissions to add + + + Select permissions + + + Assign permission + + + Permission(s) + + + Permission + + + User doesn't have view permission so description cannot be retrieved. + + + Assigned permissions + + + Assigned global permissions + + + Assigned object permissions + + + Successfully updated role. + + + Successfully created role. + + + Manage roles which grant permissions to objects within authentik. + + + Role(s) + + + Update Role + + + Create Role + + + Role doesn't have view permission so description cannot be retrieved. + + + Role + + + Role Info diff --git a/web/xliff/zh-Hans.xlf b/web/xliff/zh-Hans.xlf index 9fb60a94a1a3..cf3cfab8d8e2 100644 --- a/web/xliff/zh-Hans.xlf +++ b/web/xliff/zh-Hans.xlf @@ -1,4 +1,4 @@ - + @@ -613,9 +613,9 @@ - The URL "" was not found. - 未找到 URL " - "。 + The URL "" was not found. + 未找到 URL " + "。 @@ -1067,8 +1067,8 @@ - To allow any redirect URI, set this value to ".*". Be aware of the possible security implications this can have. - 要允许任何重定向 URI,请将此值设置为 ".*"。请注意这可能带来的安全影响。 + To allow any redirect URI, set this value to ".*". Be aware of the possible security implications this can have. + 要允许任何重定向 URI,请将此值设置为 ".*"。请注意这可能带来的安全影响。 @@ -1809,8 +1809,8 @@ - Either input a full URL, a relative path, or use 'fa://fa-test' to use the Font Awesome icon "fa-test". - 输入完整 URL、相对路径,或者使用 'fa://fa-test' 来使用 Font Awesome 图标 "fa-test"。 + Either input a full URL, a relative path, or use 'fa://fa-test' to use the Font Awesome icon "fa-test". + 输入完整 URL、相对路径,或者使用 'fa://fa-test' 来使用 Font Awesome 图标 "fa-test"。 @@ -3233,8 +3233,8 @@ doesn't pass when either or both of the selected options are equal or above the - Field which contains members of a group. Note that if using the "memberUid" field, the value is assumed to contain a relative distinguished name. e.g. 'memberUid=some-user' instead of 'memberUid=cn=some-user,ou=groups,...' - 包含组成员的字段。请注意,如果使用 "memberUid" 字段,则假定该值包含相对可分辨名称。例如,'memberUid=some-user' 而不是 'memberUid=cn=some-user,ou=groups,...' + Field which contains members of a group. Note that if using the "memberUid" field, the value is assumed to contain a relative distinguished name. e.g. 'memberUid=some-user' instead of 'memberUid=cn=some-user,ou=groups,...' + 包含组成员的字段。请注意,如果使用 "memberUid" 字段,则假定该值包含相对可分辨名称。例如,'memberUid=some-user' 而不是 'memberUid=cn=some-user,ou=groups,...' @@ -4026,8 +4026,8 @@ doesn't pass when either or both of the selected options are equal or above the - When using an external logging solution for archiving, this can be set to "minutes=5". - 使用外部日志记录解决方案进行存档时,可以将其设置为 "minutes=5"。 + When using an external logging solution for archiving, this can be set to "minutes=5". + 使用外部日志记录解决方案进行存档时,可以将其设置为 "minutes=5"。 @@ -4036,8 +4036,8 @@ doesn't pass when either or both of the selected options are equal or above the - Format: "weeks=3;days=2;hours=3,seconds=2". - 格式:"weeks=3;days=2;hours=3,seconds=2"。 + Format: "weeks=3;days=2;hours=3,seconds=2". + 格式:"weeks=3;days=2;hours=3,seconds=2"。 @@ -4233,10 +4233,10 @@ doesn't pass when either or both of the selected options are equal or above the - Are you sure you want to update ""? + Are you sure you want to update ""? 您确定要更新 - " - " 吗? + " + " 吗? @@ -5332,7 +5332,7 @@ doesn't pass when either or both of the selected options are equal or above the - A "roaming" authenticator, like a YubiKey + A "roaming" authenticator, like a YubiKey 像 YubiKey 这样的“漫游”身份验证器 @@ -5667,10 +5667,10 @@ doesn't pass when either or both of the selected options are equal or above the - ("", of type ) + ("", of type ) - (" - ",类型为 + (" + ",类型为 @@ -5719,7 +5719,7 @@ doesn't pass when either or both of the selected options are equal or above the - If set to a duration above 0, the user will have the option to choose to "stay signed in", which will extend their session by the time specified here. + If set to a duration above 0, the user will have the option to choose to "stay signed in", which will extend their session by the time specified here. 如果设置时长大于 0,用户可以选择“保持登录”选项,这将使用户的会话延长此处设置的时间。 @@ -7836,7 +7836,112 @@ Bindings to groups/users are checked against the user of the event. Don't show this message again. 不要再显示此消息。 + + + Failed to fetch + + + Failed to fetch data. + + + Successfully assigned permission. + + + Role + + + Assign + + + Assign permission to role + + + Assign to new role + + + Directly assigned + + + Assign permission to user + + + Assign to new user + + + User Object Permissions + + + Role Object Permissions + + + Roles + + + Select roles to grant this groups' users' permissions from the selected roles. + + + Update Permissions + + + Editing is disabled for managed tokens + + + Select permissions to grant + + + Permissions to add + + + Select permissions + + + Assign permission + + + Permission(s) + + + Permission + + + User doesn't have view permission so description cannot be retrieved. + + + Assigned permissions + + + Assigned global permissions + + + Assigned object permissions + + + Successfully updated role. + + + Successfully created role. + + + Manage roles which grant permissions to objects within authentik. + + + Role(s) + + + Update Role + + + Create Role + + + Role doesn't have view permission so description cannot be retrieved. + + + Role + + + Role Info - \ No newline at end of file + diff --git a/web/xliff/zh-Hant.xlf b/web/xliff/zh-Hant.xlf index ddb47517e378..8cfcc6044ffc 100644 --- a/web/xliff/zh-Hant.xlf +++ b/web/xliff/zh-Hant.xlf @@ -5891,6 +5891,111 @@ Bindings to groups/users are checked against the user of the event. Don't show this message again. + + + Failed to fetch + + + Failed to fetch data. + + + Successfully assigned permission. + + + Role + + + Assign + + + Assign permission to role + + + Assign to new role + + + Directly assigned + + + Assign permission to user + + + Assign to new user + + + User Object Permissions + + + Role Object Permissions + + + Roles + + + Select roles to grant this groups' users' permissions from the selected roles. + + + Update Permissions + + + Editing is disabled for managed tokens + + + Select permissions to grant + + + Permissions to add + + + Select permissions + + + Assign permission + + + Permission(s) + + + Permission + + + User doesn't have view permission so description cannot be retrieved. + + + Assigned permissions + + + Assigned global permissions + + + Assigned object permissions + + + Successfully updated role. + + + Successfully created role. + + + Manage roles which grant permissions to objects within authentik. + + + Role(s) + + + Update Role + + + Create Role + + + Role doesn't have view permission so description cannot be retrieved. + + + Role + + + Role Info diff --git a/web/xliff/zh_TW.xlf b/web/xliff/zh_TW.xlf index 5aa3bc10552e..8f95191e6a52 100644 --- a/web/xliff/zh_TW.xlf +++ b/web/xliff/zh_TW.xlf @@ -5890,6 +5890,111 @@ Bindings to groups/users are checked against the user of the event. Don't show this message again. + + + Failed to fetch + + + Failed to fetch data. + + + Successfully assigned permission. + + + Role + + + Assign + + + Assign permission to role + + + Assign to new role + + + Directly assigned + + + Assign permission to user + + + Assign to new user + + + User Object Permissions + + + Role Object Permissions + + + Roles + + + Select roles to grant this groups' users' permissions from the selected roles. + + + Update Permissions + + + Editing is disabled for managed tokens + + + Select permissions to grant + + + Permissions to add + + + Select permissions + + + Assign permission + + + Permission(s) + + + Permission + + + User doesn't have view permission so description cannot be retrieved. + + + Assigned permissions + + + Assigned global permissions + + + Assigned object permissions + + + Successfully updated role. + + + Successfully created role. + + + Manage roles which grant permissions to objects within authentik. + + + Role(s) + + + Update Role + + + Create Role + + + Role doesn't have view permission so description cannot be retrieved. + + + Role + + + Role Info From 3cda19f61b4844dc8789ac2e8bc1bc1c0eb764db Mon Sep 17 00:00:00 2001 From: "authentik-automation[bot]" <135050075+authentik-automation[bot]@users.noreply.github.com> Date: Mon, 16 Oct 2023 15:48:41 +0000 Subject: [PATCH 20/57] web: bump API Client version (#7186) Signed-off-by: GitHub Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com> --- web/package-lock.json | 8 ++++---- web/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/web/package-lock.json b/web/package-lock.json index e205d71be4b0..b566f4828f27 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -17,7 +17,7 @@ "@codemirror/theme-one-dark": "^6.1.2", "@formatjs/intl-listformat": "^7.5.0", "@fortawesome/fontawesome-free": "^6.4.2", - "@goauthentik/api": "^2023.8.3-1696847703", + "@goauthentik/api": "^2023.8.3-1697470337", "@lit-labs/context": "^0.4.1", "@lit-labs/task": "^3.1.0", "@lit/localize": "^0.11.4", @@ -2882,9 +2882,9 @@ } }, "node_modules/@goauthentik/api": { - "version": "2023.8.3-1696847703", - "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2023.8.3-1696847703.tgz", - "integrity": "sha512-RsOANX4L6RHaGXvMhJNq9g+E0ZLW3cwgl/t5CyQxLYvWgmVvZU4t78hxlOF7vFREoO5nhZUZnOOlD2+n5gOqLg==" + "version": "2023.8.3-1697470337", + "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2023.8.3-1697470337.tgz", + "integrity": "sha512-LHFqHXOR4dkVnI2EKRLLUyFQxdfHfxvYnbu/caFNlmrFeAQ2T/KYiOfTcWAvHIQ/unK9STF5EAzeFJ18m6RIdQ==" }, "node_modules/@hcaptcha/types": { "version": "1.0.3", diff --git a/web/package.json b/web/package.json index 76e1ed5bbb41..4c4a14e90563 100644 --- a/web/package.json +++ b/web/package.json @@ -35,7 +35,7 @@ "@codemirror/theme-one-dark": "^6.1.2", "@formatjs/intl-listformat": "^7.5.0", "@fortawesome/fontawesome-free": "^6.4.2", - "@goauthentik/api": "^2023.8.3-1696847703", + "@goauthentik/api": "^2023.8.3-1697470337", "@lit-labs/context": "^0.4.1", "@lit-labs/task": "^3.1.0", "@lit/localize": "^0.11.4", From 6deb231e0e760b136c1bb6db19c73064b53fc05c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Oct 2023 18:07:17 +0200 Subject: [PATCH 21/57] website: bump @babel/traverse from 7.21.4 to 7.23.2 in /website (#7187) Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.21.4 to 7.23.2. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse) --- updated-dependencies: - dependency-name: "@babel/traverse" dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- website/package-lock.json | 361 +++++++++++++++++++++++++------------- 1 file changed, 239 insertions(+), 122 deletions(-) diff --git a/website/package-lock.json b/website/package-lock.json index e7ecfe5f4dde..4ccdec6fd9b9 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -211,16 +211,81 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", - "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/compat-data": { "version": "7.21.4", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz", @@ -267,11 +332,11 @@ } }, "node_modules/@babel/generator": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz", - "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "dependencies": { - "@babel/types": "^7.21.4", + "@babel/types": "^7.23.0", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -390,9 +455,9 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "engines": { "node": ">=6.9.0" } @@ -409,23 +474,23 @@ } }, "node_modules/@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dependencies": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -546,28 +611,28 @@ } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "engines": { "node": ">=6.9.0" } @@ -608,12 +673,12 @@ } }, "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "engines": { @@ -685,9 +750,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", - "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "bin": { "parser": "bin/babel-parser.js" }, @@ -1935,31 +2000,31 @@ } }, "node_modules/@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.4.tgz", - "integrity": "sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==", - "dependencies": { - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.4", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.4", - "@babel/types": "^7.21.4", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -1968,12 +2033,12 @@ } }, "node_modules/@babel/types": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", - "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "dependencies": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, "engines": { @@ -14004,11 +14069,63 @@ } }, "@babel/code-frame": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", - "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "requires": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } } }, "@babel/compat-data": { @@ -14046,11 +14163,11 @@ } }, "@babel/generator": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz", - "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "requires": { - "@babel/types": "^7.21.4", + "@babel/types": "^7.23.0", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -14137,9 +14254,9 @@ } }, "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==" }, "@babel/helper-explode-assignable-expression": { "version": "7.18.6", @@ -14150,20 +14267,20 @@ } }, "@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "requires": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" } }, "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" } }, "@babel/helper-member-expression-to-functions": { @@ -14251,22 +14368,22 @@ } }, "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" } }, "@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" }, "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" }, "@babel/helper-validator-option": { "version": "7.21.0", @@ -14295,12 +14412,12 @@ } }, "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "dependencies": { @@ -14356,9 +14473,9 @@ } }, "@babel/parser": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", - "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==" + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==" }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.18.6", @@ -15166,39 +15283,39 @@ } }, "@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" } }, "@babel/traverse": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.4.tgz", - "integrity": "sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==", - "requires": { - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.4", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.4", - "@babel/types": "^7.21.4", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "requires": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", - "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" } }, From 0697e3d5a402f8396be27e975378e75150f63643 Mon Sep 17 00:00:00 2001 From: Jens L Date: Mon, 16 Oct 2023 19:42:19 +0200 Subject: [PATCH 22/57] rbac: revisions (#7188) * improve system migration logging Signed-off-by: Jens Langhammer * fix filter for internal service accounts Signed-off-by: Jens Langhammer * merge migration Signed-off-by: Jens Langhammer * bump go api Signed-off-by: Jens Langhammer * sources/ldap: check if we need to connect to ldap before connecting Signed-off-by: Jens Langhammer --------- Signed-off-by: Jens Langhammer --- authentik/rbac/filters.py | 7 +++++++ authentik/rbac/migrations/0002_systempermission.py | 2 ++ authentik/sources/ldap/password.py | 5 +++++ authentik/sources/ldap/signals.py | 9 ++++++--- go.mod | 2 +- go.sum | 4 ++-- lifecycle/migrate.py | 8 ++++---- .../{to_0_14_events..py => to_0_14_events.py} | 0 8 files changed, 27 insertions(+), 10 deletions(-) rename lifecycle/system_migrations/{to_0_14_events..py => to_0_14_events.py} (100%) diff --git a/authentik/rbac/filters.py b/authentik/rbac/filters.py index 395efd6736ef..22f5a768e5ba 100644 --- a/authentik/rbac/filters.py +++ b/authentik/rbac/filters.py @@ -4,6 +4,8 @@ from rest_framework.request import Request from rest_framework_guardian.filters import ObjectPermissionsFilter +from authentik.core.models import UserTypes + class ObjectFilter(ObjectPermissionsFilter): """Object permission filter that grants global permission higher priority than @@ -19,6 +21,11 @@ def filter_queryset(self, request: Request, queryset: QuerySet, view) -> QuerySe if request.user.has_perm(permission): return queryset queryset = super().filter_queryset(request, queryset, view) + # Outposts (which are the only objects using internal service accounts) + # except requests to return an empty list when they have no objects + # assigned + if request.user.type == UserTypes.INTERNAL_SERVICE_ACCOUNT: + return queryset if not queryset.exists(): # User doesn't have direct permission to all objects # and also no object permissions assigned (directly or via role) diff --git a/authentik/rbac/migrations/0002_systempermission.py b/authentik/rbac/migrations/0002_systempermission.py index eb4a03bb40ca..8a08c09fb60d 100644 --- a/authentik/rbac/migrations/0002_systempermission.py +++ b/authentik/rbac/migrations/0002_systempermission.py @@ -26,6 +26,8 @@ class Migration(migrations.Migration): ("run_system_tasks", "Can run system tasks"), ("access_admin_interface", "Can access admin interface"), ], + "verbose_name": "System permission", + "verbose_name_plural": "System permissions", "managed": False, "default_permissions": (), }, diff --git a/authentik/sources/ldap/password.py b/authentik/sources/ldap/password.py index 43b09befc3d5..d4e0dff4e5da 100644 --- a/authentik/sources/ldap/password.py +++ b/authentik/sources/ldap/password.py @@ -49,6 +49,11 @@ def __init__(self, source: LDAPSource) -> None: self._source = source self._connection = source.connection() + @staticmethod + def should_check_user(user: User) -> bool: + """Check if the user has LDAP parameters and needs to be checked""" + return LDAP_DISTINGUISHED_NAME in user.attributes + def get_domain_root_dn(self) -> str: """Attempt to get root DN via MS specific fields or generic LDAP fields""" info = self._connection.server.info diff --git a/authentik/sources/ldap/signals.py b/authentik/sources/ldap/signals.py index a5f7ea0378c7..5af97376d689 100644 --- a/authentik/sources/ldap/signals.py +++ b/authentik/sources/ldap/signals.py @@ -41,11 +41,12 @@ def ldap_password_validate(sender, password: str, plan_context: dict[str, Any], if not sources.exists(): return source = sources.first() + user = plan_context.get(PLAN_CONTEXT_PENDING_USER, None) + if user and not LDAPPasswordChanger.should_check_user(user): + return changer = LDAPPasswordChanger(source) if changer.check_ad_password_complexity_enabled(): - passing = changer.ad_password_complexity( - password, plan_context.get(PLAN_CONTEXT_PENDING_USER, None) - ) + passing = changer.ad_password_complexity(password, user) if not passing: raise ValidationError(_("Password does not match Active Directory Complexity.")) @@ -57,6 +58,8 @@ def ldap_sync_password(sender, user: User, password: str, **_): if not sources.exists(): return source = sources.first() + if not LDAPPasswordChanger.should_check_user(user): + return try: changer = LDAPPasswordChanger(source) changer.change_password(user, password) diff --git a/go.mod b/go.mod index 0b26945b57e6..5f5394955912 100644 --- a/go.mod +++ b/go.mod @@ -27,7 +27,7 @@ require ( github.com/sirupsen/logrus v1.9.3 github.com/spf13/cobra v1.7.0 github.com/stretchr/testify v1.8.4 - goauthentik.io/api/v3 v3.2023083.6 + goauthentik.io/api/v3 v3.2023083.7 golang.org/x/exp v0.0.0-20230210204819-062eb4c674ab golang.org/x/oauth2 v0.13.0 golang.org/x/sync v0.4.0 diff --git a/go.sum b/go.sum index d9899e7598b8..75d8b4a2d4fd 100644 --- a/go.sum +++ b/go.sum @@ -355,8 +355,8 @@ go.opentelemetry.io/otel/trace v1.14.0 h1:wp2Mmvj41tDsyAJXiWDWpfNsOiIyd38fy85pyK go.opentelemetry.io/otel/trace v1.14.0/go.mod h1:8avnQLK+CG77yNLUae4ea2JDQ6iT+gozhnZjy/rw9G8= go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= go.uber.org/goleak v1.2.1/go.mod h1:qlT2yGI9QafXHhZZLxlSuNsMw3FFLxBr+tBRlmO1xH4= -goauthentik.io/api/v3 v3.2023083.6 h1:VYVnE/3CYhggmobeZ+V3ka0TwswrUhKasxwGPmXTq0M= -goauthentik.io/api/v3 v3.2023083.6/go.mod h1:zz+mEZg8rY/7eEjkMGWJ2DnGqk+zqxuybGCGrR2O4Kw= +goauthentik.io/api/v3 v3.2023083.7 h1:/nS5Cgg+daTmsHVoFNxANLUQXVsJMAu4U8P7OyxeZf0= +goauthentik.io/api/v3 v3.2023083.7/go.mod h1:zz+mEZg8rY/7eEjkMGWJ2DnGqk+zqxuybGCGrR2O4Kw= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= diff --git a/lifecycle/migrate.py b/lifecycle/migrate.py index 68d45dbc373b..4476a4681d3c 100755 --- a/lifecycle/migrate.py +++ b/lifecycle/migrate.py @@ -81,8 +81,8 @@ def release_lock(): ) curr = conn.cursor() try: - for migration in Path(__file__).parent.absolute().glob("system_migrations/*.py"): - spec = spec_from_file_location("lifecycle.system_migrations", migration) + for migration_path in Path(__file__).parent.absolute().glob("system_migrations/*.py"): + spec = spec_from_file_location("lifecycle.system_migrations", migration_path) if not spec: continue mod = module_from_spec(spec) @@ -94,9 +94,9 @@ def release_lock(): migration = sub(curr, conn) if migration.needs_migration(): wait_for_lock() - LOGGER.info("Migration needs to be applied", migration=sub) + LOGGER.info("Migration needs to be applied", migration=migration_path.name) migration.run() - LOGGER.info("Migration finished applying", migration=sub) + LOGGER.info("Migration finished applying", migration=migration_path.name) release_lock() LOGGER.info("applying django migrations") environ.setdefault("DJANGO_SETTINGS_MODULE", "authentik.root.settings") diff --git a/lifecycle/system_migrations/to_0_14_events..py b/lifecycle/system_migrations/to_0_14_events.py similarity index 100% rename from lifecycle/system_migrations/to_0_14_events..py rename to lifecycle/system_migrations/to_0_14_events.py From 9e568e1e85da75a9ff411173b9c1a452544145e8 Mon Sep 17 00:00:00 2001 From: Ken Sternberg <133134217+kensternberg-authentik@users.noreply.github.com> Date: Mon, 16 Oct 2023 13:54:43 -0700 Subject: [PATCH 23/57] web: the return of pseudolocalization (#7190) * web: the return of pseudolocalization The move to lit-locale lost the ability to automagically pseudolocalize the UI, a useful utility for checking that additions to the UI have been properly cataloged as translation targets. This short script (barely 40 lines) digs deep into the lit-localize toolkit and produces a pretranslated translation bundle in the target format folder. * Linted, prettied, and commented. --- web/.gitignore | 2 + web/package-lock.json | 25 + web/package.json | 4 + web/scripts/pseudolocalize.ts | 47 + .../elements/ak-locale-context/definitions.ts | 6 + web/xliff/pseudo-LOCALE.xlf | 1594 ++++++++++++++++- 6 files changed, 1674 insertions(+), 4 deletions(-) create mode 100644 web/scripts/pseudolocalize.ts diff --git a/web/.gitignore b/web/.gitignore index 5fcf655367d5..f11bf366deb5 100644 --- a/web/.gitignore +++ b/web/.gitignore @@ -109,3 +109,5 @@ temp/ # End of https://www.gitignore.io/api/node api/** storybook-static/ +scripts/*.mjs +scripts/*.js diff --git a/web/package-lock.json b/web/package-lock.json index b566f4828f27..645eccde8309 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -84,6 +84,7 @@ "lit-analyzer": "^1.2.1", "npm-run-all": "^4.1.5", "prettier": "^3.0.3", + "pseudolocale": "^2.0.0", "pyright": "^1.1.331", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -19295,6 +19296,30 @@ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" }, + "node_modules/pseudolocale": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pseudolocale/-/pseudolocale-2.0.0.tgz", + "integrity": "sha512-g1K9tCQYY4e3UGtnW8qs3kGWAOONxt7i5wuOFvf3N1EIIRhiLVIhZ9AM/ZyGTxsp231JbFywJU/EbJ5ZoqnZdg==", + "dev": true, + "dependencies": { + "commander": "^10.0.0" + }, + "bin": { + "pseudolocale": "dist/cli.mjs" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/pseudolocale/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, + "engines": { + "node": ">=14" + } + }, "node_modules/pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", diff --git a/web/package.json b/web/package.json index 4c4a14e90563..fcc5770bc886 100644 --- a/web/package.json +++ b/web/package.json @@ -21,6 +21,9 @@ "precommit": "run-s tsc lit-analyse lint:precommit lint:spelling prettier", "prettier-check": "prettier --check .", "prettier": "prettier --write .", + "pseudolocalize:build-extract-script": "cd scripts && tsc --esModuleInterop --module es2020 --moduleResolution 'node' pseudolocalize.ts && mv pseudolocalize.js pseudolocalize.mjs", + "pseudolocalize:extract": "node scripts/pseudolocalize.mjs", + "pseudolocalize": "run-s pseudolocalize:build-extract-script pseudolocalize:extract", "tsc:execute": "tsc --noEmit -p .", "tsc": "run-s build-locales tsc:execute", "storybook": "storybook dev -p 6006", @@ -102,6 +105,7 @@ "lit-analyzer": "^1.2.1", "npm-run-all": "^4.1.5", "prettier": "^3.0.3", + "pseudolocale": "^2.0.0", "pyright": "^1.1.331", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/web/scripts/pseudolocalize.ts b/web/scripts/pseudolocalize.ts new file mode 100644 index 000000000000..308632ff946a --- /dev/null +++ b/web/scripts/pseudolocalize.ts @@ -0,0 +1,47 @@ +import { readFileSync } from "fs"; +import path from "path"; +import pseudolocale from "pseudolocale"; +import { fileURLToPath } from "url"; + +import { makeFormatter } from "@lit/localize-tools/lib/formatters/index.js"; +import type { Message, ProgramMessage } from "@lit/localize-tools/lib/messages.d.ts"; +import { sortProgramMessages } from "@lit/localize-tools/lib/messages.js"; +import { TransformLitLocalizer } from "@lit/localize-tools/lib/modes/transform.js"; +import type { Config } from "@lit/localize-tools/lib/types/config.d.ts"; +import type { Locale } from "@lit/localize-tools/lib/types/locale.d.ts"; +import type { TransformOutputConfig } from "@lit/localize-tools/lib/types/modes.d.ts"; + +const __dirname = fileURLToPath(new URL(".", import.meta.url)); +const pseudoLocale: Locale = "pseudo-LOCALE" as Locale; +const targetLocales: Locale[] = [pseudoLocale]; +const baseConfig = JSON.parse(readFileSync(path.join(__dirname, "../lit-localize.json"), "utf-8")); + +// Need to make some internal specifications to satisfy the transformer. It doesn't actually matter +// which Localizer we use (transformer or runtime), because all of the functionality we care about +// is in their common parent class, but I had to pick one. Everything else here is just pure +// exploitation of the lit/localize-tools internals. + +const config: Config = { + ...baseConfig, + baseDir: path.join(__dirname, ".."), + targetLocales, + output: { + ...baseConfig, + mode: "transform", + }, + resolve: (path: string) => path, +} as Config; + +const pseudoMessagify = (message: ProgramMessage) => ({ + name: message.name, + contents: message.contents.map((content) => + typeof content === "string" ? pseudolocale(content, { prepend: "", append: "" }) : content, + ), +}); + +const localizer = new TransformLitLocalizer(config as Config & { output: TransformOutputConfig }); +const { messages } = localizer.extractSourceMessages(); +const translations = messages.map(pseudoMessagify); +const sorted = sortProgramMessages([...messages]); +const formatter = makeFormatter(config); +formatter.writeOutput(sorted, new Map([[pseudoLocale, translations]])); diff --git a/web/src/elements/ak-locale-context/definitions.ts b/web/src/elements/ak-locale-context/definitions.ts index 63ec250257b5..e920e85b1100 100644 --- a/web/src/elements/ak-locale-context/definitions.ts +++ b/web/src/elements/ak-locale-context/definitions.ts @@ -35,6 +35,11 @@ export { enLocale }; // - Text Label // - Locale loader. +// prettier-ignore +const debug: LocaleRow = [ + "pseudo-LOCALE", /^pseudo/i, () => msg("Pseudolocale (for testing)"), async () => await import("@goauthentik/locales/pseudo-LOCALE"), +]; + // prettier-ignore const LOCALE_TABLE: LocaleRow[] = [ ["en", /^en([_-]|$)/i, () => msg("English"), async () => await import("@goauthentik/locales/en")], @@ -46,6 +51,7 @@ const LOCALE_TABLE: LocaleRow[] = [ ["zh-Hant", /^zh[_-](HK|Hant)/i, () => msg("Chinese (traditional)"), async () => await import("@goauthentik/locales/zh-Hant")], ["zh_TW", /^zh[_-]TW$/i, () => msg("Taiwanese Mandarin"), async () => await import("@goauthentik/locales/zh_TW")], ["zh-Hans", /^zh(\b|_)/i, () => msg("Chinese (simplified)"), async () => await import("@goauthentik/locales/zh-Hans")], + debug ]; export const LOCALES: AkLocale[] = LOCALE_TABLE.map(([code, match, label, locale]) => ({ diff --git a/web/xliff/pseudo-LOCALE.xlf b/web/xliff/pseudo-LOCALE.xlf index b54aac0a8df5..c4fa2d82f0c4 100644 --- a/web/xliff/pseudo-LOCALE.xlf +++ b/web/xliff/pseudo-LOCALE.xlf @@ -4,6189 +4,7775 @@ English + Ēńĝĺĩśĥ French + Ƒŕēńćĥ Turkish + Ţũŕķĩśĥ Spanish + Śƥàńĩśĥ Polish + Ƥōĺĩśĥ Taiwanese Mandarin + Ţàĩŵàńēśē Màńďàŕĩń Chinese (simplified) + Ćĥĩńēśē (śĩmƥĺĩƒĩēď) Chinese (traditional) + Ćĥĩńēśē (ţŕàďĩţĩōńàĺ) German + Ĝēŕmàń Loading... + Ĺōàďĩńĝ... Application + Àƥƥĺĩćàţĩōń Logins + Ĺōĝĩńś Show less + Śĥōŵ ĺēśś Show more + Śĥōŵ mōŕē UID + ŨĨĎ Name + Ńàmē App + Àƥƥ Model Name + Mōďēĺ Ńàmē Message + Mēśśàĝē Subject + ŚũƀĴēćţ From + Ƒŕōm To + Ţō Context + Ćōńţēxţ User + Ũśēŕ Affected model: + Àƒƒēćţēď mōďēĺ: Authorized application: + Àũţĥōŕĩźēď àƥƥĺĩćàţĩōń: Using flow + Ũśĩńĝ ƒĺōŵ Email info: + Ēmàĩĺ ĩńƒō: Secret: + Śēćŕēţ: Open issue on GitHub... + Ōƥēń ĩśśũē ōń ĜĩţĤũƀ... Exception + Ēxćēƥţĩōń Expression + Ēxƥŕēśśĩōń Binding + ßĩńďĩńĝ Request + Ŕēǫũēśţ Object + ŌƀĴēćţ Result + Ŕēśũĺţ Passing + Ƥàśśĩńĝ Messages + Mēśśàĝēś Using source + Ũśĩńĝ śōũŕćē Attempted to log in as + Àţţēmƥţēď ţō ĺōĝ ĩń àś No additional data available. + Ńō àďďĩţĩōńàĺ ďàţà àvàĩĺàƀĺē. Click to change value + Ćĺĩćķ ţō ćĥàńĝē vàĺũē Select an object. + Śēĺēćţ àń ōƀĴēćţ. Loading options... + Ĺōàďĩńĝ ōƥţĩōńś... Connection error, reconnecting... + Ćōńńēćţĩōń ēŕŕōŕ, ŕēćōńńēćţĩńĝ... Login + Ĺōĝĩń Failed login + Ƒàĩĺēď ĺōĝĩń Logout + Ĺōĝōũţ User was written to + Ũśēŕ ŵàś ŵŕĩţţēń ţō Suspicious request + Śũśƥĩćĩōũś ŕēǫũēśţ Password set + Ƥàśśŵōŕď śēţ Secret was viewed + Śēćŕēţ ŵàś vĩēŵēď Secret was rotated + Śēćŕēţ ŵàś ŕōţàţēď Invitation used + Ĩńvĩţàţĩōń ũśēď Application authorized + Àƥƥĺĩćàţĩōń àũţĥōŕĩźēď Source linked + Śōũŕćē ĺĩńķēď Impersonation started + Ĩmƥēŕśōńàţĩōń śţàŕţēď Impersonation ended + Ĩmƥēŕśōńàţĩōń ēńďēď Flow execution + Ƒĺōŵ ēxēćũţĩōń Policy execution + Ƥōĺĩćŷ ēxēćũţĩōń Policy exception + Ƥōĺĩćŷ ēxćēƥţĩōń Property Mapping exception + Ƥŕōƥēŕţŷ Màƥƥĩńĝ ēxćēƥţĩōń System task execution + Śŷśţēm ţàśķ ēxēćũţĩōń System task exception + Śŷśţēm ţàśķ ēxćēƥţĩōń General system exception + Ĝēńēŕàĺ śŷśţēm ēxćēƥţĩōń Configuration error + Ćōńƒĩĝũŕàţĩōń ēŕŕōŕ Model created + Mōďēĺ ćŕēàţēď Model updated + Mōďēĺ ũƥďàţēď Model deleted + Mōďēĺ ďēĺēţēď Email sent + Ēmàĩĺ śēńţ Update available + Ũƥďàţē àvàĩĺàƀĺē Unknown severity + Ũńķńōŵń śēvēŕĩţŷ Alert + Àĺēŕţ Notice + Ńōţĩćē Warning + Ŵàŕńĩńĝ no tabs defined + ńō ţàƀś ďēƒĩńēď - of + - ōƒ Go to previous page + Ĝō ţō ƥŕēvĩōũś ƥàĝē Go to next page + Ĝō ţō ńēxţ ƥàĝē Search... + Śēàŕćĥ... Loading + Ĺōàďĩńĝ No objects found. + Ńō ōƀĴēćţś ƒōũńď. Failed to fetch objects. + Ƒàĩĺēď ţō ƒēţćĥ ōƀĴēćţś. Refresh + Ŕēƒŕēśĥ Select all rows + Śēĺēćţ àĺĺ ŕōŵś Action + Àćţĩōń Creation Date + Ćŕēàţĩōń Ďàţē Client IP + Ćĺĩēńţ ĨƤ Tenant + Ţēńàńţ Recent events + Ŕēćēńţ ēvēńţś On behalf of + Ōń ƀēĥàĺƒ ōƒ - + - No Events found. + Ńō Ēvēńţś ƒōũńď. No matching events could be found. + Ńō màţćĥĩńĝ ēvēńţś ćōũĺď ƀē ƒōũńď. Embedded outpost is not configured correctly. + Ēmƀēďďēď ōũţƥōśţ ĩś ńōţ ćōńƒĩĝũŕēď ćōŕŕēćţĺŷ. Check outposts. + Ćĥēćķ ōũţƥōśţś. HTTPS is not detected correctly + ĤŢŢƤŚ ĩś ńōţ ďēţēćţēď ćōŕŕēćţĺŷ Server and client are further than 5 seconds apart. + Śēŕvēŕ àńď ćĺĩēńţ àŕē ƒũŕţĥēŕ ţĥàń 5 śēćōńďś àƥàŕţ. OK + ŌĶ Everything is ok. + Ēvēŕŷţĥĩńĝ ĩś ōķ. System status + Śŷśţēm śţàţũś Based on + ßàśēď ōń is available! + ĩś àvàĩĺàƀĺē! Up-to-date! + Ũƥ-ţō-ďàţē! Version + Vēŕśĩōń Workers + Ŵōŕķēŕś No workers connected. Background tasks will not run. + Ńō ŵōŕķēŕś ćōńńēćţēď. ßàćķĝŕōũńď ţàśķś ŵĩĺĺ ńōţ ŕũń. hour(s) ago + ĥōũŕ(ś) àĝō day(s) ago + ďàŷ(ś) àĝō Authorizations + Àũţĥōŕĩźàţĩōńś Failed Logins + Ƒàĩĺēď Ĺōĝĩńś Successful Logins + Śũććēśśƒũĺ Ĺōĝĩńś : + : Cancel + Ćàńćēĺ LDAP Source + ĹĎÀƤ Śōũŕćē SCIM Provider + ŚĆĨM Ƥŕōvĩďēŕ Healthy + Ĥēàĺţĥŷ Healthy outposts + Ĥēàĺţĥŷ ōũţƥōśţś Admin + Àďmĩń Not found + Ńōţ ƒōũńď The URL "" was not found. + Ţĥē ŨŔĹ "" ŵàś ńōţ ƒōũńď. Return home + Ŕēţũŕń ĥōmē General system status + Ĝēńēŕàĺ śŷśţēm śţàţũś Welcome, . + Ŵēĺćōmē, . Quick actions + Ǫũĩćķ àćţĩōńś Create a new application + Ćŕēàţē à ńēŵ àƥƥĺĩćàţĩōń Check the logs + Ćĥēćķ ţĥē ĺōĝś Explore integrations + Ēxƥĺōŕē ĩńţēĝŕàţĩōńś Manage users + Màńàĝē ũśēŕś Check release notes + Ćĥēćķ ŕēĺēàśē ńōţēś Outpost status + Ōũţƥōśţ śţàţũś Sync status + Śŷńć śţàţũś Logins and authorizations over the last week (per 8 hours) + Ĺōĝĩńś àńď àũţĥōŕĩźàţĩōńś ōvēŕ ţĥē ĺàśţ ŵēēķ (ƥēŕ 8 ĥōũŕś) Apps with most usage + Àƥƥś ŵĩţĥ mōśţ ũśàĝē days ago + ďàŷś àĝō Objects created + ŌƀĴēćţś ćŕēàţēď User statistics + Ũśēŕ śţàţĩśţĩćś Users created per day in the last month + Ũśēŕś ćŕēàţēď ƥēŕ ďàŷ ĩń ţĥē ĺàśţ mōńţĥ Logins per day in the last month + Ĺōĝĩńś ƥēŕ ďàŷ ĩń ţĥē ĺàśţ mōńţĥ Failed Logins per day in the last month + Ƒàĩĺēď Ĺōĝĩńś ƥēŕ ďàŷ ĩń ţĥē ĺàśţ mōńţĥ Clear search + Ćĺēàŕ śēàŕćĥ System Tasks + Śŷśţēm Ţàśķś Long-running operations which authentik executes in the background. + Ĺōńĝ-ŕũńńĩńĝ ōƥēŕàţĩōńś ŵĥĩćĥ àũţĥēńţĩķ ēxēćũţēś ĩń ţĥē ƀàćķĝŕōũńď. Identifier + Ĩďēńţĩƒĩēŕ Description + Ďēśćŕĩƥţĩōń Last run + Ĺàśţ ŕũń Status + Śţàţũś Actions + Àćţĩōńś Successful + Śũććēśśƒũĺ Error + Ēŕŕōŕ Unknown + Ũńķńōŵń Duration + Ďũŕàţĩōń seconds + śēćōńďś Authentication + Àũţĥēńţĩćàţĩōń Authorization + Àũţĥōŕĩźàţĩōń Enrollment + Ēńŕōĺĺmēńţ Invalidation + Ĩńvàĺĩďàţĩōń Recovery + Ŕēćōvēŕŷ Stage Configuration + Śţàĝē Ćōńƒĩĝũŕàţĩōń Unenrollment + Ũńēńŕōĺĺmēńţ Unknown designation + Ũńķńōŵń ďēśĩĝńàţĩōń Stacked + Śţàćķēď Content left + Ćōńţēńţ ĺēƒţ Content right + Ćōńţēńţ ŕĩĝĥţ Sidebar left + Śĩďēƀàŕ ĺēƒţ Sidebar right + Śĩďēƀàŕ ŕĩĝĥţ Unknown layout + Ũńķńōŵń ĺàŷōũţ Successfully updated provider. + Śũććēśśƒũĺĺŷ ũƥďàţēď ƥŕōvĩďēŕ. Successfully created provider. + Śũććēśśƒũĺĺŷ ćŕēàţēď ƥŕōvĩďēŕ. Bind flow + ßĩńď ƒĺōŵ Flow used for users to authenticate. + Ƒĺōŵ ũśēď ƒōŕ ũśēŕś ţō àũţĥēńţĩćàţē. Search group + Śēàŕćĥ ĝŕōũƥ Users in the selected group can do search queries. If no group is selected, no LDAP Searches are allowed. + Ũśēŕś ĩń ţĥē śēĺēćţēď ĝŕōũƥ ćàń ďō śēàŕćĥ ǫũēŕĩēś. Ĩƒ ńō ĝŕōũƥ ĩś śēĺēćţēď, ńō ĹĎÀƤ Śēàŕćĥēś àŕē àĺĺōŵēď. Bind mode + ßĩńď mōďē Cached binding + Ćàćĥēď ƀĩńďĩńĝ Flow is executed and session is cached in memory. Flow is executed when session expires + Ƒĺōŵ ĩś ēxēćũţēď àńď śēśśĩōń ĩś ćàćĥēď ĩń mēmōŕŷ. Ƒĺōŵ ĩś ēxēćũţēď ŵĥēń śēśśĩōń ēxƥĩŕēś Direct binding + Ďĩŕēćţ ƀĩńďĩńĝ Always execute the configured bind flow to authenticate the user + Àĺŵàŷś ēxēćũţē ţĥē ćōńƒĩĝũŕēď ƀĩńď ƒĺōŵ ţō àũţĥēńţĩćàţē ţĥē ũśēŕ Configure how the outpost authenticates requests. + Ćōńƒĩĝũŕē ĥōŵ ţĥē ōũţƥōśţ àũţĥēńţĩćàţēś ŕēǫũēśţś. Search mode + Śēàŕćĥ mōďē Cached querying + Ćàćĥēď ǫũēŕŷĩńĝ The outpost holds all users and groups in-memory and will refresh every 5 Minutes + Ţĥē ōũţƥōśţ ĥōĺďś àĺĺ ũśēŕś àńď ĝŕōũƥś ĩń-mēmōŕŷ àńď ŵĩĺĺ ŕēƒŕēśĥ ēvēŕŷ 5 Mĩńũţēś Direct querying + Ďĩŕēćţ ǫũēŕŷĩńĝ Always returns the latest data, but slower than cached querying + Àĺŵàŷś ŕēţũŕńś ţĥē ĺàţēśţ ďàţà, ƀũţ śĺōŵēŕ ţĥàń ćàćĥēď ǫũēŕŷĩńĝ Configure how the outpost queries the core authentik server's users. + Ćōńƒĩĝũŕē ĥōŵ ţĥē ōũţƥōśţ ǫũēŕĩēś ţĥē ćōŕē àũţĥēńţĩķ śēŕvēŕ'ś ũśēŕś. Protocol settings + Ƥŕōţōćōĺ śēţţĩńĝś Base DN + ßàśē ĎŃ LDAP DN under which bind requests and search requests can be made. + ĹĎÀƤ ĎŃ ũńďēŕ ŵĥĩćĥ ƀĩńď ŕēǫũēśţś àńď śēàŕćĥ ŕēǫũēśţś ćàń ƀē màďē. Certificate + Ćēŕţĩƒĩćàţē UID start number + ŨĨĎ śţàŕţ ńũmƀēŕ The start for uidNumbers, this number is added to the user.Pk to make sure that the numbers aren't too low for POSIX users. Default is 2000 to ensure that we don't collide with local users uidNumber + Ţĥē śţàŕţ ƒōŕ ũĩďŃũmƀēŕś, ţĥĩś ńũmƀēŕ ĩś àďďēď ţō ţĥē ũśēŕ.Ƥķ ţō màķē śũŕē ţĥàţ ţĥē ńũmƀēŕś àŕēń'ţ ţōō ĺōŵ ƒōŕ ƤŌŚĨX ũśēŕś. Ďēƒàũĺţ ĩś 2000 ţō ēńśũŕē ţĥàţ ŵē ďōń'ţ ćōĺĺĩďē ŵĩţĥ ĺōćàĺ ũśēŕś ũĩďŃũmƀēŕ GID start number + ĜĨĎ śţàŕţ ńũmƀēŕ The start for gidNumbers, this number is added to a number generated from the group.Pk to make sure that the numbers aren't too low for POSIX groups. Default is 4000 to ensure that we don't collide with local groups or users primary groups gidNumber + Ţĥē śţàŕţ ƒōŕ ĝĩďŃũmƀēŕś, ţĥĩś ńũmƀēŕ ĩś àďďēď ţō à ńũmƀēŕ ĝēńēŕàţēď ƒŕōm ţĥē ĝŕōũƥ.Ƥķ ţō màķē śũŕē ţĥàţ ţĥē ńũmƀēŕś àŕēń'ţ ţōō ĺōŵ ƒōŕ ƤŌŚĨX ĝŕōũƥś. Ďēƒàũĺţ ĩś 4000 ţō ēńśũŕē ţĥàţ ŵē ďōń'ţ ćōĺĺĩďē ŵĩţĥ ĺōćàĺ ĝŕōũƥś ōŕ ũśēŕś ƥŕĩmàŕŷ ĝŕōũƥś ĝĩďŃũmƀēŕ (Format: hours=-1;minutes=-2;seconds=-3). + (Ƒōŕmàţ: ĥōũŕś=-1;mĩńũţēś=-2;śēćōńďś=-3). (Format: hours=1;minutes=2;seconds=3). + (Ƒōŕmàţ: ĥōũŕś=1;mĩńũţēś=2;śēćōńďś=3). The following keywords are supported: + Ţĥē ƒōĺĺōŵĩńĝ ķēŷŵōŕďś àŕē śũƥƥōŕţēď: Authentication flow + Àũţĥēńţĩćàţĩōń ƒĺōŵ Flow used when a user access this provider and is not authenticated. + Ƒĺōŵ ũśēď ŵĥēń à ũśēŕ àććēśś ţĥĩś ƥŕōvĩďēŕ àńď ĩś ńōţ àũţĥēńţĩćàţēď. Authorization flow + Àũţĥōŕĩźàţĩōń ƒĺōŵ Flow used when authorizing this provider. + Ƒĺōŵ ũśēď ŵĥēń àũţĥōŕĩźĩńĝ ţĥĩś ƥŕōvĩďēŕ. Client type + Ćĺĩēńţ ţŷƥē Confidential + Ćōńƒĩďēńţĩàĺ Confidential clients are capable of maintaining the confidentiality of their credentials such as client secrets + Ćōńƒĩďēńţĩàĺ ćĺĩēńţś àŕē ćàƥàƀĺē ōƒ màĩńţàĩńĩńĝ ţĥē ćōńƒĩďēńţĩàĺĩţŷ ōƒ ţĥēĩŕ ćŕēďēńţĩàĺś śũćĥ àś ćĺĩēńţ śēćŕēţś Public + Ƥũƀĺĩć Public clients are incapable of maintaining the confidentiality and should use methods like PKCE. + Ƥũƀĺĩć ćĺĩēńţś àŕē ĩńćàƥàƀĺē ōƒ màĩńţàĩńĩńĝ ţĥē ćōńƒĩďēńţĩàĺĩţŷ àńď śĥōũĺď ũśē mēţĥōďś ĺĩķē ƤĶĆĒ. Client ID + Ćĺĩēńţ ĨĎ Client Secret + Ćĺĩēńţ Śēćŕēţ Redirect URIs/Origins (RegEx) + Ŕēďĩŕēćţ ŨŔĨś/Ōŕĩĝĩńś (ŔēĝĒx) Valid redirect URLs after a successful authorization flow. Also specify any origins here for Implicit flows. + Vàĺĩď ŕēďĩŕēćţ ŨŔĹś àƒţēŕ à śũććēśśƒũĺ àũţĥōŕĩźàţĩōń ƒĺōŵ. Àĺśō śƥēćĩƒŷ àńŷ ōŕĩĝĩńś ĥēŕē ƒōŕ Ĩmƥĺĩćĩţ ƒĺōŵś. If no explicit redirect URIs are specified, the first successfully used redirect URI will be saved. + Ĩƒ ńō ēxƥĺĩćĩţ ŕēďĩŕēćţ ŨŔĨś àŕē śƥēćĩƒĩēď, ţĥē ƒĩŕśţ śũććēśśƒũĺĺŷ ũśēď ŕēďĩŕēćţ ŨŔĨ ŵĩĺĺ ƀē śàvēď. To allow any redirect URI, set this value to ".*". Be aware of the possible security implications this can have. + Ţō àĺĺōŵ àńŷ ŕēďĩŕēćţ ŨŔĨ, śēţ ţĥĩś vàĺũē ţō ".*". ßē àŵàŕē ōƒ ţĥē ƥōśśĩƀĺē śēćũŕĩţŷ ĩmƥĺĩćàţĩōńś ţĥĩś ćàń ĥàvē. Signing Key + Śĩĝńĩńĝ Ķēŷ Key used to sign the tokens. + Ķēŷ ũśēď ţō śĩĝń ţĥē ţōķēńś. Advanced protocol settings + Àďvàńćēď ƥŕōţōćōĺ śēţţĩńĝś Access code validity + Àććēśś ćōďē vàĺĩďĩţŷ Configure how long access codes are valid for. + Ćōńƒĩĝũŕē ĥōŵ ĺōńĝ àććēśś ćōďēś àŕē vàĺĩď ƒōŕ. Access Token validity + Àććēśś Ţōķēń vàĺĩďĩţŷ Configure how long access tokens are valid for. + Ćōńƒĩĝũŕē ĥōŵ ĺōńĝ àććēśś ţōķēńś àŕē vàĺĩď ƒōŕ. Refresh Token validity + Ŕēƒŕēśĥ Ţōķēń vàĺĩďĩţŷ Configure how long refresh tokens are valid for. + Ćōńƒĩĝũŕē ĥōŵ ĺōńĝ ŕēƒŕēśĥ ţōķēńś àŕē vàĺĩď ƒōŕ. Scopes + Śćōƥēś Select which scopes can be used by the client. The client still has to specify the scope to access the data. + Śēĺēćţ ŵĥĩćĥ śćōƥēś ćàń ƀē ũśēď ƀŷ ţĥē ćĺĩēńţ. Ţĥē ćĺĩēńţ śţĩĺĺ ĥàś ţō śƥēćĩƒŷ ţĥē śćōƥē ţō àććēśś ţĥē ďàţà. Hold control/command to select multiple items. + Ĥōĺď ćōńţŕōĺ/ćōmmàńď ţō śēĺēćţ mũĺţĩƥĺē ĩţēmś. Subject mode + ŚũƀĴēćţ mōďē Based on the User's hashed ID + ßàśēď ōń ţĥē Ũśēŕ'ś ĥàśĥēď ĨĎ Based on the User's ID + ßàśēď ōń ţĥē Ũśēŕ'ś ĨĎ Based on the User's UUID + ßàśēď ōń ţĥē Ũśēŕ'ś ŨŨĨĎ Based on the User's username + ßàśēď ōń ţĥē Ũśēŕ'ś ũśēŕńàmē Based on the User's Email + ßàśēď ōń ţĥē Ũśēŕ'ś Ēmàĩĺ This is recommended over the UPN mode. + Ţĥĩś ĩś ŕēćōmmēńďēď ōvēŕ ţĥē ŨƤŃ mōďē. Based on the User's UPN + ßàśēď ōń ţĥē Ũśēŕ'ś ŨƤŃ Requires the user to have a 'upn' attribute set, and falls back to hashed user ID. Use this mode only if you have different UPN and Mail domains. + Ŕēǫũĩŕēś ţĥē ũśēŕ ţō ĥàvē à 'ũƥń' àţţŕĩƀũţē śēţ, àńď ƒàĺĺś ƀàćķ ţō ĥàśĥēď ũśēŕ ĨĎ. Ũśē ţĥĩś mōďē ōńĺŷ ĩƒ ŷōũ ĥàvē ďĩƒƒēŕēńţ ŨƤŃ àńď Màĩĺ ďōmàĩńś. Configure what data should be used as unique User Identifier. For most cases, the default should be fine. + Ćōńƒĩĝũŕē ŵĥàţ ďàţà śĥōũĺď ƀē ũśēď àś ũńĩǫũē Ũśēŕ Ĩďēńţĩƒĩēŕ. Ƒōŕ mōśţ ćàśēś, ţĥē ďēƒàũĺţ śĥōũĺď ƀē ƒĩńē. Include claims in id_token + Ĩńćĺũďē ćĺàĩmś ĩń ĩď_ţōķēń Include User claims from scopes in the id_token, for applications that don't access the userinfo endpoint. + Ĩńćĺũďē Ũśēŕ ćĺàĩmś ƒŕōm śćōƥēś ĩń ţĥē ĩď_ţōķēń, ƒōŕ àƥƥĺĩćàţĩōńś ţĥàţ ďōń'ţ àććēśś ţĥē ũśēŕĩńƒō ēńďƥōĩńţ. Issuer mode + Ĩśśũēŕ mōďē Each provider has a different issuer, based on the application slug + Ēàćĥ ƥŕōvĩďēŕ ĥàś à ďĩƒƒēŕēńţ ĩśśũēŕ, ƀàśēď ōń ţĥē àƥƥĺĩćàţĩōń śĺũĝ Same identifier is used for all providers + Śàmē ĩďēńţĩƒĩēŕ ĩś ũśēď ƒōŕ àĺĺ ƥŕōvĩďēŕś Configure how the issuer field of the ID Token should be filled. + Ćōńƒĩĝũŕē ĥōŵ ţĥē ĩśśũēŕ ƒĩēĺď ōƒ ţĥē ĨĎ Ţōķēń śĥōũĺď ƀē ƒĩĺĺēď. Machine-to-Machine authentication settings + Màćĥĩńē-ţō-Màćĥĩńē àũţĥēńţĩćàţĩōń śēţţĩńĝś Trusted OIDC Sources + Ţŕũśţēď ŌĨĎĆ Śōũŕćēś JWTs signed by certificates configured in the selected sources can be used to authenticate to this provider. + ĵŴŢś śĩĝńēď ƀŷ ćēŕţĩƒĩćàţēś ćōńƒĩĝũŕēď ĩń ţĥē śēĺēćţēď śōũŕćēś ćàń ƀē ũśēď ţō àũţĥēńţĩćàţē ţō ţĥĩś ƥŕōvĩďēŕ. HTTP-Basic Username Key + ĤŢŢƤ-ßàśĩć Ũśēŕńàmē Ķēŷ User/Group Attribute used for the user part of the HTTP-Basic Header. If not set, the user's Email address is used. + Ũśēŕ/Ĝŕōũƥ Àţţŕĩƀũţē ũśēď ƒōŕ ţĥē ũśēŕ ƥàŕţ ōƒ ţĥē ĤŢŢƤ-ßàśĩć Ĥēàďēŕ. Ĩƒ ńōţ śēţ, ţĥē ũśēŕ'ś Ēmàĩĺ àďďŕēśś ĩś ũśēď. HTTP-Basic Password Key + ĤŢŢƤ-ßàśĩć Ƥàśśŵōŕď Ķēŷ User/Group Attribute used for the password part of the HTTP-Basic Header. + Ũśēŕ/Ĝŕōũƥ Àţţŕĩƀũţē ũśēď ƒōŕ ţĥē ƥàśśŵōŕď ƥàŕţ ōƒ ţĥē ĤŢŢƤ-ßàśĩć Ĥēàďēŕ. Proxy + Ƥŕōxŷ Forward auth (single application) + Ƒōŕŵàŕď àũţĥ (śĩńĝĺē àƥƥĺĩćàţĩōń) Forward auth (domain level) + Ƒōŕŵàŕď àũţĥ (ďōmàĩń ĺēvēĺ) This provider will behave like a transparent reverse-proxy, except requests must be authenticated. If your upstream application uses HTTPS, make sure to connect to the outpost using HTTPS as well. + Ţĥĩś ƥŕōvĩďēŕ ŵĩĺĺ ƀēĥàvē ĺĩķē à ţŕàńśƥàŕēńţ ŕēvēŕśē-ƥŕōxŷ, ēxćēƥţ ŕēǫũēśţś mũśţ ƀē àũţĥēńţĩćàţēď. Ĩƒ ŷōũŕ ũƥśţŕēàm àƥƥĺĩćàţĩōń ũśēś ĤŢŢƤŚ, màķē śũŕē ţō ćōńńēćţ ţō ţĥē ōũţƥōśţ ũśĩńĝ ĤŢŢƤŚ àś ŵēĺĺ. External host + Ēxţēŕńàĺ ĥōśţ The external URL you'll access the application at. Include any non-standard port. + Ţĥē ēxţēŕńàĺ ŨŔĹ ŷōũ'ĺĺ àććēśś ţĥē àƥƥĺĩćàţĩōń àţ. Ĩńćĺũďē àńŷ ńōń-śţàńďàŕď ƥōŕţ. Internal host + Ĩńţēŕńàĺ ĥōśţ Upstream host that the requests are forwarded to. + Ũƥśţŕēàm ĥōśţ ţĥàţ ţĥē ŕēǫũēśţś àŕē ƒōŕŵàŕďēď ţō. Internal host SSL Validation + Ĩńţēŕńàĺ ĥōśţ ŚŚĹ Vàĺĩďàţĩōń Validate SSL Certificates of upstream servers. + Vàĺĩďàţē ŚŚĹ Ćēŕţĩƒĩćàţēś ōƒ ũƥśţŕēàm śēŕvēŕś. Use this provider with nginx's auth_request or traefik's forwardAuth. Only a single provider is required per root domain. You can't do per-application authorization, but you don't have to create a provider for each application. + Ũśē ţĥĩś ƥŕōvĩďēŕ ŵĩţĥ ńĝĩńx'ś àũţĥ_ŕēǫũēśţ ōŕ ţŕàēƒĩķ'ś ƒōŕŵàŕďÀũţĥ. Ōńĺŷ à śĩńĝĺē ƥŕōvĩďēŕ ĩś ŕēǫũĩŕēď ƥēŕ ŕōōţ ďōmàĩń. Ŷōũ ćàń'ţ ďō ƥēŕ-àƥƥĺĩćàţĩōń àũţĥōŕĩźàţĩōń, ƀũţ ŷōũ ďōń'ţ ĥàvē ţō ćŕēàţē à ƥŕōvĩďēŕ ƒōŕ ēàćĥ àƥƥĺĩćàţĩōń. An example setup can look like this: + Àń ēxàmƥĺē śēţũƥ ćàń ĺōōķ ĺĩķē ţĥĩś: authentik running on auth.example.com + àũţĥēńţĩķ ŕũńńĩńĝ ōń àũţĥ.ēxàmƥĺē.ćōm app1 running on app1.example.com + àƥƥ1 ŕũńńĩńĝ ōń àƥƥ1.ēxàmƥĺē.ćōm In this case, you'd set the Authentication URL to auth.example.com and Cookie domain to example.com. + Ĩń ţĥĩś ćàśē, ŷōũ'ď śēţ ţĥē Àũţĥēńţĩćàţĩōń ŨŔĹ ţō àũţĥ.ēxàmƥĺē.ćōm àńď Ćōōķĩē ďōmàĩń ţō ēxàmƥĺē.ćōm. Authentication URL + Àũţĥēńţĩćàţĩōń ŨŔĹ The external URL you'll authenticate at. The authentik core server should be reachable under this URL. + Ţĥē ēxţēŕńàĺ ŨŔĹ ŷōũ'ĺĺ àũţĥēńţĩćàţē àţ. Ţĥē àũţĥēńţĩķ ćōŕē śēŕvēŕ śĥōũĺď ƀē ŕēàćĥàƀĺē ũńďēŕ ţĥĩś ŨŔĹ. Cookie domain + Ćōōķĩē ďōmàĩń Set this to the domain you wish the authentication to be valid for. Must be a parent domain of the URL above. If you're running applications as app1.domain.tld, app2.domain.tld, set this to 'domain.tld'. + Śēţ ţĥĩś ţō ţĥē ďōmàĩń ŷōũ ŵĩśĥ ţĥē àũţĥēńţĩćàţĩōń ţō ƀē vàĺĩď ƒōŕ. Mũśţ ƀē à ƥàŕēńţ ďōmàĩń ōƒ ţĥē ŨŔĹ àƀōvē. Ĩƒ ŷōũ'ŕē ŕũńńĩńĝ àƥƥĺĩćàţĩōńś àś àƥƥ1.ďōmàĩń.ţĺď, àƥƥ2.ďōmàĩń.ţĺď, śēţ ţĥĩś ţō 'ďōmàĩń.ţĺď'. Unknown proxy mode + Ũńķńōŵń ƥŕōxŷ mōďē Token validity + Ţōķēń vàĺĩďĩţŷ Configure how long tokens are valid for. + Ćōńƒĩĝũŕē ĥōŵ ĺōńĝ ţōķēńś àŕē vàĺĩď ƒōŕ. Additional scopes + Àďďĩţĩōńàĺ śćōƥēś Additional scope mappings, which are passed to the proxy. + Àďďĩţĩōńàĺ śćōƥē màƥƥĩńĝś, ŵĥĩćĥ àŕē ƥàśśēď ţō ţĥē ƥŕōxŷ. Unauthenticated URLs + Ũńàũţĥēńţĩćàţēď ŨŔĹś Unauthenticated Paths + Ũńàũţĥēńţĩćàţēď Ƥàţĥś Regular expressions for which authentication is not required. Each new line is interpreted as a new expression. + Ŕēĝũĺàŕ ēxƥŕēśśĩōńś ƒōŕ ŵĥĩćĥ àũţĥēńţĩćàţĩōń ĩś ńōţ ŕēǫũĩŕēď. Ēàćĥ ńēŵ ĺĩńē ĩś ĩńţēŕƥŕēţēď àś à ńēŵ ēxƥŕēśśĩōń. When using proxy or forward auth (single application) mode, the requested URL Path is checked against the regular expressions. When using forward auth (domain mode), the full requested URL including scheme and host is matched against the regular expressions. + Ŵĥēń ũśĩńĝ ƥŕōxŷ ōŕ ƒōŕŵàŕď àũţĥ (śĩńĝĺē àƥƥĺĩćàţĩōń) mōďē, ţĥē ŕēǫũēśţēď ŨŔĹ Ƥàţĥ ĩś ćĥēćķēď àĝàĩńśţ ţĥē ŕēĝũĺàŕ ēxƥŕēśśĩōńś. Ŵĥēń ũśĩńĝ ƒōŕŵàŕď àũţĥ (ďōmàĩń mōďē), ţĥē ƒũĺĺ ŕēǫũēśţēď ŨŔĹ ĩńćĺũďĩńĝ śćĥēmē àńď ĥōśţ ĩś màţćĥēď àĝàĩńśţ ţĥē ŕēĝũĺàŕ ēxƥŕēśśĩōńś. Authentication settings + Àũţĥēńţĩćàţĩōń śēţţĩńĝś Intercept header authentication + Ĩńţēŕćēƥţ ĥēàďēŕ àũţĥēńţĩćàţĩōń When enabled, authentik will intercept the Authorization header to authenticate the request. + Ŵĥēń ēńàƀĺēď, àũţĥēńţĩķ ŵĩĺĺ ĩńţēŕćēƥţ ţĥē Àũţĥōŕĩźàţĩōń ĥēàďēŕ ţō àũţĥēńţĩćàţē ţĥē ŕēǫũēśţ. Send HTTP-Basic Authentication + Śēńď ĤŢŢƤ-ßàśĩć Àũţĥēńţĩćàţĩōń Send a custom HTTP-Basic Authentication header based on values from authentik. + Śēńď à ćũśţōm ĤŢŢƤ-ßàśĩć Àũţĥēńţĩćàţĩōń ĥēàďēŕ ƀàśēď ōń vàĺũēś ƒŕōm àũţĥēńţĩķ. ACS URL + ÀĆŚ ŨŔĹ Issuer + Ĩśśũēŕ Also known as EntityID. + Àĺśō ķńōŵń àś ĒńţĩţŷĨĎ. Service Provider Binding + Śēŕvĩćē Ƥŕōvĩďēŕ ßĩńďĩńĝ Redirect + Ŕēďĩŕēćţ Post + Ƥōśţ Determines how authentik sends the response back to the Service Provider. + Ďēţēŕmĩńēś ĥōŵ àũţĥēńţĩķ śēńďś ţĥē ŕēśƥōńśē ƀàćķ ţō ţĥē Śēŕvĩćē Ƥŕōvĩďēŕ. Audience + Àũďĩēńćē Signing Certificate + Śĩĝńĩńĝ Ćēŕţĩƒĩćàţē Certificate used to sign outgoing Responses going to the Service Provider. + Ćēŕţĩƒĩćàţē ũśēď ţō śĩĝń ōũţĝōĩńĝ Ŕēśƥōńśēś ĝōĩńĝ ţō ţĥē Śēŕvĩćē Ƥŕōvĩďēŕ. Verification Certificate + Vēŕĩƒĩćàţĩōń Ćēŕţĩƒĩćàţē When selected, incoming assertion's Signatures will be validated against this certificate. To allow unsigned Requests, leave on default. + Ŵĥēń śēĺēćţēď, ĩńćōmĩńĝ àśśēŕţĩōń'ś Śĩĝńàţũŕēś ŵĩĺĺ ƀē vàĺĩďàţēď àĝàĩńśţ ţĥĩś ćēŕţĩƒĩćàţē. Ţō àĺĺōŵ ũńśĩĝńēď Ŕēǫũēśţś, ĺēàvē ōń ďēƒàũĺţ. Property mappings + Ƥŕōƥēŕţŷ màƥƥĩńĝś NameID Property Mapping + ŃàmēĨĎ Ƥŕōƥēŕţŷ Màƥƥĩńĝ Configure how the NameID value will be created. When left empty, the NameIDPolicy of the incoming request will be respected. + Ćōńƒĩĝũŕē ĥōŵ ţĥē ŃàmēĨĎ vàĺũē ŵĩĺĺ ƀē ćŕēàţēď. Ŵĥēń ĺēƒţ ēmƥţŷ, ţĥē ŃàmēĨĎƤōĺĩćŷ ōƒ ţĥē ĩńćōmĩńĝ ŕēǫũēśţ ŵĩĺĺ ƀē ŕēśƥēćţēď. Assertion valid not before + Àśśēŕţĩōń vàĺĩď ńōţ ƀēƒōŕē Configure the maximum allowed time drift for an assertion. + Ćōńƒĩĝũŕē ţĥē màxĩmũm àĺĺōŵēď ţĩmē ďŕĩƒţ ƒōŕ àń àśśēŕţĩōń. Assertion valid not on or after + Àśśēŕţĩōń vàĺĩď ńōţ ōń ōŕ àƒţēŕ Assertion not valid on or after current time + this value. + Àśśēŕţĩōń ńōţ vàĺĩď ōń ōŕ àƒţēŕ ćũŕŕēńţ ţĩmē + ţĥĩś vàĺũē. Session valid not on or after + Śēśśĩōń vàĺĩď ńōţ ōń ōŕ àƒţēŕ Session not valid on or after current time + this value. + Śēśśĩōń ńōţ vàĺĩď ōń ōŕ àƒţēŕ ćũŕŕēńţ ţĩmē + ţĥĩś vàĺũē. Digest algorithm + Ďĩĝēśţ àĺĝōŕĩţĥm Signature algorithm + Śĩĝńàţũŕē àĺĝōŕĩţĥm Successfully imported provider. + Śũććēśśƒũĺĺŷ ĩmƥōŕţēď ƥŕōvĩďēŕ. Metadata + Mēţàďàţà Apply changes + Àƥƥĺŷ ćĥàńĝēś Close + Ćĺōśē Finish + Ƒĩńĩśĥ Back + ßàćķ No form found + Ńō ƒōŕm ƒōũńď Form didn't return a promise for submitting + Ƒōŕm ďĩďń'ţ ŕēţũŕń à ƥŕōmĩśē ƒōŕ śũƀmĩţţĩńĝ Select type + Śēĺēćţ ţŷƥē Try the new application wizard + Ţŕŷ ţĥē ńēŵ àƥƥĺĩćàţĩōń ŵĩźàŕď The new application wizard greatly simplifies the steps required to create applications and providers. + Ţĥē ńēŵ àƥƥĺĩćàţĩōń ŵĩźàŕď ĝŕēàţĺŷ śĩmƥĺĩƒĩēś ţĥē śţēƥś ŕēǫũĩŕēď ţō ćŕēàţē àƥƥĺĩćàţĩōńś àńď ƥŕōvĩďēŕś. Try it now + Ţŕŷ ĩţ ńōŵ Create + Ćŕēàţē New provider + Ńēŵ ƥŕōvĩďēŕ Create a new provider. + Ćŕēàţē à ńēŵ ƥŕōvĩďēŕ. Create + Ćŕēàţē Shared secret + Śĥàŕēď śēćŕēţ Client Networks + Ćĺĩēńţ Ńēţŵōŕķś List of CIDRs (comma-seperated) that clients can connect from. A more specific CIDR will match before a looser one. Clients connecting from a non-specified CIDR will be dropped. + Ĺĩśţ ōƒ ĆĨĎŔś (ćōmmà-śēƥēŕàţēď) ţĥàţ ćĺĩēńţś ćàń ćōńńēćţ ƒŕōm. À mōŕē śƥēćĩƒĩć + ĆĨĎŔ ŵĩĺĺ màţćĥ ƀēƒōŕē à ĺōōśēŕ ōńē. Ćĺĩēńţś ćōńńēćţĩńĝ ƒŕōm à ńōń-śƥēćĩƒĩēď ĆĨĎŔ + ŵĩĺĺ ƀē ďŕōƥƥēď. URL + ŨŔĹ SCIM base url, usually ends in /v2. + ŚĆĨM ƀàśē ũŕĺ, ũśũàĺĺŷ ēńďś ĩń /v2. Token + Ţōķēń Token to authenticate with. Currently only bearer authentication is supported. + Ţōķēń ţō àũţĥēńţĩćàţē ŵĩţĥ. Ćũŕŕēńţĺŷ ōńĺŷ ƀēàŕēŕ àũţĥēńţĩćàţĩōń ĩś śũƥƥōŕţēď. User filtering + Ũśēŕ ƒĩĺţēŕĩńĝ Exclude service accounts + Ēxćĺũďē śēŕvĩćē àććōũńţś Group + Ĝŕōũƥ Only sync users within the selected group. + Ōńĺŷ śŷńć ũśēŕś ŵĩţĥĩń ţĥē śēĺēćţēď ĝŕōũƥ. Attribute mapping + Àţţŕĩƀũţē màƥƥĩńĝ User Property Mappings + Ũśēŕ Ƥŕōƥēŕţŷ Màƥƥĩńĝś Property mappings used to user mapping. + Ƥŕōƥēŕţŷ màƥƥĩńĝś ũśēď ţō ũśēŕ màƥƥĩńĝ. Group Property Mappings + Ĝŕōũƥ Ƥŕōƥēŕţŷ Màƥƥĩńĝś Property mappings used to group creation. + Ƥŕōƥēŕţŷ màƥƥĩńĝś ũśēď ţō ĝŕōũƥ ćŕēàţĩōń. Not used by any other object. + Ńōţ ũśēď ƀŷ àńŷ ōţĥēŕ ōƀĴēćţ. object will be DELETED + ōƀĴēćţ ŵĩĺĺ ƀē ĎĒĹĒŢĒĎ connection will be deleted + ćōńńēćţĩōń ŵĩĺĺ ƀē ďēĺēţēď reference will be reset to default value + ŕēƒēŕēńćē ŵĩĺĺ ƀē ŕēśēţ ţō ďēƒàũĺţ vàĺũē reference will be set to an empty value + ŕēƒēŕēńćē ŵĩĺĺ ƀē śēţ ţō àń ēmƥţŷ vàĺũē () + () ID + ĨĎ Successfully deleted + Śũććēśśƒũĺĺŷ ďēĺēţēď Failed to delete : + Ƒàĩĺēď ţō ďēĺēţē : Delete + Ďēĺēţē Are you sure you want to delete ? + Àŕē ŷōũ śũŕē ŷōũ ŵàńţ ţō ďēĺēţē ? Delete + Ďēĺēţē Providers + Ƥŕōvĩďēŕś Provide support for protocols like SAML and OAuth to assigned applications. + Ƥŕōvĩďē śũƥƥōŕţ ƒōŕ ƥŕōţōćōĺś ĺĩķē ŚÀMĹ àńď ŌÀũţĥ ţō àśśĩĝńēď àƥƥĺĩćàţĩōńś. Type + Ţŷƥē Provider(s) + Ƥŕōvĩďēŕ(ś) Assigned to application + Àśśĩĝńēď ţō àƥƥĺĩćàţĩōń Assigned to application (backchannel) + Àśśĩĝńēď ţō àƥƥĺĩćàţĩōń (ƀàćķćĥàńńēĺ) Warning: Provider not assigned to any application. + Ŵàŕńĩńĝ: Ƥŕōvĩďēŕ ńōţ àśśĩĝńēď ţō àńŷ àƥƥĺĩćàţĩōń. Update + Ũƥďàţē Update + Ũƥďàţē Select providers to add to application + Śēĺēćţ ƥŕōvĩďēŕś ţō àďď ţō àƥƥĺĩćàţĩōń Add + Àďď Either input a full URL, a relative path, or use 'fa://fa-test' to use the Font Awesome icon "fa-test". + Ēĩţĥēŕ ĩńƥũţ à ƒũĺĺ ŨŔĹ, à ŕēĺàţĩvē ƥàţĥ, ōŕ ũśē 'ƒà://ƒà-ţēśţ' ţō ũśē ţĥē Ƒōńţ Àŵēśōmē ĩćōń "ƒà-ţēśţ". Path template for users created. Use placeholders like `%(slug)s` to insert the source slug. + Ƥàţĥ ţēmƥĺàţē ƒōŕ ũśēŕś ćŕēàţēď. Ũśē ƥĺàćēĥōĺďēŕś ĺĩķē `%(śĺũĝ)ś` ţō ĩńśēŕţ ţĥē śōũŕćē śĺũĝ. Successfully updated application. + Śũććēśśƒũĺĺŷ ũƥďàţēď àƥƥĺĩćàţĩōń. Successfully created application. + Śũććēśśƒũĺĺŷ ćŕēàţēď àƥƥĺĩćàţĩōń. Application's display Name. + Àƥƥĺĩćàţĩōń'ś ďĩśƥĺàŷ Ńàmē. Slug + Śĺũĝ Internal application name, used in URLs. + Ĩńţēŕńàĺ àƥƥĺĩćàţĩōń ńàmē, ũśēď ĩń ŨŔĹś. Optionally enter a group name. Applications with identical groups are shown grouped together. + Ōƥţĩōńàĺĺŷ ēńţēŕ à ĝŕōũƥ ńàmē. Àƥƥĺĩćàţĩōńś ŵĩţĥ ĩďēńţĩćàĺ ĝŕōũƥś àŕē śĥōŵń ĝŕōũƥēď ţōĝēţĥēŕ. Provider + Ƥŕōvĩďēŕ Select a provider that this application should use. + Śēĺēćţ à ƥŕōvĩďēŕ ţĥàţ ţĥĩś àƥƥĺĩćàţĩōń śĥōũĺď ũśē. Backchannel providers + ßàćķćĥàńńēĺ ƥŕōvĩďēŕś Select backchannel providers which augment the functionality of the main provider. + Śēĺēćţ ƀàćķćĥàńńēĺ ƥŕōvĩďēŕś ŵĥĩćĥ àũĝmēńţ ţĥē ƒũńćţĩōńàĺĩţŷ ōƒ ţĥē màĩń ƥŕōvĩďēŕ. Policy engine mode + Ƥōĺĩćŷ ēńĝĩńē mōďē Any policy must match to grant access + Àńŷ ƥōĺĩćŷ mũśţ màţćĥ ţō ĝŕàńţ àććēśś All policies must match to grant access + Àĺĺ ƥōĺĩćĩēś mũśţ màţćĥ ţō ĝŕàńţ àććēśś UI settings + ŨĨ śēţţĩńĝś Launch URL + Ĺàũńćĥ ŨŔĹ If left empty, authentik will try to extract the launch URL based on the selected provider. + Ĩƒ ĺēƒţ ēmƥţŷ, àũţĥēńţĩķ ŵĩĺĺ ţŕŷ ţō ēxţŕàćţ ţĥē ĺàũńćĥ ŨŔĹ ƀàśēď ōń ţĥē śēĺēćţēď ƥŕōvĩďēŕ. Open in new tab + Ōƥēń ĩń ńēŵ ţàƀ If checked, the launch URL will open in a new browser tab or window from the user's application library. + Ĩƒ ćĥēćķēď, ţĥē ĺàũńćĥ ŨŔĹ ŵĩĺĺ ōƥēń ĩń à ńēŵ ƀŕōŵśēŕ ţàƀ ōŕ ŵĩńďōŵ ƒŕōm ţĥē ũśēŕ'ś àƥƥĺĩćàţĩōń ĺĩƀŕàŕŷ. Icon + Ĩćōń Currently set to: + Ćũŕŕēńţĺŷ śēţ ţō: Clear icon + Ćĺēàŕ ĩćōń Publisher + Ƥũƀĺĩśĥēŕ Create Application + Ćŕēàţē Àƥƥĺĩćàţĩōń Overview + Ōvēŕvĩēŵ Changelog + Ćĥàńĝēĺōĝ Warning: Provider is not used by any Outpost. + Ŵàŕńĩńĝ: Ƥŕōvĩďēŕ ĩś ńōţ ũśēď ƀŷ àńŷ Ōũţƥōśţ. Assigned to application + Àśśĩĝńēď ţō àƥƥĺĩćàţĩōń Update LDAP Provider + Ũƥďàţē ĹĎÀƤ Ƥŕōvĩďēŕ Edit + Ēďĩţ How to connect + Ĥōŵ ţō ćōńńēćţ Connect to the LDAP Server on port 389: + Ćōńńēćţ ţō ţĥē ĹĎÀƤ Śēŕvēŕ ōń ƥōŕţ 389: Check the IP of the Kubernetes service, or + Ćĥēćķ ţĥē ĨƤ ōƒ ţĥē Ķũƀēŕńēţēś śēŕvĩćē, ōŕ The Host IP of the docker host + Ţĥē Ĥōśţ ĨƤ ōƒ ţĥē ďōćķēŕ ĥōśţ Bind DN + ßĩńď ĎŃ Bind Password + ßĩńď Ƥàśśŵōŕď Search base + Śēàŕćĥ ƀàśē Preview + Ƥŕēvĩēŵ Warning: Provider is not used by an Application. + Ŵàŕńĩńĝ: Ƥŕōvĩďēŕ ĩś ńōţ ũśēď ƀŷ àń Àƥƥĺĩćàţĩōń. Redirect URIs + Ŕēďĩŕēćţ ŨŔĨś Update OAuth2 Provider + Ũƥďàţē ŌÀũţĥ2 Ƥŕōvĩďēŕ OpenID Configuration URL + ŌƥēńĨĎ Ćōńƒĩĝũŕàţĩōń ŨŔĹ OpenID Configuration Issuer + ŌƥēńĨĎ Ćōńƒĩĝũŕàţĩōń Ĩśśũēŕ Authorize URL + Àũţĥōŕĩźē ŨŔĹ Token URL + Ţōķēń ŨŔĹ Userinfo URL + Ũśēŕĩńƒō ŨŔĹ Logout URL + Ĺōĝōũţ ŨŔĹ JWKS URL + ĵŴĶŚ ŨŔĹ Example JWT payload (for currently authenticated user) + Ēxàmƥĺē ĵŴŢ ƥàŷĺōàď (ƒōŕ ćũŕŕēńţĺŷ àũţĥēńţĩćàţēď ũśēŕ) Forward auth (domain-level) + Ƒōŕŵàŕď àũţĥ (ďōmàĩń-ĺēvēĺ) Nginx (Ingress) + Ńĝĩńx (Ĩńĝŕēśś) Nginx (Proxy Manager) + Ńĝĩńx (Ƥŕōxŷ Màńàĝēŕ) Nginx (standalone) + Ńĝĩńx (śţàńďàĺōńē) Traefik (Ingress) + Ţŕàēƒĩķ (Ĩńĝŕēśś) Traefik (Compose) + Ţŕàēƒĩķ (Ćōmƥōśē) Traefik (Standalone) + Ţŕàēƒĩķ (Śţàńďàĺōńē) Caddy (Standalone) + Ćàďďŷ (Śţàńďàĺōńē) Internal Host + Ĩńţēŕńàĺ Ĥōśţ External Host + Ēxţēŕńàĺ Ĥōśţ Basic-Auth + ßàśĩć-Àũţĥ Yes + Ŷēś Mode + Mōďē Update Proxy Provider + Ũƥďàţē Ƥŕōxŷ Ƥŕōvĩďēŕ Protocol Settings + Ƥŕōţōćōĺ Śēţţĩńĝś Allowed Redirect URIs + Àĺĺōŵēď Ŕēďĩŕēćţ ŨŔĨś Setup + Śēţũƥ No additional setup is required. + Ńō àďďĩţĩōńàĺ śēţũƥ ĩś ŕēǫũĩŕēď. Update Radius Provider + Ũƥďàţē Ŕàďĩũś Ƥŕōvĩďēŕ Download + Ďōŵńĺōàď Copy download URL + Ćōƥŷ ďōŵńĺōàď ŨŔĹ Download signing certificate + Ďōŵńĺōàď śĩĝńĩńĝ ćēŕţĩƒĩćàţē Related objects + Ŕēĺàţēď ōƀĴēćţś Update SAML Provider + Ũƥďàţē ŚÀMĹ Ƥŕōvĩďēŕ SAML Configuration + ŚÀMĹ Ćōńƒĩĝũŕàţĩōń EntityID/Issuer + ĒńţĩţŷĨĎ/Ĩśśũēŕ SSO URL (Post) + ŚŚŌ ŨŔĹ (Ƥōśţ) SSO URL (Redirect) + ŚŚŌ ŨŔĹ (Ŕēďĩŕēćţ) SSO URL (IdP-initiated Login) + ŚŚŌ ŨŔĹ (ĨďƤ-ĩńĩţĩàţēď Ĺōĝĩń) SLO URL (Post) + ŚĹŌ ŨŔĹ (Ƥōśţ) SLO URL (Redirect) + ŚĹŌ ŨŔĹ (Ŕēďĩŕēćţ) SAML Metadata + ŚÀMĹ Mēţàďàţà Example SAML attributes + Ēxàmƥĺē ŚÀMĹ àţţŕĩƀũţēś NameID attribute - - - - SCIM provider is in preview. + ŃàmēĨĎ àţţŕĩƀũţē Warning: Provider is not assigned to an application as backchannel provider. + Ŵàŕńĩńĝ: Ƥŕōvĩďēŕ ĩś ńōţ àśśĩĝńēď ţō àń àƥƥĺĩćàţĩōń àś ƀàćķćĥàńńēĺ ƥŕōvĩďēŕ. Update SCIM Provider + Ũƥďàţē ŚĆĨM Ƥŕōvĩďēŕ Sync not run yet. + Śŷńć ńōţ ŕũń ŷēţ. Run sync again + Ŕũń śŷńć àĝàĩń Application details + Àƥƥĺĩćàţĩōń ďēţàĩĺś Create application + Ćŕēàţē àƥƥĺĩćàţĩōń Additional UI settings + Àďďĩţĩōńàĺ ŨĨ śēţţĩńĝś OAuth2/OIDC + ŌÀũţĥ2/ŌĨĎĆ Modern applications, APIs and Single-page applications. + Mōďēŕń àƥƥĺĩćàţĩōńś, ÀƤĨś àńď Śĩńĝĺē-ƥàĝē àƥƥĺĩćàţĩōńś. SAML + ŚÀMĹ XML-based SSO standard. Use this if your application only supports SAML. + XMĹ-ƀàśēď ŚŚŌ śţàńďàŕď. Ũśē ţĥĩś ĩƒ ŷōũŕ àƥƥĺĩćàţĩōń ōńĺŷ śũƥƥōŕţś ŚÀMĹ. Legacy applications which don't natively support SSO. + Ĺēĝàćŷ àƥƥĺĩćàţĩōńś ŵĥĩćĥ ďōń'ţ ńàţĩvēĺŷ śũƥƥōŕţ ŚŚŌ. LDAP + ĹĎÀƤ Provide an LDAP interface for applications and users to authenticate against. + Ƥŕōvĩďē àń ĹĎÀƤ ĩńţēŕƒàćē ƒōŕ àƥƥĺĩćàţĩōńś àńď ũśēŕś ţō àũţĥēńţĩćàţē àĝàĩńśţ. Link + Ĺĩńķ Authentication method + Àũţĥēńţĩćàţĩōń mēţĥōď LDAP details + ĹĎÀƤ ďēţàĩĺś Create service account + Ćŕēàţē śēŕvĩćē àććōũńţ Create provider + Ćŕēàţē ƥŕōvĩďēŕ Application Link + Àƥƥĺĩćàţĩōń Ĺĩńķ URL which will be opened when a user clicks on the application. + ŨŔĹ ŵĥĩćĥ ŵĩĺĺ ƀē ōƥēńēď ŵĥēń à ũśēŕ ćĺĩćķś ōń ţĥē àƥƥĺĩćàţĩōń. Method details + Mēţĥōď ďēţàĩĺś This configuration can be used to authenticate to authentik with other APIs other otherwise programmatically. + Ţĥĩś ćōńƒĩĝũŕàţĩōń ćàń ƀē ũśēď ţō àũţĥēńţĩćàţē ţō àũţĥēńţĩķ ŵĩţĥ ōţĥēŕ ÀƤĨś ōţĥēŕ ōţĥēŕŵĩśē ƥŕōĝŕàmmàţĩćàĺĺŷ. By default, all service accounts can authenticate as this application, as long as they have a valid token of the type app-password. + ßŷ ďēƒàũĺţ, àĺĺ śēŕvĩćē àććōũńţś ćàń àũţĥēńţĩćàţē àś ţĥĩś àƥƥĺĩćàţĩōń, àś ĺōńĝ àś ţĥēŷ ĥàvē à vàĺĩď ţōķēń ōƒ ţĥē ţŷƥē àƥƥ-ƥàśśŵōŕď. Web application + Ŵēƀ àƥƥĺĩćàţĩōń Applications which handle the authentication server-side (for example, Python, Go, Rust, Java, PHP) + Àƥƥĺĩćàţĩōńś ŵĥĩćĥ ĥàńďĺē ţĥē àũţĥēńţĩćàţĩōń śēŕvēŕ-śĩďē (ƒōŕ ēxàmƥĺē, Ƥŷţĥōń, Ĝō, Ŕũśţ, ĵàvà, ƤĤƤ) Single-page applications + Śĩńĝĺē-ƥàĝē àƥƥĺĩćàţĩōńś Single-page applications which handle authentication in the browser (for example, Javascript, Angular, React, Vue) + Śĩńĝĺē-ƥàĝē àƥƥĺĩćàţĩōńś ŵĥĩćĥ ĥàńďĺē àũţĥēńţĩćàţĩōń ĩń ţĥē ƀŕōŵśēŕ (ƒōŕ ēxàmƥĺē, ĵàvàśćŕĩƥţ, Àńĝũĺàŕ, Ŕēàćţ, Vũē) Native application + Ńàţĩvē àƥƥĺĩćàţĩōń Applications which redirect users to a non-web callback (for example, Android, iOS) + Àƥƥĺĩćàţĩōńś ŵĥĩćĥ ŕēďĩŕēćţ ũśēŕś ţō à ńōń-ŵēƀ ćàĺĺƀàćķ (ƒōŕ ēxàmƥĺē, Àńďŕōĩď, ĩŌŚ) API + ÀƤĨ Authentication without user interaction, or machine-to-machine authentication. + Àũţĥēńţĩćàţĩōń ŵĩţĥōũţ ũśēŕ ĩńţēŕàćţĩōń, ōŕ màćĥĩńē-ţō-màćĥĩńē àũţĥēńţĩćàţĩōń. Application type + Àƥƥĺĩćàţĩōń ţŷƥē Flow used when users access this application. + Ƒĺōŵ ũśēď ŵĥēń ũśēŕś àććēśś ţĥĩś àƥƥĺĩćàţĩōń. Proxy details + Ƥŕōxŷ ďēţàĩĺś External domain + Ēxţēŕńàĺ ďōmàĩń External domain you will be accessing the domain from. + Ēxţēŕńàĺ ďōmàĩń ŷōũ ŵĩĺĺ ƀē àććēśśĩńĝ ţĥē ďōmàĩń ƒŕōm. Import SAML Metadata + Ĩmƥōŕţ ŚÀMĹ Mēţàďàţà Import the metadata document of the applicaation you want to configure. + Ĩmƥōŕţ ţĥē mēţàďàţà ďōćũmēńţ ōƒ ţĥē àƥƥĺĩćààţĩōń ŷōũ ŵàńţ ţō ćōńƒĩĝũŕē. Manual configuration + Màńũàĺ ćōńƒĩĝũŕàţĩōń Manually configure SAML + Màńũàĺĺŷ ćōńƒĩĝũŕē ŚÀMĹ SAML details + ŚÀMĹ ďēţàĩĺś URL that authentik will redirect back to after successful authentication. + ŨŔĹ ţĥàţ àũţĥēńţĩķ ŵĩĺĺ ŕēďĩŕēćţ ƀàćķ ţō àƒţēŕ śũććēśśƒũĺ àũţĥēńţĩćàţĩōń. Import SAML metadata + Ĩmƥōŕţ ŚÀMĹ mēţàďàţà New application + Ńēŵ àƥƥĺĩćàţĩōń Create a new application. + Ćŕēàţē à ńēŵ àƥƥĺĩćàţĩōń. Applications + Àƥƥĺĩćàţĩōńś External Applications which use authentik as Identity-Provider, utilizing protocols like OAuth2 and SAML. All applications are shown here, even ones you cannot access. + Ēxţēŕńàĺ Àƥƥĺĩćàţĩōńś ŵĥĩćĥ ũśē àũţĥēńţĩķ àś Ĩďēńţĩţŷ-Ƥŕōvĩďēŕ, ũţĩĺĩźĩńĝ ƥŕōţōćōĺś ĺĩķē ŌÀũţĥ2 àńď ŚÀMĹ. Àĺĺ àƥƥĺĩćàţĩōńś àŕē śĥōŵń ĥēŕē, ēvēń ōńēś ŷōũ ćàńńōţ àććēśś. Provider Type + Ƥŕōvĩďēŕ Ţŷƥē Application(s) + Àƥƥĺĩćàţĩōń(ś) Application Icon + Àƥƥĺĩćàţĩōń Ĩćōń Update Application + Ũƥďàţē Àƥƥĺĩćàţĩōń Successfully sent test-request. + Śũććēśśƒũĺĺŷ śēńţ ţēśţ-ŕēǫũēśţ. Log messages + Ĺōĝ mēśśàĝēś No log messages. + Ńō ĺōĝ mēśśàĝēś. Active + Àćţĩvē Last login + Ĺàśţ ĺōĝĩń Select users to add + Śēĺēćţ ũśēŕś ţō àďď Successfully updated group. + Śũććēśśƒũĺĺŷ ũƥďàţēď ĝŕōũƥ. Successfully created group. + Śũććēśśƒũĺĺŷ ćŕēàţēď ĝŕōũƥ. Is superuser + Ĩś śũƥēŕũśēŕ Users added to this group will be superusers. + Ũśēŕś àďďēď ţō ţĥĩś ĝŕōũƥ ŵĩĺĺ ƀē śũƥēŕũśēŕś. Parent + Ƥàŕēńţ Attributes + Àţţŕĩƀũţēś Set custom attributes using YAML or JSON. + Śēţ ćũśţōm àţţŕĩƀũţēś ũśĩńĝ ŶÀMĹ ōŕ ĵŚŌŃ. Successfully updated binding. + Śũććēśśƒũĺĺŷ ũƥďàţēď ƀĩńďĩńĝ. Successfully created binding. + Śũććēśśƒũĺĺŷ ćŕēàţēď ƀĩńďĩńĝ. Policy + Ƥōĺĩćŷ Group mappings can only be checked if a user is already logged in when trying to access this source. + Ĝŕōũƥ màƥƥĩńĝś ćàń ōńĺŷ ƀē ćĥēćķēď ĩƒ à ũśēŕ ĩś àĺŕēàďŷ ĺōĝĝēď ĩń ŵĥēń ţŕŷĩńĝ ţō àććēśś ţĥĩś śōũŕćē. User mappings can only be checked if a user is already logged in when trying to access this source. + Ũśēŕ màƥƥĩńĝś ćàń ōńĺŷ ƀē ćĥēćķēď ĩƒ à ũśēŕ ĩś àĺŕēàďŷ ĺōĝĝēď ĩń ŵĥēń ţŕŷĩńĝ ţō àććēśś ţĥĩś śōũŕćē. Enabled + Ēńàƀĺēď Negate result + Ńēĝàţē ŕēśũĺţ Negates the outcome of the binding. Messages are unaffected. + Ńēĝàţēś ţĥē ōũţćōmē ōƒ ţĥē ƀĩńďĩńĝ. Mēśśàĝēś àŕē ũńàƒƒēćţēď. Order + Ōŕďēŕ Timeout + Ţĩmēōũţ Successfully updated policy. + Śũććēśśƒũĺĺŷ ũƥďàţēď ƥōĺĩćŷ. Successfully created policy. + Śũććēśśƒũĺĺŷ ćŕēàţēď ƥōĺĩćŷ. A policy used for testing. Always returns the same result as specified below after waiting a random duration. + À ƥōĺĩćŷ ũśēď ƒōŕ ţēśţĩńĝ. Àĺŵàŷś ŕēţũŕńś ţĥē śàmē ŕēśũĺţ àś śƥēćĩƒĩēď ƀēĺōŵ àƒţēŕ ŵàĩţĩńĝ à ŕàńďōm ďũŕàţĩōń. Execution logging + Ēxēćũţĩōń ĺōĝĝĩńĝ When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged. + Ŵĥēń ţĥĩś ōƥţĩōń ĩś ēńàƀĺēď, àĺĺ ēxēćũţĩōńś ōƒ ţĥĩś ƥōĺĩćŷ ŵĩĺĺ ƀē ĺōĝĝēď. ßŷ ďēƒàũĺţ, ōńĺŷ ēxēćũţĩōń ēŕŕōŕś àŕē ĺōĝĝēď. Policy-specific settings + Ƥōĺĩćŷ-śƥēćĩƒĩć śēţţĩńĝś Pass policy? + Ƥàśś ƥōĺĩćŷ? Wait (min) + Ŵàĩţ (mĩń) The policy takes a random time to execute. This controls the minimum time it will take. + Ţĥē ƥōĺĩćŷ ţàķēś à ŕàńďōm ţĩmē ţō ēxēćũţē. Ţĥĩś ćōńţŕōĺś ţĥē mĩńĩmũm ţĩmē ĩţ ŵĩĺĺ ţàķē. Wait (max) + Ŵàĩţ (màx) Matches an event against a set of criteria. If any of the configured values match, the policy passes. + Màţćĥēś àń ēvēńţ àĝàĩńśţ à śēţ ōƒ ćŕĩţēŕĩà. Ĩƒ àńŷ ōƒ ţĥē ćōńƒĩĝũŕēď vàĺũēś màţćĥ, ţĥē ƥōĺĩćŷ ƥàśśēś. Match created events with this action type. When left empty, all action types will be matched. + Màţćĥ ćŕēàţēď ēvēńţś ŵĩţĥ ţĥĩś àćţĩōń ţŷƥē. Ŵĥēń ĺēƒţ ēmƥţŷ, àĺĺ àćţĩōń ţŷƥēś ŵĩĺĺ ƀē màţćĥēď. Matches Event's Client IP (strict matching, for network matching use an Expression Policy. + Màţćĥēś Ēvēńţ'ś Ćĺĩēńţ ĨƤ (śţŕĩćţ màţćĥĩńĝ, ƒōŕ ńēţŵōŕķ màţćĥĩńĝ ũśē àń Ēxƥŕēśśĩōń Ƥōĺĩćŷ. Match events created by selected application. When left empty, all applications are matched. + Màţćĥ ēvēńţś ćŕēàţēď ƀŷ śēĺēćţēď àƥƥĺĩćàţĩōń. Ŵĥēń ĺēƒţ ēmƥţŷ, àĺĺ àƥƥĺĩćàţĩōńś àŕē màţćĥēď. Checks if the request's user's password has been changed in the last x days, and denys based on settings. + Ćĥēćķś ĩƒ ţĥē ŕēǫũēśţ'ś ũśēŕ'ś ƥàśśŵōŕď ĥàś ƀēēń ćĥàńĝēď ĩń ţĥē ĺàśţ x ďàŷś, àńď ďēńŷś ƀàśēď ōń śēţţĩńĝś. Maximum age (in days) + Màxĩmũm àĝē (ĩń ďàŷś) Only fail the policy, don't invalidate user's password + Ōńĺŷ ƒàĩĺ ţĥē ƥōĺĩćŷ, ďōń'ţ ĩńvàĺĩďàţē ũśēŕ'ś ƥàśśŵōŕď Executes the python snippet to determine whether to allow or deny a request. + Ēxēćũţēś ţĥē ƥŷţĥōń śńĩƥƥēţ ţō ďēţēŕmĩńē ŵĥēţĥēŕ ţō àĺĺōŵ ōŕ ďēńŷ à ŕēǫũēśţ. Expression using Python. + Ēxƥŕēśśĩōń ũśĩńĝ Ƥŷţĥōń. See documentation for a list of all variables. + Śēē ďōćũmēńţàţĩōń ƒōŕ à ĺĩśţ ōƒ àĺĺ vàŕĩàƀĺēś. Static rules + Śţàţĩć ŕũĺēś Minimum length + Mĩńĩmũm ĺēńĝţĥ Minimum amount of Uppercase Characters + Mĩńĩmũm àmōũńţ ōƒ Ũƥƥēŕćàśē Ćĥàŕàćţēŕś Minimum amount of Lowercase Characters + Mĩńĩmũm àmōũńţ ōƒ Ĺōŵēŕćàśē Ćĥàŕàćţēŕś Minimum amount of Digits + Mĩńĩmũm àmōũńţ ōƒ Ďĩĝĩţś Minimum amount of Symbols Characters + Mĩńĩmũm àmōũńţ ōƒ Śŷmƀōĺś Ćĥàŕàćţēŕś Error message + Ēŕŕōŕ mēśśàĝē Symbol charset + Śŷmƀōĺ ćĥàŕśēţ Characters which are considered as symbols. + Ćĥàŕàćţēŕś ŵĥĩćĥ àŕē ćōńśĩďēŕēď àś śŷmƀōĺś. HaveIBeenPwned settings + ĤàvēĨßēēńƤŵńēď śēţţĩńĝś Allowed count + Àĺĺōŵēď ćōũńţ Allow up to N occurrences in the HIBP database. + Àĺĺōŵ ũƥ ţō Ń ōććũŕŕēńćēś ĩń ţĥē ĤĨßƤ ďàţàƀàśē. zxcvbn settings + źxćvƀń śēţţĩńĝś Score threshold + Śćōŕē ţĥŕēśĥōĺď If the password's score is less than or equal this value, the policy will fail. + Ĩƒ ţĥē ƥàśśŵōŕď'ś śćōŕē ĩś ĺēśś ţĥàń ōŕ ēǫũàĺ ţĥĩś vàĺũē, ţĥē ƥōĺĩćŷ ŵĩĺĺ ƒàĩĺ. 0: Too guessable: risky password. (guesses < 10^3) + 0: Ţōō ĝũēśśàƀĺē: ŕĩśķŷ ƥàśśŵōŕď. (ĝũēśśēś < 10^3) 1: Very guessable: protection from throttled online attacks. (guesses < 10^6) + 1: Vēŕŷ ĝũēśśàƀĺē: ƥŕōţēćţĩōń ƒŕōm ţĥŕōţţĺēď ōńĺĩńē àţţàćķś. (ĝũēśśēś < 10^6) 2: Somewhat guessable: protection from unthrottled online attacks. (guesses < 10^8) + 2: Śōmēŵĥàţ ĝũēśśàƀĺē: ƥŕōţēćţĩōń ƒŕōm ũńţĥŕōţţĺēď ōńĺĩńē àţţàćķś. (ĝũēśśēś < 10^8) 3: Safely unguessable: moderate protection from offline slow-hash scenario. (guesses < 10^10) + 3: Śàƒēĺŷ ũńĝũēśśàƀĺē: mōďēŕàţē ƥŕōţēćţĩōń ƒŕōm ōƒƒĺĩńē śĺōŵ-ĥàśĥ śćēńàŕĩō. (ĝũēśśēś < 10^10) 4: Very unguessable: strong protection from offline slow-hash scenario. (guesses >= 10^10) + 4: Vēŕŷ ũńĝũēśśàƀĺē: śţŕōńĝ ƥŕōţēćţĩōń ƒŕōm ōƒƒĺĩńē śĺōŵ-ĥàśĥ śćēńàŕĩō. (ĝũēśśēś >= 10^10) Checks the value from the policy request against several rules, mostly used to ensure password strength. + Ćĥēćķś ţĥē vàĺũē ƒŕōm ţĥē ƥōĺĩćŷ ŕēǫũēśţ àĝàĩńśţ śēvēŕàĺ ŕũĺēś, mōśţĺŷ ũśēď ţō ēńśũŕē ƥàśśŵōŕď śţŕēńĝţĥ. Password field + Ƥàśśŵōŕď ƒĩēĺď Field key to check, field keys defined in Prompt stages are available. + Ƒĩēĺď ķēŷ ţō ćĥēćķ, ƒĩēĺď ķēŷś ďēƒĩńēď ĩń Ƥŕōmƥţ śţàĝēś àŕē àvàĩĺàƀĺē. Check static rules + Ćĥēćķ śţàţĩć ŕũĺēś Check haveibeenpwned.com + Ćĥēćķ ĥàvēĩƀēēńƥŵńēď.ćōm For more info see: + Ƒōŕ mōŕē ĩńƒō śēē: Check zxcvbn + Ćĥēćķ źxćvƀń Password strength estimator created by Dropbox, see: + Ƥàśśŵōŕď śţŕēńĝţĥ ēśţĩmàţōŕ ćŕēàţēď ƀŷ Ďŕōƥƀōx, śēē: Allows/denys requests based on the users and/or the IPs reputation. + Àĺĺōŵś/ďēńŷś ŕēǫũēśţś ƀàśēď ōń ţĥē ũśēŕś àńď/ōŕ ţĥē ĨƤś ŕēƥũţàţĩōń. Invalid login attempts will decrease the score for the client's IP, and the username they are attempting to login as, by one. + Ĩńvàĺĩď ĺōĝĩń àţţēmƥţś ŵĩĺĺ ďēćŕēàśē ţĥē śćōŕē ƒōŕ ţĥē ćĺĩēńţ'ś ĨƤ, àńď ţĥē +ũśēŕńàmē ţĥēŷ àŕē àţţēmƥţĩńĝ ţō ĺōĝĩń àś, ƀŷ ōńē. The policy passes when the reputation score is below the threshold, and doesn't pass when either or both of the selected options are equal or above the threshold. + Ţĥē ƥōĺĩćŷ ƥàśśēś ŵĥēń ţĥē ŕēƥũţàţĩōń śćōŕē ĩś ƀēĺōŵ ţĥē ţĥŕēśĥōĺď, àńď +ďōēśń'ţ ƥàśś ŵĥēń ēĩţĥēŕ ōŕ ƀōţĥ ōƒ ţĥē śēĺēćţēď ōƥţĩōńś àŕē ēǫũàĺ ōŕ àƀōvē ţĥē ţĥŕēśĥōĺď. Check IP + Ćĥēćķ ĨƤ Check Username + Ćĥēćķ Ũśēŕńàmē Threshold + Ţĥŕēśĥōĺď New policy + Ńēŵ ƥōĺĩćŷ Create a new policy. + Ćŕēàţē à ńēŵ ƥōĺĩćŷ. Create Binding + Ćŕēàţē ßĩńďĩńĝ Superuser + Śũƥēŕũśēŕ Members + Mēmƀēŕś Select groups to add user to + Śēĺēćţ ĝŕōũƥś ţō àďď ũśēŕ ţō Warning: Adding the user to the selected group(s) will give them superuser permissions. + Ŵàŕńĩńĝ: Àďďĩńĝ ţĥē ũśēŕ ţō ţĥē śēĺēćţēď ĝŕōũƥ(ś) ŵĩĺĺ ĝĩvē ţĥēm śũƥēŕũśēŕ ƥēŕmĩśśĩōńś. Successfully updated user. + Śũććēśśƒũĺĺŷ ũƥďàţēď ũśēŕ. Successfully created user. + Śũććēśśƒũĺĺŷ ćŕēàţēď ũśēŕ. Username + Ũśēŕńàmē User's primary identifier. 150 characters or fewer. + Ũśēŕ'ś ƥŕĩmàŕŷ ĩďēńţĩƒĩēŕ. 150 ćĥàŕàćţēŕś ōŕ ƒēŵēŕ. User's display name. + Ũśēŕ'ś ďĩśƥĺàŷ ńàmē. Email + Ēmàĩĺ Is active + Ĩś àćţĩvē Designates whether this user should be treated as active. Unselect this instead of deleting accounts. + Ďēśĩĝńàţēś ŵĥēţĥēŕ ţĥĩś ũśēŕ śĥōũĺď ƀē ţŕēàţēď àś àćţĩvē. Ũńśēĺēćţ ţĥĩś ĩńśţēàď ōƒ ďēĺēţĩńĝ àććōũńţś. Path + Ƥàţĥ Policy / User / Group + Ƥōĺĩćŷ / Ũśēŕ / Ĝŕōũƥ Policy + Ƥōĺĩćŷ Group + Ĝŕōũƥ User + Ũśēŕ Edit Policy + Ēďĩţ Ƥōĺĩćŷ Update Group + Ũƥďàţē Ĝŕōũƥ Edit Group + Ēďĩţ Ĝŕōũƥ Update User + Ũƥďàţē Ũśēŕ Edit User + Ēďĩţ Ũśēŕ Policy binding(s) + Ƥōĺĩćŷ ƀĩńďĩńĝ(ś) Update Binding + Ũƥďàţē ßĩńďĩńĝ Edit Binding + Ēďĩţ ßĩńďĩńĝ No Policies bound. + Ńō Ƥōĺĩćĩēś ƀōũńď. No policies are currently bound to this object. + Ńō ƥōĺĩćĩēś àŕē ćũŕŕēńţĺŷ ƀōũńď ţō ţĥĩś ōƀĴēćţ. Bind existing policy + ßĩńď ēxĩśţĩńĝ ƥōĺĩćŷ Warning: Application is not used by any Outpost. + Ŵàŕńĩńĝ: Àƥƥĺĩćàţĩōń ĩś ńōţ ũśēď ƀŷ àńŷ Ōũţƥōśţ. Related + Ŕēĺàţēď Backchannel Providers + ßàćķćĥàńńēĺ Ƥŕōvĩďēŕś Check access + Ćĥēćķ àććēśś Check + Ćĥēćķ Check Application access + Ćĥēćķ Àƥƥĺĩćàţĩōń àććēśś Test + Ţēśţ Launch + Ĺàũńćĥ Logins over the last week (per 8 hours) + Ĺōĝĩńś ōvēŕ ţĥē ĺàśţ ŵēēķ (ƥēŕ 8 ĥōũŕś) Policy / Group / User Bindings + Ƥōĺĩćŷ / Ĝŕōũƥ / Ũśēŕ ßĩńďĩńĝś These policies control which users can access this application. + Ţĥēśē ƥōĺĩćĩēś ćōńţŕōĺ ŵĥĩćĥ ũśēŕś ćàń àććēśś ţĥĩś àƥƥĺĩćàţĩōń. Successfully updated source. + Śũććēśśƒũĺĺŷ ũƥďàţēď śōũŕćē. Successfully created source. + Śũććēśśƒũĺĺŷ ćŕēàţēď śōũŕćē. Sync users + Śŷńć ũśēŕś User password writeback + Ũśēŕ ƥàśśŵōŕď ŵŕĩţēƀàćķ Login password is synced from LDAP into authentik automatically. Enable this option only to write password changes in authentik back to LDAP. + Ĺōĝĩń ƥàśśŵōŕď ĩś śŷńćēď ƒŕōm ĹĎÀƤ ĩńţō àũţĥēńţĩķ àũţōmàţĩćàĺĺŷ. Ēńàƀĺē ţĥĩś ōƥţĩōń ōńĺŷ ţō ŵŕĩţē ƥàśśŵōŕď ćĥàńĝēś ĩń àũţĥēńţĩķ ƀàćķ ţō ĹĎÀƤ. Sync groups + Śŷńć ĝŕōũƥś Connection settings + Ćōńńēćţĩōń śēţţĩńĝś Server URI + Śēŕvēŕ ŨŔĨ Specify multiple server URIs by separating them with a comma. + Śƥēćĩƒŷ mũĺţĩƥĺē śēŕvēŕ ŨŔĨś ƀŷ śēƥàŕàţĩńĝ ţĥēm ŵĩţĥ à ćōmmà. Enable StartTLS + Ēńàƀĺē ŚţàŕţŢĹŚ To use SSL instead, use 'ldaps://' and disable this option. + Ţō ũśē ŚŚĹ ĩńśţēàď, ũśē 'ĺďàƥś://' àńď ďĩśàƀĺē ţĥĩś ōƥţĩōń. TLS Verification Certificate + ŢĹŚ Vēŕĩƒĩćàţĩōń Ćēŕţĩƒĩćàţē When connecting to an LDAP Server with TLS, certificates are not checked by default. Specify a keypair to validate the remote certificate. + Ŵĥēń ćōńńēćţĩńĝ ţō àń ĹĎÀƤ Śēŕvēŕ ŵĩţĥ ŢĹŚ, ćēŕţĩƒĩćàţēś àŕē ńōţ ćĥēćķēď ƀŷ ďēƒàũĺţ. Śƥēćĩƒŷ à ķēŷƥàĩŕ ţō vàĺĩďàţē ţĥē ŕēmōţē ćēŕţĩƒĩćàţē. Bind CN + ßĩńď ĆŃ LDAP Attribute mapping + ĹĎÀƤ Àţţŕĩƀũţē màƥƥĩńĝ Property mappings used to user creation. + Ƥŕōƥēŕţŷ màƥƥĩńĝś ũśēď ţō ũśēŕ ćŕēàţĩōń. Additional settings + Àďďĩţĩōńàĺ śēţţĩńĝś Parent group for all the groups imported from LDAP. + Ƥàŕēńţ ĝŕōũƥ ƒōŕ àĺĺ ţĥē ĝŕōũƥś ĩmƥōŕţēď ƒŕōm ĹĎÀƤ. User path + Ũśēŕ ƥàţĥ Addition User DN + Àďďĩţĩōń Ũśēŕ ĎŃ Additional user DN, prepended to the Base DN. + Àďďĩţĩōńàĺ ũśēŕ ĎŃ, ƥŕēƥēńďēď ţō ţĥē ßàśē ĎŃ. Addition Group DN + Àďďĩţĩōń Ĝŕōũƥ ĎŃ Additional group DN, prepended to the Base DN. + Àďďĩţĩōńàĺ ĝŕōũƥ ĎŃ, ƥŕēƥēńďēď ţō ţĥē ßàśē ĎŃ. User object filter + Ũśēŕ ōƀĴēćţ ƒĩĺţēŕ Consider Objects matching this filter to be Users. + Ćōńśĩďēŕ ŌƀĴēćţś màţćĥĩńĝ ţĥĩś ƒĩĺţēŕ ţō ƀē Ũśēŕś. Group object filter + Ĝŕōũƥ ōƀĴēćţ ƒĩĺţēŕ Consider Objects matching this filter to be Groups. + Ćōńśĩďēŕ ŌƀĴēćţś màţćĥĩńĝ ţĥĩś ƒĩĺţēŕ ţō ƀē Ĝŕōũƥś. Group membership field + Ĝŕōũƥ mēmƀēŕśĥĩƥ ƒĩēĺď Field which contains members of a group. Note that if using the "memberUid" field, the value is assumed to contain a relative distinguished name. e.g. 'memberUid=some-user' instead of 'memberUid=cn=some-user,ou=groups,...' + Ƒĩēĺď ŵĥĩćĥ ćōńţàĩńś mēmƀēŕś ōƒ à ĝŕōũƥ. Ńōţē ţĥàţ ĩƒ ũśĩńĝ ţĥē "mēmƀēŕŨĩď" ƒĩēĺď, ţĥē vàĺũē ĩś àśśũmēď ţō ćōńţàĩń à ŕēĺàţĩvē ďĩśţĩńĝũĩśĥēď ńàmē. ē.ĝ. 'mēmƀēŕŨĩď=śōmē-ũśēŕ' ĩńśţēàď ōƒ 'mēmƀēŕŨĩď=ćń=śōmē-ũśēŕ,ōũ=ĝŕōũƥś,...' Object uniqueness field + ŌƀĴēćţ ũńĩǫũēńēśś ƒĩēĺď Field which contains a unique Identifier. + Ƒĩēĺď ŵĥĩćĥ ćōńţàĩńś à ũńĩǫũē Ĩďēńţĩƒĩēŕ. Link users on unique identifier + Ĺĩńķ ũśēŕś ōń ũńĩǫũē ĩďēńţĩƒĩēŕ Link to a user with identical email address. Can have security implications when a source doesn't validate email addresses + Ĺĩńķ ţō à ũśēŕ ŵĩţĥ ĩďēńţĩćàĺ ēmàĩĺ àďďŕēśś. Ćàń ĥàvē śēćũŕĩţŷ ĩmƥĺĩćàţĩōńś ŵĥēń à śōũŕćē ďōēśń'ţ vàĺĩďàţē ēmàĩĺ àďďŕēśśēś Use the user's email address, but deny enrollment when the email address already exists + Ũśē ţĥē ũśēŕ'ś ēmàĩĺ àďďŕēśś, ƀũţ ďēńŷ ēńŕōĺĺmēńţ ŵĥēń ţĥē ēmàĩĺ àďďŕēśś àĺŕēàďŷ ēxĩśţś Link to a user with identical username. Can have security implications when a username is used with another source + Ĺĩńķ ţō à ũśēŕ ŵĩţĥ ĩďēńţĩćàĺ ũśēŕńàmē. Ćàń ĥàvē śēćũŕĩţŷ ĩmƥĺĩćàţĩōńś ŵĥēń à ũśēŕńàmē ĩś ũśēď ŵĩţĥ àńōţĥēŕ śōũŕćē Use the user's username, but deny enrollment when the username already exists + Ũśē ţĥē ũśēŕ'ś ũśēŕńàmē, ƀũţ ďēńŷ ēńŕōĺĺmēńţ ŵĥēń ţĥē ũśēŕńàmē àĺŕēàďŷ ēxĩśţś Unknown user matching mode + Ũńķńōŵń ũśēŕ màţćĥĩńĝ mōďē URL settings + ŨŔĹ śēţţĩńĝś Authorization URL + Àũţĥōŕĩźàţĩōń ŨŔĹ URL the user is redirect to to consent the authorization. + ŨŔĹ ţĥē ũśēŕ ĩś ŕēďĩŕēćţ ţō ţō ćōńśēńţ ţĥē àũţĥōŕĩźàţĩōń. Access token URL + Àććēśś ţōķēń ŨŔĹ URL used by authentik to retrieve tokens. + ŨŔĹ ũśēď ƀŷ àũţĥēńţĩķ ţō ŕēţŕĩēvē ţōķēńś. Profile URL + Ƥŕōƒĩĺē ŨŔĹ URL used by authentik to get user information. + ŨŔĹ ũśēď ƀŷ àũţĥēńţĩķ ţō ĝēţ ũśēŕ ĩńƒōŕmàţĩōń. Request token URL + Ŕēǫũēśţ ţōķēń ŨŔĹ URL used to request the initial token. This URL is only required for OAuth 1. + ŨŔĹ ũśēď ţō ŕēǫũēśţ ţĥē ĩńĩţĩàĺ ţōķēń. Ţĥĩś ŨŔĹ ĩś ōńĺŷ ŕēǫũĩŕēď ƒōŕ ŌÀũţĥ 1. OIDC Well-known URL + ŌĨĎĆ Ŵēĺĺ-ķńōŵń ŨŔĹ OIDC well-known configuration URL. Can be used to automatically configure the URLs above. + ŌĨĎĆ ŵēĺĺ-ķńōŵń ćōńƒĩĝũŕàţĩōń ŨŔĹ. Ćàń ƀē ũśēď ţō àũţōmàţĩćàĺĺŷ ćōńƒĩĝũŕē ţĥē ŨŔĹś àƀōvē. OIDC JWKS URL + ŌĨĎĆ ĵŴĶŚ ŨŔĹ JSON Web Key URL. Keys from the URL will be used to validate JWTs from this source. + ĵŚŌŃ Ŵēƀ Ķēŷ ŨŔĹ. Ķēŷś ƒŕōm ţĥē ŨŔĹ ŵĩĺĺ ƀē ũśēď ţō vàĺĩďàţē ĵŴŢś ƒŕōm ţĥĩś śōũŕćē. OIDC JWKS + ŌĨĎĆ ĵŴĶŚ Raw JWKS data. + Ŕàŵ ĵŴĶŚ ďàţà. User matching mode + Ũśēŕ màţćĥĩńĝ mōďē Delete currently set icon. + Ďēĺēţē ćũŕŕēńţĺŷ śēţ ĩćōń. Consumer key + Ćōńśũmēŕ ķēŷ Consumer secret + Ćōńśũmēŕ śēćŕēţ Additional scopes to be passed to the OAuth Provider, separated by space. To replace existing scopes, prefix with *. + Àďďĩţĩōńàĺ śćōƥēś ţō ƀē ƥàśśēď ţō ţĥē ŌÀũţĥ Ƥŕōvĩďēŕ, śēƥàŕàţēď ƀŷ śƥàćē. Ţō ŕēƥĺàćē ēxĩśţĩńĝ śćōƥēś, ƥŕēƒĩx ŵĩţĥ *. Flow settings + Ƒĺōŵ śēţţĩńĝś Flow to use when authenticating existing users. + Ƒĺōŵ ţō ũśē ŵĥēń àũţĥēńţĩćàţĩńĝ ēxĩśţĩńĝ ũśēŕś. Enrollment flow + Ēńŕōĺĺmēńţ ƒĺōŵ Flow to use when enrolling new users. + Ƒĺōŵ ţō ũśē ŵĥēń ēńŕōĺĺĩńĝ ńēŵ ũśēŕś. Load servers + Ĺōàď śēŕvēŕś Re-authenticate with plex + Ŕē-àũţĥēńţĩćàţē ŵĩţĥ ƥĺēx Allow friends to authenticate via Plex, even if you don't share any servers + Àĺĺōŵ ƒŕĩēńďś ţō àũţĥēńţĩćàţē vĩà Ƥĺēx, ēvēń ĩƒ ŷōũ ďōń'ţ śĥàŕē àńŷ śēŕvēŕś Allowed servers + Àĺĺōŵēď śēŕvēŕś Select which server a user has to be a member of to be allowed to authenticate. + Śēĺēćţ ŵĥĩćĥ śēŕvēŕ à ũśēŕ ĥàś ţō ƀē à mēmƀēŕ ōƒ ţō ƀē àĺĺōŵēď ţō àũţĥēńţĩćàţē. SSO URL + ŚŚŌ ŨŔĹ URL that the initial Login request is sent to. + ŨŔĹ ţĥàţ ţĥē ĩńĩţĩàĺ Ĺōĝĩń ŕēǫũēśţ ĩś śēńţ ţō. SLO URL + ŚĹŌ ŨŔĹ Optional URL if the IDP supports Single-Logout. + Ōƥţĩōńàĺ ŨŔĹ ĩƒ ţĥē ĨĎƤ śũƥƥōŕţś Śĩńĝĺē-Ĺōĝōũţ. Also known as Entity ID. Defaults the Metadata URL. + Àĺśō ķńōŵń àś Ēńţĩţŷ ĨĎ. Ďēƒàũĺţś ţĥē Mēţàďàţà ŨŔĹ. Binding Type + ßĩńďĩńĝ Ţŷƥē Redirect binding + Ŕēďĩŕēćţ ƀĩńďĩńĝ Post-auto binding + Ƥōśţ-àũţō ƀĩńďĩńĝ Post binding but the request is automatically sent and the user doesn't have to confirm. + Ƥōśţ ƀĩńďĩńĝ ƀũţ ţĥē ŕēǫũēśţ ĩś àũţōmàţĩćàĺĺŷ śēńţ àńď ţĥē ũśēŕ ďōēśń'ţ ĥàvē ţō ćōńƒĩŕm. Post binding + Ƥōśţ ƀĩńďĩńĝ Signing keypair + Śĩĝńĩńĝ ķēŷƥàĩŕ Keypair which is used to sign outgoing requests. Leave empty to disable signing. + Ķēŷƥàĩŕ ŵĥĩćĥ ĩś ũśēď ţō śĩĝń ōũţĝōĩńĝ ŕēǫũēśţś. Ĺēàvē ēmƥţŷ ţō ďĩśàƀĺē śĩĝńĩńĝ. Allow IDP-initiated logins + Àĺĺōŵ ĨĎƤ-ĩńĩţĩàţēď ĺōĝĩńś Allows authentication flows initiated by the IdP. This can be a security risk, as no validation of the request ID is done. + Àĺĺōŵś àũţĥēńţĩćàţĩōń ƒĺōŵś ĩńĩţĩàţēď ƀŷ ţĥē ĨďƤ. Ţĥĩś ćàń ƀē à śēćũŕĩţŷ ŕĩśķ, àś ńō vàĺĩďàţĩōń ōƒ ţĥē ŕēǫũēśţ ĨĎ ĩś ďōńē. NameID Policy + ŃàmēĨĎ Ƥōĺĩćŷ Persistent + Ƥēŕśĩśţēńţ Email address + Ēmàĩĺ àďďŕēśś Windows + Ŵĩńďōŵś X509 Subject + X509 ŚũƀĴēćţ Transient + Ţŕàńśĩēńţ Delete temporary users after + Ďēĺēţē ţēmƥōŕàŕŷ ũśēŕś àƒţēŕ Time offset when temporary users should be deleted. This only applies if your IDP uses the NameID Format 'transient', and the user doesn't log out manually. + Ţĩmē ōƒƒśēţ ŵĥēń ţēmƥōŕàŕŷ ũśēŕś śĥōũĺď ƀē ďēĺēţēď. Ţĥĩś ōńĺŷ àƥƥĺĩēś ĩƒ ŷōũŕ ĨĎƤ ũśēś ţĥē ŃàmēĨĎ Ƒōŕmàţ 'ţŕàńśĩēńţ', àńď ţĥē ũśēŕ ďōēśń'ţ ĺōĝ ōũţ màńũàĺĺŷ. Pre-authentication flow + Ƥŕē-àũţĥēńţĩćàţĩōń ƒĺōŵ Flow used before authentication. + Ƒĺōŵ ũśēď ƀēƒōŕē àũţĥēńţĩćàţĩōń. New source + Ńēŵ śōũŕćē Create a new source. + Ćŕēàţē à ńēŵ śōũŕćē. Sources of identities, which can either be synced into authentik's database, or can be used by users to authenticate and enroll themselves. + Śōũŕćēś ōƒ ĩďēńţĩţĩēś, ŵĥĩćĥ ćàń ēĩţĥēŕ ƀē śŷńćēď ĩńţō àũţĥēńţĩķ'ś ďàţàƀàśē, ōŕ ćàń ƀē ũśēď ƀŷ ũśēŕś ţō àũţĥēńţĩćàţē àńď ēńŕōĺĺ ţĥēmśēĺvēś. Source(s) + Śōũŕćē(ś) Disabled + Ďĩśàƀĺēď Built-in + ßũĩĺţ-ĩń Update LDAP Source + Ũƥďàţē ĹĎÀƤ Śōũŕćē Not synced yet. + Ńōţ śŷńćēď ŷēţ. Task finished with warnings + Ţàśķ ƒĩńĩśĥēď ŵĩţĥ ŵàŕńĩńĝś Task finished with errors + Ţàśķ ƒĩńĩśĥēď ŵĩţĥ ēŕŕōŕś Last sync: + Ĺàśţ śŷńć: OAuth Source + ŌÀũţĥ Śōũŕćē Generic OpenID Connect + Ĝēńēŕĩć ŌƥēńĨĎ Ćōńńēćţ Unknown provider type + Ũńķńōŵń ƥŕōvĩďēŕ ţŷƥē Details + Ďēţàĩĺś Callback URL + Ćàĺĺƀàćķ ŨŔĹ Access Key + Àććēśś Ķēŷ Update OAuth Source + Ũƥďàţē ŌÀũţĥ Śōũŕćē Diagram + Ďĩàĝŕàm Policy Bindings + Ƥōĺĩćŷ ßĩńďĩńĝś These bindings control which users can access this source. You can only use policies here as access is checked before the user is authenticated. + Ţĥēśē ƀĩńďĩńĝś ćōńţŕōĺ ŵĥĩćĥ ũśēŕś ćàń àććēśś ţĥĩś śōũŕćē. + Ŷōũ ćàń ōńĺŷ ũśē ƥōĺĩćĩēś ĥēŕē àś àććēśś ĩś ćĥēćķēď ƀēƒōŕē ţĥē ũśēŕ ĩś àũţĥēńţĩćàţēď. Update Plex Source + Ũƥďàţē Ƥĺēx Śōũŕćē Update SAML Source + Ũƥďàţē ŚÀMĹ Śōũŕćē Successfully updated mapping. + Śũććēśśƒũĺĺŷ ũƥďàţēď màƥƥĩńĝ. Successfully created mapping. + Śũććēśśƒũĺĺŷ ćŕēàţēď màƥƥĩńĝ. Object field + ŌƀĴēćţ ƒĩēĺď Field of the user object this value is written to. + Ƒĩēĺď ōƒ ţĥē ũśēŕ ōƀĴēćţ ţĥĩś vàĺũē ĩś ŵŕĩţţēń ţō. SAML Attribute Name + ŚÀMĹ Àţţŕĩƀũţē Ńàmē Attribute name used for SAML Assertions. Can be a URN OID, a schema reference, or a any other string. If this property mapping is used for NameID Property, this field is discarded. + Àţţŕĩƀũţē ńàmē ũśēď ƒōŕ ŚÀMĹ Àśśēŕţĩōńś. Ćàń ƀē à ŨŔŃ ŌĨĎ, à śćĥēmà ŕēƒēŕēńćē, ōŕ à àńŷ ōţĥēŕ śţŕĩńĝ. Ĩƒ ţĥĩś ƥŕōƥēŕţŷ màƥƥĩńĝ ĩś ũśēď ƒōŕ ŃàmēĨĎ Ƥŕōƥēŕţŷ, ţĥĩś ƒĩēĺď ĩś ďĩśćàŕďēď. Friendly Name + Ƒŕĩēńďĺŷ Ńàmē Optionally set the 'FriendlyName' value of the Assertion attribute. + Ōƥţĩōńàĺĺŷ śēţ ţĥē 'ƑŕĩēńďĺŷŃàmē' vàĺũē ōƒ ţĥē Àśśēŕţĩōń àţţŕĩƀũţē. Scope name + Śćōƥē ńàmē Scope which the client can specify to access these properties. + Śćōƥē ŵĥĩćĥ ţĥē ćĺĩēńţ ćàń śƥēćĩƒŷ ţō àććēśś ţĥēśē ƥŕōƥēŕţĩēś. Description shown to the user when consenting. If left empty, the user won't be informed. + Ďēśćŕĩƥţĩōń śĥōŵń ţō ţĥē ũśēŕ ŵĥēń ćōńśēńţĩńĝ. Ĩƒ ĺēƒţ ēmƥţŷ, ţĥē ũśēŕ ŵōń'ţ ƀē ĩńƒōŕmēď. Example context data + Ēxàmƥĺē ćōńţēxţ ďàţà Active Directory User + Àćţĩvē Ďĩŕēćţōŕŷ Ũśēŕ Active Directory Group + Àćţĩvē Ďĩŕēćţōŕŷ Ĝŕōũƥ New property mapping + Ńēŵ ƥŕōƥēŕţŷ màƥƥĩńĝ Create a new property mapping. + Ćŕēàţē à ńēŵ ƥŕōƥēŕţŷ màƥƥĩńĝ. Property Mappings + Ƥŕōƥēŕţŷ Màƥƥĩńĝś Control how authentik exposes and interprets information. + Ćōńţŕōĺ ĥōŵ àũţĥēńţĩķ ēxƥōśēś àńď ĩńţēŕƥŕēţś ĩńƒōŕmàţĩōń. Property Mapping(s) + Ƥŕōƥēŕţŷ Màƥƥĩńĝ(ś) Test Property Mapping + Ţēśţ Ƥŕōƥēŕţŷ Màƥƥĩńĝ Hide managed mappings + Ĥĩďē màńàĝēď màƥƥĩńĝś Successfully updated token. + Śũććēśśƒũĺĺŷ ũƥďàţēď ţōķēń. Successfully created token. + Śũććēśśƒũĺĺŷ ćŕēàţēď ţōķēń. Unique identifier the token is referenced by. + Ũńĩǫũē ĩďēńţĩƒĩēŕ ţĥē ţōķēń ĩś ŕēƒēŕēńćēď ƀŷ. Intent + Ĩńţēńţ API Token + ÀƤĨ Ţōķēń Used to access the API programmatically + Ũśēď ţō àććēśś ţĥē ÀƤĨ ƥŕōĝŕàmmàţĩćàĺĺŷ App password. + Àƥƥ ƥàśśŵōŕď. Used to login using a flow executor + Ũśēď ţō ĺōĝĩń ũśĩńĝ à ƒĺōŵ ēxēćũţōŕ Expiring + Ēxƥĩŕĩńĝ If this is selected, the token will expire. Upon expiration, the token will be rotated. + Ĩƒ ţĥĩś ĩś śēĺēćţēď, ţĥē ţōķēń ŵĩĺĺ ēxƥĩŕē. Ũƥōń ēxƥĩŕàţĩōń, ţĥē ţōķēń ŵĩĺĺ ƀē ŕōţàţēď. Expires on + Ēxƥĩŕēś ōń API Access + ÀƤĨ Àććēśś App password + Àƥƥ ƥàśśŵōŕď Verification + Vēŕĩƒĩćàţĩōń Unknown intent + Ũńķńōŵń ĩńţēńţ Tokens + Ţōķēńś Tokens are used throughout authentik for Email validation stages, Recovery keys and API access. + Ţōķēńś àŕē ũśēď ţĥŕōũĝĥōũţ àũţĥēńţĩķ ƒōŕ Ēmàĩĺ vàĺĩďàţĩōń śţàĝēś, Ŕēćōvēŕŷ ķēŷś àńď ÀƤĨ àććēśś. Expires? + Ēxƥĩŕēś? Expiry date + Ēxƥĩŕŷ ďàţē Token(s) + Ţōķēń(ś) Create Token + Ćŕēàţē Ţōķēń Token is managed by authentik. + Ţōķēń ĩś màńàĝēď ƀŷ àũţĥēńţĩķ. Update Token + Ũƥďàţē Ţōķēń Successfully updated tenant. + Śũććēśśƒũĺĺŷ ũƥďàţēď ţēńàńţ. Successfully created tenant. + Śũććēśśƒũĺĺŷ ćŕēàţēď ţēńàńţ. Domain + Ďōmàĩń Matching is done based on domain suffix, so if you enter domain.tld, foo.domain.tld will still match. + Màţćĥĩńĝ ĩś ďōńē ƀàśēď ōń ďōmàĩń śũƒƒĩx, śō ĩƒ ŷōũ ēńţēŕ ďōmàĩń.ţĺď, ƒōō.ďōmàĩń.ţĺď ŵĩĺĺ śţĩĺĺ màţćĥ. Default + Ďēƒàũĺţ Use this tenant for each domain that doesn't have a dedicated tenant. + Ũśē ţĥĩś ţēńàńţ ƒōŕ ēàćĥ ďōmàĩń ţĥàţ ďōēśń'ţ ĥàvē à ďēďĩćàţēď ţēńàńţ. Branding settings + ßŕàńďĩńĝ śēţţĩńĝś Title + Ţĩţĺē Branding shown in page title and several other places. + ßŕàńďĩńĝ śĥōŵń ĩń ƥàĝē ţĩţĺē àńď śēvēŕàĺ ōţĥēŕ ƥĺàćēś. Logo + Ĺōĝō Icon shown in sidebar/header and flow executor. + Ĩćōń śĥōŵń ĩń śĩďēƀàŕ/ĥēàďēŕ àńď ƒĺōŵ ēxēćũţōŕ. Favicon + Ƒàvĩćōń Icon shown in the browser tab. + Ĩćōń śĥōŵń ĩń ţĥē ƀŕōŵśēŕ ţàƀ. Default flows + Ďēƒàũĺţ ƒĺōŵś Flow used to authenticate users. If left empty, the first applicable flow sorted by the slug is used. + Ƒĺōŵ ũśēď ţō àũţĥēńţĩćàţē ũśēŕś. Ĩƒ ĺēƒţ ēmƥţŷ, ţĥē ƒĩŕśţ àƥƥĺĩćàƀĺē ƒĺōŵ śōŕţēď ƀŷ ţĥē śĺũĝ ĩś ũśēď. Invalidation flow + Ĩńvàĺĩďàţĩōń ƒĺōŵ Flow used to logout. If left empty, the first applicable flow sorted by the slug is used. + Ƒĺōŵ ũśēď ţō ĺōĝōũţ. Ĩƒ ĺēƒţ ēmƥţŷ, ţĥē ƒĩŕśţ àƥƥĺĩćàƀĺē ƒĺōŵ śōŕţēď ƀŷ ţĥē śĺũĝ ĩś ũśēď. Recovery flow + Ŕēćōvēŕŷ ƒĺōŵ Recovery flow. If left empty, the first applicable flow sorted by the slug is used. + Ŕēćōvēŕŷ ƒĺōŵ. Ĩƒ ĺēƒţ ēmƥţŷ, ţĥē ƒĩŕśţ àƥƥĺĩćàƀĺē ƒĺōŵ śōŕţēď ƀŷ ţĥē śĺũĝ ĩś ũśēď. Unenrollment flow + Ũńēńŕōĺĺmēńţ ƒĺōŵ If set, users are able to unenroll themselves using this flow. If no flow is set, option is not shown. + Ĩƒ śēţ, ũśēŕś àŕē àƀĺē ţō ũńēńŕōĺĺ ţĥēmśēĺvēś ũśĩńĝ ţĥĩś ƒĺōŵ. Ĩƒ ńō ƒĺōŵ ĩś śēţ, ōƥţĩōń ĩś ńōţ śĥōŵń. User settings flow + Ũśēŕ śēţţĩńĝś ƒĺōŵ If set, users are able to configure details of their profile. + Ĩƒ śēţ, ũśēŕś àŕē àƀĺē ţō ćōńƒĩĝũŕē ďēţàĩĺś ōƒ ţĥēĩŕ ƥŕōƒĩĺē. Device code flow + Ďēvĩćē ćōďē ƒĺōŵ If set, the OAuth Device Code profile can be used, and the selected flow will be used to enter the code. + Ĩƒ śēţ, ţĥē ŌÀũţĥ Ďēvĩćē Ćōďē ƥŕōƒĩĺē ćàń ƀē ũśēď, àńď ţĥē śēĺēćţēď ƒĺōŵ ŵĩĺĺ ƀē ũśēď ţō ēńţēŕ ţĥē ćōďē. Other global settings + Ōţĥēŕ ĝĺōƀàĺ śēţţĩńĝś Web Certificate + Ŵēƀ Ćēŕţĩƒĩćàţē Event retention + Ēvēńţ ŕēţēńţĩōń Duration after which events will be deleted from the database. + Ďũŕàţĩōń àƒţēŕ ŵĥĩćĥ ēvēńţś ŵĩĺĺ ƀē ďēĺēţēď ƒŕōm ţĥē ďàţàƀàśē. When using an external logging solution for archiving, this can be set to "minutes=5". + Ŵĥēń ũśĩńĝ àń ēxţēŕńàĺ ĺōĝĝĩńĝ śōĺũţĩōń ƒōŕ àŕćĥĩvĩńĝ, ţĥĩś ćàń ƀē śēţ ţō "mĩńũţēś=5". This setting only affects new Events, as the expiration is saved per-event. + Ţĥĩś śēţţĩńĝ ōńĺŷ àƒƒēćţś ńēŵ Ēvēńţś, àś ţĥē ēxƥĩŕàţĩōń ĩś śàvēď ƥēŕ-ēvēńţ. Format: "weeks=3;days=2;hours=3,seconds=2". + Ƒōŕmàţ: "ŵēēķś=3;ďàŷś=2;ĥōũŕś=3,śēćōńďś=2". Set custom attributes using YAML or JSON. Any attributes set here will be inherited by users, if the request is handled by this tenant. + Śēţ ćũśţōm àţţŕĩƀũţēś ũśĩńĝ ŶÀMĹ ōŕ ĵŚŌŃ. Àńŷ àţţŕĩƀũţēś śēţ ĥēŕē ŵĩĺĺ ƀē ĩńĥēŕĩţēď ƀŷ ũśēŕś, ĩƒ ţĥē ŕēǫũēśţ ĩś ĥàńďĺēď ƀŷ ţĥĩś ţēńàńţ. Tenants + Ţēńàńţś Configure visual settings and defaults for different domains. + Ćōńƒĩĝũŕē vĩśũàĺ śēţţĩńĝś àńď ďēƒàũĺţś ƒōŕ ďĩƒƒēŕēńţ ďōmàĩńś. Default? + Ďēƒàũĺţ? Tenant(s) + Ţēńàńţ(ś) Update Tenant + Ũƥďàţē Ţēńàńţ Create Tenant + Ćŕēàţē Ţēńàńţ Policies + Ƥōĺĩćĩēś Allow users to use Applications based on properties, enforce Password Criteria and selectively apply Stages. + Àĺĺōŵ ũśēŕś ţō ũśē Àƥƥĺĩćàţĩōńś ƀàśēď ōń ƥŕōƥēŕţĩēś, ēńƒōŕćē Ƥàśśŵōŕď Ćŕĩţēŕĩà àńď śēĺēćţĩvēĺŷ àƥƥĺŷ Śţàĝēś. Assigned to object(s). + Àśśĩĝńēď ţō ōƀĴēćţ(ś). Warning: Policy is not assigned. + Ŵàŕńĩńĝ: Ƥōĺĩćŷ ĩś ńōţ àśśĩĝńēď. Test Policy + Ţēśţ Ƥōĺĩćŷ Policy / Policies + Ƥōĺĩćŷ / Ƥōĺĩćĩēś Successfully cleared policy cache + Śũććēśśƒũĺĺŷ ćĺēàŕēď ƥōĺĩćŷ ćàćĥē Failed to delete policy cache + Ƒàĩĺēď ţō ďēĺēţē ƥōĺĩćŷ ćàćĥē Clear cache + Ćĺēàŕ ćàćĥē Clear Policy cache + Ćĺēàŕ Ƥōĺĩćŷ ćàćĥē Are you sure you want to clear the policy cache? This will cause all policies to be re-evaluated on their next usage. + Àŕē ŷōũ śũŕē ŷōũ ŵàńţ ţō ćĺēàŕ ţĥē ƥōĺĩćŷ ćàćĥē? Ţĥĩś ŵĩĺĺ ćàũśē àĺĺ ƥōĺĩćĩēś ţō ƀē ŕē-ēvàĺũàţēď ōń ţĥēĩŕ ńēxţ ũśàĝē. Reputation scores + Ŕēƥũţàţĩōń śćōŕēś Reputation for IP and user identifiers. Scores are decreased for each failed login and increased for each successful login. + Ŕēƥũţàţĩōń ƒōŕ ĨƤ àńď ũśēŕ ĩďēńţĩƒĩēŕś. Śćōŕēś àŕē ďēćŕēàśēď ƒōŕ ēàćĥ ƒàĩĺēď ĺōĝĩń àńď ĩńćŕēàśēď ƒōŕ ēàćĥ śũććēśśƒũĺ ĺōĝĩń. IP + ĨƤ Score + Śćōŕē Updated + Ũƥďàţēď Reputation + Ŕēƥũţàţĩōń Groups + Ĝŕōũƥś Group users together and give them permissions based on the membership. + Ĝŕōũƥ ũśēŕś ţōĝēţĥēŕ àńď ĝĩvē ţĥēm ƥēŕmĩśśĩōńś ƀàśēď ōń ţĥē mēmƀēŕśĥĩƥ. Superuser privileges? + Śũƥēŕũśēŕ ƥŕĩvĩĺēĝēś? Group(s) + Ĝŕōũƥ(ś) Create Group + Ćŕēàţē Ĝŕōũƥ Create group + Ćŕēàţē ĝŕōũƥ Enabling this toggle will create a group named after the user, with the user as member. + Ēńàƀĺĩńĝ ţĥĩś ţōĝĝĺē ŵĩĺĺ ćŕēàţē à ĝŕōũƥ ńàmēď àƒţēŕ ţĥē ũśēŕ, ŵĩţĥ ţĥē ũśēŕ àś mēmƀēŕ. Use the username and password below to authenticate. The password can be retrieved later on the Tokens page. + Ũśē ţĥē ũśēŕńàmē àńď ƥàśśŵōŕď ƀēĺōŵ ţō àũţĥēńţĩćàţē. Ţĥē ƥàśśŵōŕď ćàń ƀē ŕēţŕĩēvēď ĺàţēŕ ōń ţĥē Ţōķēńś ƥàĝē. Password + Ƥàśśŵōŕď Valid for 360 days, after which the password will automatically rotate. You can copy the password from the Token List. + Vàĺĩď ƒōŕ 360 ďàŷś, àƒţēŕ ŵĥĩćĥ ţĥē ƥàśśŵōŕď ŵĩĺĺ àũţōmàţĩćàĺĺŷ ŕōţàţē. Ŷōũ ćàń ćōƥŷ ţĥē ƥàśśŵōŕď ƒŕōm ţĥē Ţōķēń Ĺĩśţ. The following objects use + Ţĥē ƒōĺĺōŵĩńĝ ōƀĴēćţś ũśē connecting object will be deleted + ćōńńēćţĩńĝ ōƀĴēćţ ŵĩĺĺ ƀē ďēĺēţēď Successfully updated + Śũććēśśƒũĺĺŷ ũƥďàţēď Failed to update : + Ƒàĩĺēď ţō ũƥďàţē : Are you sure you want to update ""? + Àŕē ŷōũ śũŕē ŷōũ ŵàńţ ţō ũƥďàţē ""? Successfully updated password. + Śũććēśśƒũĺĺŷ ũƥďàţēď ƥàśśŵōŕď. Successfully sent email. + Śũććēśśƒũĺĺŷ śēńţ ēmàĩĺ. Email stage + Ēmàĩĺ śţàĝē Successfully added user(s). + Śũććēśśƒũĺĺŷ àďďēď ũśēŕ(ś). Users to add + Ũśēŕś ţō àďď User(s) + Ũśēŕ(ś) Remove Users(s) + Ŕēmōvē Ũśēŕś(ś) Are you sure you want to remove the selected users from the group ? + Àŕē ŷōũ śũŕē ŷōũ ŵàńţ ţō ŕēmōvē ţĥē śēĺēćţēď ũśēŕś ƒŕōm ţĥē ĝŕōũƥ ? Remove + Ŕēmōvē Impersonate + Ĩmƥēŕśōńàţē User status + Ũśēŕ śţàţũś Change status + Ćĥàńĝē śţàţũś Deactivate + Ďēàćţĩvàţē Update password + Ũƥďàţē ƥàśśŵōŕď Set password + Śēţ ƥàśśŵōŕď Successfully generated recovery link + Śũććēśśƒũĺĺŷ ĝēńēŕàţēď ŕēćōvēŕŷ ĺĩńķ No recovery flow is configured. + Ńō ŕēćōvēŕŷ ƒĺōŵ ĩś ćōńƒĩĝũŕēď. Copy recovery link + Ćōƥŷ ŕēćōvēŕŷ ĺĩńķ Send link + Śēńď ĺĩńķ Send recovery link to user + Śēńď ŕēćōvēŕŷ ĺĩńķ ţō ũśēŕ Email recovery link + Ēmàĩĺ ŕēćōvēŕŷ ĺĩńķ Recovery link cannot be emailed, user has no email address saved. + Ŕēćōvēŕŷ ĺĩńķ ćàńńōţ ƀē ēmàĩĺēď, ũśēŕ ĥàś ńō ēmàĩĺ àďďŕēśś śàvēď. To let a user directly reset a their password, configure a recovery flow on the currently active tenant. + Ţō ĺēţ à ũśēŕ ďĩŕēćţĺŷ ŕēśēţ à ţĥēĩŕ ƥàśśŵōŕď, ćōńƒĩĝũŕē à ŕēćōvēŕŷ ƒĺōŵ ōń ţĥē ćũŕŕēńţĺŷ àćţĩvē ţēńàńţ. Add User + Àďď Ũśēŕ Warning: This group is configured with superuser access. Added users will have superuser access. + Ŵàŕńĩńĝ: Ţĥĩś ĝŕōũƥ ĩś ćōńƒĩĝũŕēď ŵĩţĥ śũƥēŕũśēŕ àććēśś. Àďďēď ũśēŕś ŵĩĺĺ ĥàvē śũƥēŕũśēŕ àććēśś. Add existing user + Àďď ēxĩśţĩńĝ ũśēŕ Create user + Ćŕēàţē ũśēŕ Create User + Ćŕēàţē Ũśēŕ Create Service account + Ćŕēàţē Śēŕvĩćē àććōũńţ Hide service-accounts + Ĥĩďē śēŕvĩćē-àććōũńţś Group Info + Ĝŕōũƥ Ĩńƒō Notes + Ńōţēś Edit the notes attribute of this group to add notes here. + Ēďĩţ ţĥē ńōţēś àţţŕĩƀũţē ōƒ ţĥĩś ĝŕōũƥ ţō àďď ńōţēś ĥēŕē. Users + Ũśēŕś Root + Ŕōōţ Warning: You're about to delete the user you're logged in as (). Proceed at your own risk. + Ŵàŕńĩńĝ: Ŷōũ'ŕē àƀōũţ ţō ďēĺēţē ţĥē ũśēŕ ŷōũ'ŕē ĺōĝĝēď ĩń àś (). Ƥŕōćēēď àţ ŷōũŕ ōŵń ŕĩśķ. Hide deactivated user + Ĥĩďē ďēàćţĩvàţēď ũśēŕ User folders + Ũśēŕ ƒōĺďēŕś Successfully added user to group(s). + Śũććēśśƒũĺĺŷ àďďēď ũśēŕ ţō ĝŕōũƥ(ś). Groups to add + Ĝŕōũƥś ţō àďď Remove from Group(s) + Ŕēmōvē ƒŕōm Ĝŕōũƥ(ś) Are you sure you want to remove user from the following groups? + Àŕē ŷōũ śũŕē ŷōũ ŵàńţ ţō ŕēmōvē ũśēŕ ƒŕōm ţĥē ƒōĺĺōŵĩńĝ ĝŕōũƥś? Add Group + Àďď Ĝŕōũƥ Add to existing group + Àďď ţō ēxĩśţĩńĝ ĝŕōũƥ Add new group + Àďď ńēŵ ĝŕōũƥ Application authorizations + Àƥƥĺĩćàţĩōń àũţĥōŕĩźàţĩōńś Revoked? + Ŕēvōķēď? Expires + Ēxƥĩŕēś ID Token + ĨĎ Ţōķēń Refresh Tokens(s) + Ŕēƒŕēśĥ Ţōķēńś(ś) Last IP + Ĺàśţ ĨƤ Session(s) + Śēśśĩōń(ś) Expiry + Ēxƥĩŕŷ (Current session) + (Ćũŕŕēńţ śēśśĩōń) Permissions + Ƥēŕmĩśśĩōńś Consent(s) + Ćōńśēńţ(ś) Successfully updated device. + Śũććēśśƒũĺĺŷ ũƥďàţēď ďēvĩćē. Static tokens + Śţàţĩć ţōķēńś TOTP Device + ŢŌŢƤ Ďēvĩćē Enroll + Ēńŕōĺĺ Device(s) + Ďēvĩćē(ś) Update Device + Ũƥďàţē Ďēvĩćē Confirmed + Ćōńƒĩŕmēď User Info + Ũśēŕ Ĩńƒō To create a recovery link, the current tenant needs to have a recovery flow configured. + Ţō ćŕēàţē à ŕēćōvēŕŷ ĺĩńķ, ţĥē ćũŕŕēńţ ţēńàńţ ńēēďś ţō ĥàvē à ŕēćōvēŕŷ ƒĺōŵ ćōńƒĩĝũŕēď. Reset Password + Ŕēśēţ Ƥàśśŵōŕď Actions over the last week (per 8 hours) + Àćţĩōńś ōvēŕ ţĥē ĺàśţ ŵēēķ (ƥēŕ 8 ĥōũŕś) Edit the notes attribute of this user to add notes here. + Ēďĩţ ţĥē ńōţēś àţţŕĩƀũţē ōƒ ţĥĩś ũśēŕ ţō àďď ńōţēś ĥēŕē. Sessions + Śēśśĩōńś User events + Ũśēŕ ēvēńţś Explicit Consent + Ēxƥĺĩćĩţ Ćōńśēńţ OAuth Refresh Tokens + ŌÀũţĥ Ŕēƒŕēśĥ Ţōķēńś MFA Authenticators + MƑÀ Àũţĥēńţĩćàţōŕś Successfully updated invitation. + Śũććēśśƒũĺĺŷ ũƥďàţēď ĩńvĩţàţĩōń. Successfully created invitation. + Śũććēśśƒũĺĺŷ ćŕēàţēď ĩńvĩţàţĩōń. Flow + Ƒĺōŵ When selected, the invite will only be usable with the flow. By default the invite is accepted on all flows with invitation stages. + Ŵĥēń śēĺēćţēď, ţĥē ĩńvĩţē ŵĩĺĺ ōńĺŷ ƀē ũśàƀĺē ŵĩţĥ ţĥē ƒĺōŵ. ßŷ ďēƒàũĺţ ţĥē ĩńvĩţē ĩś àććēƥţēď ōń àĺĺ ƒĺōŵś ŵĩţĥ ĩńvĩţàţĩōń śţàĝēś. Optional data which is loaded into the flow's 'prompt_data' context variable. YAML or JSON. + Ōƥţĩōńàĺ ďàţà ŵĥĩćĥ ĩś ĺōàďēď ĩńţō ţĥē ƒĺōŵ'ś 'ƥŕōmƥţ_ďàţà' ćōńţēxţ vàŕĩàƀĺē. ŶÀMĹ ōŕ ĵŚŌŃ. Single use + Śĩńĝĺē ũśē When enabled, the invitation will be deleted after usage. + Ŵĥēń ēńàƀĺēď, ţĥē ĩńvĩţàţĩōń ŵĩĺĺ ƀē ďēĺēţēď àƒţēŕ ũśàĝē. Select an enrollment flow + Śēĺēćţ àń ēńŕōĺĺmēńţ ƒĺōŵ Link to use the invitation. + Ĺĩńķ ţō ũśē ţĥē ĩńvĩţàţĩōń. Invitations + Ĩńvĩţàţĩōńś Create Invitation Links to enroll Users, and optionally force specific attributes of their account. + Ćŕēàţē Ĩńvĩţàţĩōń Ĺĩńķś ţō ēńŕōĺĺ Ũśēŕś, àńď ōƥţĩōńàĺĺŷ ƒōŕćē śƥēćĩƒĩć àţţŕĩƀũţēś ōƒ ţĥēĩŕ àććōũńţ. Created by + Ćŕēàţēď ƀŷ Invitation(s) + Ĩńvĩţàţĩōń(ś) Invitation not limited to any flow, and can be used with any enrollment flow. + Ĩńvĩţàţĩōń ńōţ ĺĩmĩţēď ţō àńŷ ƒĺōŵ, àńď ćàń ƀē ũśēď ŵĩţĥ àńŷ ēńŕōĺĺmēńţ ƒĺōŵ. Update Invitation + Ũƥďàţē Ĩńvĩţàţĩōń Create Invitation + Ćŕēàţē Ĩńvĩţàţĩōń Warning: No invitation stage is bound to any flow. Invitations will not work as expected. + Ŵàŕńĩńĝ: Ńō ĩńvĩţàţĩōń śţàĝē ĩś ƀōũńď ţō àńŷ ƒĺōŵ. Ĩńvĩţàţĩōńś ŵĩĺĺ ńōţ ŵōŕķ àś ēxƥēćţēď. Auto-detect (based on your browser) + Àũţō-ďēţēćţ (ƀàśēď ōń ŷōũŕ ƀŕōŵśēŕ) Required. + Ŕēǫũĩŕēď. Continue + Ćōńţĩńũē Successfully updated prompt. + Śũććēśśƒũĺĺŷ ũƥďàţēď ƥŕōmƥţ. Successfully created prompt. + Śũććēśśƒũĺĺŷ ćŕēàţēď ƥŕōmƥţ. Text: Simple Text input + Ţēxţ: Śĩmƥĺē Ţēxţ ĩńƥũţ Text Area: Multiline text input + Ţēxţ Àŕēà: Mũĺţĩĺĩńē ţēxţ ĩńƥũţ Text (read-only): Simple Text input, but cannot be edited. + Ţēxţ (ŕēàď-ōńĺŷ): Śĩmƥĺē Ţēxţ ĩńƥũţ, ƀũţ ćàńńōţ ƀē ēďĩţēď. Text Area (read-only): Multiline text input, but cannot be edited. + Ţēxţ Àŕēà (ŕēàď-ōńĺŷ): Mũĺţĩĺĩńē ţēxţ ĩńƥũţ, ƀũţ ćàńńōţ ƀē ēďĩţēď. Username: Same as Text input, but checks for and prevents duplicate usernames. + Ũśēŕńàmē: Śàmē àś Ţēxţ ĩńƥũţ, ƀũţ ćĥēćķś ƒōŕ àńď ƥŕēvēńţś ďũƥĺĩćàţē ũśēŕńàmēś. Email: Text field with Email type. + Ēmàĩĺ: Ţēxţ ƒĩēĺď ŵĩţĥ Ēmàĩĺ ţŷƥē. Password: Masked input, multiple inputs of this type on the same prompt need to be identical. + Ƥàśśŵōŕď: Màśķēď ĩńƥũţ, mũĺţĩƥĺē ĩńƥũţś ōƒ ţĥĩś ţŷƥē ōń ţĥē śàmē ƥŕōmƥţ ńēēď ţō ƀē ĩďēńţĩćàĺ. Number + Ńũmƀēŕ Checkbox + Ćĥēćķƀōx Radio Button Group (fixed choice) + Ŕàďĩō ßũţţōń Ĝŕōũƥ (ƒĩxēď ćĥōĩćē) Dropdown (fixed choice) + Ďŕōƥďōŵń (ƒĩxēď ćĥōĩćē) Date + Ďàţē Date Time + Ďàţē Ţĩmē File + Ƒĩĺē Separator: Static Separator Line + Śēƥàŕàţōŕ: Śţàţĩć Śēƥàŕàţōŕ Ĺĩńē Hidden: Hidden field, can be used to insert data into form. + Ĥĩďďēń: Ĥĩďďēń ƒĩēĺď, ćàń ƀē ũśēď ţō ĩńśēŕţ ďàţà ĩńţō ƒōŕm. Static: Static value, displayed as-is. + Śţàţĩć: Śţàţĩć vàĺũē, ďĩśƥĺàŷēď àś-ĩś. authentik: Locale: Displays a list of locales authentik supports. + àũţĥēńţĩķ: Ĺōćàĺē: Ďĩśƥĺàŷś à ĺĩśţ ōƒ ĺōćàĺēś àũţĥēńţĩķ śũƥƥōŕţś. Preview errors + Ƥŕēvĩēŵ ēŕŕōŕś Data preview + Ďàţà ƥŕēvĩēŵ Unique name of this field, used for selecting fields in prompt stages. + Ũńĩǫũē ńàmē ōƒ ţĥĩś ƒĩēĺď, ũśēď ƒōŕ śēĺēćţĩńĝ ƒĩēĺďś ĩń ƥŕōmƥţ śţàĝēś. Field Key + Ƒĩēĺď Ķēŷ Name of the form field, also used to store the value. + Ńàmē ōƒ ţĥē ƒōŕm ƒĩēĺď, àĺśō ũśēď ţō śţōŕē ţĥē vàĺũē. When used in conjunction with a User Write stage, use attributes.foo to write attributes. + Ŵĥēń ũśēď ĩń ćōńĴũńćţĩōń ŵĩţĥ à Ũśēŕ Ŵŕĩţē śţàĝē, ũśē àţţŕĩƀũţēś.ƒōō ţō ŵŕĩţē àţţŕĩƀũţēś. Label + Ĺàƀēĺ Label shown next to/above the prompt. + Ĺàƀēĺ śĥōŵń ńēxţ ţō/àƀōvē ţĥē ƥŕōmƥţ. Required + Ŕēǫũĩŕēď Interpret placeholder as expression + Ĩńţēŕƥŕēţ ƥĺàćēĥōĺďēŕ àś ēxƥŕēśśĩōń When checked, the placeholder will be evaluated in the same way a property mapping is. If the evaluation fails, the placeholder itself is returned. + Ŵĥēń ćĥēćķēď, ţĥē ƥĺàćēĥōĺďēŕ ŵĩĺĺ ƀē ēvàĺũàţēď ĩń ţĥē śàmē ŵàŷ à ƥŕōƥēŕţŷ màƥƥĩńĝ ĩś. + Ĩƒ ţĥē ēvàĺũàţĩōń ƒàĩĺś, ţĥē ƥĺàćēĥōĺďēŕ ĩţśēĺƒ ĩś ŕēţũŕńēď. Placeholder + Ƥĺàćēĥōĺďēŕ Optionally provide a short hint that describes the expected input value. When creating a fixed choice field, enable interpreting as expression and return a list to return multiple choices. + Ōƥţĩōńàĺĺŷ ƥŕōvĩďē à śĥōŕţ ĥĩńţ ţĥàţ ďēśćŕĩƀēś ţĥē ēxƥēćţēď ĩńƥũţ vàĺũē. + Ŵĥēń ćŕēàţĩńĝ à ƒĩxēď ćĥōĩćē ƒĩēĺď, ēńàƀĺē ĩńţēŕƥŕēţĩńĝ àś ēxƥŕēśśĩōń àńď ŕēţũŕń à + ĺĩśţ ţō ŕēţũŕń mũĺţĩƥĺē ćĥōĩćēś. Interpret initial value as expression + Ĩńţēŕƥŕēţ ĩńĩţĩàĺ vàĺũē àś ēxƥŕēśśĩōń When checked, the initial value will be evaluated in the same way a property mapping is. If the evaluation fails, the initial value itself is returned. + Ŵĥēń ćĥēćķēď, ţĥē ĩńĩţĩàĺ vàĺũē ŵĩĺĺ ƀē ēvàĺũàţēď ĩń ţĥē śàmē ŵàŷ à ƥŕōƥēŕţŷ màƥƥĩńĝ ĩś. + Ĩƒ ţĥē ēvàĺũàţĩōń ƒàĩĺś, ţĥē ĩńĩţĩàĺ vàĺũē ĩţśēĺƒ ĩś ŕēţũŕńēď. Initial value + Ĩńĩţĩàĺ vàĺũē Optionally pre-fill the input with an initial value. When creating a fixed choice field, enable interpreting as expression and return a list to return multiple default choices. + Ōƥţĩōńàĺĺŷ ƥŕē-ƒĩĺĺ ţĥē ĩńƥũţ ŵĩţĥ àń ĩńĩţĩàĺ vàĺũē. + Ŵĥēń ćŕēàţĩńĝ à ƒĩxēď ćĥōĩćē ƒĩēĺď, ēńàƀĺē ĩńţēŕƥŕēţĩńĝ àś ēxƥŕēśśĩōń àńď + ŕēţũŕń à ĺĩśţ ţō ŕēţũŕń mũĺţĩƥĺē ďēƒàũĺţ ćĥōĩćēś. Help text + Ĥēĺƥ ţēxţ Any HTML can be used. + Àńŷ ĤŢMĹ ćàń ƀē ũśēď. Prompts + Ƥŕōmƥţś Single Prompts that can be used for Prompt Stages. + Śĩńĝĺē Ƥŕōmƥţś ţĥàţ ćàń ƀē ũśēď ƒōŕ Ƥŕōmƥţ Śţàĝēś. Field + Ƒĩēĺď Stages + Śţàĝēś Prompt(s) + Ƥŕōmƥţ(ś) Update Prompt + Ũƥďàţē Ƥŕōmƥţ Create Prompt + Ćŕēàţē Ƥŕōmƥţ Target + Ţàŕĝēţ Stage + Śţàĝē Evaluate when flow is planned + Ēvàĺũàţē ŵĥēń ƒĺōŵ ĩś ƥĺàńńēď Evaluate policies during the Flow planning process. + Ēvàĺũàţē ƥōĺĩćĩēś ďũŕĩńĝ ţĥē Ƒĺōŵ ƥĺàńńĩńĝ ƥŕōćēśś. Evaluate when stage is run + Ēvàĺũàţē ŵĥēń śţàĝē ĩś ŕũń Evaluate policies before the Stage is present to the user. + Ēvàĺũàţē ƥōĺĩćĩēś ƀēƒōŕē ţĥē Śţàĝē ĩś ƥŕēśēńţ ţō ţĥē ũśēŕ. Invalid response behavior + Ĩńvàĺĩď ŕēśƥōńśē ƀēĥàvĩōŕ Returns the error message and a similar challenge to the executor + Ŕēţũŕńś ţĥē ēŕŕōŕ mēśśàĝē àńď à śĩmĩĺàŕ ćĥàĺĺēńĝē ţō ţĥē ēxēćũţōŕ Restarts the flow from the beginning + Ŕēśţàŕţś ţĥē ƒĺōŵ ƒŕōm ţĥē ƀēĝĩńńĩńĝ Restarts the flow from the beginning, while keeping the flow context + Ŕēśţàŕţś ţĥē ƒĺōŵ ƒŕōm ţĥē ƀēĝĩńńĩńĝ, ŵĥĩĺē ķēēƥĩńĝ ţĥē ƒĺōŵ ćōńţēxţ Configure how the flow executor should handle an invalid response to a challenge given by this bound stage. + Ćōńƒĩĝũŕē ĥōŵ ţĥē ƒĺōŵ ēxēćũţōŕ śĥōũĺď ĥàńďĺē àń ĩńvàĺĩď ŕēśƥōńśē ţō à ćĥàĺĺēńĝē ĝĩvēń ƀŷ ţĥĩś ƀōũńď śţàĝē. Successfully updated stage. + Śũććēśśƒũĺĺŷ ũƥďàţēď śţàĝē. Successfully created stage. + Śũććēśśƒũĺĺŷ ćŕēàţēď śţàĝē. Stage used to configure a duo-based authenticator. This stage should be used for configuration flows. + Śţàĝē ũśēď ţō ćōńƒĩĝũŕē à ďũō-ƀàśēď àũţĥēńţĩćàţōŕ. Ţĥĩś śţàĝē śĥōũĺď ƀē ũśēď ƒōŕ ćōńƒĩĝũŕàţĩōń ƒĺōŵś. Authenticator type name + Àũţĥēńţĩćàţōŕ ţŷƥē ńàmē Display name of this authenticator, used by users when they enroll an authenticator. + Ďĩśƥĺàŷ ńàmē ōƒ ţĥĩś àũţĥēńţĩćàţōŕ, ũśēď ƀŷ ũśēŕś ŵĥēń ţĥēŷ ēńŕōĺĺ àń àũţĥēńţĩćàţōŕ. API Hostname + ÀƤĨ Ĥōśţńàmē Duo Auth API + Ďũō Àũţĥ ÀƤĨ Integration key + Ĩńţēĝŕàţĩōń ķēŷ Secret key + Śēćŕēţ ķēŷ Duo Admin API (optional) + Ďũō Àďmĩń ÀƤĨ (ōƥţĩōńàĺ) When using a Duo MFA, Access or Beyond plan, an Admin API application can be created. This will allow authentik to import devices automatically. + Ŵĥēń ũśĩńĝ à Ďũō MƑÀ, Àććēśś ōŕ ßēŷōńď ƥĺàń, àń Àďmĩń ÀƤĨ àƥƥĺĩćàţĩōń ćàń ƀē ćŕēàţēď. + Ţĥĩś ŵĩĺĺ àĺĺōŵ àũţĥēńţĩķ ţō ĩmƥōŕţ ďēvĩćēś àũţōmàţĩćàĺĺŷ. Stage-specific settings + Śţàĝē-śƥēćĩƒĩć śēţţĩńĝś Configuration flow + Ćōńƒĩĝũŕàţĩōń ƒĺōŵ Flow used by an authenticated user to configure this Stage. If empty, user will not be able to configure this stage. + Ƒĺōŵ ũśēď ƀŷ àń àũţĥēńţĩćàţēď ũśēŕ ţō ćōńƒĩĝũŕē ţĥĩś Śţàĝē. Ĩƒ ēmƥţŷ, ũśēŕ ŵĩĺĺ ńōţ ƀē àƀĺē ţō ćōńƒĩĝũŕē ţĥĩś śţàĝē. Twilio Account SID + Ţŵĩĺĩō Àććōũńţ ŚĨĎ Get this value from https://console.twilio.com + Ĝēţ ţĥĩś vàĺũē ƒŕōm ĥţţƥś://ćōńśōĺē.ţŵĩĺĩō.ćōm Twilio Auth Token + Ţŵĩĺĩō Àũţĥ Ţōķēń Authentication Type + Àũţĥēńţĩćàţĩōń Ţŷƥē Basic Auth + ßàśĩć Àũţĥ Bearer Token + ßēàŕēŕ Ţōķēń External API URL + Ēxţēŕńàĺ ÀƤĨ ŨŔĹ This is the full endpoint to send POST requests to. + Ţĥĩś ĩś ţĥē ƒũĺĺ ēńďƥōĩńţ ţō śēńď ƤŌŚŢ ŕēǫũēśţś ţō. API Auth Username + ÀƤĨ Àũţĥ Ũśēŕńàmē This is the username to be used with basic auth or the token when used with bearer token + Ţĥĩś ĩś ţĥē ũśēŕńàmē ţō ƀē ũśēď ŵĩţĥ ƀàśĩć àũţĥ ōŕ ţĥē ţōķēń ŵĥēń ũśēď ŵĩţĥ ƀēàŕēŕ ţōķēń API Auth password + ÀƤĨ Àũţĥ ƥàśśŵōŕď This is the password to be used with basic auth + Ţĥĩś ĩś ţĥē ƥàśśŵōŕď ţō ƀē ũśēď ŵĩţĥ ƀàśĩć àũţĥ Mapping + Màƥƥĩńĝ Modify the payload sent to the custom provider. + Mōďĩƒŷ ţĥē ƥàŷĺōàď śēńţ ţō ţĥē ćũśţōm ƥŕōvĩďēŕ. Stage used to configure an SMS-based TOTP authenticator. + Śţàĝē ũśēď ţō ćōńƒĩĝũŕē àń ŚMŚ-ƀàśēď ŢŌŢƤ àũţĥēńţĩćàţōŕ. Twilio + Ţŵĩĺĩō Generic + Ĝēńēŕĩć From number + Ƒŕōm ńũmƀēŕ Number the SMS will be sent from. + Ńũmƀēŕ ţĥē ŚMŚ ŵĩĺĺ ƀē śēńţ ƒŕōm. Hash phone number + Ĥàśĥ ƥĥōńē ńũmƀēŕ If enabled, only a hash of the phone number will be saved. This can be done for data-protection reasons. Devices created from a stage with this enabled cannot be used with the authenticator validation stage. + Ĩƒ ēńàƀĺēď, ōńĺŷ à ĥàśĥ ōƒ ţĥē ƥĥōńē ńũmƀēŕ ŵĩĺĺ ƀē śàvēď. Ţĥĩś ćàń ƀē ďōńē ƒōŕ ďàţà-ƥŕōţēćţĩōń ŕēàśōńś. Ďēvĩćēś ćŕēàţēď ƒŕōm à śţàĝē ŵĩţĥ ţĥĩś ēńàƀĺēď ćàńńōţ ƀē ũśēď ŵĩţĥ ţĥē àũţĥēńţĩćàţōŕ vàĺĩďàţĩōń śţàĝē. Stage used to configure a static authenticator (i.e. static tokens). This stage should be used for configuration flows. + Śţàĝē ũśēď ţō ćōńƒĩĝũŕē à śţàţĩć àũţĥēńţĩćàţōŕ (ĩ.ē. śţàţĩć ţōķēńś). Ţĥĩś śţàĝē śĥōũĺď ƀē ũśēď ƒōŕ ćōńƒĩĝũŕàţĩōń ƒĺōŵś. Token count + Ţōķēń ćōũńţ Stage used to configure a TOTP authenticator (i.e. Authy/Google Authenticator). + Śţàĝē ũśēď ţō ćōńƒĩĝũŕē à ŢŌŢƤ àũţĥēńţĩćàţōŕ (ĩ.ē. Àũţĥŷ/Ĝōōĝĺē Àũţĥēńţĩćàţōŕ). Digits + Ďĩĝĩţś 6 digits, widely compatible + 6 ďĩĝĩţś, ŵĩďēĺŷ ćōmƥàţĩƀĺē 8 digits, not compatible with apps like Google Authenticator + 8 ďĩĝĩţś, ńōţ ćōmƥàţĩƀĺē ŵĩţĥ àƥƥś ĺĩķē Ĝōōĝĺē Àũţĥēńţĩćàţōŕ Stage used to validate any authenticator. This stage should be used during authentication or authorization flows. + Śţàĝē ũśēď ţō vàĺĩďàţē àńŷ àũţĥēńţĩćàţōŕ. Ţĥĩś śţàĝē śĥōũĺď ƀē ũśēď ďũŕĩńĝ àũţĥēńţĩćàţĩōń ōŕ àũţĥōŕĩźàţĩōń ƒĺōŵś. Device classes + Ďēvĩćē ćĺàśśēś Static Tokens + Śţàţĩć Ţōķēńś TOTP Authenticators + ŢŌŢƤ Àũţĥēńţĩćàţōŕś WebAuthn Authenticators + ŴēƀÀũţĥń Àũţĥēńţĩćàţōŕś Duo Authenticators + Ďũō Àũţĥēńţĩćàţōŕś SMS-based Authenticators + ŚMŚ-ƀàśēď Àũţĥēńţĩćàţōŕś Device classes which can be used to authenticate. + Ďēvĩćē ćĺàśśēś ŵĥĩćĥ ćàń ƀē ũśēď ţō àũţĥēńţĩćàţē. Last validation threshold + Ĺàśţ vàĺĩďàţĩōń ţĥŕēśĥōĺď If any of the devices user of the types selected above have been used within this duration, this stage will be skipped. + Ĩƒ àńŷ ōƒ ţĥē ďēvĩćēś ũśēŕ ōƒ ţĥē ţŷƥēś śēĺēćţēď àƀōvē ĥàvē ƀēēń ũśēď ŵĩţĥĩń ţĥĩś ďũŕàţĩōń, ţĥĩś śţàĝē ŵĩĺĺ ƀē śķĩƥƥēď. Not configured action + Ńōţ ćōńƒĩĝũŕēď àćţĩōń Force the user to configure an authenticator + Ƒōŕćē ţĥē ũśēŕ ţō ćōńƒĩĝũŕē àń àũţĥēńţĩćàţōŕ Deny the user access + Ďēńŷ ţĥē ũśēŕ àććēśś WebAuthn User verification + ŴēƀÀũţĥń Ũśēŕ vēŕĩƒĩćàţĩōń User verification must occur. + Ũśēŕ vēŕĩƒĩćàţĩōń mũśţ ōććũŕ. User verification is preferred if available, but not required. + Ũśēŕ vēŕĩƒĩćàţĩōń ĩś ƥŕēƒēŕŕēď ĩƒ àvàĩĺàƀĺē, ƀũţ ńōţ ŕēǫũĩŕēď. User verification should not occur. + Ũśēŕ vēŕĩƒĩćàţĩōń śĥōũĺď ńōţ ōććũŕ. Configuration stages + Ćōńƒĩĝũŕàţĩōń śţàĝēś Stages used to configure Authenticator when user doesn't have any compatible devices. After this configuration Stage passes, the user is not prompted again. + Śţàĝēś ũśēď ţō ćōńƒĩĝũŕē Àũţĥēńţĩćàţōŕ ŵĥēń ũśēŕ ďōēśń'ţ ĥàvē àńŷ ćōmƥàţĩƀĺē ďēvĩćēś. Àƒţēŕ ţĥĩś ćōńƒĩĝũŕàţĩōń Śţàĝē ƥàśśēś, ţĥē ũśēŕ ĩś ńōţ ƥŕōmƥţēď àĝàĩń. When multiple stages are selected, the user can choose which one they want to enroll. + Ŵĥēń mũĺţĩƥĺē śţàĝēś àŕē śēĺēćţēď, ţĥē ũśēŕ ćàń ćĥōōśē ŵĥĩćĥ ōńē ţĥēŷ ŵàńţ ţō ēńŕōĺĺ. User verification + Ũśēŕ vēŕĩƒĩćàţĩōń Resident key requirement + Ŕēśĩďēńţ ķēŷ ŕēǫũĩŕēmēńţ Authenticator Attachment + Àũţĥēńţĩćàţōŕ Àţţàćĥmēńţ No preference is sent + Ńō ƥŕēƒēŕēńćē ĩś śēńţ A non-removable authenticator, like TouchID or Windows Hello + À ńōń-ŕēmōvàƀĺē àũţĥēńţĩćàţōŕ, ĺĩķē ŢōũćĥĨĎ ōŕ Ŵĩńďōŵś Ĥēĺĺō A "roaming" authenticator, like a YubiKey + À "ŕōàmĩńĝ" àũţĥēńţĩćàţōŕ, ĺĩķē à ŶũƀĩĶēŷ This stage checks the user's current session against the Google reCaptcha (or compatible) service. + Ţĥĩś śţàĝē ćĥēćķś ţĥē ũśēŕ'ś ćũŕŕēńţ śēśśĩōń àĝàĩńśţ ţĥē Ĝōōĝĺē ŕēĆàƥţćĥà (ōŕ ćōmƥàţĩƀĺē) śēŕvĩćē. Public Key + Ƥũƀĺĩć Ķēŷ Public key, acquired from https://www.google.com/recaptcha/intro/v3.html. + Ƥũƀĺĩć ķēŷ, àćǫũĩŕēď ƒŕōm ĥţţƥś://ŵŵŵ.ĝōōĝĺē.ćōm/ŕēćàƥţćĥà/ĩńţŕō/v3.ĥţmĺ. Private Key + Ƥŕĩvàţē Ķēŷ Private key, acquired from https://www.google.com/recaptcha/intro/v3.html. + Ƥŕĩvàţē ķēŷ, àćǫũĩŕēď ƒŕōm ĥţţƥś://ŵŵŵ.ĝōōĝĺē.ćōm/ŕēćàƥţćĥà/ĩńţŕō/v3.ĥţmĺ. Advanced settings + Àďvàńćēď śēţţĩńĝś JS URL + ĵŚ ŨŔĹ URL to fetch JavaScript from, defaults to recaptcha. Can be replaced with any compatible alternative. + ŨŔĹ ţō ƒēţćĥ ĵàvàŚćŕĩƥţ ƒŕōm, ďēƒàũĺţś ţō ŕēćàƥţćĥà. Ćàń ƀē ŕēƥĺàćēď ŵĩţĥ àńŷ ćōmƥàţĩƀĺē àĺţēŕńàţĩvē. API URL + ÀƤĨ ŨŔĹ URL used to validate captcha response, defaults to recaptcha. Can be replaced with any compatible alternative. + ŨŔĹ ũśēď ţō vàĺĩďàţē ćàƥţćĥà ŕēśƥōńśē, ďēƒàũĺţś ţō ŕēćàƥţćĥà. Ćàń ƀē ŕēƥĺàćēď ŵĩţĥ àńŷ ćōmƥàţĩƀĺē àĺţēŕńàţĩvē. Prompt for the user's consent. The consent can either be permanent or expire in a defined amount of time. + Ƥŕōmƥţ ƒōŕ ţĥē ũśēŕ'ś ćōńśēńţ. Ţĥē ćōńśēńţ ćàń ēĩţĥēŕ ƀē ƥēŕmàńēńţ ōŕ ēxƥĩŕē ĩń à ďēƒĩńēď àmōũńţ ōƒ ţĩmē. Always require consent + Àĺŵàŷś ŕēǫũĩŕē ćōńśēńţ Consent given last indefinitely + Ćōńśēńţ ĝĩvēń ĺàśţ ĩńďēƒĩńĩţēĺŷ Consent expires. + Ćōńśēńţ ēxƥĩŕēś. Consent expires in + Ćōńśēńţ ēxƥĩŕēś ĩń Offset after which consent expires. + Ōƒƒśēţ àƒţēŕ ŵĥĩćĥ ćōńśēńţ ēxƥĩŕēś. Dummy stage used for testing. Shows a simple continue button and always passes. + Ďũmmŷ śţàĝē ũśēď ƒōŕ ţēśţĩńĝ. Śĥōŵś à śĩmƥĺē ćōńţĩńũē ƀũţţōń àńď àĺŵàŷś ƥàśśēś. Throw error? + Ţĥŕōŵ ēŕŕōŕ? SMTP Host + ŚMŢƤ Ĥōśţ SMTP Port + ŚMŢƤ Ƥōŕţ SMTP Username + ŚMŢƤ Ũśēŕńàmē SMTP Password + ŚMŢƤ Ƥàśśŵōŕď Use TLS + Ũśē ŢĹŚ Use SSL + Ũśē ŚŚĹ From address + Ƒŕōm àďďŕēśś Verify the user's email address by sending them a one-time-link. Can also be used for recovery to verify the user's authenticity. + Vēŕĩƒŷ ţĥē ũśēŕ'ś ēmàĩĺ àďďŕēśś ƀŷ śēńďĩńĝ ţĥēm à ōńē-ţĩmē-ĺĩńķ. Ćàń àĺśō ƀē ũśēď ƒōŕ ŕēćōvēŕŷ ţō vēŕĩƒŷ ţĥē ũśēŕ'ś àũţĥēńţĩćĩţŷ. Activate pending user on success + Àćţĩvàţē ƥēńďĩńĝ ũśēŕ ōń śũććēśś When a user returns from the email successfully, their account will be activated. + Ŵĥēń à ũśēŕ ŕēţũŕńś ƒŕōm ţĥē ēmàĩĺ śũććēśśƒũĺĺŷ, ţĥēĩŕ àććōũńţ ŵĩĺĺ ƀē àćţĩvàţēď. Use global settings + Ũśē ĝĺōƀàĺ śēţţĩńĝś When enabled, global Email connection settings will be used and connection settings below will be ignored. + Ŵĥēń ēńàƀĺēď, ĝĺōƀàĺ Ēmàĩĺ ćōńńēćţĩōń śēţţĩńĝś ŵĩĺĺ ƀē ũśēď àńď ćōńńēćţĩōń śēţţĩńĝś ƀēĺōŵ ŵĩĺĺ ƀē ĩĝńōŕēď. Token expiry + Ţōķēń ēxƥĩŕŷ Time in minutes the token sent is valid. + Ţĩmē ĩń mĩńũţēś ţĥē ţōķēń śēńţ ĩś vàĺĩď. Template + Ţēmƥĺàţē Let the user identify themselves with their username or Email address. + Ĺēţ ţĥē ũśēŕ ĩďēńţĩƒŷ ţĥēmśēĺvēś ŵĩţĥ ţĥēĩŕ ũśēŕńàmē ōŕ Ēmàĩĺ àďďŕēśś. User fields + Ũśēŕ ƒĩēĺďś UPN + ŨƤŃ Fields a user can identify themselves with. If no fields are selected, the user will only be able to use sources. + Ƒĩēĺďś à ũśēŕ ćàń ĩďēńţĩƒŷ ţĥēmśēĺvēś ŵĩţĥ. Ĩƒ ńō ƒĩēĺďś àŕē śēĺēćţēď, ţĥē ũśēŕ ŵĩĺĺ ōńĺŷ ƀē àƀĺē ţō ũśē śōũŕćēś. Password stage + Ƥàśśŵōŕď śţàĝē When selected, a password field is shown on the same page instead of a separate page. This prevents username enumeration attacks. + Ŵĥēń śēĺēćţēď, à ƥàśśŵōŕď ƒĩēĺď ĩś śĥōŵń ōń ţĥē śàmē ƥàĝē ĩńśţēàď ōƒ à śēƥàŕàţē ƥàĝē. Ţĥĩś ƥŕēvēńţś ũśēŕńàmē ēńũmēŕàţĩōń àţţàćķś. Case insensitive matching + Ćàśē ĩńśēńśĩţĩvē màţćĥĩńĝ When enabled, user fields are matched regardless of their casing. + Ŵĥēń ēńàƀĺēď, ũśēŕ ƒĩēĺďś àŕē màţćĥēď ŕēĝàŕďĺēśś ōƒ ţĥēĩŕ ćàśĩńĝ. Show matched user + Śĥōŵ màţćĥēď ũśēŕ When a valid username/email has been entered, and this option is enabled, the user's username and avatar will be shown. Otherwise, the text that the user entered will be shown. + Ŵĥēń à vàĺĩď ũśēŕńàmē/ēmàĩĺ ĥàś ƀēēń ēńţēŕēď, àńď ţĥĩś ōƥţĩōń ĩś ēńàƀĺēď, ţĥē ũśēŕ'ś ũśēŕńàmē àńď àvàţàŕ ŵĩĺĺ ƀē śĥōŵń. Ōţĥēŕŵĩśē, ţĥē ţēxţ ţĥàţ ţĥē ũśēŕ ēńţēŕēď ŵĩĺĺ ƀē śĥōŵń. Source settings + Śōũŕćē śēţţĩńĝś Sources + Śōũŕćēś Select sources should be shown for users to authenticate with. This only affects web-based sources, not LDAP. + Śēĺēćţ śōũŕćēś śĥōũĺď ƀē śĥōŵń ƒōŕ ũśēŕś ţō àũţĥēńţĩćàţē ŵĩţĥ. Ţĥĩś ōńĺŷ àƒƒēćţś ŵēƀ-ƀàśēď śōũŕćēś, ńōţ ĹĎÀƤ. Show sources' labels + Śĥōŵ śōũŕćēś' ĺàƀēĺś By default, only icons are shown for sources. Enable this to show their full names. + ßŷ ďēƒàũĺţ, ōńĺŷ ĩćōńś àŕē śĥōŵń ƒōŕ śōũŕćēś. Ēńàƀĺē ţĥĩś ţō śĥōŵ ţĥēĩŕ ƒũĺĺ ńàmēś. Passwordless flow + Ƥàśśŵōŕďĺēśś ƒĺōŵ Optional passwordless flow, which is linked at the bottom of the page. When configured, users can use this flow to authenticate with a WebAuthn authenticator, without entering any details. + Ōƥţĩōńàĺ ƥàśśŵōŕďĺēśś ƒĺōŵ, ŵĥĩćĥ ĩś ĺĩńķēď àţ ţĥē ƀōţţōm ōƒ ţĥē ƥàĝē. Ŵĥēń ćōńƒĩĝũŕēď, ũśēŕś ćàń ũśē ţĥĩś ƒĺōŵ ţō àũţĥēńţĩćàţē ŵĩţĥ à ŴēƀÀũţĥń àũţĥēńţĩćàţōŕ, ŵĩţĥōũţ ēńţēŕĩńĝ àńŷ ďēţàĩĺś. Optional enrollment flow, which is linked at the bottom of the page. + Ōƥţĩōńàĺ ēńŕōĺĺmēńţ ƒĺōŵ, ŵĥĩćĥ ĩś ĺĩńķēď àţ ţĥē ƀōţţōm ōƒ ţĥē ƥàĝē. Optional recovery flow, which is linked at the bottom of the page. + Ōƥţĩōńàĺ ŕēćōvēŕŷ ƒĺōŵ, ŵĥĩćĥ ĩś ĺĩńķēď àţ ţĥē ƀōţţōm ōƒ ţĥē ƥàĝē. This stage can be included in enrollment flows to accept invitations. + Ţĥĩś śţàĝē ćàń ƀē ĩńćĺũďēď ĩń ēńŕōĺĺmēńţ ƒĺōŵś ţō àććēƥţ ĩńvĩţàţĩōńś. Continue flow without invitation + Ćōńţĩńũē ƒĺōŵ ŵĩţĥōũţ ĩńvĩţàţĩōń If this flag is set, this Stage will jump to the next Stage when no Invitation is given. By default this Stage will cancel the Flow when no invitation is given. + Ĩƒ ţĥĩś ƒĺàĝ ĩś śēţ, ţĥĩś Śţàĝē ŵĩĺĺ Ĵũmƥ ţō ţĥē ńēxţ Śţàĝē ŵĥēń ńō Ĩńvĩţàţĩōń ĩś ĝĩvēń. ßŷ ďēƒàũĺţ ţĥĩś Śţàĝē ŵĩĺĺ ćàńćēĺ ţĥē Ƒĺōŵ ŵĥēń ńō ĩńvĩţàţĩōń ĩś ĝĩvēń. Validate the user's password against the selected backend(s). + Vàĺĩďàţē ţĥē ũśēŕ'ś ƥàśśŵōŕď àĝàĩńśţ ţĥē śēĺēćţēď ƀàćķēńď(ś). Backends + ßàćķēńďś User database + standard password + Ũśēŕ ďàţàƀàśē + śţàńďàŕď ƥàśśŵōŕď User database + app passwords + Ũśēŕ ďàţàƀàśē + àƥƥ ƥàśśŵōŕďś User database + LDAP password + Ũśēŕ ďàţàƀàśē + ĹĎÀƤ ƥàśśŵōŕď Selection of backends to test the password against. + Śēĺēćţĩōń ōƒ ƀàćķēńďś ţō ţēśţ ţĥē ƥàśśŵōŕď àĝàĩńśţ. Flow used by an authenticated user to configure their password. If empty, user will not be able to configure change their password. + Ƒĺōŵ ũśēď ƀŷ àń àũţĥēńţĩćàţēď ũśēŕ ţō ćōńƒĩĝũŕē ţĥēĩŕ ƥàśśŵōŕď. Ĩƒ ēmƥţŷ, ũśēŕ ŵĩĺĺ ńōţ ƀē àƀĺē ţō ćōńƒĩĝũŕē ćĥàńĝē ţĥēĩŕ ƥàśśŵōŕď. Failed attempts before cancel + Ƒàĩĺēď àţţēmƥţś ƀēƒōŕē ćàńćēĺ How many attempts a user has before the flow is canceled. To lock the user out, use a reputation policy and a user_write stage. + Ĥōŵ màńŷ àţţēmƥţś à ũśēŕ ĥàś ƀēƒōŕē ţĥē ƒĺōŵ ĩś ćàńćēĺēď. Ţō ĺōćķ ţĥē ũśēŕ ōũţ, ũśē à ŕēƥũţàţĩōń ƥōĺĩćŷ àńď à ũśēŕ_ŵŕĩţē śţàĝē. Show arbitrary input fields to the user, for example during enrollment. Data is saved in the flow context under the 'prompt_data' variable. + Śĥōŵ àŕƀĩţŕàŕŷ ĩńƥũţ ƒĩēĺďś ţō ţĥē ũśēŕ, ƒōŕ ēxàmƥĺē ďũŕĩńĝ ēńŕōĺĺmēńţ. Ďàţà ĩś śàvēď ĩń ţĥē ƒĺōŵ ćōńţēxţ ũńďēŕ ţĥē 'ƥŕōmƥţ_ďàţà' vàŕĩàƀĺē. Fields + Ƒĩēĺďś ("", of type ) + ("", ōƒ ţŷƥē ) Validation Policies + Vàĺĩďàţĩōń Ƥōĺĩćĩēś Selected policies are executed when the stage is submitted to validate the data. + Śēĺēćţēď ƥōĺĩćĩēś àŕē ēxēćũţēď ŵĥēń ţĥē śţàĝē ĩś śũƀmĩţţēď ţō vàĺĩďàţē ţĥē ďàţà. Delete the currently pending user. CAUTION, this stage does not ask for confirmation. Use a consent stage to ensure the user is aware of their actions. + Ďēĺēţē ţĥē ćũŕŕēńţĺŷ ƥēńďĩńĝ ũśēŕ. ĆÀŨŢĨŌŃ, ţĥĩś śţàĝē ďōēś ńōţ àśķ ƒōŕ ćōńƒĩŕmàţĩōń. Ũśē à ćōńśēńţ śţàĝē ţō ēńśũŕē ţĥē ũśēŕ ĩś àŵàŕē ōƒ ţĥēĩŕ àćţĩōńś. Log the currently pending user in. + Ĺōĝ ţĥē ćũŕŕēńţĺŷ ƥēńďĩńĝ ũśēŕ ĩń. Session duration + Śēśśĩōń ďũŕàţĩōń Determines how long a session lasts. Default of 0 seconds means that the sessions lasts until the browser is closed. + Ďēţēŕmĩńēś ĥōŵ ĺōńĝ à śēśśĩōń ĺàśţś. Ďēƒàũĺţ ōƒ 0 śēćōńďś mēàńś ţĥàţ ţĥē śēśśĩōńś ĺàśţś ũńţĩĺ ţĥē ƀŕōŵśēŕ ĩś ćĺōśēď. Different browsers handle session cookies differently, and might not remove them even when the browser is closed. + Ďĩƒƒēŕēńţ ƀŕōŵśēŕś ĥàńďĺē śēśśĩōń ćōōķĩēś ďĩƒƒēŕēńţĺŷ, àńď mĩĝĥţ ńōţ ŕēmōvē ţĥēm ēvēń ŵĥēń ţĥē ƀŕōŵśēŕ ĩś ćĺōśēď. See here. + Śēē ĥēŕē. Stay signed in offset + Śţàŷ śĩĝńēď ĩń ōƒƒśēţ If set to a duration above 0, the user will have the option to choose to "stay signed in", which will extend their session by the time specified here. + Ĩƒ śēţ ţō à ďũŕàţĩōń àƀōvē 0, ţĥē ũśēŕ ŵĩĺĺ ĥàvē ţĥē ōƥţĩōń ţō ćĥōōśē ţō "śţàŷ śĩĝńēď ĩń", ŵĥĩćĥ ŵĩĺĺ ēxţēńď ţĥēĩŕ śēśśĩōń ƀŷ ţĥē ţĩmē śƥēćĩƒĩēď ĥēŕē. Terminate other sessions + Ţēŕmĩńàţē ōţĥēŕ śēśśĩōńś When enabled, all previous sessions of the user will be terminated. + Ŵĥēń ēńàƀĺēď, àĺĺ ƥŕēvĩōũś śēśśĩōńś ōƒ ţĥē ũśēŕ ŵĩĺĺ ƀē ţēŕmĩńàţēď. Remove the user from the current session. + Ŕēmōvē ţĥē ũśēŕ ƒŕōm ţĥē ćũŕŕēńţ śēśśĩōń. Write any data from the flow's context's 'prompt_data' to the currently pending user. If no user is pending, a new user is created, and data is written to them. + Ŵŕĩţē àńŷ ďàţà ƒŕōm ţĥē ƒĺōŵ'ś ćōńţēxţ'ś 'ƥŕōmƥţ_ďàţà' ţō ţĥē ćũŕŕēńţĺŷ ƥēńďĩńĝ ũśēŕ. Ĩƒ ńō ũśēŕ + ĩś ƥēńďĩńĝ, à ńēŵ ũśēŕ ĩś ćŕēàţēď, àńď ďàţà ĩś ŵŕĩţţēń ţō ţĥēm. Never create users + Ńēvēŕ ćŕēàţē ũśēŕś When no user is present in the flow context, the stage will fail. + Ŵĥēń ńō ũśēŕ ĩś ƥŕēśēńţ ĩń ţĥē ƒĺōŵ ćōńţēxţ, ţĥē śţàĝē ŵĩĺĺ ƒàĩĺ. Create users when required + Ćŕēàţē ũśēŕś ŵĥēń ŕēǫũĩŕēď When no user is present in the the flow context, a new user is created. + Ŵĥēń ńō ũśēŕ ĩś ƥŕēśēńţ ĩń ţĥē ţĥē ƒĺōŵ ćōńţēxţ, à ńēŵ ũśēŕ ĩś ćŕēàţēď. Always create new users + Àĺŵàŷś ćŕēàţē ńēŵ ũśēŕś Create a new user even if a user is in the flow context. + Ćŕēàţē à ńēŵ ũśēŕ ēvēń ĩƒ à ũśēŕ ĩś ĩń ţĥē ƒĺōŵ ćōńţēxţ. Create users as inactive + Ćŕēàţē ũśēŕś àś ĩńàćţĩvē Mark newly created users as inactive. + Màŕķ ńēŵĺŷ ćŕēàţēď ũśēŕś àś ĩńàćţĩvē. User path template + Ũśēŕ ƥàţĥ ţēmƥĺàţē Path new users will be created under. If left blank, the default path will be used. + Ƥàţĥ ńēŵ ũśēŕś ŵĩĺĺ ƀē ćŕēàţēď ũńďēŕ. Ĩƒ ĺēƒţ ƀĺàńķ, ţĥē ďēƒàũĺţ ƥàţĥ ŵĩĺĺ ƀē ũśēď. Newly created users are added to this group, if a group is selected. + Ńēŵĺŷ ćŕēàţēď ũśēŕś àŕē àďďēď ţō ţĥĩś ĝŕōũƥ, ĩƒ à ĝŕōũƥ ĩś śēĺēćţēď. New stage + Ńēŵ śţàĝē Create a new stage. + Ćŕēàţē à ńēŵ śţàĝē. Successfully imported device. + Śũććēśśƒũĺĺŷ ĩmƥōŕţēď ďēvĩćē. The user in authentik this device will be assigned to. + Ţĥē ũśēŕ ĩń àũţĥēńţĩķ ţĥĩś ďēvĩćē ŵĩĺĺ ƀē àśśĩĝńēď ţō. Duo User ID + Ďũō Ũśēŕ ĨĎ The user ID in Duo, can be found in the URL after clicking on a user. + Ţĥē ũśēŕ ĨĎ ĩń Ďũō, ćàń ƀē ƒōũńď ĩń ţĥē ŨŔĹ àƒţēŕ ćĺĩćķĩńĝ ōń à ũśēŕ. Automatic import + Àũţōmàţĩć ĩmƥōŕţ Successfully imported devices. + Śũććēśśƒũĺĺŷ ĩmƥōŕţēď ďēvĩćēś. Start automatic import + Śţàŕţ àũţōmàţĩć ĩmƥōŕţ Or manually import + Ōŕ màńũàĺĺŷ ĩmƥōŕţ Stages are single steps of a Flow that a user is guided through. A stage can only be executed from within a flow. + Śţàĝēś àŕē śĩńĝĺē śţēƥś ōƒ à Ƒĺōŵ ţĥàţ à ũśēŕ ĩś ĝũĩďēď ţĥŕōũĝĥ. À śţàĝē ćàń ōńĺŷ ƀē ēxēćũţēď ƒŕōm ŵĩţĥĩń à ƒĺōŵ. Flows + Ƒĺōŵś Stage(s) + Śţàĝē(ś) Import + Ĩmƥōŕţ Import Duo device + Ĩmƥōŕţ Ďũō ďēvĩćē Successfully updated flow. + Śũććēśśƒũĺĺŷ ũƥďàţēď ƒĺōŵ. Successfully created flow. + Śũććēśśƒũĺĺŷ ćŕēàţēď ƒĺōŵ. Shown as the Title in Flow pages. + Śĥōŵń àś ţĥē Ţĩţĺē ĩń Ƒĺōŵ ƥàĝēś. Visible in the URL. + Vĩśĩƀĺē ĩń ţĥē ŨŔĹ. Designation + Ďēśĩĝńàţĩōń Decides what this Flow is used for. For example, the Authentication flow is redirect to when an un-authenticated user visits authentik. + Ďēćĩďēś ŵĥàţ ţĥĩś Ƒĺōŵ ĩś ũśēď ƒōŕ. Ƒōŕ ēxàmƥĺē, ţĥē Àũţĥēńţĩćàţĩōń ƒĺōŵ ĩś ŕēďĩŕēćţ ţō ŵĥēń àń ũń-àũţĥēńţĩćàţēď ũśēŕ vĩśĩţś àũţĥēńţĩķ. No requirement + Ńō ŕēǫũĩŕēmēńţ Require authentication + Ŕēǫũĩŕē àũţĥēńţĩćàţĩōń Require no authentication. + Ŕēǫũĩŕē ńō àũţĥēńţĩćàţĩōń. Require superuser. + Ŕēǫũĩŕē śũƥēŕũśēŕ. Required authentication level for this flow. + Ŕēǫũĩŕēď àũţĥēńţĩćàţĩōń ĺēvēĺ ƒōŕ ţĥĩś ƒĺōŵ. Behavior settings + ßēĥàvĩōŕ śēţţĩńĝś Compatibility mode + Ćōmƥàţĩƀĩĺĩţŷ mōďē Increases compatibility with password managers and mobile devices. + Ĩńćŕēàśēś ćōmƥàţĩƀĩĺĩţŷ ŵĩţĥ ƥàśśŵōŕď màńàĝēŕś àńď mōƀĩĺē ďēvĩćēś. Denied action + Ďēńĩēď àćţĩōń Will follow the ?next parameter if set, otherwise show a message + Ŵĩĺĺ ƒōĺĺōŵ ţĥē ?ńēxţ ƥàŕàmēţēŕ ĩƒ śēţ, ōţĥēŕŵĩśē śĥōŵ à mēśśàĝē Will either follow the ?next parameter or redirect to the default interface + Ŵĩĺĺ ēĩţĥēŕ ƒōĺĺōŵ ţĥē ?ńēxţ ƥàŕàmēţēŕ ōŕ ŕēďĩŕēćţ ţō ţĥē ďēƒàũĺţ ĩńţēŕƒàćē Will notify the user the flow isn't applicable + Ŵĩĺĺ ńōţĩƒŷ ţĥē ũśēŕ ţĥē ƒĺōŵ ĩśń'ţ àƥƥĺĩćàƀĺē Decides the response when a policy denies access to this flow for a user. + Ďēćĩďēś ţĥē ŕēśƥōńśē ŵĥēń à ƥōĺĩćŷ ďēńĩēś àććēśś ţō ţĥĩś ƒĺōŵ ƒōŕ à ũśēŕ. Appearance settings + Àƥƥēàŕàńćē śēţţĩńĝś Layout + Ĺàŷōũţ Background + ßàćķĝŕōũńď Background shown during execution. + ßàćķĝŕōũńď śĥōŵń ďũŕĩńĝ ēxēćũţĩōń. Clear background + Ćĺēàŕ ƀàćķĝŕōũńď Delete currently set background image. + Ďēĺēţē ćũŕŕēńţĺŷ śēţ ƀàćķĝŕōũńď ĩmàĝē. Successfully imported flow. + Śũććēśśƒũĺĺŷ ĩmƥōŕţēď ƒĺōŵ. .yaml files, which can be found on goauthentik.io and can be exported by authentik. + .ŷàmĺ ƒĩĺēś, ŵĥĩćĥ ćàń ƀē ƒōũńď ōń ĝōàũţĥēńţĩķ.ĩō àńď ćàń ƀē ēxƥōŕţēď ƀŷ àũţĥēńţĩķ. Flows describe a chain of Stages to authenticate, enroll or recover a user. Stages are chosen based on policies applied to them. + Ƒĺōŵś ďēśćŕĩƀē à ćĥàĩń ōƒ Śţàĝēś ţō àũţĥēńţĩćàţē, ēńŕōĺĺ ōŕ ŕēćōvēŕ à ũśēŕ. Śţàĝēś àŕē ćĥōśēń ƀàśēď ōń ƥōĺĩćĩēś àƥƥĺĩēď ţō ţĥēm. Flow(s) + Ƒĺōŵ(ś) Update Flow + Ũƥďàţē Ƒĺōŵ Create Flow + Ćŕēàţē Ƒĺōŵ Import Flow + Ĩmƥōŕţ Ƒĺōŵ Successfully cleared flow cache + Śũććēśśƒũĺĺŷ ćĺēàŕēď ƒĺōŵ ćàćĥē Failed to delete flow cache + Ƒàĩĺēď ţō ďēĺēţē ƒĺōŵ ćàćĥē Clear Flow cache + Ćĺēàŕ Ƒĺōŵ ćàćĥē Are you sure you want to clear the flow cache? This will cause all flows to be re-evaluated on their next usage. + Àŕē ŷōũ śũŕē ŷōũ ŵàńţ ţō ćĺēàŕ ţĥē ƒĺōŵ ćàćĥē? + Ţĥĩś ŵĩĺĺ ćàũśē àĺĺ ƒĺōŵś ţō ƀē ŕē-ēvàĺũàţēď ōń ţĥēĩŕ ńēxţ ũśàĝē. Stage binding(s) + Śţàĝē ƀĩńďĩńĝ(ś) Stage type + Śţàĝē ţŷƥē Edit Stage + Ēďĩţ Śţàĝē Update Stage binding + Ũƥďàţē Śţàĝē ƀĩńďĩńĝ These bindings control if this stage will be applied to the flow. + Ţĥēśē ƀĩńďĩńĝś ćōńţŕōĺ ĩƒ ţĥĩś śţàĝē ŵĩĺĺ ƀē àƥƥĺĩēď ţō ţĥē ƒĺōŵ. No Stages bound + Ńō Śţàĝēś ƀōũńď No stages are currently bound to this flow. + Ńō śţàĝēś àŕē ćũŕŕēńţĺŷ ƀōũńď ţō ţĥĩś ƒĺōŵ. Create Stage binding + Ćŕēàţē Śţàĝē ƀĩńďĩńĝ Bind stage + ßĩńď śţàĝē Bind existing stage + ßĩńď ēxĩśţĩńĝ śţàĝē Flow Overview + Ƒĺōŵ Ōvēŕvĩēŵ Related actions + Ŕēĺàţēď àćţĩōńś Execute flow + Ēxēćũţē ƒĺōŵ Normal + Ńōŕmàĺ with current user + ŵĩţĥ ćũŕŕēńţ ũśēŕ with inspector + ŵĩţĥ ĩńśƥēćţōŕ Export flow + Ēxƥōŕţ ƒĺōŵ Export + Ēxƥōŕţ Stage Bindings + Śţàĝē ßĩńďĩńĝś These bindings control which users can access this flow. + Ţĥēśē ƀĩńďĩńĝś ćōńţŕōĺ ŵĥĩćĥ ũśēŕś ćàń àććēśś ţĥĩś ƒĺōŵ. Event Log + Ēvēńţ Ĺōĝ Event + Ēvēńţ Event info + Ēvēńţ ĩńƒō Created + Ćŕēàţēď Successfully updated transport. + Śũććēśśƒũĺĺŷ ũƥďàţēď ţŕàńśƥōŕţ. Successfully created transport. + Śũććēśśƒũĺĺŷ ćŕēàţēď ţŕàńśƥōŕţ. Local (notifications will be created within authentik) + Ĺōćàĺ (ńōţĩƒĩćàţĩōńś ŵĩĺĺ ƀē ćŕēàţēď ŵĩţĥĩń àũţĥēńţĩķ) Webhook (generic) + Ŵēƀĥōōķ (ĝēńēŕĩć) Webhook (Slack/Discord) + Ŵēƀĥōōķ (Śĺàćķ/Ďĩśćōŕď) Webhook URL + Ŵēƀĥōōķ ŨŔĹ Webhook Mapping + Ŵēƀĥōōķ Màƥƥĩńĝ Send once + Śēńď ōńćē Only send notification once, for example when sending a webhook into a chat channel. + Ōńĺŷ śēńď ńōţĩƒĩćàţĩōń ōńćē, ƒōŕ ēxàmƥĺē ŵĥēń śēńďĩńĝ à ŵēƀĥōōķ ĩńţō à ćĥàţ ćĥàńńēĺ. Notification Transports + Ńōţĩƒĩćàţĩōń Ţŕàńśƥōŕţś Define how notifications are sent to users, like Email or Webhook. + Ďēƒĩńē ĥōŵ ńōţĩƒĩćàţĩōńś àŕē śēńţ ţō ũśēŕś, ĺĩķē Ēmàĩĺ ōŕ Ŵēƀĥōōķ. Notification transport(s) + Ńōţĩƒĩćàţĩōń ţŕàńśƥōŕţ(ś) Update Notification Transport + Ũƥďàţē Ńōţĩƒĩćàţĩōń Ţŕàńśƥōŕţ Create Notification Transport + Ćŕēàţē Ńōţĩƒĩćàţĩōń Ţŕàńśƥōŕţ Successfully updated rule. + Śũććēśśƒũĺĺŷ ũƥďàţēď ŕũĺē. Successfully created rule. + Śũććēśśƒũĺĺŷ ćŕēàţēď ŕũĺē. Select the group of users which the alerts are sent to. If no group is selected the rule is disabled. + Śēĺēćţ ţĥē ĝŕōũƥ ōƒ ũśēŕś ŵĥĩćĥ ţĥē àĺēŕţś àŕē śēńţ ţō. Ĩƒ ńō ĝŕōũƥ ĩś śēĺēćţēď ţĥē ŕũĺē ĩś ďĩśàƀĺēď. Transports + Ţŕàńśƥōŕţś Select which transports should be used to notify the user. If none are selected, the notification will only be shown in the authentik UI. + Śēĺēćţ ŵĥĩćĥ ţŕàńśƥōŕţś śĥōũĺď ƀē ũśēď ţō ńōţĩƒŷ ţĥē ũśēŕ. Ĩƒ ńōńē àŕē śēĺēćţēď, ţĥē ńōţĩƒĩćàţĩōń ŵĩĺĺ ōńĺŷ ƀē śĥōŵń ĩń ţĥē àũţĥēńţĩķ ŨĨ. Severity + Śēvēŕĩţŷ Notification Rules + Ńōţĩƒĩćàţĩōń Ŕũĺēś Send notifications whenever a specific Event is created and matched by policies. + Śēńď ńōţĩƒĩćàţĩōńś ŵĥēńēvēŕ à śƥēćĩƒĩć Ēvēńţ ĩś ćŕēàţēď àńď màţćĥēď ƀŷ ƥōĺĩćĩēś. Sent to group + Śēńţ ţō ĝŕōũƥ Notification rule(s) + Ńōţĩƒĩćàţĩōń ŕũĺē(ś) None (rule disabled) + Ńōńē (ŕũĺē ďĩśàƀĺēď) Update Notification Rule + Ũƥďàţē Ńōţĩƒĩćàţĩōń Ŕũĺē Create Notification Rule + Ćŕēàţē Ńōţĩƒĩćàţĩōń Ŕũĺē These bindings control upon which events this rule triggers. Bindings to groups/users are checked against the user of the event. + Ţĥēśē ƀĩńďĩńĝś ćōńţŕōĺ ũƥōń ŵĥĩćĥ ēvēńţś ţĥĩś ŕũĺē ţŕĩĝĝēŕś. +ßĩńďĩńĝś ţō ĝŕōũƥś/ũśēŕś àŕē ćĥēćķēď àĝàĩńśţ ţĥē ũśēŕ ōƒ ţĥē ēvēńţ. Outpost Deployment Info + Ōũţƥōśţ Ďēƥĺōŷmēńţ Ĩńƒō View deployment documentation + Vĩēŵ ďēƥĺōŷmēńţ ďōćũmēńţàţĩōń Click to copy token + Ćĺĩćķ ţō ćōƥŷ ţōķēń If your authentik Instance is using a self-signed certificate, set this value. + Ĩƒ ŷōũŕ àũţĥēńţĩķ Ĩńśţàńćē ĩś ũśĩńĝ à śēĺƒ-śĩĝńēď ćēŕţĩƒĩćàţē, śēţ ţĥĩś vàĺũē. If your authentik_host setting does not match the URL you want to login with, add this setting. + Ĩƒ ŷōũŕ àũţĥēńţĩķ_ĥōśţ śēţţĩńĝ ďōēś ńōţ màţćĥ ţĥē ŨŔĹ ŷōũ ŵàńţ ţō ĺōĝĩń ŵĩţĥ, àďď ţĥĩś śēţţĩńĝ. Successfully updated outpost. + Śũććēśśƒũĺĺŷ ũƥďàţēď ōũţƥōśţ. Successfully created outpost. + Śũććēśśƒũĺĺŷ ćŕēàţēď ōũţƥōśţ. Radius + Ŕàďĩũś Integration + Ĩńţēĝŕàţĩōń Selecting an integration enables the management of the outpost by authentik. + Śēĺēćţĩńĝ àń ĩńţēĝŕàţĩōń ēńàƀĺēś ţĥē màńàĝēmēńţ ōƒ ţĥē ōũţƥōśţ ƀŷ àũţĥēńţĩķ. You can only select providers that match the type of the outpost. + Ŷōũ ćàń ōńĺŷ śēĺēćţ ƥŕōvĩďēŕś ţĥàţ màţćĥ ţĥē ţŷƥē ōƒ ţĥē ōũţƥōśţ. Configuration + Ćōńƒĩĝũŕàţĩōń See more here: + Śēē mōŕē ĥēŕē: Documentation + Ďōćũmēńţàţĩōń Last seen + Ĺàśţ śēēń , should be + , śĥōũĺď ƀē Hostname + Ĥōśţńàmē Not available + Ńōţ àvàĩĺàƀĺē Last seen: + Ĺàśţ śēēń: Unknown type + Ũńķńōŵń ţŷƥē Outposts + Ōũţƥōśţś Outposts are deployments of authentik components to support different environments and protocols, like reverse proxies. + Ōũţƥōśţś àŕē ďēƥĺōŷmēńţś ōƒ àũţĥēńţĩķ ćōmƥōńēńţś ţō śũƥƥōŕţ ďĩƒƒēŕēńţ ēńvĩŕōńmēńţś àńď ƥŕōţōćōĺś, ĺĩķē ŕēvēŕśē ƥŕōxĩēś. Health and Version + Ĥēàĺţĥ àńď Vēŕśĩōń Warning: authentik Domain is not configured, authentication will not work. + Ŵàŕńĩńĝ: àũţĥēńţĩķ Ďōmàĩń ĩś ńōţ ćōńƒĩĝũŕēď, àũţĥēńţĩćàţĩōń ŵĩĺĺ ńōţ ŵōŕķ. Logging in via . + Ĺōĝĝĩńĝ ĩń vĩà . No integration active + Ńō ĩńţēĝŕàţĩōń àćţĩvē Update Outpost + Ũƥďàţē Ōũţƥōśţ View Deployment Info + Vĩēŵ Ďēƥĺōŷmēńţ Ĩńƒō Detailed health (one instance per column, data is cached so may be out of date) + Ďēţàĩĺēď ĥēàĺţĥ (ōńē ĩńśţàńćē ƥēŕ ćōĺũmń, ďàţà ĩś ćàćĥēď śō màŷ ƀē ōũţ ōƒ ďàţē) Outpost(s) + Ōũţƥōśţ(ś) Create Outpost + Ćŕēàţē Ōũţƥōśţ Successfully updated integration. + Śũććēśśƒũĺĺŷ ũƥďàţēď ĩńţēĝŕàţĩōń. Successfully created integration. + Śũććēśśƒũĺĺŷ ćŕēàţēď ĩńţēĝŕàţĩōń. Local + Ĺōćàĺ If enabled, use the local connection. Required Docker socket/Kubernetes Integration. + Ĩƒ ēńàƀĺēď, ũśē ţĥē ĺōćàĺ ćōńńēćţĩōń. Ŕēǫũĩŕēď Ďōćķēŕ śōćķēţ/Ķũƀēŕńēţēś Ĩńţēĝŕàţĩōń. Docker URL + Ďōćķēŕ ŨŔĹ Can be in the format of 'unix://' when connecting to a local docker daemon, using 'ssh://' to connect via SSH, or 'https://:2376' when connecting to a remote system. + Ćàń ƀē ĩń ţĥē ƒōŕmàţ ōƒ 'ũńĩx://' ŵĥēń ćōńńēćţĩńĝ ţō à ĺōćàĺ ďōćķēŕ ďàēmōń, ũśĩńĝ 'śśĥ://' ţō ćōńńēćţ vĩà ŚŚĤ, ōŕ 'ĥţţƥś://:2376' ŵĥēń ćōńńēćţĩńĝ ţō à ŕēmōţē śŷśţēm. CA which the endpoint's Certificate is verified against. Can be left empty for no validation. + ĆÀ ŵĥĩćĥ ţĥē ēńďƥōĩńţ'ś Ćēŕţĩƒĩćàţē ĩś vēŕĩƒĩēď àĝàĩńśţ. Ćàń ƀē ĺēƒţ ēmƥţŷ ƒōŕ ńō vàĺĩďàţĩōń. TLS Authentication Certificate/SSH Keypair + ŢĹŚ Àũţĥēńţĩćàţĩōń Ćēŕţĩƒĩćàţē/ŚŚĤ Ķēŷƥàĩŕ Certificate/Key used for authentication. Can be left empty for no authentication. + Ćēŕţĩƒĩćàţē/Ķēŷ ũśēď ƒōŕ àũţĥēńţĩćàţĩōń. Ćàń ƀē ĺēƒţ ēmƥţŷ ƒōŕ ńō àũţĥēńţĩćàţĩōń. When connecting via SSH, this keypair is used for authentication. + Ŵĥēń ćōńńēćţĩńĝ vĩà ŚŚĤ, ţĥĩś ķēŷƥàĩŕ ĩś ũśēď ƒōŕ àũţĥēńţĩćàţĩōń. Kubeconfig + Ķũƀēćōńƒĩĝ Verify Kubernetes API SSL Certificate + Vēŕĩƒŷ Ķũƀēŕńēţēś ÀƤĨ ŚŚĹ Ćēŕţĩƒĩćàţē New outpost integration + Ńēŵ ōũţƥōśţ ĩńţēĝŕàţĩōń Create a new outpost integration. + Ćŕēàţē à ńēŵ ōũţƥōśţ ĩńţēĝŕàţĩōń. State + Śţàţē Unhealthy + Ũńĥēàĺţĥŷ Outpost integration(s) + Ōũţƥōśţ ĩńţēĝŕàţĩōń(ś) Successfully generated certificate-key pair. + Śũććēśśƒũĺĺŷ ĝēńēŕàţēď ćēŕţĩƒĩćàţē-ķēŷ ƥàĩŕ. Common Name + Ćōmmōń Ńàmē Subject-alt name + ŚũƀĴēćţ-àĺţ ńàmē Optional, comma-separated SubjectAlt Names. + Ōƥţĩōńàĺ, ćōmmà-śēƥàŕàţēď ŚũƀĴēćţÀĺţ Ńàmēś. Validity days + Vàĺĩďĩţŷ ďàŷś Successfully updated certificate-key pair. + Śũććēśśƒũĺĺŷ ũƥďàţēď ćēŕţĩƒĩćàţē-ķēŷ ƥàĩŕ. Successfully created certificate-key pair. + Śũććēśśƒũĺĺŷ ćŕēàţēď ćēŕţĩƒĩćàţē-ķēŷ ƥàĩŕ. PEM-encoded Certificate data. + ƤĒM-ēńćōďēď Ćēŕţĩƒĩćàţē ďàţà. Optional Private Key. If this is set, you can use this keypair for encryption. + Ōƥţĩōńàĺ Ƥŕĩvàţē Ķēŷ. Ĩƒ ţĥĩś ĩś śēţ, ŷōũ ćàń ũśē ţĥĩś ķēŷƥàĩŕ ƒōŕ ēńćŕŷƥţĩōń. Certificate-Key Pairs + Ćēŕţĩƒĩćàţē-Ķēŷ Ƥàĩŕś Import certificates of external providers or create certificates to sign requests with. + Ĩmƥōŕţ ćēŕţĩƒĩćàţēś ōƒ ēxţēŕńàĺ ƥŕōvĩďēŕś ōŕ ćŕēàţē ćēŕţĩƒĩćàţēś ţō śĩĝń ŕēǫũēśţś ŵĩţĥ. Private key available? + Ƥŕĩvàţē ķēŷ àvàĩĺàƀĺē? Certificate-Key Pair(s) + Ćēŕţĩƒĩćàţē-Ķēŷ Ƥàĩŕ(ś) Managed by authentik + Màńàĝēď ƀŷ àũţĥēńţĩķ Managed by authentik (Discovered) + Màńàĝēď ƀŷ àũţĥēńţĩķ (Ďĩśćōvēŕēď) Yes () + Ŷēś () No + Ńō Update Certificate-Key Pair + Ũƥďàţē Ćēŕţĩƒĩćàţē-Ķēŷ Ƥàĩŕ Certificate Fingerprint (SHA1) + Ćēŕţĩƒĩćàţē Ƒĩńĝēŕƥŕĩńţ (ŚĤÀ1) Certificate Fingerprint (SHA256) + Ćēŕţĩƒĩćàţē Ƒĩńĝēŕƥŕĩńţ (ŚĤÀ256) Certificate Subject + Ćēŕţĩƒĩćàţē ŚũƀĴēćţ Download Certificate + Ďōŵńĺōàď Ćēŕţĩƒĩćàţē Download Private key + Ďōŵńĺōàď Ƥŕĩvàţē ķēŷ Create Certificate-Key Pair + Ćŕēàţē Ćēŕţĩƒĩćàţē-Ķēŷ Ƥàĩŕ Generate + Ĝēńēŕàţē Generate Certificate-Key Pair + Ĝēńēŕàţē Ćēŕţĩƒĩćàţē-Ķēŷ Ƥàĩŕ Successfully updated instance. + Śũććēśśƒũĺĺŷ ũƥďàţēď ĩńśţàńćē. Successfully created instance. + Śũććēśśƒũĺĺŷ ćŕēàţēď ĩńśţàńćē. Disabled blueprints are never applied. + Ďĩśàƀĺēď ƀĺũēƥŕĩńţś àŕē ńēvēŕ àƥƥĺĩēď. Local path + Ĺōćàĺ ƥàţĥ OCI Registry + ŌĆĨ Ŕēĝĩśţŕŷ Internal + Ĩńţēŕńàĺ OCI URL, in the format of oci://registry.domain.tld/path/to/manifest. + ŌĆĨ ŨŔĹ, ĩń ţĥē ƒōŕmàţ ōƒ ōćĩ://ŕēĝĩśţŕŷ.ďōmàĩń.ţĺď/ƥàţĥ/ţō/màńĩƒēśţ. See more about OCI support here: + Śēē mōŕē àƀōũţ ŌĆĨ śũƥƥōŕţ ĥēŕē: Blueprint + ßĺũēƥŕĩńţ Configure the blueprint context, used for templating. + Ćōńƒĩĝũŕē ţĥē ƀĺũēƥŕĩńţ ćōńţēxţ, ũśēď ƒōŕ ţēmƥĺàţĩńĝ. Orphaned + Ōŕƥĥàńēď Blueprints + ßĺũēƥŕĩńţś Automate and template configuration within authentik. + Àũţōmàţē àńď ţēmƥĺàţē ćōńƒĩĝũŕàţĩōń ŵĩţĥĩń àũţĥēńţĩķ. Last applied + Ĺàśţ àƥƥĺĩēď Blueprint(s) + ßĺũēƥŕĩńţ(ś) Update Blueprint + Ũƥďàţē ßĺũēƥŕĩńţ Create Blueprint Instance + Ćŕēàţē ßĺũēƥŕĩńţ Ĩńśţàńćē API Requests + ÀƤĨ Ŕēǫũēśţś Open API Browser + Ōƥēń ÀƤĨ ßŕōŵśēŕ Notifications + Ńōţĩƒĩćàţĩōńś unread + ũńŕēàď Successfully cleared notifications + Śũććēśśƒũĺĺŷ ćĺēàŕēď ńōţĩƒĩćàţĩōńś Clear all + Ćĺēàŕ àĺĺ A newer version of the frontend is available. + À ńēŵēŕ vēŕśĩōń ōƒ ţĥē ƒŕōńţēńď ĩś àvàĩĺàƀĺē. You're currently impersonating . Click to stop. + Ŷōũ'ŕē ćũŕŕēńţĺŷ ĩmƥēŕśōńàţĩńĝ . Ćĺĩćķ ţō śţōƥ. User interface + Ũśēŕ ĩńţēŕƒàćē Dashboards + Ďàśĥƀōàŕďś Events + Ēvēńţś Logs + Ĺōĝś Customisation + Ćũśţōmĩśàţĩōń Directory + Ďĩŕēćţōŕŷ System + Śŷśţēm Certificates + Ćēŕţĩƒĩćàţēś Outpost Integrations + Ōũţƥōśţ Ĩńţēĝŕàţĩōńś API request failed + ÀƤĨ ŕēǫũēśţ ƒàĩĺēď User's avatar + Ũśēŕ'ś àvàţàŕ Something went wrong! Please try again later. + Śōmēţĥĩńĝ ŵēńţ ŵŕōńĝ! Ƥĺēàśē ţŕŷ àĝàĩń ĺàţēŕ. Request ID + Ŕēǫũēśţ ĨĎ You may close this page now. + Ŷōũ màŷ ćĺōśē ţĥĩś ƥàĝē ńōŵ. You're about to be redirect to the following URL. + Ŷōũ'ŕē àƀōũţ ţō ƀē ŕēďĩŕēćţ ţō ţĥē ƒōĺĺōŵĩńĝ ŨŔĹ. Follow redirect + Ƒōĺĺōŵ ŕēďĩŕēćţ Request has been denied. + Ŕēǫũēśţ ĥàś ƀēēń ďēńĩēď. Not you? + Ńōţ ŷōũ? Need an account? + Ńēēď àń àććōũńţ? Sign up. + Śĩĝń ũƥ. Forgot username or password? + Ƒōŕĝōţ ũśēŕńàmē ōŕ ƥàśśŵōŕď? Select one of the sources below to login. + Śēĺēćţ ōńē ōƒ ţĥē śōũŕćēś ƀēĺōŵ ţō ĺōĝĩń. Or + Ōŕ Use a security key + Ũśē à śēćũŕĩţŷ ķēŷ Login to continue to . + Ĺōĝĩń ţō ćōńţĩńũē ţō . Please enter your password + Ƥĺēàśē ēńţēŕ ŷōũŕ ƥàśśŵōŕď Forgot password? + Ƒōŕĝōţ ƥàśśŵōŕď? Application requires following permissions: + Àƥƥĺĩćàţĩōń ŕēǫũĩŕēś ƒōĺĺōŵĩńĝ ƥēŕmĩśśĩōńś: Application already has access to the following permissions: + Àƥƥĺĩćàţĩōń àĺŕēàďŷ ĥàś àććēśś ţō ţĥē ƒōĺĺōŵĩńĝ ƥēŕmĩśśĩōńś: Application requires following new permissions: + Àƥƥĺĩćàţĩōń ŕēǫũĩŕēś ƒōĺĺōŵĩńĝ ńēŵ ƥēŕmĩśśĩōńś: Check your Inbox for a verification email. + Ćĥēćķ ŷōũŕ Ĩńƀōx ƒōŕ à vēŕĩƒĩćàţĩōń ēmàĩĺ. Send Email again. + Śēńď Ēmàĩĺ àĝàĩń. Successfully copied TOTP Config. + Śũććēśśƒũĺĺŷ ćōƥĩēď ŢŌŢƤ Ćōńƒĩĝ. Copy + Ćōƥŷ Code + Ćōďē Please enter your TOTP Code + Ƥĺēàśē ēńţēŕ ŷōũŕ ŢŌŢƤ Ćōďē Duo activation QR code + Ďũō àćţĩvàţĩōń ǪŔ ćōďē Alternatively, if your current device has Duo installed, click on this link: + Àĺţēŕńàţĩvēĺŷ, ĩƒ ŷōũŕ ćũŕŕēńţ ďēvĩćē ĥàś Ďũō ĩńśţàĺĺēď, ćĺĩćķ ōń ţĥĩś ĺĩńķ: Duo activation + Ďũō àćţĩvàţĩōń Check status + Ćĥēćķ śţàţũś Make sure to keep these tokens in a safe place. + Màķē śũŕē ţō ķēēƥ ţĥēśē ţōķēńś ĩń à śàƒē ƥĺàćē. Phone number + Ƥĥōńē ńũmƀēŕ Please enter your Phone number. + Ƥĺēàśē ēńţēŕ ŷōũŕ Ƥĥōńē ńũmƀēŕ. Please enter the code you received via SMS + Ƥĺēàśē ēńţēŕ ţĥē ćōďē ŷōũ ŕēćēĩvēď vĩà ŚMŚ A code has been sent to you via SMS. + À ćōďē ĥàś ƀēēń śēńţ ţō ŷōũ vĩà ŚMŚ. Open your two-factor authenticator app to view your authentication code. + Ōƥēń ŷōũŕ ţŵō-ƒàćţōŕ àũţĥēńţĩćàţōŕ àƥƥ ţō vĩēŵ ŷōũŕ àũţĥēńţĩćàţĩōń ćōďē. Static token + Śţàţĩć ţōķēń Authentication code + Àũţĥēńţĩćàţĩōń ćōďē Please enter your code + Ƥĺēàśē ēńţēŕ ŷōũŕ ćōďē Return to device picker + Ŕēţũŕń ţō ďēvĩćē ƥĩćķēŕ Sending Duo push notification + Śēńďĩńĝ Ďũō ƥũśĥ ńōţĩƒĩćàţĩōń Assertions is empty + Àśśēŕţĩōńś ĩś ēmƥţŷ Error when creating credential: + Ēŕŕōŕ ŵĥēń ćŕēàţĩńĝ ćŕēďēńţĩàĺ: Error when validating assertion on server: + Ēŕŕōŕ ŵĥēń vàĺĩďàţĩńĝ àśśēŕţĩōń ōń śēŕvēŕ: Retry authentication + Ŕēţŕŷ àũţĥēńţĩćàţĩōń Duo push-notifications + Ďũō ƥũśĥ-ńōţĩƒĩćàţĩōńś Receive a push notification on your device. + Ŕēćēĩvē à ƥũśĥ ńōţĩƒĩćàţĩōń ōń ŷōũŕ ďēvĩćē. Authenticator + Àũţĥēńţĩćàţōŕ Use a security key to prove your identity. + Ũśē à śēćũŕĩţŷ ķēŷ ţō ƥŕōvē ŷōũŕ ĩďēńţĩţŷ. Traditional authenticator + Ţŕàďĩţĩōńàĺ àũţĥēńţĩćàţōŕ Use a code-based authenticator. + Ũśē à ćōďē-ƀàśēď àũţĥēńţĩćàţōŕ. Recovery keys + Ŕēćōvēŕŷ ķēŷś In case you can't access any other method. + Ĩń ćàśē ŷōũ ćàń'ţ àććēśś àńŷ ōţĥēŕ mēţĥōď. SMS + ŚMŚ Tokens sent via SMS. + Ţōķēńś śēńţ vĩà ŚMŚ. Select an authentication method. + Śēĺēćţ àń àũţĥēńţĩćàţĩōń mēţĥōď. Stay signed in? + Śţàŷ śĩĝńēď ĩń? Select Yes to reduce the number of times you're asked to sign in. + Śēĺēćţ Ŷēś ţō ŕēďũćē ţĥē ńũmƀēŕ ōƒ ţĩmēś ŷōũ'ŕē àśķēď ţō śĩĝń ĩń. Authenticating with Plex... + Àũţĥēńţĩćàţĩńĝ ŵĩţĥ Ƥĺēx... Waiting for authentication... + Ŵàĩţĩńĝ ƒōŕ àũţĥēńţĩćàţĩōń... If no Plex popup opens, click the button below. + Ĩƒ ńō Ƥĺēx ƥōƥũƥ ōƥēńś, ćĺĩćķ ţĥē ƀũţţōń ƀēĺōŵ. Open login + Ōƥēń ĺōĝĩń Authenticating with Apple... + Àũţĥēńţĩćàţĩńĝ ŵĩţĥ Àƥƥĺē... Retry + Ŕēţŕŷ Enter the code shown on your device. + Ēńţēŕ ţĥē ćōďē śĥōŵń ōń ŷōũŕ ďēvĩćē. Please enter your Code + Ƥĺēàśē ēńţēŕ ŷōũŕ Ćōďē You've successfully authenticated your device. + Ŷōũ'vē śũććēśśƒũĺĺŷ àũţĥēńţĩćàţēď ŷōũŕ ďēvĩćē. Flow inspector + Ƒĺōŵ ĩńśƥēćţōŕ Next stage + Ńēxţ śţàĝē Stage name + Śţàĝē ńàmē Stage kind + Śţàĝē ķĩńď Stage object + Śţàĝē ōƀĴēćţ This flow is completed. + Ţĥĩś ƒĺōŵ ĩś ćōmƥĺēţēď. Plan history + Ƥĺàń ĥĩśţōŕŷ Current plan context + Ćũŕŕēńţ ƥĺàń ćōńţēxţ Session ID + Śēśśĩōń ĨĎ Powered by authentik + Ƥōŵēŕēď ƀŷ àũţĥēńţĩķ Background image + ßàćķĝŕōũńď ĩmàĝē Error creating credential: + Ēŕŕōŕ ćŕēàţĩńĝ ćŕēďēńţĩàĺ: Server validation of credential failed: + Śēŕvēŕ vàĺĩďàţĩōń ōƒ ćŕēďēńţĩàĺ ƒàĩĺēď: Register device + Ŕēĝĩśţēŕ ďēvĩćē Refer to documentation + Ŕēƒēŕ ţō ďōćũmēńţàţĩōń No Applications available. + Ńō Àƥƥĺĩćàţĩōńś àvàĩĺàƀĺē. Either no applications are defined, or you don’t have access to any. + Ēĩţĥēŕ ńō àƥƥĺĩćàţĩōńś àŕē ďēƒĩńēď, ōŕ ŷōũ ďōń’ţ ĥàvē àććēśś ţō àńŷ. My Applications + Mŷ Àƥƥĺĩćàţĩōńś My applications + Mŷ àƥƥĺĩćàţĩōńś Change your password + Ćĥàńĝē ŷōũŕ ƥàśśŵōŕď Change password + Ćĥàńĝē ƥàśśŵōŕď + Save + Śàvē Delete account + Ďēĺēţē àććōũńţ Successfully updated details + Śũććēśśƒũĺĺŷ ũƥďàţēď ďēţàĩĺś Open settings + Ōƥēń śēţţĩńĝś No settings flow configured. + Ńō śēţţĩńĝś ƒĺōŵ ćōńƒĩĝũŕēď. Update details + Ũƥďàţē ďēţàĩĺś Successfully disconnected source + Śũććēśśƒũĺĺŷ ďĩśćōńńēćţēď śōũŕćē Failed to disconnected source: + Ƒàĩĺēď ţō ďĩśćōńńēćţēď śōũŕćē: Disconnect + Ďĩśćōńńēćţ Connect + Ćōńńēćţ Error: unsupported source settings: + Ēŕŕōŕ: ũńśũƥƥōŕţēď śōũŕćē śēţţĩńĝś: Connect your user account to the services listed below, to allow you to login using the service instead of traditional credentials. + Ćōńńēćţ ŷōũŕ ũśēŕ àććōũńţ ţō ţĥē śēŕvĩćēś ĺĩśţēď ƀēĺōŵ, ţō àĺĺōŵ ŷōũ ţō ĺōĝĩń ũśĩńĝ ţĥē śēŕvĩćē ĩńśţēàď ōƒ ţŕàďĩţĩōńàĺ ćŕēďēńţĩàĺś. No services available. + Ńō śēŕvĩćēś àvàĩĺàƀĺē. Create App password + Ćŕēàţē Àƥƥ ƥàśśŵōŕď User details + Ũśēŕ ďēţàĩĺś Consent + Ćōńśēńţ MFA Devices + MƑÀ Ďēvĩćēś Connected services + Ćōńńēćţēď śēŕvĩćēś Tokens and App passwords + Ţōķēńś àńď Àƥƥ ƥàśśŵōŕďś Unread notifications + Ũńŕēàď ńōţĩƒĩćàţĩōńś Admin interface + Àďmĩń ĩńţēŕƒàćē Stop impersonation + Śţōƥ ĩmƥēŕśōńàţĩōń Avatar image + Àvàţàŕ ĩmàĝē Failed + Ƒàĩĺēď Unsynced / N/A + Ũńśŷńćēď / Ń/À Outdated outposts + Ōũţďàţēď ōũţƥōśţś Unhealthy outposts + Ũńĥēàĺţĥŷ ōũţƥōśţś Next + Ńēxţ Inactive + Ĩńàćţĩvē Regular user + Ŕēĝũĺàŕ ũśēŕ Activate + Àćţĩvàţē Use Server URI for SNI verification + Ũśē Śēŕvēŕ ŨŔĨ ƒōŕ ŚŃĨ vēŕĩƒĩćàţĩōń Required for servers using TLS 1.3+ + Ŕēǫũĩŕēď ƒōŕ śēŕvēŕś ũśĩńĝ ŢĹŚ 1.3+ Client certificate keypair to authenticate against the LDAP Server's Certificate. + Ćĺĩēńţ ćēŕţĩƒĩćàţē ķēŷƥàĩŕ ţō àũţĥēńţĩćàţē àĝàĩńśţ ţĥē ĹĎÀƤ Śēŕvēŕ'ś Ćēŕţĩƒĩćàţē. The certificate for the above configured Base DN. As a fallback, the provider uses a self-signed certificate. + Ţĥē ćēŕţĩƒĩćàţē ƒōŕ ţĥē àƀōvē ćōńƒĩĝũŕēď ßàśē ĎŃ. Àś à ƒàĺĺƀàćķ, ţĥē ƥŕōvĩďēŕ ũśēś à śēĺƒ-śĩĝńēď ćēŕţĩƒĩćàţē. TLS Server name + ŢĹŚ Śēŕvēŕ ńàmē DNS name for which the above configured certificate should be used. The certificate cannot be detected based on the base DN, as the SSL/TLS negotiation happens before such data is exchanged. + ĎŃŚ ńàmē ƒōŕ ŵĥĩćĥ ţĥē àƀōvē ćōńƒĩĝũŕēď ćēŕţĩƒĩćàţē śĥōũĺď ƀē ũśēď. Ţĥē ćēŕţĩƒĩćàţē ćàńńōţ ƀē ďēţēćţēď ƀàśēď ōń ţĥē ƀàśē ĎŃ, àś ţĥē ŚŚĹ/ŢĹŚ ńēĝōţĩàţĩōń ĥàƥƥēńś ƀēƒōŕē śũćĥ ďàţà ĩś ēxćĥàńĝēď. TLS Client authentication certificate + ŢĹŚ Ćĺĩēńţ àũţĥēńţĩćàţĩōń ćēŕţĩƒĩćàţē Model + Mōďēĺ Match events created by selected model. When left empty, all models are matched. + Màţćĥ ēvēńţś ćŕēàţēď ƀŷ śēĺēćţēď mōďēĺ. Ŵĥēń ĺēƒţ ēmƥţŷ, àĺĺ mōďēĺś àŕē màţćĥēď. Code-based MFA Support + Ćōďē-ƀàśēď MƑÀ Śũƥƥōŕţ When enabled, code-based multi-factor authentication can be used by appending a semicolon and the TOTP code to the password. This should only be enabled if all users that will bind to this provider have a TOTP device configured, as otherwise a password may incorrectly be rejected if it contains a semicolon. + Ŵĥēń ēńàƀĺēď, ćōďē-ƀàśēď mũĺţĩ-ƒàćţōŕ àũţĥēńţĩćàţĩōń ćàń ƀē ũśēď ƀŷ àƥƥēńďĩńĝ à śēmĩćōĺōń àńď ţĥē ŢŌŢƤ ćōďē ţō ţĥē ƥàśśŵōŕď. Ţĥĩś śĥōũĺď ōńĺŷ ƀē ēńàƀĺēď ĩƒ àĺĺ ũśēŕś ţĥàţ ŵĩĺĺ ƀĩńď ţō ţĥĩś ƥŕōvĩďēŕ ĥàvē à ŢŌŢƤ ďēvĩćē ćōńƒĩĝũŕēď, àś ōţĥēŕŵĩśē à ƥàśśŵōŕď màŷ ĩńćōŕŕēćţĺŷ ƀē ŕēĴēćţēď ĩƒ ĩţ ćōńţàĩńś à śēmĩćōĺōń. User type + Ũśēŕ ţŷƥē Successfully updated license. + Śũććēśśƒũĺĺŷ ũƥďàţēď ĺĩćēńśē. Successfully created license. + Śũććēśśƒũĺĺŷ ćŕēàţēď ĺĩćēńśē. Install ID + Ĩńśţàĺĺ ĨĎ License key + Ĺĩćēńśē ķēŷ Licenses + Ĺĩćēńśēś License(s) + Ĺĩćēńśē(ś) Enterprise is in preview. + Ēńţēŕƥŕĩśē ĩś ĩń ƥŕēvĩēŵ. Cumulative license expiry + Ćũmũĺàţĩvē ĺĩćēńśē ēxƥĩŕŷ Update License + Ũƥďàţē Ĺĩćēńśē Warning: The current user count has exceeded the configured licenses. + Ŵàŕńĩńĝ: Ţĥē ćũŕŕēńţ ũśēŕ ćōũńţ ĥàś ēxćēēďēď ţĥē ćōńƒĩĝũŕēď ĺĩćēńśēś. Click here for more info. + Ćĺĩćķ ĥēŕē ƒōŕ mōŕē ĩńƒō. Enterprise + Ēńţēŕƥŕĩśē Manage enterprise licenses + Màńàĝē ēńţēŕƥŕĩśē ĺĩćēńśēś No licenses found. + Ńō ĺĩćēńśēś ƒōũńď. Send us feedback! + Śēńď ũś ƒēēďƀàćķ! Get a license + Ĝēţ à ĺĩćēńśē Go to Customer Portal + Ĝō ţō Ćũśţōmēŕ Ƥōŕţàĺ Forecast internal users + Ƒōŕēćàśţ ĩńţēŕńàĺ ũśēŕś Estimated user count one year from now based on current internal users and forecasted internal users. + Ēśţĩmàţēď ũśēŕ ćōũńţ ōńē ŷēàŕ ƒŕōm ńōŵ ƀàśēď ōń ćũŕŕēńţ ĩńţēŕńàĺ ũśēŕś àńď ƒōŕēćàśţēď ĩńţēŕńàĺ ũśēŕś. Forecast external users + Ƒōŕēćàśţ ēxţēŕńàĺ ũśēŕś Estimated user count one year from now based on current external users and forecasted external users. + Ēśţĩmàţēď ũśēŕ ćōũńţ ōńē ŷēàŕ ƒŕōm ńōŵ ƀàśēď ōń ćũŕŕēńţ ēxţēŕńàĺ ũśēŕś àńď ƒōŕēćàśţēď ēxţēŕńàĺ ũśēŕś. Install + Ĩńśţàĺĺ Install License + Ĩńśţàĺĺ Ĺĩćēńśē Internal users might be users such as company employees, which will get access to the full Enterprise feature set. + Ĩńţēŕńàĺ ũśēŕś mĩĝĥţ ƀē ũśēŕś śũćĥ àś ćōmƥàńŷ ēmƥĺōŷēēś, ŵĥĩćĥ ŵĩĺĺ ĝēţ àććēśś ţō ţĥē ƒũĺĺ Ēńţēŕƥŕĩśē ƒēàţũŕē śēţ. External users might be external consultants or B2C customers. These users don't get access to enterprise features. + Ēxţēŕńàĺ ũśēŕś mĩĝĥţ ƀē ēxţēŕńàĺ ćōńśũĺţàńţś ōŕ ß2Ć ćũśţōmēŕś. Ţĥēśē ũśēŕś ďōń'ţ ĝēţ àććēśś ţō ēńţēŕƥŕĩśē ƒēàţũŕēś. Service accounts should be used for machine-to-machine authentication or other automations. + Śēŕvĩćē àććōũńţś śĥōũĺď ƀē ũśēď ƒōŕ màćĥĩńē-ţō-màćĥĩńē àũţĥēńţĩćàţĩōń ōŕ ōţĥēŕ àũţōmàţĩōńś. Less details + Ĺēśś ďēţàĩĺś More details + Mōŕē ďēţàĩĺś Remove item + Ŕēmōvē ĩţēm Open API drawer + Ōƥēń ÀƤĨ ďŕàŵēŕ Open Notification drawer + Ōƥēń Ńōţĩƒĩćàţĩōń ďŕàŵēŕ Restart task + Ŕēśţàŕţ ţàśķ Add provider + Àďď ƥŕōvĩďēŕ Open + Ōƥēń Copy token + Ćōƥŷ ţōķēń Add users + Àďď ũśēŕś Add group + Àďď ĝŕōũƥ Import devices + Ĩmƥōŕţ ďēvĩćēś Execute + Ēxēćũţē Show details + Śĥōŵ ďēţàĩĺś Apply + Àƥƥĺŷ Settings + Śēţţĩńĝś Sign out + Śĩĝń ōũţ The number of tokens generated whenever this stage is used. Every token generated per stage execution will be attached to a single static device. + Ţĥē ńũmƀēŕ ōƒ ţōķēńś ĝēńēŕàţēď ŵĥēńēvēŕ ţĥĩś śţàĝē ĩś ũśēď. Ēvēŕŷ ţōķēń ĝēńēŕàţēď ƥēŕ śţàĝē ēxēćũţĩōń ŵĩĺĺ ƀē àţţàćĥēď ţō à śĩńĝĺē śţàţĩć ďēvĩćē. Token length + Ţōķēń ĺēńĝţĥ The length of the individual generated tokens. Can be increased to improve security. + Ţĥē ĺēńĝţĥ ōƒ ţĥē ĩńďĩvĩďũàĺ ĝēńēŕàţēď ţōķēńś. Ćàń ƀē ĩńćŕēàśēď ţō ĩmƥŕōvē śēćũŕĩţŷ. Internal: + Ĩńţēŕńàĺ: External: + Ēxţēŕńàĺ: Statically deny the flow. To use this stage effectively, disable *Evaluate when flow is planned* on the respective binding. + Śţàţĩćàĺĺŷ ďēńŷ ţĥē ƒĺōŵ. Ţō ũśē ţĥĩś śţàĝē ēƒƒēćţĩvēĺŷ, ďĩśàƀĺē *Ēvàĺũàţē ŵĥēń ƒĺōŵ ĩś ƥĺàńńēď* ōń ţĥē ŕēśƥēćţĩvē ƀĩńďĩńĝ. Create and bind Policy + Ćŕēàţē àńď ƀĩńď Ƥōĺĩćŷ Federation and Social login + Ƒēďēŕàţĩōń àńď Śōćĩàĺ ĺōĝĩń Create and bind Stage + Ćŕēàţē àńď ƀĩńď Śţàĝē Flows and Stages + Ƒĺōŵś àńď Śţàĝēś New version available + Ńēŵ vēŕśĩōń àvàĩĺàƀĺē Failure result + Ƒàĩĺũŕē ŕēśũĺţ Pass + Ƥàśś Don't pass + Ďōń'ţ ƥàśś Result used when policy execution fails. + Ŕēśũĺţ ũśēď ŵĥēń ƥōĺĩćŷ ēxēćũţĩōń ƒàĩĺś. Required: User verification must occur. + Ŕēǫũĩŕēď: Ũśēŕ vēŕĩƒĩćàţĩōń mũśţ ōććũŕ. Preferred: User verification is preferred if available, but not required. + Ƥŕēƒēŕŕēď: Ũśēŕ vēŕĩƒĩćàţĩōń ĩś ƥŕēƒēŕŕēď ĩƒ àvàĩĺàƀĺē, ƀũţ ńōţ ŕēǫũĩŕēď. Discouraged: User verification should not occur. + Ďĩśćōũŕàĝēď: Ũśēŕ vēŕĩƒĩćàţĩōń śĥōũĺď ńōţ ōććũŕ. Required: The authenticator MUST create a dedicated credential. If it cannot, the RP is prepared for an error to occur + Ŕēǫũĩŕēď: Ţĥē àũţĥēńţĩćàţōŕ MŨŚŢ ćŕēàţē à ďēďĩćàţēď ćŕēďēńţĩàĺ. Ĩƒ ĩţ ćàńńōţ, ţĥē ŔƤ ĩś ƥŕēƥàŕēď ƒōŕ àń ēŕŕōŕ ţō ōććũŕ Preferred: The authenticator can create and store a dedicated credential, but if it doesn't that's alright too + Ƥŕēƒēŕŕēď: Ţĥē àũţĥēńţĩćàţōŕ ćàń ćŕēàţē àńď śţōŕē à ďēďĩćàţēď ćŕēďēńţĩàĺ, ƀũţ ĩƒ ĩţ ďōēśń'ţ ţĥàţ'ś àĺŕĩĝĥţ ţōō Discouraged: The authenticator should not create a dedicated credential + Ďĩśćōũŕàĝēď: Ţĥē àũţĥēńţĩćàţōŕ śĥōũĺď ńōţ ćŕēàţē à ďēďĩćàţēď ćŕēďēńţĩàĺ Lock the user out of this system + Ĺōćķ ţĥē ũśēŕ ōũţ ōƒ ţĥĩś śŷśţēm Allow the user to log in and use this system + Àĺĺōŵ ţĥē ũśēŕ ţō ĺōĝ ĩń àńď ũśē ţĥĩś śŷśţēm Temporarily assume the identity of this user + Ţēmƥōŕàŕĩĺŷ àśśũmē ţĥē ĩďēńţĩţŷ ōƒ ţĥĩś ũśēŕ Enter a new password for this user + Ēńţēŕ à ńēŵ ƥàśśŵōŕď ƒōŕ ţĥĩś ũśēŕ Create a link for this user to reset their password + Ćŕēàţē à ĺĩńķ ƒōŕ ţĥĩś ũśēŕ ţō ŕēśēţ ţĥēĩŕ ƥàśśŵōŕď WebAuthn requires this page to be accessed via HTTPS. + ŴēƀÀũţĥń ŕēǫũĩŕēś ţĥĩś ƥàĝē ţō ƀē àććēśśēď vĩà ĤŢŢƤŚ. WebAuthn not supported by browser. + ŴēƀÀũţĥń ńōţ śũƥƥōŕţēď ƀŷ ƀŕōŵśēŕ. Use this provider with nginx's auth_request or traefik's forwardAuth. Each application/domain needs its own provider. Additionally, on each domain, /outpost.goauthentik.io must be routed to the outpost (when using a managed outpost, this is done for you). + Ũśē ţĥĩś ƥŕōvĩďēŕ ŵĩţĥ ńĝĩńx'ś àũţĥ_ŕēǫũēśţ ōŕ ţŕàēƒĩķ'ś ƒōŕŵàŕďÀũţĥ. Ēàćĥ àƥƥĺĩćàţĩōń/ďōmàĩń ńēēďś ĩţś ōŵń ƥŕōvĩďēŕ. Àďďĩţĩōńàĺĺŷ, ōń ēàćĥ ďōmàĩń, /ōũţƥōśţ.ĝōàũţĥēńţĩķ.ĩō mũśţ ƀē ŕōũţēď ţō ţĥē ōũţƥōśţ (ŵĥēń ũśĩńĝ à màńàĝēď ōũţƥōśţ, ţĥĩś ĩś ďōńē ƒōŕ ŷōũ). Default relay state + Ďēƒàũĺţ ŕēĺàŷ śţàţē When using IDP-initiated logins, the relay state will be set to this value. + Ŵĥēń ũśĩńĝ ĨĎƤ-ĩńĩţĩàţēď ĺōĝĩńś, ţĥē ŕēĺàŷ śţàţē ŵĩĺĺ ƀē śēţ ţō ţĥĩś vàĺũē. Flow Info + Ƒĺōŵ Ĩńƒō Stage used to configure a WebAuthn authenticator (i.e. Yubikey, FaceID/Windows Hello). + Śţàĝē ũśēď ţō ćōńƒĩĝũŕē à ŴēƀÀũţĥń àũţĥēńţĩćàţōŕ (ĩ.ē. Ŷũƀĩķēŷ, ƑàćēĨĎ/Ŵĩńďōŵś Ĥēĺĺō). Custom attributes + Ćũśţōm àţţŕĩƀũţēś Don't show this message again. + Ďōń'ţ śĥōŵ ţĥĩś mēśśàĝē àĝàĩń. + + + Pseudolocale (for testing) + Ƥśēũďōĺōćàĺē (ƒōŕ ţēśţĩńĝ) Failed to fetch From 514f4666875db7335a120b5047622bfa9f551e45 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Oct 2023 12:14:58 +0200 Subject: [PATCH 24/57] web: bump the eslint group in /web with 2 updates (#7193) Bumps the eslint group in /web with 2 updates: [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) and [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser). Updates `@typescript-eslint/eslint-plugin` from 6.7.5 to 6.8.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.8.0/packages/eslint-plugin) Updates `@typescript-eslint/parser` from 6.7.5 to 6.8.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.8.0/packages/parser) --- updated-dependencies: - dependency-name: "@typescript-eslint/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint - dependency-name: "@typescript-eslint/parser" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web/package-lock.json | 88 +++++++++++++++++++++---------------------- web/package.json | 4 +- 2 files changed, 46 insertions(+), 46 deletions(-) diff --git a/web/package-lock.json b/web/package-lock.json index 645eccde8309..c816c65e9642 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -70,8 +70,8 @@ "@types/chart.js": "^2.9.38", "@types/codemirror": "5.60.10", "@types/grecaptcha": "^3.0.5", - "@typescript-eslint/eslint-plugin": "^6.7.5", - "@typescript-eslint/parser": "^6.7.5", + "@typescript-eslint/eslint-plugin": "^6.8.0", + "@typescript-eslint/parser": "^6.8.0", "babel-plugin-macros": "^3.1.0", "babel-plugin-tsconfig-paths": "^1.0.3", "cross-env": "^7.0.3", @@ -10492,16 +10492,16 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.5.tgz", - "integrity": "sha512-JhtAwTRhOUcP96D0Y6KYnwig/MRQbOoLGXTON2+LlyB/N35SP9j1boai2zzwXb7ypKELXMx3DVk9UTaEq1vHEw==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.8.0.tgz", + "integrity": "sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.7.5", - "@typescript-eslint/type-utils": "6.7.5", - "@typescript-eslint/utils": "6.7.5", - "@typescript-eslint/visitor-keys": "6.7.5", + "@typescript-eslint/scope-manager": "6.8.0", + "@typescript-eslint/type-utils": "6.8.0", + "@typescript-eslint/utils": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -10560,15 +10560,15 @@ "dev": true }, "node_modules/@typescript-eslint/parser": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.5.tgz", - "integrity": "sha512-bIZVSGx2UME/lmhLcjdVc7ePBwn7CLqKarUBL4me1C5feOd663liTGjMBGVcGr+BhnSLeP4SgwdvNnnkbIdkCw==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.8.0.tgz", + "integrity": "sha512-5tNs6Bw0j6BdWuP8Fx+VH4G9fEPDxnVI7yH1IAPkQH5RUtvKwRoqdecAPdQXv4rSOADAaz1LFBZvZG7VbXivSg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.7.5", - "@typescript-eslint/types": "6.7.5", - "@typescript-eslint/typescript-estree": "6.7.5", - "@typescript-eslint/visitor-keys": "6.7.5", + "@typescript-eslint/scope-manager": "6.8.0", + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/typescript-estree": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0", "debug": "^4.3.4" }, "engines": { @@ -10588,13 +10588,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.5.tgz", - "integrity": "sha512-GAlk3eQIwWOJeb9F7MKQ6Jbah/vx1zETSDw8likab/eFcqkjSD7BI75SDAeC5N2L0MmConMoPvTsmkrg71+B1A==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.8.0.tgz", + "integrity": "sha512-xe0HNBVwCph7rak+ZHcFD6A+q50SMsFwcmfdjs9Kz4qDh5hWhaPhFjRs/SODEhroBI5Ruyvyz9LfwUJ624O40g==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.7.5", - "@typescript-eslint/visitor-keys": "6.7.5" + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -10605,13 +10605,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.5.tgz", - "integrity": "sha512-Gs0qos5wqxnQrvpYv+pf3XfcRXW6jiAn9zE/K+DlmYf6FcpxeNYN0AIETaPR7rHO4K2UY+D0CIbDP9Ut0U4m1g==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.8.0.tgz", + "integrity": "sha512-RYOJdlkTJIXW7GSldUIHqc/Hkto8E+fZN96dMIFhuTJcQwdRoGN2rEWA8U6oXbLo0qufH7NPElUb+MceHtz54g==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.7.5", - "@typescript-eslint/utils": "6.7.5", + "@typescript-eslint/typescript-estree": "6.8.0", + "@typescript-eslint/utils": "6.8.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -10632,9 +10632,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.5.tgz", - "integrity": "sha512-WboQBlOXtdj1tDFPyIthpKrUb+kZf2VroLZhxKa/VlwLlLyqv/PwUNgL30BlTVZV1Wu4Asu2mMYPqarSO4L5ZQ==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.8.0.tgz", + "integrity": "sha512-p5qOxSum7W3k+llc7owEStXlGmSl8FcGvhYt8Vjy7FqEnmkCVlM3P57XQEGj58oqaBWDQXbJDZxwUWMS/EAPNQ==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -10645,13 +10645,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.5.tgz", - "integrity": "sha512-NhJiJ4KdtwBIxrKl0BqG1Ur+uw7FiOnOThcYx9DpOGJ/Abc9z2xNzLeirCG02Ig3vkvrc2qFLmYSSsaITbKjlg==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.8.0.tgz", + "integrity": "sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.7.5", - "@typescript-eslint/visitor-keys": "6.7.5", + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -10705,17 +10705,17 @@ "dev": true }, "node_modules/@typescript-eslint/utils": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.5.tgz", - "integrity": "sha512-pfRRrH20thJbzPPlPc4j0UNGvH1PjPlhlCMq4Yx7EGjV7lvEeGX0U6MJYe8+SyFutWgSHsdbJ3BXzZccYggezA==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.8.0.tgz", + "integrity": "sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.7.5", - "@typescript-eslint/types": "6.7.5", - "@typescript-eslint/typescript-estree": "6.7.5", + "@typescript-eslint/scope-manager": "6.8.0", + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/typescript-estree": "6.8.0", "semver": "^7.5.4" }, "engines": { @@ -10763,12 +10763,12 @@ "dev": true }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.5.tgz", - "integrity": "sha512-3MaWdDZtLlsexZzDSdQWsFQ9l9nL8B80Z4fImSpyllFC/KLqWQRdEcB+gGGO+N3Q2uL40EsG66wZLsohPxNXvg==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.8.0.tgz", + "integrity": "sha512-oqAnbA7c+pgOhW2OhGvxm0t1BULX5peQI/rLsNDpGM78EebV3C9IGbX5HNZabuZ6UQrYveCLjKo8Iy/lLlBkkg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.7.5", + "@typescript-eslint/types": "6.8.0", "eslint-visitor-keys": "^3.4.1" }, "engines": { diff --git a/web/package.json b/web/package.json index fcc5770bc886..ccc22f5e8a2f 100644 --- a/web/package.json +++ b/web/package.json @@ -91,8 +91,8 @@ "@types/chart.js": "^2.9.38", "@types/codemirror": "5.60.10", "@types/grecaptcha": "^3.0.5", - "@typescript-eslint/eslint-plugin": "^6.7.5", - "@typescript-eslint/parser": "^6.7.5", + "@typescript-eslint/eslint-plugin": "^6.8.0", + "@typescript-eslint/parser": "^6.8.0", "babel-plugin-macros": "^3.1.0", "babel-plugin-tsconfig-paths": "^1.0.3", "cross-env": "^7.0.3", From 1cd5ced2ab157ad0be06f29b7a0b500a3f3af451 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Oct 2023 12:15:10 +0200 Subject: [PATCH 25/57] core: bump ruff from 0.0.292 to 0.1.0 (#7194) Bumps [ruff](https://github.com/astral-sh/ruff) from 0.0.292 to 0.1.0. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](https://github.com/astral-sh/ruff/compare/v0.0.292...v0.1.0) --- updated-dependencies: - dependency-name: ruff dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/poetry.lock b/poetry.lock index d509b16d1b48..cd5cb4769819 100644 --- a/poetry.lock +++ b/poetry.lock @@ -3425,28 +3425,28 @@ pyasn1 = ">=0.1.3" [[package]] name = "ruff" -version = "0.0.292" +version = "0.1.0" description = "An extremely fast Python linter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.0.292-py3-none-macosx_10_7_x86_64.whl", hash = "sha256:02f29db018c9d474270c704e6c6b13b18ed0ecac82761e4fcf0faa3728430c96"}, - {file = "ruff-0.0.292-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:69654e564342f507edfa09ee6897883ca76e331d4bbc3676d8a8403838e9fade"}, - {file = "ruff-0.0.292-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c3c91859a9b845c33778f11902e7b26440d64b9d5110edd4e4fa1726c41e0a4"}, - {file = "ruff-0.0.292-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f4476f1243af2d8c29da5f235c13dca52177117935e1f9393f9d90f9833f69e4"}, - {file = "ruff-0.0.292-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:be8eb50eaf8648070b8e58ece8e69c9322d34afe367eec4210fdee9a555e4ca7"}, - {file = "ruff-0.0.292-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:9889bac18a0c07018aac75ef6c1e6511d8411724d67cb879103b01758e110a81"}, - {file = "ruff-0.0.292-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6bdfabd4334684a4418b99b3118793f2c13bb67bf1540a769d7816410402a205"}, - {file = "ruff-0.0.292-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aa7c77c53bfcd75dbcd4d1f42d6cabf2485d2e1ee0678da850f08e1ab13081a8"}, - {file = "ruff-0.0.292-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e087b24d0d849c5c81516ec740bf4fd48bf363cfb104545464e0fca749b6af9"}, - {file = "ruff-0.0.292-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:f160b5ec26be32362d0774964e218f3fcf0a7da299f7e220ef45ae9e3e67101a"}, - {file = "ruff-0.0.292-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:ac153eee6dd4444501c4bb92bff866491d4bfb01ce26dd2fff7ca472c8df9ad0"}, - {file = "ruff-0.0.292-py3-none-musllinux_1_2_i686.whl", hash = "sha256:87616771e72820800b8faea82edd858324b29bb99a920d6aa3d3949dd3f88fb0"}, - {file = "ruff-0.0.292-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:b76deb3bdbea2ef97db286cf953488745dd6424c122d275f05836c53f62d4016"}, - {file = "ruff-0.0.292-py3-none-win32.whl", hash = "sha256:e854b05408f7a8033a027e4b1c7f9889563dd2aca545d13d06711e5c39c3d003"}, - {file = "ruff-0.0.292-py3-none-win_amd64.whl", hash = "sha256:f27282bedfd04d4c3492e5c3398360c9d86a295be00eccc63914438b4ac8a83c"}, - {file = "ruff-0.0.292-py3-none-win_arm64.whl", hash = "sha256:7f67a69c8f12fbc8daf6ae6d36705037bde315abf8b82b6e1f4c9e74eb750f68"}, - {file = "ruff-0.0.292.tar.gz", hash = "sha256:1093449e37dd1e9b813798f6ad70932b57cf614e5c2b5c51005bf67d55db33ac"}, + {file = "ruff-0.1.0-py3-none-macosx_10_7_x86_64.whl", hash = "sha256:87114e254dee35e069e1b922d85d4b21a5b61aec759849f393e1dbb308a00439"}, + {file = "ruff-0.1.0-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:764f36d2982cc4a703e69fb73a280b7c539fd74b50c9ee531a4e3fe88152f521"}, + {file = "ruff-0.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65f4b7fb539e5cf0f71e9bd74f8ddab74cabdd673c6fb7f17a4dcfd29f126255"}, + {file = "ruff-0.1.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:299fff467a0f163baa282266b310589b21400de0a42d8f68553422fa6bf7ee01"}, + {file = "ruff-0.1.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d412678bf205787263bb702c984012a4f97e460944c072fd7cfa2bd084857c4"}, + {file = "ruff-0.1.0-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:a5391b49b1669b540924640587d8d24128e45be17d1a916b1801d6645e831581"}, + {file = "ruff-0.1.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee8cd57f454cdd77bbcf1e11ff4e0046fb6547cac1922cc6e3583ce4b9c326d1"}, + {file = "ruff-0.1.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fa7aeed7bc23861a2b38319b636737bf11cfa55d2109620b49cf995663d3e888"}, + {file = "ruff-0.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b04cd4298b43b16824d9a37800e4c145ba75c29c43ce0d74cad1d66d7ae0a4c5"}, + {file = "ruff-0.1.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:7186ccf54707801d91e6314a016d1c7895e21d2e4cd614500d55870ed983aa9f"}, + {file = "ruff-0.1.0-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:d88adfd93849bc62449518228581d132e2023e30ebd2da097f73059900d8dce3"}, + {file = "ruff-0.1.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:ad2ccdb3bad5a61013c76a9c1240fdfadf2c7103a2aeebd7bcbbed61f363138f"}, + {file = "ruff-0.1.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:b77f6cfa72c6eb19b5cac967cc49762ae14d036db033f7d97a72912770fd8e1c"}, + {file = "ruff-0.1.0-py3-none-win32.whl", hash = "sha256:480bd704e8af1afe3fd444cc52e3c900b936e6ca0baf4fb0281124330b6ceba2"}, + {file = "ruff-0.1.0-py3-none-win_amd64.whl", hash = "sha256:a76ba81860f7ee1f2d5651983f87beb835def94425022dc5f0803108f1b8bfa2"}, + {file = "ruff-0.1.0-py3-none-win_arm64.whl", hash = "sha256:45abdbdab22509a2c6052ecf7050b3f5c7d6b7898dc07e82869401b531d46da4"}, + {file = "ruff-0.1.0.tar.gz", hash = "sha256:ad6b13824714b19c5f8225871cf532afb994470eecb74631cd3500fe817e6b3f"}, ] [[package]] From b5f986c7d0d025da84c206c72b085f2e57fa0a28 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Oct 2023 12:15:20 +0200 Subject: [PATCH 26/57] web: bump the eslint group in /tests/wdio with 2 updates (#7192) Bumps the eslint group in /tests/wdio with 2 updates: [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) and [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser). Updates `@typescript-eslint/eslint-plugin` from 6.7.5 to 6.8.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.8.0/packages/eslint-plugin) Updates `@typescript-eslint/parser` from 6.7.5 to 6.8.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.8.0/packages/parser) --- updated-dependencies: - dependency-name: "@typescript-eslint/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint - dependency-name: "@typescript-eslint/parser" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tests/wdio/package-lock.json | 88 ++++++++++++++++++------------------ tests/wdio/package.json | 4 +- 2 files changed, 46 insertions(+), 46 deletions(-) diff --git a/tests/wdio/package-lock.json b/tests/wdio/package-lock.json index 2f0ff41a9bb3..7d7867aca28c 100644 --- a/tests/wdio/package-lock.json +++ b/tests/wdio/package-lock.json @@ -7,8 +7,8 @@ "name": "@goauthentik/web-tests", "devDependencies": { "@trivago/prettier-plugin-sort-imports": "^4.2.0", - "@typescript-eslint/eslint-plugin": "^6.7.5", - "@typescript-eslint/parser": "^6.7.5", + "@typescript-eslint/eslint-plugin": "^6.8.0", + "@typescript-eslint/parser": "^6.8.0", "@wdio/cli": "^8.18.2", "@wdio/local-runner": "^8.18.2", "@wdio/mocha-framework": "^8.18.2", @@ -878,16 +878,16 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.5.tgz", - "integrity": "sha512-JhtAwTRhOUcP96D0Y6KYnwig/MRQbOoLGXTON2+LlyB/N35SP9j1boai2zzwXb7ypKELXMx3DVk9UTaEq1vHEw==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.8.0.tgz", + "integrity": "sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.7.5", - "@typescript-eslint/type-utils": "6.7.5", - "@typescript-eslint/utils": "6.7.5", - "@typescript-eslint/visitor-keys": "6.7.5", + "@typescript-eslint/scope-manager": "6.8.0", + "@typescript-eslint/type-utils": "6.8.0", + "@typescript-eslint/utils": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -913,15 +913,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.5.tgz", - "integrity": "sha512-bIZVSGx2UME/lmhLcjdVc7ePBwn7CLqKarUBL4me1C5feOd663liTGjMBGVcGr+BhnSLeP4SgwdvNnnkbIdkCw==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.8.0.tgz", + "integrity": "sha512-5tNs6Bw0j6BdWuP8Fx+VH4G9fEPDxnVI7yH1IAPkQH5RUtvKwRoqdecAPdQXv4rSOADAaz1LFBZvZG7VbXivSg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.7.5", - "@typescript-eslint/types": "6.7.5", - "@typescript-eslint/typescript-estree": "6.7.5", - "@typescript-eslint/visitor-keys": "6.7.5", + "@typescript-eslint/scope-manager": "6.8.0", + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/typescript-estree": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0", "debug": "^4.3.4" }, "engines": { @@ -941,13 +941,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.5.tgz", - "integrity": "sha512-GAlk3eQIwWOJeb9F7MKQ6Jbah/vx1zETSDw8likab/eFcqkjSD7BI75SDAeC5N2L0MmConMoPvTsmkrg71+B1A==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.8.0.tgz", + "integrity": "sha512-xe0HNBVwCph7rak+ZHcFD6A+q50SMsFwcmfdjs9Kz4qDh5hWhaPhFjRs/SODEhroBI5Ruyvyz9LfwUJ624O40g==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.7.5", - "@typescript-eslint/visitor-keys": "6.7.5" + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -958,13 +958,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.5.tgz", - "integrity": "sha512-Gs0qos5wqxnQrvpYv+pf3XfcRXW6jiAn9zE/K+DlmYf6FcpxeNYN0AIETaPR7rHO4K2UY+D0CIbDP9Ut0U4m1g==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.8.0.tgz", + "integrity": "sha512-RYOJdlkTJIXW7GSldUIHqc/Hkto8E+fZN96dMIFhuTJcQwdRoGN2rEWA8U6oXbLo0qufH7NPElUb+MceHtz54g==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.7.5", - "@typescript-eslint/utils": "6.7.5", + "@typescript-eslint/typescript-estree": "6.8.0", + "@typescript-eslint/utils": "6.8.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -985,9 +985,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.5.tgz", - "integrity": "sha512-WboQBlOXtdj1tDFPyIthpKrUb+kZf2VroLZhxKa/VlwLlLyqv/PwUNgL30BlTVZV1Wu4Asu2mMYPqarSO4L5ZQ==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.8.0.tgz", + "integrity": "sha512-p5qOxSum7W3k+llc7owEStXlGmSl8FcGvhYt8Vjy7FqEnmkCVlM3P57XQEGj58oqaBWDQXbJDZxwUWMS/EAPNQ==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -998,13 +998,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.5.tgz", - "integrity": "sha512-NhJiJ4KdtwBIxrKl0BqG1Ur+uw7FiOnOThcYx9DpOGJ/Abc9z2xNzLeirCG02Ig3vkvrc2qFLmYSSsaITbKjlg==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.8.0.tgz", + "integrity": "sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.7.5", - "@typescript-eslint/visitor-keys": "6.7.5", + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -1025,17 +1025,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.5.tgz", - "integrity": "sha512-pfRRrH20thJbzPPlPc4j0UNGvH1PjPlhlCMq4Yx7EGjV7lvEeGX0U6MJYe8+SyFutWgSHsdbJ3BXzZccYggezA==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.8.0.tgz", + "integrity": "sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.7.5", - "@typescript-eslint/types": "6.7.5", - "@typescript-eslint/typescript-estree": "6.7.5", + "@typescript-eslint/scope-manager": "6.8.0", + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/typescript-estree": "6.8.0", "semver": "^7.5.4" }, "engines": { @@ -1050,12 +1050,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.5.tgz", - "integrity": "sha512-3MaWdDZtLlsexZzDSdQWsFQ9l9nL8B80Z4fImSpyllFC/KLqWQRdEcB+gGGO+N3Q2uL40EsG66wZLsohPxNXvg==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.8.0.tgz", + "integrity": "sha512-oqAnbA7c+pgOhW2OhGvxm0t1BULX5peQI/rLsNDpGM78EebV3C9IGbX5HNZabuZ6UQrYveCLjKo8Iy/lLlBkkg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.7.5", + "@typescript-eslint/types": "6.8.0", "eslint-visitor-keys": "^3.4.1" }, "engines": { diff --git a/tests/wdio/package.json b/tests/wdio/package.json index bf0f4758c147..9bdc725e6c25 100644 --- a/tests/wdio/package.json +++ b/tests/wdio/package.json @@ -4,8 +4,8 @@ "type": "module", "devDependencies": { "@trivago/prettier-plugin-sort-imports": "^4.2.0", - "@typescript-eslint/eslint-plugin": "^6.7.5", - "@typescript-eslint/parser": "^6.7.5", + "@typescript-eslint/eslint-plugin": "^6.8.0", + "@typescript-eslint/parser": "^6.8.0", "@wdio/cli": "^8.18.2", "@wdio/local-runner": "^8.18.2", "@wdio/mocha-framework": "^8.18.2", From 5b9a16826ef78a1a4c62a0261939df1a15dce40f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Oct 2023 12:45:25 +0200 Subject: [PATCH 27/57] web: bump the esbuild group in /web with 2 updates (#7195) Bumps the esbuild group in /web with 2 updates: [@esbuild/darwin-arm64](https://github.com/evanw/esbuild) and [@esbuild/linux-arm64](https://github.com/evanw/esbuild). Updates `@esbuild/darwin-arm64` from 0.19.4 to 0.19.5 - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md) - [Commits](https://github.com/evanw/esbuild/compare/v0.19.4...v0.19.5) Updates `@esbuild/linux-arm64` from 0.19.4 to 0.19.5 - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md) - [Commits](https://github.com/evanw/esbuild/compare/v0.19.4...v0.19.5) --- updated-dependencies: - dependency-name: "@esbuild/darwin-arm64" dependency-type: direct:production update-type: version-update:semver-patch dependency-group: esbuild - dependency-name: "@esbuild/linux-arm64" dependency-type: direct:production update-type: version-update:semver-patch dependency-group: esbuild ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web/package-lock.json | 17 +++++++++-------- web/package.json | 4 ++-- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/web/package-lock.json b/web/package-lock.json index c816c65e9642..53a9ef724abd 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -15,6 +15,7 @@ "@codemirror/lang-xml": "^6.0.2", "@codemirror/legacy-modes": "^6.3.3", "@codemirror/theme-one-dark": "^6.1.2", + "@esbuild/linux-arm64": "^0.19.5", "@formatjs/intl-listformat": "^7.5.0", "@fortawesome/fontawesome-free": "^6.4.2", "@goauthentik/api": "^2023.8.3-1697470337", @@ -101,9 +102,9 @@ "vite-tsconfig-paths": "^4.2.1" }, "optionalDependencies": { - "@esbuild/darwin-arm64": "^0.19.4", + "@esbuild/darwin-arm64": "^0.19.5", "@esbuild/linux-amd64": "^0.18.11", - "@esbuild/linux-arm64": "^0.19.4" + "@esbuild/linux-arm64": "^0.19.5" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -2403,9 +2404,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.4.tgz", - "integrity": "sha512-Lviw8EzxsVQKpbS+rSt6/6zjn9ashUZ7Tbuvc2YENgRl0yZTktGlachZ9KMJUsVjZEGFVu336kl5lBgDN6PmpA==", + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.5.tgz", + "integrity": "sha512-mvXGcKqqIqyKoxq26qEDPHJuBYUA5KizJncKOAf9eJQez+L9O+KfvNFu6nl7SCZ/gFb2QPaRqqmG0doSWlgkqw==", "cpu": [ "arm64" ], @@ -2482,9 +2483,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.4.tgz", - "integrity": "sha512-ZWmWORaPbsPwmyu7eIEATFlaqm0QGt+joRE9sKcnVUG3oBbr/KYdNE2TnkzdQwX6EDRdg/x8Q4EZQTXoClUqqA==", + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.5.tgz", + "integrity": "sha512-o3vYippBmSrjjQUCEEiTZ2l+4yC0pVJD/Dl57WfPwwlvFkrxoSO7rmBZFii6kQB3Wrn/6GwJUPLU5t52eq2meA==", "cpu": [ "arm64" ], diff --git a/web/package.json b/web/package.json index ccc22f5e8a2f..6735e2268f8d 100644 --- a/web/package.json +++ b/web/package.json @@ -122,8 +122,8 @@ "vite-tsconfig-paths": "^4.2.1" }, "optionalDependencies": { - "@esbuild/darwin-arm64": "^0.19.4", + "@esbuild/darwin-arm64": "^0.19.5", "@esbuild/linux-amd64": "^0.18.11", - "@esbuild/linux-arm64": "^0.19.4" + "@esbuild/linux-arm64": "^0.19.5" } } From 3db897d64bb8fc38f899d0a6c0c06b7b6574efd5 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Tue, 17 Oct 2023 16:53:32 +0200 Subject: [PATCH 28/57] translate: Updates for file web/xliff/en.xlf in fr (#7189) * Translate web/xliff/en.xlf in fr 100% translated source file: 'web/xliff/en.xlf' on 'fr'. * Translate web/xliff/en.xlf in fr 100% translated source file: 'web/xliff/en.xlf' on 'fr'. --------- Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com> --- web/xliff/fr.xlf | 104 +++++++++++++++++++++++++++++++++-------------- 1 file changed, 73 insertions(+), 31 deletions(-) diff --git a/web/xliff/fr.xlf b/web/xliff/fr.xlf index 178e43b158bc..d4f94ea4c7ff 100644 --- a/web/xliff/fr.xlf +++ b/web/xliff/fr.xlf @@ -1,4 +1,4 @@ - + @@ -613,9 +613,9 @@ Il y a jour(s) - The URL "" was not found. - L'URL " - " n'a pas été trouvée. + The URL "" was not found. + L'URL " + " n'a pas été trouvée. @@ -1067,8 +1067,8 @@ Il y a jour(s) - To allow any redirect URI, set this value to ".*". Be aware of the possible security implications this can have. - Pour permettre n'importe quelle URI de redirection, définissez cette valeur sur ".*". Soyez conscient des possibles implications de sécurité que cela peut avoir. + To allow any redirect URI, set this value to ".*". Be aware of the possible security implications this can have. + Pour permettre n'importe quelle URI de redirection, définissez cette valeur sur ".*". Soyez conscient des possibles implications de sécurité que cela peut avoir. @@ -1640,7 +1640,7 @@ Il y a jour(s) Token to authenticate with. Currently only bearer authentication is supported. - Jeton d'authentification à utiliser. Actuellement, seule l'authentification "bearer authentication" est prise en charge. + Jeton d'authentification à utiliser. Actuellement, seule l'authentification "bearer authentication" est prise en charge. @@ -1808,8 +1808,8 @@ Il y a jour(s) - Either input a full URL, a relative path, or use 'fa://fa-test' to use the Font Awesome icon "fa-test". - Entrez une URL complète, un chemin relatif ou utilisez 'fa://fa-test' pour utiliser l'icône Font Awesome "fa-test". + Either input a full URL, a relative path, or use 'fa://fa-test' to use the Font Awesome icon "fa-test". + Entrez une URL complète, un chemin relatif ou utilisez 'fa://fa-test' pour utiliser l'icône Font Awesome "fa-test". @@ -3142,7 +3142,7 @@ doesn't pass when either or both of the selected options are equal or above the To use SSL instead, use 'ldaps://' and disable this option. - Pour utiliser SSL à la base, utilisez "ldaps://" et désactviez cette option. + Pour utiliser SSL à la base, utilisez "ldaps://" et désactviez cette option. @@ -3231,8 +3231,8 @@ doesn't pass when either or both of the selected options are equal or above the - Field which contains members of a group. Note that if using the "memberUid" field, the value is assumed to contain a relative distinguished name. e.g. 'memberUid=some-user' instead of 'memberUid=cn=some-user,ou=groups,...' - Champ qui contient les membres d'un groupe. Si vous utilisez le champ "memberUid", la valeur est censée contenir un nom distinctif relatif, par exemple 'memberUid=un-utilisateur' au lieu de 'memberUid=cn=un-utilisateur,ou=groups,...' + Field which contains members of a group. Note that if using the "memberUid" field, the value is assumed to contain a relative distinguished name. e.g. 'memberUid=some-user' instead of 'memberUid=cn=some-user,ou=groups,...' + Champ qui contient les membres d'un groupe. Si vous utilisez le champ "memberUid", la valeur est censée contenir un nom distinctif relatif, par exemple 'memberUid=un-utilisateur' au lieu de 'memberUid=cn=un-utilisateur,ou=groups,...' @@ -3527,7 +3527,7 @@ doesn't pass when either or both of the selected options are equal or above the Time offset when temporary users should be deleted. This only applies if your IDP uses the NameID Format 'transient', and the user doesn't log out manually. - Moment où les utilisateurs temporaires doivent être supprimés. Cela ne s'applique que si votre IDP utilise le format NameID "transient" et que l'utilisateur ne se déconnecte pas manuellement. + Moment où les utilisateurs temporaires doivent être supprimés. Cela ne s'applique que si votre IDP utilise le format NameID "transient" et que l'utilisateur ne se déconnecte pas manuellement. @@ -3695,7 +3695,7 @@ doesn't pass when either or both of the selected options are equal or above the Optionally set the 'FriendlyName' value of the Assertion attribute. - Indiquer la valeur "FriendlyName" de l'attribut d'assertion (optionnel) + Indiquer la valeur "FriendlyName" de l'attribut d'assertion (optionnel) @@ -4024,8 +4024,8 @@ doesn't pass when either or both of the selected options are equal or above the - When using an external logging solution for archiving, this can be set to "minutes=5". - En cas d'utilisation d'une solution de journalisation externe pour l'archivage, cette valeur peut être fixée à "minutes=5". + When using an external logging solution for archiving, this can be set to "minutes=5". + En cas d'utilisation d'une solution de journalisation externe pour l'archivage, cette valeur peut être fixée à "minutes=5". @@ -4034,8 +4034,8 @@ doesn't pass when either or both of the selected options are equal or above the - Format: "weeks=3;days=2;hours=3,seconds=2". - Format : "weeks=3;days=2;hours=3,seconds=2". + Format: "weeks=3;days=2;hours=3,seconds=2". + Format : "weeks=3;days=2;hours=3,seconds=2". @@ -4231,10 +4231,10 @@ doesn't pass when either or both of the selected options are equal or above the - Are you sure you want to update ""? + Are you sure you want to update ""? Êtes-vous sûr de vouloir mettre à jour - " - " ? + " + " ? @@ -5330,8 +5330,8 @@ doesn't pass when either or both of the selected options are equal or above the - A "roaming" authenticator, like a YubiKey - Un authentificateur "itinérant", comme une YubiKey + A "roaming" authenticator, like a YubiKey + Un authentificateur "itinérant", comme une YubiKey @@ -5656,7 +5656,7 @@ doesn't pass when either or both of the selected options are equal or above the Show arbitrary input fields to the user, for example during enrollment. Data is saved in the flow context under the 'prompt_data' variable. - Afficher des champs de saisie arbitraires à l'utilisateur, par exemple pendant l'inscription. Les données sont enregistrées dans le contexte du flux sous la variable "prompt_data". + Afficher des champs de saisie arbitraires à l'utilisateur, par exemple pendant l'inscription. Les données sont enregistrées dans le contexte du flux sous la variable "prompt_data". @@ -5665,10 +5665,10 @@ doesn't pass when either or both of the selected options are equal or above the - ("", of type ) + ("", of type ) - (" - ", de type + (" + ", de type ) @@ -5717,8 +5717,8 @@ doesn't pass when either or both of the selected options are equal or above the - If set to a duration above 0, the user will have the option to choose to "stay signed in", which will extend their session by the time specified here. - Si défini à une durée supérieure à 0, l'utilisateur aura la possibilité de choisir de "rester connecté", ce qui prolongera sa session jusqu'à la durée spécifiée ici. + If set to a duration above 0, the user will have the option to choose to "stay signed in", which will extend their session by the time specified here. + Si défini à une durée supérieure à 0, l'utilisateur aura la possibilité de choisir de "rester connecté", ce qui prolongera sa session jusqu'à la durée spécifiée ici. @@ -6502,7 +6502,7 @@ Les liaisons avec les groupes/utilisateurs sont vérifiées par rapport à l'uti Can be in the format of 'unix://' when connecting to a local docker daemon, using 'ssh://' to connect via SSH, or 'https://:2376' when connecting to a remote system. - Peut être au format "unix://" pour une connexion à un service docker local, "ssh://" pour une connexion via SSH, ou "https://:2376" pour une connexion à un système distant. + Peut être au format "unix://" pour une connexion à un service docker local, "ssh://" pour une connexion via SSH, ou "https://:2376" pour une connexion à un système distant. @@ -7809,130 +7809,172 @@ Les liaisons avec les groupes/utilisateurs sont vérifiées par rapport à l'uti Use this provider with nginx's auth_request or traefik's forwardAuth. Each application/domain needs its own provider. Additionally, on each domain, /outpost.goauthentik.io must be routed to the outpost (when using a managed outpost, this is done for you). + Utilisez ce fournisseur avec l'option "auth_request" de Nginx ou "forwardAuth" de Traefik. Chaque application/domaine a besoin de son propre fournisseur. De plus, sur chaque domaine, "/outpost.goauthentik.io" doit être routé vers le poste avancé (lorsque vous utilisez un poste avancé géré, cela est fait pour vous). Default relay state + Relay state par défaut When using IDP-initiated logins, the relay state will be set to this value. + Lors de l'utilisation de connexions initiées par l'IdP, le relay state sera défini à cette valeur. Flow Info + Informations du flux Stage used to configure a WebAuthn authenticator (i.e. Yubikey, FaceID/Windows Hello). + Étape de configuration d'un authentificateur WebAuthn (Yubikey, FaceID/Windows Hello). Custom attributes + Attributs personnalisés Don't show this message again. + Ne plus montrer ce message. Failed to fetch + Erreur de récupération Failed to fetch data. + Erreur de récupération des données. Successfully assigned permission. + Les permissions ont été assignées avec succès. Role + Rôle Assign + Assigner Assign permission to role + Assigner une permission à un rôle Assign to new role + Assigner à un nouveau rôle Directly assigned + Assigné directement Assign permission to user + Assigner une permission à un utilisateur Assign to new user + Assigner à un nouvel utilisateur User Object Permissions + Permissions de l'objet utilisateur Role Object Permissions + Permission de l'objet rôle Roles + Rôles Select roles to grant this groups' users' permissions from the selected roles. + Sélectionner les roles depuis lesquels assigner les permissions des utilisateurs de ce groupe depuis les rôles sélectionnés. Update Permissions + Mettre à jour les permissions Editing is disabled for managed tokens + L'édition est désactivée pour les jetons gérés Select permissions to grant + Sélectionner les permissions à attribuer Permissions to add + Permissions à ajouter Select permissions + Sélectionner les permissions Assign permission + Assigner les permissions Permission(s) + Permission(s) Permission + Permission User doesn't have view permission so description cannot be retrieved. + L'utilisateur n'a pas les permissions de lecture, la description ne peut donc pas être récupérée. Assigned permissions + Permissions assignées Assigned global permissions + Permissions globales assignées Assigned object permissions + Permissions d'objet assignées Successfully updated role. + Rôle mis à jour avec succès. Successfully created role. + Rôle créé avec succès. Manage roles which grant permissions to objects within authentik. + Gérer les rôles qui attribuent des permissions sur les objets au sein d'authentik. Role(s) + Role(s) Update Role + Mettre à jour le rôle Create Role + Créer un rôle Role doesn't have view permission so description cannot be retrieved. + Le rôle n'a pas les permissions de lecture, la description ne peut donc pas être récupérée. Role + Rôle Role Info + Informations du rôle - + \ No newline at end of file From 914e0d2b013f7c25d9c788f58203edf18d46d70f Mon Sep 17 00:00:00 2001 From: Marc 'risson' Schmitt Date: Tue, 17 Oct 2023 18:04:57 +0200 Subject: [PATCH 29/57] ci: test with postgres 16 Signed-off-by: Marc 'risson' Schmitt --- .github/workflows/ci-main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci-main.yml b/.github/workflows/ci-main.yml index d24a2a88d4ac..097321888d75 100644 --- a/.github/workflows/ci-main.yml +++ b/.github/workflows/ci-main.yml @@ -90,6 +90,7 @@ jobs: psql: - 12-alpine - 15-alpine + - 16-alpine steps: - uses: actions/checkout@v4 - name: Setup authentik env From 04f7710cd66648ee37aa3d640d628c0677323700 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Tue, 17 Oct 2023 21:34:43 +0200 Subject: [PATCH 30/57] translate: Updates for file web/xliff/en.xlf in zh_CN (#7197) Translate web/xliff/en.xlf in zh_CN 100% translated source file: 'web/xliff/en.xlf' on 'zh_CN'. Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com> --- web/xliff/zh_CN.xlf | 140 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) diff --git a/web/xliff/zh_CN.xlf b/web/xliff/zh_CN.xlf index caf2987eb450..d84a5c24eb58 100644 --- a/web/xliff/zh_CN.xlf +++ b/web/xliff/zh_CN.xlf @@ -7836,6 +7836,146 @@ Bindings to groups/users are checked against the user of the event. Don't show this message again. 不要再显示此消息。 + + + Failed to fetch + 拉取失败 + + + Failed to fetch data. + 拉取数据失败。 + + + Successfully assigned permission. + 已成功分配权限。 + + + Role + 角色 + + + Assign + 分配 + + + Assign permission to role + 为角色分配权限 + + + Assign to new role + 分配到新角色 + + + Directly assigned + 直接分配 + + + Assign permission to user + 为用户分配权限 + + + Assign to new user + 分配到新用户 + + + User Object Permissions + 用户对象权限 + + + Role Object Permissions + 角色对象权限 + + + Roles + 角色 + + + Select roles to grant this groups' users' permissions from the selected roles. + 选择角色,为该组内用户授予所选角色的权限。 + + + Update Permissions + 更新权限 + + + Editing is disabled for managed tokens + 托管令牌的编辑已被禁用 + + + Select permissions to grant + 选择权限以授予 + + + Permissions to add + 要添加的权限 + + + Select permissions + 选择权限 + + + Assign permission + 分配权限 + + + Permission(s) + 权限 + + + Permission + 权限 + + + User doesn't have view permission so description cannot be retrieved. + 用户不具有查看权限,所以无法获取描述。 + + + Assigned permissions + 分配的权限 + + + Assigned global permissions + 分配的全局权限 + + + Assigned object permissions + 分配的对象权限 + + + Successfully updated role. + 已成功更新角色。 + + + Successfully created role. + 已成功创建角色。 + + + Manage roles which grant permissions to objects within authentik. + 管理向 authentik 中的对象授予权限的角色。 + + + Role(s) + 角色 + + + Update Role + 更新角色 + + + Create Role + 创建角色 + + + Role doesn't have view permission so description cannot be retrieved. + 角色不具有查看权限,所以无法获取描述。 + + + Role + 角色 + + + Role Info + 角色信息 From 15be83c06cbf5d83c792e0e5648606dde78a86b2 Mon Sep 17 00:00:00 2001 From: Ken Sternberg <133134217+kensternberg-authentik@users.noreply.github.com> Date: Tue, 17 Oct 2023 12:35:11 -0700 Subject: [PATCH 31/57] web: Updates to the Context and Tasks libraries from lit. (#7168) * Updates to the Context and Tasks libraries from lit. * web: fix for bad merge * Still trying to solve that f*&!ing merge bug. * fix build Signed-off-by: Jens Langhammer * Updates to the Context and Tasks libraries from lit. * web: fix for bad merge * Still trying to solve that f*&!ing merge bug. * fix build Signed-off-by: Jens Langhammer --------- Signed-off-by: Jens Langhammer Co-authored-by: Jens Langhammer --- .github/dependabot.yml | 5 + web/package-lock.json | 6008 ++++------------- web/package.json | 9 +- web/src/elements/ak-locale-context/context.ts | 4 - .../buttons/SpinnerButton/BaseTaskButton.ts | 2 +- 5 files changed, 1351 insertions(+), 4677 deletions(-) delete mode 100644 web/src/elements/ak-locale-context/context.ts diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 5aacf8ef6827..c43623205a18 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -51,6 +51,11 @@ updates: esbuild: patterns: - "@esbuild/*" + rollup: + patterns: + - "@rollup/*" + - "rollup" + - "rollup-*" - package-ecosystem: npm directory: "/tests/wdio" schedule: diff --git a/web/package-lock.json b/web/package-lock.json index 53a9ef724abd..3cf9f1ab1c19 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -15,13 +15,12 @@ "@codemirror/lang-xml": "^6.0.2", "@codemirror/legacy-modes": "^6.3.3", "@codemirror/theme-one-dark": "^6.1.2", - "@esbuild/linux-arm64": "^0.19.5", "@formatjs/intl-listformat": "^7.5.0", "@fortawesome/fontawesome-free": "^6.4.2", "@goauthentik/api": "^2023.8.3-1697470337", - "@lit-labs/context": "^0.4.1", - "@lit-labs/task": "^3.1.0", + "@lit/context": "^1.0.0", "@lit/localize": "^0.11.4", + "@lit/task": "^1.0.0", "@open-wc/lit-helpers": "^0.6.0", "@patternfly/elements": "^2.4.0", "@patternfly/patternfly": "^4.224.2", @@ -104,7 +103,10 @@ "optionalDependencies": { "@esbuild/darwin-arm64": "^0.19.5", "@esbuild/linux-amd64": "^0.18.11", - "@esbuild/linux-arm64": "^0.19.5" + "@esbuild/linux-arm64": "^0.19.5", + "@rollup/rollup-darwin-arm64": "4.1.4", + "@rollup/rollup-linux-arm64-gnu": "4.1.4", + "@rollup/rollup-linux-x64-gnu": "4.1.4" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -201,12 +203,6 @@ "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 - }, "node_modules/@babel/generator": { "version": "7.23.0", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", @@ -353,12 +349,12 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.15.tgz", - "integrity": "sha512-qLNsZbgrNh0fDQBCPocSL8guki1hcPvltGDv/NxvUoABwFq7GkKSu1nRXeJkVZc+wJvne2E0RKQz+2SQrz6eAA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", "dev": true, "dependencies": { - "@babel/types": "^7.22.15" + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" @@ -542,12 +538,12 @@ } }, "node_modules/@babel/highlight": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.13.tgz", - "integrity": "sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, @@ -2091,9 +2087,9 @@ "dev": true }, "node_modules/@babel/runtime": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.15.tgz", - "integrity": "sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", + "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", "dev": true, "dependencies": { "regenerator-runtime": "^0.14.0" @@ -2103,9 +2099,9 @@ } }, "node_modules/@babel/runtime-corejs3": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.22.15.tgz", - "integrity": "sha512-SAj8oKi8UogVi6eXQXKNPu8qZ78Yzy7zawrlTr0M+IuW/g8Qe9gVDhGcF9h1S69OyACpYoLxEzpjs1M15sI5wQ==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.23.2.tgz", + "integrity": "sha512-54cIh74Z1rp4oIjsHjqN+WM4fMyCBYe+LpZ9jWm51CZ1fbH3SkAzQD/3XLoNkjbJ7YEmjobLXyvQrFypRHOrXw==", "dependencies": { "core-js-pure": "^3.30.2", "regenerator-runtime": "^0.14.0" @@ -2169,13 +2165,13 @@ "integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==" }, "node_modules/@codemirror/autocomplete": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.9.0.tgz", - "integrity": "sha512-Fbwm0V/Wn3BkEJZRhr0hi5BhCo5a7eBL6LYaliPjOSwCyfOpnjXY59HruSxOUNV+1OYer0Tgx1zRNQttjXyDog==", + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.10.2.tgz", + "integrity": "sha512-3dCL7b0j2GdtZzWN5j7HDpRAJ26ip07R4NGYz7QYthIYMiX8I4E4TNrYcdTayPJGeVQtd/xe7lWU4XL7THFb/w==", "dependencies": { "@codemirror/language": "^6.0.0", "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.6.0", + "@codemirror/view": "^6.17.0", "@lezer/common": "^1.0.0" }, "peerDependencies": { @@ -2186,14 +2182,14 @@ } }, "node_modules/@codemirror/commands": { - "version": "6.2.5", - "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.2.5.tgz", - "integrity": "sha512-dSi7ow2P2YgPBZflR9AJoaTHvqmeGIgkhignYMd5zK5y6DANTvxKxp6eMEpIDUJkRAaOY/TFZ4jP1ADIO/GLVA==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.3.0.tgz", + "integrity": "sha512-tFfcxRIlOWiQDFhjBSWJ10MxcvbCIsRr6V64SgrcaY0MwNk32cUOcCuNlWo8VjV4qRQCgNgUAnIeo0svkk4R5Q==", "dependencies": { "@codemirror/language": "^6.0.0", "@codemirror/state": "^6.2.0", "@codemirror/view": "^6.0.0", - "@lezer/common": "^1.0.0" + "@lezer/common": "^1.1.0" } }, "node_modules/@codemirror/lang-css": { @@ -2261,13 +2257,13 @@ } }, "node_modules/@codemirror/language": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.9.0.tgz", - "integrity": "sha512-nFu311/0ne/qGuGCL3oKuktBgzVOaxCHZPZv1tLSZkNjPYxxvkjSbzno3MlErG2tgw1Yw1yF8BxMCegeMXqpiw==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.9.1.tgz", + "integrity": "sha512-lWRP3Y9IUdOms6DXuBpoWwjkR7yRmnS0hKYCbSfPz9v6Em1A1UCRujAkDiCrdYfs1Z0Eu4dGtwovNPStIfkgNA==", "dependencies": { "@codemirror/state": "^6.0.0", "@codemirror/view": "^6.0.0", - "@lezer/common": "^1.0.0", + "@lezer/common": "^1.1.0", "@lezer/highlight": "^1.0.0", "@lezer/lr": "^1.0.0", "style-mod": "^4.0.0" @@ -2282,9 +2278,9 @@ } }, "node_modules/@codemirror/lint": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.4.1.tgz", - "integrity": "sha512-2Hx945qKX7FBan5/gUdTM8fsMYrNG9clIgEcPXestbLVFAUyQYFAuju/5BMNf/PwgpVaX5pvRm4+ovjbp9D9gQ==", + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.4.2.tgz", + "integrity": "sha512-wzRkluWb1ptPKdzlsrbwwjYCPLgzU6N88YBAmlZi8WFyuiEduSd05MnJYNogzyc8rPK7pj6m95ptUApc8sHKVA==", "dependencies": { "@codemirror/state": "^6.0.0", "@codemirror/view": "^6.0.0", @@ -2292,9 +2288,9 @@ } }, "node_modules/@codemirror/search": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.5.2.tgz", - "integrity": "sha512-WRihpqd0l9cEh9J3IZe45Yi+Z5MfTsEXnyc3V7qXHP4ZYtIYpGOn+EJ7fyLIkyAm/8S6QIr7/mMISfAadf8zCg==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.5.4.tgz", + "integrity": "sha512-YoTrvjv9e8EbPs58opjZKyJ3ewFrVSUzQ/4WXlULQLSDDr1nGPJ67mMXFNNVYwdFhybzhrzrtqgHmtpJwIF+8g==", "dependencies": { "@codemirror/state": "^6.0.0", "@codemirror/view": "^6.0.0", @@ -2302,9 +2298,9 @@ } }, "node_modules/@codemirror/state": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.2.1.tgz", - "integrity": "sha512-RupHSZ8+OjNT38zU9fKH2sv+Dnlr8Eb8sl4NOnnqz95mCFTZUaiRP8Xv5MeeaG0px2b8Bnfe7YGwCV3nsBhbuw==" + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.3.0.tgz", + "integrity": "sha512-5fIS19U46PEqczbBL6gBAtju9MFDT9TjIC/q2MYblHCEKiU8jhV3cRFhvQu5tQvbtxc5KLWxSnzMNh3ZqeaXVg==" }, "node_modules/@codemirror/theme-one-dark": { "version": "6.1.2", @@ -2318,9 +2314,9 @@ } }, "node_modules/@codemirror/view": { - "version": "6.18.1", - "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.18.1.tgz", - "integrity": "sha512-xcsXcMkIMd7l3WZEWoc4ljteAiqzxb5gVerRxk5132p5cLix6rTydWTQjsj2oxORepfsrwy1fC4r20iMa9plrg==", + "version": "6.21.3", + "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.21.3.tgz", + "integrity": "sha512-8l1aSQ6MygzL4Nx7GVYhucSXvW4jQd0F6Zm3v9Dg+6nZEfwzJVqi4C2zHfDljID+73gsQrWp9TgHc81xU15O4A==", "dependencies": { "@codemirror/state": "^6.1.4", "style-mod": "^4.1.0", @@ -2721,9 +2717,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.0.tgz", - "integrity": "sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg==", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", + "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" @@ -2759,9 +2755,9 @@ "dev": true }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -2812,21 +2808,29 @@ "integrity": "sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==", "dev": true }, + "node_modules/@fastify/busboy": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.0.0.tgz", + "integrity": "sha512-JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ==", + "engines": { + "node": ">=14" + } + }, "node_modules/@floating-ui/core": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.4.1.tgz", - "integrity": "sha512-jk3WqquEJRlcyu7997NtR5PibI+y5bi+LS3hPmguVClypenMsCY3CBa3LAQnozRCtCrYWSEtAdiskpamuJRFOQ==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.0.tgz", + "integrity": "sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg==", "dependencies": { - "@floating-ui/utils": "^0.1.1" + "@floating-ui/utils": "^0.1.3" } }, "node_modules/@floating-ui/dom": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.2.tgz", - "integrity": "sha512-6ArmenS6qJEWmwzczWyhvrXRdI/rI78poBcW0h/456+onlabit+2G+QxHx5xTOX60NBJQXjsCLFbW2CmsXpUog==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.3.tgz", + "integrity": "sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==", "dependencies": { - "@floating-ui/core": "^1.4.1", - "@floating-ui/utils": "^0.1.1" + "@floating-ui/core": "^1.4.2", + "@floating-ui/utils": "^0.1.3" } }, "node_modules/@floating-ui/react-dom": { @@ -2843,9 +2847,9 @@ } }, "node_modules/@floating-ui/utils": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.2.tgz", - "integrity": "sha512-ou3elfqG/hZsbmF4bxeJhPHIf3G2pm0ujc39hYEZrfVqt7Vk/Zji6CXc3W0pmYM8BW1g40U+akTl9DKZhFhInQ==" + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.6.tgz", + "integrity": "sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==" }, "node_modules/@formatjs/ecma402-abstract": { "version": "1.17.2", @@ -3181,12 +3185,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@jest/transform/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 - }, "node_modules/@jest/transform/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -3370,9 +3368,9 @@ "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==" }, "node_modules/@lezer/common": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.0.4.tgz", - "integrity": "sha512-lZHlk8p67x4aIDtJl6UQrXSOP6oi7dQR3W/geFVrENdA1JDaAJWldnVqVjPMJupbTKbzDfFcePfKttqVidS/dg==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.1.0.tgz", + "integrity": "sha512-XPIN3cYDXsoJI/oDWoR2tD++juVrhgIago9xyKhZ7IhGlzdDM9QgC8D8saKNCz5pindGcznFr2HBSsEQSWnSjw==" }, "node_modules/@lezer/css": { "version": "1.1.3", @@ -3402,18 +3400,18 @@ } }, "node_modules/@lezer/javascript": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/@lezer/javascript/-/javascript-1.4.7.tgz", - "integrity": "sha512-OVWlK0YEi7HM+9JRWtRkir8qvcg0/kVYg2TAMHlVtl6DU1C9yK1waEOLBMztZsV/axRJxsqfJKhzYz+bxZme5g==", + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@lezer/javascript/-/javascript-1.4.8.tgz", + "integrity": "sha512-QRmw/5xrcyRLyWr3JT3KCzn2XZr5NYNqQMGsqnYy+FghbQn9DZPuj6JDkE6uSXvfMLpdapu8KBIaeoJFaR4QVw==", "dependencies": { "@lezer/highlight": "^1.1.3", "@lezer/lr": "^1.3.0" } }, "node_modules/@lezer/lr": { - "version": "1.3.10", - "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.3.10.tgz", - "integrity": "sha512-BZfVvf7Re5BIwJHlZXbJn9L8lus5EonxQghyn+ih8Wl36XMFBPTXC0KM0IdUtj9w/diPHsKlXVgL+AlX2jYJ0Q==", + "version": "1.3.13", + "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.3.13.tgz", + "integrity": "sha512-RLAbau/4uSzKgIKj96mI5WUtG1qtiR0Frn0Ei9zhPj8YOkHM+1Bb8SgdVvmR/aWJCFIzjo2KFnDiRZ75Xf5NdQ==", "dependencies": { "@lezer/common": "^1.0.0" } @@ -3436,26 +3434,18 @@ "@lezer/lr": "^1.0.0" } }, - "node_modules/@lit-labs/context": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@lit-labs/context/-/context-0.4.1.tgz", - "integrity": "sha512-o+uKepgEPoYAVaPvSASoDiUWKdcf7neyhFcm9dvtiLgptKoINZD1vW7GbbH/2hPtxLxgcmVfZ9NDCXNDQeHTHQ==", - "dependencies": { - "@lit/reactive-element": "^1.5.0", - "lit": "^2.7.0" - } - }, "node_modules/@lit-labs/ssr-dom-shim": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.2.tgz", "integrity": "sha512-jnOD+/+dSrfTWYfSXBXlo5l5f0q1UuJo3tkbMDCYA2lKUYq79jaxqtGEvnRoh049nt1vdo1+45RinipU6FGY2g==" }, - "node_modules/@lit-labs/task": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@lit-labs/task/-/task-3.1.0.tgz", - "integrity": "sha512-zMlcUtZeHDT83IiT2+CJBSoFvWDLnPEezhOCgqjxW4DmRHlbgd7jdft97T6dw4S4RvIETfI7OOyvubCV/EzTlg==", + "node_modules/@lit/context": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@lit/context/-/context-1.0.0.tgz", + "integrity": "sha512-bdqj6z6Mj+TpYfo2seHy1mlBzYrW+CyHnDQLD0DI7iQLELs2Fk6icZwvbvbskR0E94QG4aO/35j6PTJ9wWTv0Q==", "dependencies": { - "@lit/task": "^1.0.0" + "@lit/reactive-element": "^1.6.2 || ^2.0.0", + "lit": "^2.7.5 || ^3.0.0" } }, "node_modules/@lit/localize": { @@ -3499,15 +3489,6 @@ "lit": "^3.0.0" } }, - "node_modules/@lit/localize-tools/node_modules/@lit/reactive-element": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.0.0.tgz", - "integrity": "sha512-wn+2+uDcs62ROBmVAwssO4x5xue/uKD3MGGZOXL2sMxReTRIT0JXKyMXeu7gh0aJ4IJNEIG/3aOnUaQvM7BMzQ==", - "dev": true, - "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.1.2-pre.0" - } - }, "node_modules/@lit/localize-tools/node_modules/lit": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/lit/-/lit-3.0.0.tgz", @@ -3539,19 +3520,7 @@ "@types/trusted-types": "^2.0.2" } }, - "node_modules/@lit/localize-tools/node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dev": true, - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/@lit/reactive-element": { + "node_modules/@lit/localize/node_modules/@lit/reactive-element": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", @@ -3559,6 +3528,14 @@ "@lit-labs/ssr-dom-shim": "^1.0.0" } }, + "node_modules/@lit/reactive-element": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.0.0.tgz", + "integrity": "sha512-wn+2+uDcs62ROBmVAwssO4x5xue/uKD3MGGZOXL2sMxReTRIT0JXKyMXeu7gh0aJ4IJNEIG/3aOnUaQvM7BMzQ==", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.1.2-pre.0" + } + }, "node_modules/@lit/task": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@lit/task/-/task-1.0.0.tgz", @@ -3666,18 +3643,6 @@ "parse5": "^7.0.0" } }, - "node_modules/@parse5/tools/node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dev": true, - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, "node_modules/@patternfly/elements": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/@patternfly/elements/-/elements-2.4.0.tgz", @@ -3689,6 +3654,14 @@ "tslib": "^2.4.1" } }, + "node_modules/@patternfly/elements/node_modules/@lit/reactive-element": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", + "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.0.0" + } + }, "node_modules/@patternfly/elements/node_modules/lit": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/lit/-/lit-2.6.1.tgz", @@ -4558,32 +4531,6 @@ } } }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.1.4.tgz", - "integrity": "sha512-WlzkuFvpKl6CLFdc3V6ESPt7gq5Vrimd2Yv9IzKXdOpgbH4cdDSS1JLiACX8toygihtH5OlxyQzhXOph7Ovlpw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.1.4.tgz", - "integrity": "sha512-D1e+ABe56T9Pq2fD+R3ybe1ylCDzu3tY4Qm2Mj24R9wXNCq35+JbFbOpc2yrroO2/tGhTobmEl2Bm5xfE/n8RA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, "node_modules/@rollup/rollup-darwin-arm64": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.1.4.tgz", @@ -4591,38 +4538,11 @@ "cpu": [ "arm64" ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.1.4.tgz", - "integrity": "sha512-eGJVZScKSLZkYjhTAESCtbyTBq9SXeW9+TX36ki5gVhDqJtnQ5k0f9F44jNK5RhAMgIj0Ht9+n6HAgH0gUUyWQ==", - "cpu": [ - "x64" - ], - "dev": true, "optional": true, "os": [ "darwin" ] }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.1.4.tgz", - "integrity": "sha512-HnigYSEg2hOdX1meROecbk++z1nVJDpEofw9V2oWKqOWzTJlJf1UXVbDE6Hg30CapJxZu5ga4fdAQc/gODDkKg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, "node_modules/@rollup/rollup-linux-arm64-gnu": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.1.4.tgz", @@ -4630,20 +4550,6 @@ "cpu": [ "arm64" ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.1.4.tgz", - "integrity": "sha512-aVPmNMdp6Dlo2tWkAduAD/5TL/NT5uor290YvjvFvCv0Q3L7tVdlD8MOGDL+oRSw5XKXKAsDzHhUOPUNPRHVTQ==", - "cpu": [ - "arm64" - ], - "dev": true, "optional": true, "os": [ "linux" @@ -4656,72 +4562,19 @@ "cpu": [ "x64" ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.1.4.tgz", - "integrity": "sha512-/t6C6niEQTqmQTVTD9TDwUzxG91Mlk69/v0qodIPUnjjB3wR4UA3klg+orR2SU3Ux2Cgf2pWPL9utK80/1ek8g==", - "cpu": [ - "x64" - ], - "dev": true, "optional": true, "os": [ "linux" ] }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.1.4.tgz", - "integrity": "sha512-ZY5BHHrOPkMbCuGWFNpJH0t18D2LU6GMYKGaqaWTQ3CQOL57Fem4zE941/Ek5pIsVt70HyDXssVEFQXlITI5Gg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.1.4.tgz", - "integrity": "sha512-XG2mcRfFrJvYyYaQmvCIvgfkaGinfXrpkBuIbJrTl9SaIQ8HumheWTIwkNz2mktCKwZfXHQNpO7RgXLIGQ7HXA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.1.4.tgz", - "integrity": "sha512-ANFqWYPwkhIqPmXw8vm0GpBEHiPpqcm99jiiAp71DbCSqLDhrtr019C5vhD0Bw4My+LmMvciZq6IsWHqQpl2ZQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, "node_modules/@sentry-internal/tracing": { - "version": "7.74.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.74.0.tgz", - "integrity": "sha512-JK6IRGgdtZjswGfaGIHNWIThffhOHzVIIaGmglui+VFIzOsOqePjoxaDV0MEvzafxXZD7eWqGE5RGuZ0n6HFVg==", + "version": "7.74.1", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.74.1.tgz", + "integrity": "sha512-nNaiZreQxCitG2PzYPaC7XtyA9OMsETGYMKAtiK4p62/uTmeYbsBva9BoNx1XeiHRwbrVQYRMKQ9nV5e2jS4/A==", "dependencies": { - "@sentry/core": "7.74.0", - "@sentry/types": "7.74.0", - "@sentry/utils": "7.74.0", + "@sentry/core": "7.74.1", + "@sentry/types": "7.74.1", + "@sentry/utils": "7.74.1", "tslib": "^2.4.1 || ^1.9.3" }, "engines": { @@ -4729,15 +4582,15 @@ } }, "node_modules/@sentry/browser": { - "version": "7.74.0", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.74.0.tgz", - "integrity": "sha512-Njr8216Z1dFUcl6NqBOk20dssK9SjoVddY74Xq+Q4p3NfXBG3lkMcACXor7SFoJRZXq8CZWGS13Cc5KwViRw4g==", - "dependencies": { - "@sentry-internal/tracing": "7.74.0", - "@sentry/core": "7.74.0", - "@sentry/replay": "7.74.0", - "@sentry/types": "7.74.0", - "@sentry/utils": "7.74.0", + "version": "7.74.1", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.74.1.tgz", + "integrity": "sha512-OYWNne/KO60lOvkIpIlJUyiJt/9j8DGI57thSDFEYSmmbNqMitczUTBOaEStouvHKyfchqLZm1CZfWKt+z0VOA==", + "dependencies": { + "@sentry-internal/tracing": "7.74.1", + "@sentry/core": "7.74.1", + "@sentry/replay": "7.74.1", + "@sentry/types": "7.74.1", + "@sentry/utils": "7.74.1", "tslib": "^2.4.1 || ^1.9.3" }, "engines": { @@ -4745,12 +4598,12 @@ } }, "node_modules/@sentry/core": { - "version": "7.74.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.74.0.tgz", - "integrity": "sha512-83NRuqn7nDZkSVBN5yJQqcpXDG4yMYiB7TkYUKrGTzBpRy6KUOrkCdybuKk0oraTIGiGSe5WEwCFySiNgR9FzA==", + "version": "7.74.1", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.74.1.tgz", + "integrity": "sha512-LvEhOSfdIvwkr+PdlrT/aA/iOLhkXrSkvjqAQyogE4ddCWeYfS0NoirxNt1EaxMBAWKhYZRqzkA7WA4LDLbzlA==", "dependencies": { - "@sentry/types": "7.74.0", - "@sentry/utils": "7.74.0", + "@sentry/types": "7.74.1", + "@sentry/utils": "7.74.1", "tslib": "^2.4.1 || ^1.9.3" }, "engines": { @@ -4758,43 +4611,43 @@ } }, "node_modules/@sentry/replay": { - "version": "7.74.0", - "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.74.0.tgz", - "integrity": "sha512-GoYa3cHTTFVI/J1cnZ0i4X128mf/JljaswO3PWNTe2k3lSHq/LM5aV0keClRvwM0W8hlix8oOTT06nnenOUmmw==", + "version": "7.74.1", + "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.74.1.tgz", + "integrity": "sha512-qmbOl+jYdyhoHFbPp9WemKx8UojID5hVmuVLxNIP0ANqAwmE9OQEK9YFg2cf7L/TpKb1tqz0qLgi5MYIdcdpgQ==", "dependencies": { - "@sentry/core": "7.74.0", - "@sentry/types": "7.74.0", - "@sentry/utils": "7.74.0" + "@sentry/core": "7.74.1", + "@sentry/types": "7.74.1", + "@sentry/utils": "7.74.1" }, "engines": { "node": ">=12" } }, "node_modules/@sentry/tracing": { - "version": "7.74.0", - "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-7.74.0.tgz", - "integrity": "sha512-rSFJADhh3J3zmkzJ1EXCOwS3h7F6o/lSKu7CWZSZ6k5kBvbCJ5AXvGQadhPdWPJMMcPFzCJaOyTKEPcwL4tbCw==", + "version": "7.74.1", + "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-7.74.1.tgz", + "integrity": "sha512-YqhLMY28uukOR8FtoCMvzdzBYkTtwj/JHUensDEpTZG5OoQTjrcgttpL+WMaCBUy1MpOIo7FyLB5aoRq2U7AIA==", "dependencies": { - "@sentry-internal/tracing": "7.74.0" + "@sentry-internal/tracing": "7.74.1" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/types": { - "version": "7.74.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.74.0.tgz", - "integrity": "sha512-rI5eIRbUycWjn6s6o3yAjjWtIvYSxZDdnKv5je2EZINfLKcMPj1dkl6wQd2F4y7gLfD/N6Y0wZYIXC3DUdJQQg==", + "version": "7.74.1", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.74.1.tgz", + "integrity": "sha512-2jIuPc+YKvXqZETwr2E8VYnsH1zsSUR/wkIvg1uTVeVNyoowJv+YsOtCdeGyL2AwiotUBSPKu7O1Lz0kq5rMOQ==", "engines": { "node": ">=8" } }, "node_modules/@sentry/utils": { - "version": "7.74.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.74.0.tgz", - "integrity": "sha512-k3np8nuTPtx5KDODPtULfFln4UXdE56MZCcF19Jv6Ljxf+YN/Ady1+0Oi3e0XoSvFpWNyWnglauT7M65qCE6kg==", + "version": "7.74.1", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.74.1.tgz", + "integrity": "sha512-qUsqufuHYcy5gFhLZslLxA5kcEOkkODITXW3c7D+x+8iP/AJqa8v8CeUCVNS7RetHCuIeWAbbTClC4c411EwQg==", "dependencies": { - "@sentry/types": "7.74.0", + "@sentry/types": "7.74.1", "tslib": "^2.4.1 || ^1.9.3" }, "engines": { @@ -4808,19 +4661,19 @@ "dev": true }, "node_modules/@storybook/addon-actions": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.4.6.tgz", - "integrity": "sha512-SsqZr3js5NinKPnC8AeNI7Ij+Q6fIl9tRdRmSulEgjksjOg7E5S1/Wsn5Bb2CCgj7MaX6VxGyC7s3XskQtDiIQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.5.0.tgz", + "integrity": "sha512-eeHIFpZXGyhkfmrbHRf3rndL+ppFqlKTgN74y+UfFaAWNUhV3caXxRbHV3BbcPSLkRAsNShBH9hTNTlUAHSVjA==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/components": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/components": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/manager-api": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/theming": "7.5.0", + "@storybook/types": "7.5.0", "dequal": "^2.0.2", "lodash": "^4.17.21", "polished": "^4.2.2", @@ -4847,70 +4700,100 @@ } } }, - "node_modules/@storybook/addon-actions/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "node_modules/@storybook/addon-backgrounds": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-7.5.0.tgz", + "integrity": "sha512-Yu/eFHZIfyAhK28GKKcIBwj/9+hRem8pSdI3N0FJuOhErmaE0zg6VDUBzkgLa/Fn9SwC5PNyAeLAtxssg1KSNg==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/components": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" + "@storybook/manager-api": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/theming": "7.5.0", + "@storybook/types": "7.5.0", + "memoizerific": "^1.11.3", + "ts-dedent": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-actions/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } } }, - "node_modules/@storybook/addon-actions/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", - "dev": true, - "dependencies": { + "node_modules/@storybook/addon-controls": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.5.0.tgz", + "integrity": "sha512-X56Pd+0GH1A8ddVsziJQaJ8qCaxsWK0aLCKH5li9GLtnyIGHvd5+KvvfYEbjTkeJv3d9J7X0D4uTAH1/dsmI8w==", + "dev": true, + "dependencies": { + "@storybook/blocks": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/components": "7.5.0", + "@storybook/core-common": "7.5.0", + "@storybook/core-events": "7.5.0", + "@storybook/manager-api": "7.5.0", + "@storybook/node-logger": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/theming": "7.5.0", + "@storybook/types": "7.5.0", + "lodash": "^4.17.21", "ts-dedent": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } } }, - "node_modules/@storybook/addon-actions/node_modules/@storybook/manager-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", - "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", + "node_modules/@storybook/addon-docs": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.5.0.tgz", + "integrity": "sha512-lgrum81iJT+i85kO3uOR4wR1t05x4SmJLCB2cyYohCIafiOiV4FuyYFhvT9N6UhHByOfrWgpipKgKg6zsmV2eg==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", + "@jest/transform": "^29.3.1", + "@mdx-js/react": "^2.1.5", + "@storybook/blocks": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/components": "7.5.0", + "@storybook/csf-plugin": "7.5.0", + "@storybook/csf-tools": "7.5.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "semver": "^7.3.7", - "store2": "^2.14.2", - "telejson": "^7.2.0", + "@storybook/mdx2-csf": "^1.0.0", + "@storybook/node-logger": "7.5.0", + "@storybook/postinstall": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/react-dom-shim": "7.5.0", + "@storybook/theming": "7.5.0", + "@storybook/types": "7.5.0", + "fs-extra": "^11.1.0", + "remark-external-links": "^8.0.0", + "remark-slug": "^6.0.0", "ts-dedent": "^2.0.0" }, "funding": { @@ -4922,41 +4805,40 @@ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@storybook/addon-actions/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "node_modules/@storybook/addon-docs/node_modules/fs-extra": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", - "@types/qs": "^6.9.5", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "synchronous-promise": "^2.0.15", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "engines": { + "node": ">=14.14" } }, - "node_modules/@storybook/addon-actions/node_modules/@storybook/router": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", - "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "memoizerific": "^1.11.3", - "qs": "^6.10.0" + "node_modules/@storybook/addon-essentials": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.5.0.tgz", + "integrity": "sha512-CKPHdQBP6psTVb3NHsP8cWSUcAA4kwzT8SrJxKddn4ecqmWJWeZo5g5y3WuqVQHlv3edpluJLQYehcVibcljag==", + "dev": true, + "dependencies": { + "@storybook/addon-actions": "7.5.0", + "@storybook/addon-backgrounds": "7.5.0", + "@storybook/addon-controls": "7.5.0", + "@storybook/addon-docs": "7.5.0", + "@storybook/addon-highlight": "7.5.0", + "@storybook/addon-measure": "7.5.0", + "@storybook/addon-outline": "7.5.0", + "@storybook/addon-toolbars": "7.5.0", + "@storybook/addon-viewport": "7.5.0", + "@storybook/core-common": "7.5.0", + "@storybook/manager-api": "7.5.0", + "@storybook/node-logger": "7.5.0", + "@storybook/preview-api": "7.5.0", + "ts-dedent": "^2.0.0" }, "funding": { "type": "opencollective", @@ -4967,90 +4849,36 @@ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@storybook/addon-actions/node_modules/@storybook/theming": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", - "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", + "node_modules/@storybook/addon-highlight": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.5.0.tgz", + "integrity": "sha512-6SlEkGCZ/LnEcbN6oE2Au3fgI9VfULErWQ36bx+sV6WWTb1EoooiD7ZJJzobrcOAriSyfWoctO5DF4W+X9I8lg==", "dev": true, "dependencies": { - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-actions/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" + "@storybook/preview-api": "7.5.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/addon-actions/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addon-actions/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addon-actions/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@storybook/addon-backgrounds": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-7.4.6.tgz", - "integrity": "sha512-+LHTZB/ZYMAzkyD5ZxSriBsqmsrvIaW/Nnd/BeuXGbkrVKKqM0qAKiFZAfjc2WchA1piVNy0/1Rsf+kuYCEiJw==", + "node_modules/@storybook/addon-links": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-7.5.0.tgz", + "integrity": "sha512-1j0I80k8V1sSGN3faduj9uFk0ThgT4qAYyA/5q2YYA4y6V/K8ywJVOR3nv5j7ueTeBD/gUaoncn+NosusrhRNQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/components": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", + "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", - "memoizerific": "^1.11.3", + "@storybook/manager-api": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/router": "7.5.0", + "@storybook/types": "7.5.0", + "prop-types": "^15.7.2", "ts-dedent": "^2.0.0" }, "funding": { @@ -5070,70 +4898,51 @@ } } }, - "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "node_modules/@storybook/addon-measure": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-7.5.0.tgz", + "integrity": "sha512-zzHrQpn+burEr37hV1QV7yA1M33wBa38dUe+RLNYkS9g22BXYYZ/uVUhljpmA9DhZCUNJqYbXWi+ad4XMPE6+Q==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/components": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", + "@storybook/manager-api": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/types": "7.5.0", "tiny-invariant": "^1.3.1" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } } }, - "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/manager-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", - "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", + "node_modules/@storybook/addon-outline": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-7.5.0.tgz", + "integrity": "sha512-iVcyFi2N2NEZRytUg8wSiXS9UE9wA8/prs/sIsQ7Y34vHm1UaqAd8KxCE/fhHFNYw4UyHEEDUyTfci/jNrNQYA==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", + "@storybook/client-logger": "7.5.0", + "@storybook/components": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "semver": "^7.3.7", - "store2": "^2.14.2", - "telejson": "^7.2.0", + "@storybook/manager-api": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/types": "7.5.0", "ts-dedent": "^2.0.0" }, "funding": { @@ -5143,43 +4952,27 @@ "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", - "@types/qs": "^6.9.5", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "synchronous-promise": "^2.0.15", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } } }, - "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/router": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", - "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", + "node_modules/@storybook/addon-toolbars": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.5.0.tgz", + "integrity": "sha512-RLONWIJE7myVL3DzWZDWnnmb53C1OitCiO3mDt678xyK5ZrFCOV9cznckXASx1wNJVt3P9OOW1N2UY7wul72+Q==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "memoizerific": "^1.11.3", - "qs": "^6.10.0" + "@storybook/client-logger": "7.5.0", + "@storybook/components": "7.5.0", + "@storybook/manager-api": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/theming": "7.5.0" }, "funding": { "type": "opencollective", @@ -5188,18 +4981,31 @@ "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } } }, - "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/theming": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", - "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", + "node_modules/@storybook/addon-viewport": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.5.0.tgz", + "integrity": "sha512-NXnjHQFKgeFsWOaJE0fl2THgejxDqx8axy4Prtc3ePcoVa/UrMu11G3iEcCaLhDJU7RDNM6CODgifYpH6gyKWg==", "dev": true, "dependencies": { - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/components": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3" + "@storybook/manager-api": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/theming": "7.5.0", + "memoizerific": "^1.11.3", + "prop-types": "^15.7.2" }, "funding": { "type": "opencollective", @@ -5208,75 +5014,44 @@ "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } } }, - "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "node_modules/@storybook/addons": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-7.5.0.tgz", + "integrity": "sha512-ENvleXaJfOUVfWlh+T/318+UpmHfdQz5nB7QxkgK+AX7mQ3tPC41oUivwuEaVE6lP4BsijBtJBrGHEnA29xhUg==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" + "@storybook/manager-api": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/types": "7.5.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-backgrounds/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@storybook/addon-backgrounds/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "node_modules/@storybook/api": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/api/-/api-7.5.0.tgz", + "integrity": "sha512-Bqb0CeT3CiVsDQzrLFGyOynhTMhTSncds4xsC6w3u3UiDvqlfHF7446iDzoZkuXFh+N0L6oe5qJsSkXCfN/ojQ==", "dev": true, + "peer": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addon-backgrounds/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@storybook/addon-controls": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.4.6.tgz", - "integrity": "sha512-4lq3sycEUIsK8SUWDYc60QgF4vV9FZZ3lDr6M7j2W9bOnvGw49d2fbdlnq+bX1ZprZZ9VgglQpBAorQB3BXZRw==", - "dev": true, - "dependencies": { - "@storybook/blocks": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/components": "7.4.6", - "@storybook/core-common": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/manager-api": "7.4.6", - "@storybook/node-logger": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", - "lodash": "^4.17.21", - "ts-dedent": "^2.0.0" + "@storybook/client-logger": "7.5.0", + "@storybook/manager-api": "7.5.0" }, "funding": { "type": "opencollective", @@ -5295,2222 +5070,55 @@ } } }, - "node_modules/@storybook/addon-controls/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "node_modules/@storybook/blocks": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.5.0.tgz", + "integrity": "sha512-4poS7lQVKhitWKl0TPECMszOMtNamsbNvZdAZ188U/p1EzTrqLg+RT9HtsB8q8Y0owx29Nh5LdfhNOddpx23ig==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/components": "7.5.0", + "@storybook/core-events": "7.5.0", + "@storybook/csf": "^0.1.0", + "@storybook/docs-tools": "7.5.0", "@storybook/global": "^5.0.0", - "qs": "^6.10.0", + "@storybook/manager-api": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/theming": "7.5.0", + "@storybook/types": "7.5.0", + "@types/lodash": "^4.14.167", + "color-convert": "^2.0.1", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "markdown-to-jsx": "^7.1.8", + "memoizerific": "^1.11.3", + "polished": "^4.2.2", + "react-colorful": "^5.1.2", "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" + "tocbot": "^4.20.1", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-controls/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@storybook/addon-controls/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-controls/node_modules/@storybook/manager-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", - "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/router": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "semver": "^7.3.7", - "store2": "^2.14.2", - "telejson": "^7.2.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-controls/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", - "@types/qs": "^6.9.5", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "synchronous-promise": "^2.0.15", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-controls/node_modules/@storybook/router": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", - "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "memoizerific": "^1.11.3", - "qs": "^6.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-controls/node_modules/@storybook/theming": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", - "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", - "dev": true, - "dependencies": { - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.6", - "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-controls/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-controls/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addon-controls/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addon-controls/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@storybook/addon-docs": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.4.6.tgz", - "integrity": "sha512-dLaub+XWFq4hChw+xfuF9yYg0Txp77FUawKoAigccfjWXx+OOhRV3XTuAcknpXkYq94GWynHgUFXosXT9kbDNA==", - "dev": true, - "dependencies": { - "@jest/transform": "^29.3.1", - "@mdx-js/react": "^2.1.5", - "@storybook/blocks": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/components": "7.4.6", - "@storybook/csf-plugin": "7.4.6", - "@storybook/csf-tools": "7.4.6", - "@storybook/global": "^5.0.0", - "@storybook/mdx2-csf": "^1.0.0", - "@storybook/node-logger": "7.4.6", - "@storybook/postinstall": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/react-dom-shim": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", - "fs-extra": "^11.1.0", - "remark-external-links": "^8.0.0", - "remark-slug": "^6.0.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-docs/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-docs/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-docs/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-docs/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", - "@types/qs": "^6.9.5", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "synchronous-promise": "^2.0.15", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-docs/node_modules/@storybook/theming": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", - "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", - "dev": true, - "dependencies": { - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.6", - "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-docs/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-docs/node_modules/fs-extra": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", - "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/@storybook/addon-essentials": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.4.6.tgz", - "integrity": "sha512-dWodufrt71TK7ELkeIvVae/x4PzECUlbOm57Iqqt4yQCyR291CgvI4PjeB8un2HbpcXCGZ+N/Oj3YkytvzBi4A==", - "dev": true, - "dependencies": { - "@storybook/addon-actions": "7.4.6", - "@storybook/addon-backgrounds": "7.4.6", - "@storybook/addon-controls": "7.4.6", - "@storybook/addon-docs": "7.4.6", - "@storybook/addon-highlight": "7.4.6", - "@storybook/addon-measure": "7.4.6", - "@storybook/addon-outline": "7.4.6", - "@storybook/addon-toolbars": "7.4.6", - "@storybook/addon-viewport": "7.4.6", - "@storybook/core-common": "7.4.6", - "@storybook/manager-api": "7.4.6", - "@storybook/node-logger": "7.4.6", - "@storybook/preview-api": "7.4.6", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-essentials/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-essentials/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-essentials/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-essentials/node_modules/@storybook/manager-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", - "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/router": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "semver": "^7.3.7", - "store2": "^2.14.2", - "telejson": "^7.2.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-essentials/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", - "@types/qs": "^6.9.5", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "synchronous-promise": "^2.0.15", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-essentials/node_modules/@storybook/router": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", - "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "memoizerific": "^1.11.3", - "qs": "^6.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-essentials/node_modules/@storybook/theming": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", - "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", - "dev": true, - "dependencies": { - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.6", - "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-essentials/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-essentials/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addon-essentials/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addon-essentials/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@storybook/addon-highlight": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.4.6.tgz", - "integrity": "sha512-zCufxxD2KS5VwczxfkcBxe1oR/juTTn2H1Qm8kYvWCJQx3UxzX0+G9cwafbpV7eivqaufLweEwROkH+0KjAtkQ==", - "dev": true, - "dependencies": { - "@storybook/core-events": "7.4.6", - "@storybook/global": "^5.0.0", - "@storybook/preview-api": "7.4.6" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-highlight/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-highlight/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-highlight/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-highlight/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", - "@types/qs": "^6.9.5", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "synchronous-promise": "^2.0.15", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-highlight/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-links": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-7.4.6.tgz", - "integrity": "sha512-BPygElZKX+CPI9Se6GJNk1dYc5oxuhA+vHigO1tBqhiM6VkHyFP3cvezJNQvpNYhkUnu3cxnZXb3UJnlRbPY3g==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/router": "7.4.6", - "@storybook/types": "7.4.6", - "prop-types": "^15.7.2", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } - } - }, - "node_modules/@storybook/addon-links/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-links/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-links/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-links/node_modules/@storybook/manager-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", - "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/router": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "semver": "^7.3.7", - "store2": "^2.14.2", - "telejson": "^7.2.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-links/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", - "@types/qs": "^6.9.5", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "synchronous-promise": "^2.0.15", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-links/node_modules/@storybook/router": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", - "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "memoizerific": "^1.11.3", - "qs": "^6.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-links/node_modules/@storybook/theming": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", - "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", - "dev": true, - "dependencies": { - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.6", - "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-links/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-links/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addon-links/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addon-links/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@storybook/addon-measure": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-7.4.6.tgz", - "integrity": "sha512-nCymMLaHnxv8TE3yEM1A9Tulb1NuRXRNmtsdHTkjv7P1aWCxZo8A/GZaottKe/GLT8jSRjZ+dnpYWrbAhw6wTQ==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/components": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/types": "7.4.6", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } - } - }, - "node_modules/@storybook/addon-measure/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-measure/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-measure/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-measure/node_modules/@storybook/manager-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", - "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/router": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "semver": "^7.3.7", - "store2": "^2.14.2", - "telejson": "^7.2.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-measure/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", - "@types/qs": "^6.9.5", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "synchronous-promise": "^2.0.15", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-measure/node_modules/@storybook/router": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", - "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "memoizerific": "^1.11.3", - "qs": "^6.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-measure/node_modules/@storybook/theming": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", - "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", - "dev": true, - "dependencies": { - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.6", - "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-measure/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-measure/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addon-measure/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addon-measure/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@storybook/addon-outline": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-7.4.6.tgz", - "integrity": "sha512-errNUblRVDLpuEaHQPr/nsrnsUkD2ARmXawkRvizgDWLIDMDJYjTON3MUCaVx3x+hlZ3I6X//G5TVcma8tCc8A==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/components": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/types": "7.4.6", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } - } - }, - "node_modules/@storybook/addon-outline/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-outline/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-outline/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-outline/node_modules/@storybook/manager-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", - "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/router": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "semver": "^7.3.7", - "store2": "^2.14.2", - "telejson": "^7.2.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-outline/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", - "@types/qs": "^6.9.5", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "synchronous-promise": "^2.0.15", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-outline/node_modules/@storybook/router": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", - "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "memoizerific": "^1.11.3", - "qs": "^6.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-outline/node_modules/@storybook/theming": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", - "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", - "dev": true, - "dependencies": { - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.6", - "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-outline/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-outline/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addon-outline/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addon-outline/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@storybook/addon-toolbars": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.4.6.tgz", - "integrity": "sha512-L9m2FBcKeteGq7qIYsMJr0LEfiH7Wdrv5IDcldZTn68eZUJTh1p4GdJZcOmzX1P5IFRr76hpu03iWsNlWQjpbQ==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/components": "7.4.6", - "@storybook/manager-api": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/theming": "7.4.6" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } - } - }, - "node_modules/@storybook/addon-toolbars/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-toolbars/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-toolbars/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-toolbars/node_modules/@storybook/manager-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", - "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/router": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "semver": "^7.3.7", - "store2": "^2.14.2", - "telejson": "^7.2.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-toolbars/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", - "@types/qs": "^6.9.5", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "synchronous-promise": "^2.0.15", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-toolbars/node_modules/@storybook/router": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", - "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "memoizerific": "^1.11.3", - "qs": "^6.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-toolbars/node_modules/@storybook/theming": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", - "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", - "dev": true, - "dependencies": { - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.6", - "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-toolbars/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-toolbars/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addon-toolbars/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addon-toolbars/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@storybook/addon-viewport": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.4.6.tgz", - "integrity": "sha512-INDtk54j7bi7NgxMfd2ATmbA0J7nAd6X8itMkLIyPuPJtx8bYHPDORyemDOd0AojgmAdTOAyUtDYdI/PFeo4Cw==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/components": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/theming": "7.4.6", - "memoizerific": "^1.11.3", - "prop-types": "^15.7.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } - } - }, - "node_modules/@storybook/addon-viewport/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-viewport/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-viewport/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-viewport/node_modules/@storybook/manager-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", - "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/router": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "semver": "^7.3.7", - "store2": "^2.14.2", - "telejson": "^7.2.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-viewport/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", - "@types/qs": "^6.9.5", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "synchronous-promise": "^2.0.15", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-viewport/node_modules/@storybook/router": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", - "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "memoizerific": "^1.11.3", - "qs": "^6.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-viewport/node_modules/@storybook/theming": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", - "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", - "dev": true, - "dependencies": { - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.6", - "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addon-viewport/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addon-viewport/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addon-viewport/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addon-viewport/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@storybook/addons": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-7.4.2.tgz", - "integrity": "sha512-3snQVlTIKgzk6apNZc9sHr+0n4riiQkKGUkoHS8B1G90qj/9OyRnkDq55A7mJ9CxskqIjei5Q+hlko87g0jDsA==", - "dev": true, - "dependencies": { - "@storybook/manager-api": "7.4.2", - "@storybook/preview-api": "7.4.2", - "@storybook/types": "7.4.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addons/node_modules/@storybook/channels": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.2.tgz", - "integrity": "sha512-Q95KnV+fTGaAV3S875+d5LlGg+bdC3bUnki3engODDS4ViSRHJ1bnXnqxKmAaS3O/52geIyWWR766YvwHw3avw==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.2", - "@storybook/core-events": "7.4.2", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addons/node_modules/@storybook/client-logger": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.2.tgz", - "integrity": "sha512-LC8tYrYSJwF4DHRdNYh6y8hSvccwUIv5/WOZKJDmKx7mcEm6HsVuUu16C9jsl7iy6IqJYxgVz1va3WS6852E+A==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addons/node_modules/@storybook/core-events": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.2.tgz", - "integrity": "sha512-WCEBw+Ew8DrccnB0hpP9TXadreoOlMnWCyuXU2XrvmK/vde009leWQIsLs1rY+L17zDVuogBms62AxrDDJmMpw==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addons/node_modules/@storybook/manager-api": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.2.tgz", - "integrity": "sha512-gKPG0At9AGhF32iwjiba+ILqswc3ZFj9ZIu5HjGEmaoiOfqI6TayuHoptup0QxkI/Hx8f9mNkHCwR9COrmb69w==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.2", - "@storybook/client-logger": "7.4.2", - "@storybook/core-events": "7.4.2", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/router": "7.4.2", - "@storybook/theming": "7.4.2", - "@storybook/types": "7.4.2", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "semver": "^7.3.7", - "store2": "^2.14.2", - "telejson": "^7.2.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addons/node_modules/@storybook/router": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.2.tgz", - "integrity": "sha512-TFpMrmliklWNSrF84kGnh3WcLZciqIvaAjhxahqD+kx070KLqjxrsiny7UC6PUUYZdjLkbR9m8n3SFdXAVKgLw==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.2", - "memoizerific": "^1.11.3", - "qs": "^6.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addons/node_modules/@storybook/theming": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.2.tgz", - "integrity": "sha512-wVmxZHVCqDoZgUOXTS4HRV4UClLtCydRNOEuUZ7X08QIPSA1FVL3gEpTQJfgCsyBX/cwSSofAMUbzAGEVNo+9g==", - "dev": true, - "dependencies": { - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.2", - "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/addons/node_modules/@storybook/types": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.2.tgz", - "integrity": "sha512-OOJ2TeS3Zzc6spHbdH+JXml0q4IHuYt9axmXAv1/pkhqHjA5072pyUacmlYNQeihpQOOsKLiCQUQlvtMy9fTnQ==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.2", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/addons/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addons/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/addons/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@storybook/api": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@storybook/api/-/api-7.4.1.tgz", - "integrity": "sha512-7GfzW+UdrT8KNi69YcxbQBPB/GQ63i+eqaWlPzoWRCdWxKb3im+wf/gsBuRs550F+6aqEAQH6d+e6byz7gwPog==", - "dev": true, - "peer": true, - "dependencies": { - "@storybook/client-logger": "7.4.1", - "@storybook/manager-api": "7.4.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } - } - }, - "node_modules/@storybook/blocks": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.4.6.tgz", - "integrity": "sha512-HxBSAeOiTZW2jbHQlo1upRWFgoMsaAyKijUFf5MwwMNIesXCuuTGZDJ3xTABwAVLK2qC9Ektfbo0CZCiPVuDRQ==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/components": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/docs-tools": "7.4.6", - "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", - "@types/lodash": "^4.14.167", - "color-convert": "^2.0.1", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "markdown-to-jsx": "^7.1.8", - "memoizerific": "^1.11.3", - "polished": "^4.2.2", - "react-colorful": "^5.1.2", - "telejson": "^7.2.0", - "tocbot": "^4.20.1", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/blocks/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/blocks/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/blocks/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/blocks/node_modules/@storybook/manager-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", - "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/router": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "semver": "^7.3.7", - "store2": "^2.14.2", - "telejson": "^7.2.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/blocks/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", - "@types/qs": "^6.9.5", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "synchronous-promise": "^2.0.15", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/blocks/node_modules/@storybook/router": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", - "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "memoizerific": "^1.11.3", - "qs": "^6.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/blocks/node_modules/@storybook/theming": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", - "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", - "dev": true, - "dependencies": { - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.6", - "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/blocks/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/blocks/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/blocks/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@storybook/blocks/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/@storybook/builder-manager": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.4.6.tgz", - "integrity": "sha512-zylZCD2rmyLOOFBFmUgtJg6UNUKmRNgXiig1XApzS2TkIbTZP827DsVEUl0ey/lskCe0uArkrEBR6ICba8p/Rw==", + "node_modules/@storybook/builder-manager": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.5.0.tgz", + "integrity": "sha512-nj+n36i7Mds4RIyGJqvOB+Z47zfgbMes+6Gd6reT1vC22Yda5nAITnd2vxbYfv/sUPhIBBfuFZ/eogomgYCjKg==", "dev": true, "dependencies": { "@fal-works/esbuild-plugin-global-externals": "^2.1.2", - "@storybook/core-common": "7.4.6", - "@storybook/manager": "7.4.6", - "@storybook/node-logger": "7.4.6", + "@storybook/core-common": "7.5.0", + "@storybook/manager": "7.5.0", + "@storybook/node-logger": "7.5.0", "@types/ejs": "^3.1.1", "@types/find-cache-dir": "^3.2.1", "@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.10", @@ -7544,20 +5152,19 @@ } }, "node_modules/@storybook/builder-vite": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-7.4.6.tgz", - "integrity": "sha512-xV9STYK+TkqWWTf2ydm6jx+7P70fjD2UPd1XTUw08uKszIjhuuxk+bG/OF5R1E25mPunAKXm6kBFh351AKejBg==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-common": "7.4.6", - "@storybook/csf-plugin": "7.4.6", - "@storybook/mdx2-csf": "^1.0.0", - "@storybook/node-logger": "7.4.6", - "@storybook/preview": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/types": "7.4.6", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-7.5.0.tgz", + "integrity": "sha512-XqiXECAhIDhUryhcPfWfmrvCA2R9p4cebXdyH5Op17yKQ10Bp+OxDWXZlOY/PHdq2KBVhC8CF3Yp7JXCWk8BHw==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-common": "7.5.0", + "@storybook/csf-plugin": "7.5.0", + "@storybook/node-logger": "7.5.0", + "@storybook/preview": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/types": "7.5.0", "@types/find-cache-dir": "^3.2.1", "browser-assert": "^1.2.1", "es-module-lexer": "^0.9.3", @@ -7565,8 +5172,6 @@ "find-cache-dir": "^3.0.0", "fs-extra": "^11.1.0", "magic-string": "^0.30.0", - "remark-external-links": "^8.0.0", - "remark-slug": "^6.0.0", "rollup": "^2.25.0 || ^3.3.0" }, "funding": { @@ -7576,7 +5181,7 @@ "peerDependencies": { "@preact/preset-vite": "*", "typescript": ">= 4.3.x", - "vite": "^3.0.0 || ^4.0.0", + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0", "vite-plugin-glimmerx": "*" }, "peerDependenciesMeta": { @@ -7591,92 +5196,6 @@ } } }, - "node_modules/@storybook/builder-vite/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/builder-vite/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/builder-vite/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/builder-vite/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", - "@types/qs": "^6.9.5", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "synchronous-promise": "^2.0.15", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/builder-vite/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, "node_modules/@storybook/builder-vite/node_modules/fs-extra": { "version": "11.1.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", @@ -7708,14 +5227,13 @@ } }, "node_modules/@storybook/channels": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.1.tgz", - "integrity": "sha512-gnE1mNrRF+9oCVRMq6MS/tLXJbYmf9P02PCC3KpMLcSsABdH5jcrACejzJVo/kE223knFH7NJc4BBj7+5h0uXA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.5.0.tgz", + "integrity": "sha512-/7QJS1UA7TX3uhZqCpjv4Ib8nfMnDOJrBWvjiXiUONaRcSk/he5X+W1Zz/c7dgt+wkYuAh+evjc7glIaBhVNVQ==", "dev": true, - "peer": true, "dependencies": { - "@storybook/client-logger": "7.4.1", - "@storybook/core-events": "7.4.1", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.2.0", @@ -7727,23 +5245,23 @@ } }, "node_modules/@storybook/cli": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.4.6.tgz", - "integrity": "sha512-rRwaH8pOL+FHz/pJMEkNpMH2xvZvWsrl7obBYw26NQiHmiVSAkfHJicndSN1mwc+p5w+9iXthrgzbLtSAOSvkA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.5.0.tgz", + "integrity": "sha512-f14q6sqHhDf7bFS0o/ZTgN2tM00Q0cMGMmGFXTQSCh0HXJUS4ujy/FADL+x62wUylIdr1HkIw+ONWMMqHuenEA==", "dev": true, "dependencies": { "@babel/core": "^7.22.9", "@babel/preset-env": "^7.22.9", "@babel/types": "^7.22.5", "@ndelangen/get-tarball": "^3.0.7", - "@storybook/codemod": "7.4.6", - "@storybook/core-common": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/core-server": "7.4.6", - "@storybook/csf-tools": "7.4.6", - "@storybook/node-logger": "7.4.6", - "@storybook/telemetry": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/codemod": "7.5.0", + "@storybook/core-common": "7.5.0", + "@storybook/core-events": "7.5.0", + "@storybook/core-server": "7.5.0", + "@storybook/csf-tools": "7.5.0", + "@storybook/node-logger": "7.5.0", + "@storybook/telemetry": "7.5.0", + "@storybook/types": "7.5.0", "@types/semver": "^7.3.4", "@yarnpkg/fslib": "2.10.3", "@yarnpkg/libzip": "2.3.0", @@ -7783,66 +5301,6 @@ "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/cli/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/cli/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/cli/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/cli/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, "node_modules/@storybook/cli/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -7897,6 +5355,26 @@ "node": ">=14.14" } }, + "node_modules/@storybook/cli/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@storybook/cli/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -7967,11 +5445,10 @@ "dev": true }, "node_modules/@storybook/client-logger": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.1.tgz", - "integrity": "sha512-2j0DQlKlPNY8XAaEZv+mUYEUm4dOWg6/Q92UNbvYPRK5qbXUvbMiQco5nmvg4LvMT6y99LhRSW2xrwEx5xKAKw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.5.0.tgz", + "integrity": "sha512-JV7J9vc69f9Il4uW62NIeweUU7O38VwFWxtCkhd0bcBA/9RG0go4M2avzxYYEAe9kIOX9IBBk8WGzMacwW4gKQ==", "dev": true, - "peer": true, "dependencies": { "@storybook/global": "^5.0.0" }, @@ -7981,18 +5458,18 @@ } }, "node_modules/@storybook/codemod": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.4.6.tgz", - "integrity": "sha512-lxmwEpwksCaAq96APN2YlooSDfKjJ1vKzN5Ni2EqQzf2TEXl7XQjLacHd7OOaII1kfsy+D5gNG4N5wBo7Ub30g==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.5.0.tgz", + "integrity": "sha512-QdjFdD1OK+LqhYwNMh60/kgSt9VZIgH2TBUeXrPlCK6gfcZBrCB0ktgtuM8Zk/ROktq09pZoVDxqFi0AbEUPew==", "dev": true, "dependencies": { "@babel/core": "^7.22.9", "@babel/preset-env": "^7.22.9", "@babel/types": "^7.22.5", "@storybook/csf": "^0.1.0", - "@storybook/csf-tools": "7.4.6", - "@storybook/node-logger": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/csf-tools": "7.5.0", + "@storybook/node-logger": "7.5.0", + "@storybook/types": "7.5.0", "@types/cross-spawn": "^6.0.2", "cross-spawn": "^7.0.3", "globby": "^11.0.2", @@ -8006,64 +5483,24 @@ "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/codemod/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/codemod/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/codemod/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "node_modules/@storybook/codemod/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "dependencies": { - "ts-dedent": "^2.0.0" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/codemod/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" + "engines": { + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@storybook/codemod/node_modules/prettier": { @@ -8077,305 +5514,79 @@ "engines": { "node": ">=10.13.0" }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/@storybook/components": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.4.6.tgz", - "integrity": "sha512-nIRBhewAgrJJVafyCzuaLx1l+YOfvvD5dOZ0JxZsxJsefOdw1jFpUqUZ5fIpQ2moyvrR0mAUFw378rBfMdHz5Q==", - "dev": true, - "dependencies": { - "@radix-ui/react-select": "^1.2.2", - "@radix-ui/react-toolbar": "^1.0.4", - "@storybook/client-logger": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", - "memoizerific": "^1.11.3", - "use-resize-observer": "^9.1.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/components/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/components/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/components/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/components/node_modules/@storybook/theming": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", - "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", - "dev": true, - "dependencies": { - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.6", - "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/components/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/core-client": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-7.4.6.tgz", - "integrity": "sha512-tfgxAHeCvMcs6DsVgtb4hQSDaCHeAPJOsoyhb47eDQfk4OmxzriM0qWucJV5DePSMi+KutX/rN2u0JxfOuN68g==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/preview-api": "7.4.6" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/core-client/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/core-client/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/core-client/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/core-client/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", - "@types/qs": "^6.9.5", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "synchronous-promise": "^2.0.15", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/core-client/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/core-common": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.4.6.tgz", - "integrity": "sha512-05MJFmOM86qvTLtgDskokIFz9txe0Lbhq4L3by1FtF0GwgH+p+W6I94KI7c6ANER+kVZkXQZhiRzwBFnVTW+Cg==", - "dev": true, - "dependencies": { - "@storybook/core-events": "7.4.6", - "@storybook/node-logger": "7.4.6", - "@storybook/types": "7.4.6", - "@types/find-cache-dir": "^3.2.1", - "@types/node": "^16.0.0", - "@types/node-fetch": "^2.6.4", - "@types/pretty-hrtime": "^1.0.0", - "chalk": "^4.1.0", - "esbuild": "^0.18.0", - "esbuild-register": "^3.4.0", - "file-system-cache": "2.3.0", - "find-cache-dir": "^3.0.0", - "find-up": "^5.0.0", - "fs-extra": "^11.1.0", - "glob": "^10.0.0", - "handlebars": "^4.7.7", - "lazy-universal-dotenv": "^4.0.0", - "node-fetch": "^2.0.0", - "picomatch": "^2.3.0", - "pkg-dir": "^5.0.0", - "pretty-hrtime": "^1.0.3", - "resolve-from": "^5.0.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/core-common/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/@storybook/core-common/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "node_modules/@storybook/components": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.5.0.tgz", + "integrity": "sha512-6lmZ6PbS27xN32vTJ/NvgaiKkFIQRzZuBeBIg2u+FoAEgCiCwRXjZKe/O8NZC2Xr0uf97+7U2P0kD4Hwr9SNhw==", "dev": true, "dependencies": { - "@storybook/global": "^5.0.0" + "@radix-ui/react-select": "^1.2.2", + "@radix-ui/react-toolbar": "^1.0.4", + "@storybook/client-logger": "7.5.0", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/theming": "7.5.0", + "@storybook/types": "7.5.0", + "memoizerific": "^1.11.3", + "use-resize-observer": "^9.1.0", + "util-deprecate": "^1.0.2" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@storybook/core-common/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "node_modules/@storybook/core-client": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-7.5.0.tgz", + "integrity": "sha512-lnlPhsHnjK3tQ6jgTL/4TqIsxqznMQ0p7lSnUfhfccc2lGtMO/Ez/xIiTGoJQssJxuJE3d4sj3wRgYvuTDGQYw==", "dev": true, "dependencies": { - "ts-dedent": "^2.0.0" + "@storybook/client-logger": "7.5.0", + "@storybook/preview-api": "7.5.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/core-common/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "node_modules/@storybook/core-common": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.5.0.tgz", + "integrity": "sha512-Gw3/rzRb5+XbwqBcr2ZNaIYGEp+WNTwaBOnMs4yp2SCrNIb0P+i3BxlVQdgABaq43EI3/bksowT6hei0jyhGhw==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" + "@storybook/core-events": "7.5.0", + "@storybook/node-logger": "7.5.0", + "@storybook/types": "7.5.0", + "@types/find-cache-dir": "^3.2.1", + "@types/node": "^18.0.0", + "@types/node-fetch": "^2.6.4", + "@types/pretty-hrtime": "^1.0.0", + "chalk": "^4.1.0", + "esbuild": "^0.18.0", + "esbuild-register": "^3.5.0", + "file-system-cache": "2.3.0", + "find-cache-dir": "^3.0.0", + "find-up": "^5.0.0", + "fs-extra": "^11.1.0", + "glob": "^10.0.0", + "handlebars": "^4.7.7", + "lazy-universal-dotenv": "^4.0.0", + "node-fetch": "^2.0.0", + "picomatch": "^2.3.0", + "pkg-dir": "^5.0.0", + "pretty-hrtime": "^1.0.3", + "resolve-from": "^5.0.0", + "ts-dedent": "^2.0.0" }, "funding": { "type": "opencollective", @@ -8383,9 +5594,9 @@ } }, "node_modules/@storybook/core-common/node_modules/@types/node": { - "version": "16.18.57", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.57.tgz", - "integrity": "sha512-piPoDozdPaX1hNWFJQzzgWqE40gh986VvVx/QO9RU4qYRE55ld7iepDVgZ3ccGUw0R4wge0Oy1dd+3xOQNkkUQ==", + "version": "18.18.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.5.tgz", + "integrity": "sha512-4slmbtwV59ZxitY4ixUZdy1uRLf9eSIvBWPQxNjhHYWEtn0FryfKpyS2cvADYXTayWdKEIsJengncrVvkI4I6A==", "dev": true }, "node_modules/@storybook/core-common/node_modules/ansi-styles": { @@ -8501,11 +5712,10 @@ } }, "node_modules/@storybook/core-events": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.1.tgz", - "integrity": "sha512-F1tGb32XZ4FRfbtXdi4b+zdzWUjFz5rn3TF18mSuBGGXvxKU+4tywgjGQ3dKGdvuP754czn3poSdz2ZW08bLsQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.5.0.tgz", + "integrity": "sha512-FsD+clTzayqprbVllnL8LLch+uCslJFDgsv7Zh99/zoi7OHtHyauoCZkdLBSiDzgc84qS41dY19HqX1/y7cnOw==", "dev": true, - "peer": true, "dependencies": { "ts-dedent": "^2.0.0" }, @@ -8515,28 +5725,28 @@ } }, "node_modules/@storybook/core-server": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.4.6.tgz", - "integrity": "sha512-jqmRTGCJ1W0WReImivkisPVaLFT5sjtLnFoAk0feHp6QS5j7EYOPN7CYzliyQmARWTLUEXOVaFf3VD6nJZQhJQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.5.0.tgz", + "integrity": "sha512-7QT8uzwSJOsv9PASQ6ywepYkcEYFB7+S7Cj/0nFMh3Vl9vW96LXvEHLAo9CUhSxdEKWeTnD8DS5+j90dLhQFCA==", "dev": true, "dependencies": { "@aw-web-design/x-default-browser": "1.4.126", "@discoveryjs/json-ext": "^0.5.3", - "@storybook/builder-manager": "7.4.6", - "@storybook/channels": "7.4.6", - "@storybook/core-common": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/builder-manager": "7.5.0", + "@storybook/channels": "7.5.0", + "@storybook/core-common": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", - "@storybook/csf-tools": "7.4.6", + "@storybook/csf-tools": "7.5.0", "@storybook/docs-mdx": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/manager": "7.4.6", - "@storybook/node-logger": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/telemetry": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/manager": "7.5.0", + "@storybook/node-logger": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/telemetry": "7.5.0", + "@storybook/types": "7.5.0", "@types/detect-port": "^1.3.0", - "@types/node": "^16.0.0", + "@types/node": "^18.0.0", "@types/pretty-hrtime": "^1.0.0", "@types/semver": "^7.3.4", "better-opn": "^3.0.2", @@ -8567,96 +5777,10 @@ "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/core-server/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/core-server/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/core-server/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/core-server/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", - "@types/qs": "^6.9.5", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "synchronous-promise": "^2.0.15", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/core-server/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, "node_modules/@storybook/core-server/node_modules/@types/node": { - "version": "16.18.57", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.57.tgz", - "integrity": "sha512-piPoDozdPaX1hNWFJQzzgWqE40gh986VvVx/QO9RU4qYRE55ld7iepDVgZ3ccGUw0R4wge0Oy1dd+3xOQNkkUQ==", + "version": "18.18.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.5.tgz", + "integrity": "sha512-4slmbtwV59ZxitY4ixUZdy1uRLf9eSIvBWPQxNjhHYWEtn0FryfKpyS2cvADYXTayWdKEIsJengncrVvkI4I6A==", "dev": true }, "node_modules/@storybook/core-server/node_modules/ansi-styles": { @@ -8704,6 +5828,26 @@ "node": ">=14.14" } }, + "node_modules/@storybook/core-server/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@storybook/core-server/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -8768,12 +5912,12 @@ } }, "node_modules/@storybook/csf-plugin": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.4.6.tgz", - "integrity": "sha512-yi7Qa4NSqKOyiJTWCxlB0ih2ijXq6oY5qZKW6MuMMBP14xJNRGLbH5KabpfXgN2T7YECcOWG1uWaGj2veJb1KA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.5.0.tgz", + "integrity": "sha512-kghaEFYvQISdAjQddeicSuvBFMeuuLNtpmMkuoLQzULF7e/Tws6zLCYsjGevqlnqXD0iW2XM/j9q4M5L/mWc5A==", "dev": true, "dependencies": { - "@storybook/csf-tools": "7.4.6", + "@storybook/csf-tools": "7.5.0", "unplugin": "^1.3.1" }, "funding": { @@ -8782,9 +5926,9 @@ } }, "node_modules/@storybook/csf-tools": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.4.6.tgz", - "integrity": "sha512-ocKpcIUtTBy6hlLY34RUFQyX403cWpB2gGfqvkHbpGe2BQj7EyV0zpWnjsfVxvw+M9OWlCdxHWDOPUgXM33ELw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.5.0.tgz", + "integrity": "sha512-KOHbFNSwwc7KTdNz/6yO7S2pxbr7sH6nqfolS6/l+pod45WvRH3VhyqlDIIeX7ESIhfCw87ExC96hNDL3TojCw==", "dev": true, "dependencies": { "@babel/generator": "^7.22.9", @@ -8792,7 +5936,7 @@ "@babel/traverse": "^7.22.8", "@babel/types": "^7.22.5", "@storybook/csf": "^0.1.0", - "@storybook/types": "7.4.6", + "@storybook/types": "7.5.0", "fs-extra": "^11.1.0", "recast": "^0.23.1", "ts-dedent": "^2.0.0" @@ -8802,66 +5946,6 @@ "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/csf-tools/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/csf-tools/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/csf-tools/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/csf-tools/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, "node_modules/@storybook/csf-tools/node_modules/fs-extra": { "version": "11.1.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", @@ -8871,115 +5955,29 @@ "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/@storybook/docs-mdx": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@storybook/docs-mdx/-/docs-mdx-0.1.0.tgz", - "integrity": "sha512-JDaBR9lwVY4eSH5W8EGHrhODjygPd6QImRbwjAuJNEnY0Vw4ie3bPkeGfnacB3OBW6u/agqPv2aRlR46JcAQLg==", - "dev": true - }, - "node_modules/@storybook/docs-tools": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.4.6.tgz", - "integrity": "sha512-nZj1L/8WwKWWJ41FW4MaKGajZUtrhnr9UwflRCkQJaWhAKmDfOb5M5TqI93uCOULpFPOm5wpoMBz2IHInQ2Lrg==", - "dev": true, - "dependencies": { - "@storybook/core-common": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/types": "7.4.6", - "@types/doctrine": "^0.0.3", - "doctrine": "^3.0.0", - "lodash": "^4.17.21" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/docs-tools/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/docs-tools/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/docs-tools/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/docs-tools/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", - "@types/qs": "^6.9.5", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "synchronous-promise": "^2.0.15", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + }, + "engines": { + "node": ">=14.14" } }, - "node_modules/@storybook/docs-tools/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "node_modules/@storybook/docs-mdx": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@storybook/docs-mdx/-/docs-mdx-0.1.0.tgz", + "integrity": "sha512-JDaBR9lwVY4eSH5W8EGHrhODjygPd6QImRbwjAuJNEnY0Vw4ie3bPkeGfnacB3OBW6u/agqPv2aRlR46JcAQLg==", + "dev": true + }, + "node_modules/@storybook/docs-tools": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.5.0.tgz", + "integrity": "sha512-NFhqbXj6Wv5YypMwDkt0z9xcfWD7M3wZhr8Z9XcXDlUUPjBrdv0cHt3rfHwEXpTfFyunbK41KQZZ3JkjiAjgTg==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" + "@storybook/core-common": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/types": "7.5.0", + "@types/doctrine": "^0.0.3", + "doctrine": "^3.0.0", + "lodash": "^4.17.21" }, "funding": { "type": "opencollective", @@ -8993,9 +5991,9 @@ "dev": true }, "node_modules/@storybook/manager": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.4.6.tgz", - "integrity": "sha512-kA1hUDxpn1i2SO9OinvLvVXDeL4xgJkModp+pbE8IXv4NJWReNq1ecMeQCzPLS3Sil2gnrullQ9uYXsnZ9bxxA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.5.0.tgz", + "integrity": "sha512-M4h4b0Y4aZ1sRGaZuJXgvPZHqu7vN/wgWB5yPcSwJqH1+DlPxYXYnPKGERgaEUUVKJV3oWQD2qZ+UpDeTgI5UQ==", "dev": true, "funding": { "type": "opencollective", @@ -9003,20 +6001,19 @@ } }, "node_modules/@storybook/manager-api": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.1.tgz", - "integrity": "sha512-nzYasETW20uDWpfST6JFf6c/GSFB/dj7xVtg5EpvAYF8GkErCk9TvNKdLNroRrIYm5VJxHWC2V+CJ07RuX3Glw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.5.0.tgz", + "integrity": "sha512-n9EaJTThsuFiBDs+GcmNBHnvLhH0znJQprhIQqHNVnosCs/7sloYUzWZzZvPwfnfPvRR7ostEEMXvriaYXYdJQ==", "dev": true, - "peer": true, "dependencies": { - "@storybook/channels": "7.4.1", - "@storybook/client-logger": "7.4.1", - "@storybook/core-events": "7.4.1", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.4.1", - "@storybook/theming": "7.4.1", - "@storybook/types": "7.4.1", + "@storybook/router": "7.5.0", + "@storybook/theming": "7.5.0", + "@storybook/types": "7.5.0", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -9039,7 +6036,6 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "peer": true, "dependencies": { "yallist": "^4.0.0" }, @@ -9052,7 +6048,6 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, - "peer": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -9067,8 +6062,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "peer": true + "dev": true }, "node_modules/@storybook/mdx2-csf": { "version": "1.1.0", @@ -9077,9 +6071,9 @@ "dev": true }, "node_modules/@storybook/node-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.4.6.tgz", - "integrity": "sha512-djZb310Q27GviDug1XBv0jOEDLCiwr4hhDE0aifCEKZpfNCi/EaP31nbWimFzZwxu4hE/YAPWExzScruR1zw9Q==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.5.0.tgz", + "integrity": "sha512-Og3hdB1bjpVCXhmlhvpgVxUfCQGd0DCguXf5qhn2kX4a+D++dxJ8YqzVJ5JQCacI9bCKITV6W9JSGseWcBaXBg==", "dev": true, "funding": { "type": "opencollective", @@ -9087,9 +6081,9 @@ } }, "node_modules/@storybook/postinstall": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.4.6.tgz", - "integrity": "sha512-TqI5BucPAGRWrkh55BYiG2/gHLFtC0In4cuu0GsUzB/1jc4i51npLRorCwhmT7r7YliGl5F7JaP0Bni/qHN3Lg==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.5.0.tgz", + "integrity": "sha512-SHpBItwar7qDZO7BBSqTNQK0yNy+RUROZUhW6wlVvsgVhIGF1bgA4pgpW1iMyfPmmGyNekE1BJjN+v8rjq9s6A==", "dev": true, "funding": { "type": "opencollective", @@ -9097,9 +6091,9 @@ } }, "node_modules/@storybook/preview": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.4.6.tgz", - "integrity": "sha512-2RPXusJ4CTDrIipIKKvbotD7fP0+8VzoFjImunflIrzN9rni+2rq5eMjqlXAaB+77w064zIR4uDUzI9fxsMDeQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.5.0.tgz", + "integrity": "sha512-KPhx43pRgIb6UhqjsF0sUG5c3GG2dwzTzjN1/sj0QbPMghZ3b7xKGrCu6VSlsXoWQtcwisMHETFnowk0Ba/AMg==", "dev": true, "funding": { "type": "opencollective", @@ -9107,17 +6101,17 @@ } }, "node_modules/@storybook/preview-api": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.2.tgz", - "integrity": "sha512-ihTHRYzI/sI6bD215aYppiWF+1u38TrlsNjFYJ/Grftbti5d40g5wCwvAXK41SxJNYpk6CRtfvNKOwbEAC33gg==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.5.0.tgz", + "integrity": "sha512-+DubgKwYFk532FKDB6sEGaG47wr0t137aIQSjbNwVmXXxj0QY0zIAThtERx7w6eHS7ZjOs6xlLEZhzC4FI525g==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.2", - "@storybook/client-logger": "7.4.2", - "@storybook/core-events": "7.4.2", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.2", + "@storybook/types": "7.5.0", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -9132,70 +6126,10 @@ "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/preview-api/node_modules/@storybook/channels": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.2.tgz", - "integrity": "sha512-Q95KnV+fTGaAV3S875+d5LlGg+bdC3bUnki3engODDS4ViSRHJ1bnXnqxKmAaS3O/52geIyWWR766YvwHw3avw==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.2", - "@storybook/core-events": "7.4.2", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/preview-api/node_modules/@storybook/client-logger": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.2.tgz", - "integrity": "sha512-LC8tYrYSJwF4DHRdNYh6y8hSvccwUIv5/WOZKJDmKx7mcEm6HsVuUu16C9jsl7iy6IqJYxgVz1va3WS6852E+A==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/preview-api/node_modules/@storybook/core-events": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.2.tgz", - "integrity": "sha512-WCEBw+Ew8DrccnB0hpP9TXadreoOlMnWCyuXU2XrvmK/vde009leWQIsLs1rY+L17zDVuogBms62AxrDDJmMpw==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/preview-api/node_modules/@storybook/types": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.2.tgz", - "integrity": "sha512-OOJ2TeS3Zzc6spHbdH+JXml0q4IHuYt9axmXAv1/pkhqHjA5072pyUacmlYNQeihpQOOsKLiCQUQlvtMy9fTnQ==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.2", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, "node_modules/@storybook/react-dom-shim": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.4.6.tgz", - "integrity": "sha512-DSq8l9FDocUF1ooVI+TF83pddj1LynE/Hv0/y8XZhc3IgJ/HkuOQuUmfz29ezgfAi9gFYUR8raTIBi3/xdoRmw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.5.0.tgz", + "integrity": "sha512-OzJhXg1En/9D9vKvD2t0EcYcuHFzrLTA9kEUWt/eP3Ww41kndfJoZca33JZr17iuKksVAZ8ucETMnkL3yO+ybA==", "dev": true, "funding": { "type": "opencollective", @@ -9207,13 +6141,12 @@ } }, "node_modules/@storybook/router": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.1.tgz", - "integrity": "sha512-7tE1B18jb+5+ujXd3BHcub85QnytIVBNA0iAo+o8MNwArISyodqp12y2D3w+QpXkg0GtPhAp/CMhzpyxotPhRQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.5.0.tgz", + "integrity": "sha512-NzPwjndmOEOUL8jK5kUrSvRUIcN5Z+h+l0Z8g4I56RoEhNTcKeOW4jbcT4WKnR9H455dti8HAcTV/4x59GpgxQ==", "dev": true, - "peer": true, "dependencies": { - "@storybook/client-logger": "7.4.1", + "@storybook/client-logger": "7.5.0", "memoizerific": "^1.11.3", "qs": "^6.10.0" }, @@ -9227,14 +6160,14 @@ } }, "node_modules/@storybook/telemetry": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.4.6.tgz", - "integrity": "sha512-c8p/C1NIH8EMBviZkBCx8MMDk6rrITJ+b29DEp5MaWSRlklIVyhGiC4RPIRv6sxJwlD41PnqWVFtfu2j2eXLdQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.5.0.tgz", + "integrity": "sha512-dvc1cjxHYGNfLEvh8eQI/R2KtMft0kUs6TJ2uXZdIX4+WqWG6mfn75sP8eyC1tcjkdslS6AmFWTfgt9EVcIPQA==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-common": "7.4.6", - "@storybook/csf-tools": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/core-common": "7.5.0", + "@storybook/csf-tools": "7.5.0", "chalk": "^4.1.0", "detect-package-manager": "^2.0.1", "fetch-retry": "^5.0.2", @@ -9246,19 +6179,6 @@ "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/telemetry/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, "node_modules/@storybook/telemetry/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -9284,264 +6204,55 @@ "supports-color": "^7.1.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@storybook/telemetry/node_modules/fs-extra": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", - "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/@storybook/telemetry/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/@storybook/telemetry/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/@storybook/theming": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.1.tgz", - "integrity": "sha512-a4QajZbnYumq8ovtn7nW7BeNrk/TaWyKmUrIz4w08I6ghzESJA4aCWZ6394awbrruiIOzCCKOUq4mfWEsc8W6A==", - "dev": true, - "peer": true, - "dependencies": { - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.1", - "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/types": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.1.tgz", - "integrity": "sha512-bjt1YDG9AocFBhIFRvGGbYZPlD223p+qAFcFgYdezU16fFE4ZGFUzUuq2ERkOofL7a2+OzLTCQ/SKe1jFkXCxQ==", - "dev": true, - "peer": true, - "dependencies": { - "@storybook/channels": "7.4.1", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/web-components": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/web-components/-/web-components-7.4.6.tgz", - "integrity": "sha512-HWqkZtdkmNimkzMmE0mGRys2ee9qgEeDVCruiffySVquBRMQ6n1xgvHZYaO6OLlMeH0YHPg083ZqUasS5GsYVg==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-client": "7.4.6", - "@storybook/docs-tools": "7.4.6", - "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/types": "7.4.6", - "tiny-invariant": "^1.3.1", - "ts-dedent": "^2.0.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "lit": "^2.0.0" - } - }, - "node_modules/@storybook/web-components-vite": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/web-components-vite/-/web-components-vite-7.4.6.tgz", - "integrity": "sha512-L/y6MTLbqfHaM0faK9Yl8n5PIyW4daZrtk7NfaOT6UjgNFjOx3o4CctYew6oj90cNk5HdZQX2OZny043GxDLZw==", - "dev": true, - "dependencies": { - "@storybook/builder-vite": "7.4.6", - "@storybook/core-server": "7.4.6", - "@storybook/node-logger": "7.4.6", - "@storybook/web-components": "7.4.6", - "magic-string": "^0.30.0" - }, - "engines": { - "node": "^14.18 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/web-components/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/web-components/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/web-components/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/web-components/node_modules/@storybook/manager-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", - "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/router": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "semver": "^7.3.7", - "store2": "^2.14.2", - "telejson": "^7.2.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "node": ">=10" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@storybook/web-components/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "node_modules/@storybook/telemetry/node_modules/fs-extra": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", - "@types/qs": "^6.9.5", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "qs": "^6.10.0", - "synchronous-promise": "^2.0.15", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "engines": { + "node": ">=14.14" } }, - "node_modules/@storybook/web-components/node_modules/@storybook/router": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", - "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", + "node_modules/@storybook/telemetry/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/@storybook/telemetry/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": { - "@storybook/client-logger": "7.4.6", - "memoizerific": "^1.11.3", - "qs": "^6.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "has-flag": "^4.0.0" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/@storybook/web-components/node_modules/@storybook/theming": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", - "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", + "node_modules/@storybook/theming": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.5.0.tgz", + "integrity": "sha512-uTo97oh+pvmlfsZocFq5qae0zGo0VGk7oiBqNSSw6CiTqE1rIuSxoPrMAY+oCTWCUZV7DjONIGvpnGl2QALsAw==", "dev": true, "dependencies": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.6", + "@storybook/client-logger": "7.5.0", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" }, @@ -9554,13 +6265,13 @@ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@storybook/web-components/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "node_modules/@storybook/types": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.5.0.tgz", + "integrity": "sha512-fiOUnHKFi/UZSfvc53F0WEQCiquqcSqslL3f5EffwQRiXfeXlGavJb0kU03BO+CvOXcliRn6qKSF2dL0Rgb7Xw==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", + "@storybook/channels": "7.5.0", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -9570,47 +6281,65 @@ "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/web-components/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/@storybook/web-components": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/web-components/-/web-components-7.5.0.tgz", + "integrity": "sha512-fkEEfssthEgvf2DUlGBfj+mtpCgiuiC8BuZqf45ueMm8iYV34EZmPNzTopPHBsm2z8VM3WZDuIFQ1puhLy5+sg==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "@storybook/client-logger": "7.5.0", + "@storybook/core-client": "7.5.0", + "@storybook/docs-tools": "7.5.0", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/types": "7.5.0", + "tiny-invariant": "^1.3.1", + "ts-dedent": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "lit": "^2.0.0 || ^3.0.0" } }, - "node_modules/@storybook/web-components/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "node_modules/@storybook/web-components-vite": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/web-components-vite/-/web-components-vite-7.5.0.tgz", + "integrity": "sha512-FZa5pbexnwqI0P2TFOa10vzzoABfsHBLRC0uEWntdxJYJso28xZPHdzuyNLTniOYsi+n5Eyifd3nJ+kmOS4OJg==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "@storybook/builder-vite": "7.5.0", + "@storybook/core-server": "7.5.0", + "@storybook/node-logger": "7.5.0", + "@storybook/web-components": "7.5.0", + "magic-string": "^0.30.0" }, "engines": { - "node": ">=10" + "node": "^14.18 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@storybook/web-components/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/@swagger-api/apidom-ast": { - "version": "0.76.2", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ast/-/apidom-ast-0.76.2.tgz", - "integrity": "sha512-yLSeI3KtfpR7tI/misqTeasFonssj9GGhCOJfSHBuRAZkrPCJf0eU8vh3pL7YPa8lqFWcPT+z/arZoMcC9VLnQ==", + "version": "0.78.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ast/-/apidom-ast-0.78.0.tgz", + "integrity": "sha512-mEXmRmkFlmO6dcBuakFkc2gevN4mC6incPAQE1UciaX4hLuJpiv/5DTH9gVWTR0CWUFw/dXROTD/x6ETV0y03A==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-error": "^0.76.2", - "@types/ramda": "~0.29.3", + "@swagger-api/apidom-error": "^0.78.0", + "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", "stampit": "^4.3.2", @@ -9618,14 +6347,14 @@ } }, "node_modules/@swagger-api/apidom-core": { - "version": "0.76.2", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-core/-/apidom-core-0.76.2.tgz", - "integrity": "sha512-366dJJM7DFONlO3nUQfQRMJpJzZjPpWZldbHJZCcvy+aCyrNYI3Waauas7fm29UXRliPirGrd9e/ZsnW3Jimag==", + "version": "0.78.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-core/-/apidom-core-0.78.0.tgz", + "integrity": "sha512-Qx9m+1u6H4Bsa38s73ANtGn8zFGqK0peguM+SFuUR5HirjpoFB8JB7IG5E8+ymUlpWhlU43q9QnJjcaYJw9MTg==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-ast": "^0.76.2", - "@swagger-api/apidom-error": "^0.76.2", - "@types/ramda": "~0.29.3", + "@swagger-api/apidom-ast": "^0.78.0", + "@swagger-api/apidom-error": "^0.78.0", + "@types/ramda": "~0.29.6", "minim": "~0.23.8", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", @@ -9634,285 +6363,286 @@ } }, "node_modules/@swagger-api/apidom-error": { - "version": "0.76.2", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-error/-/apidom-error-0.76.2.tgz", - "integrity": "sha512-QxoWL+qGzwftqXSJaYLZ1Nrdtro+U1zX5Q4OLK+Ggg8Hi6Kn1SGXcHhn4JZ9J1rwrP85XCabilL3z9mhdebqWg==", + "version": "0.78.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-error/-/apidom-error-0.78.0.tgz", + "integrity": "sha512-P0enIK3XymxCPHlhGtqc4TU5H+cHf7L0yDFmfjZEcsjDzGDv5A+m5tf429Pr/R+e51DzpT5/xIcPKTnti0gIOw==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@types/ramda": "~0.29.3", + "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-json-pointer": { - "version": "0.76.2", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-json-pointer/-/apidom-json-pointer-0.76.2.tgz", - "integrity": "sha512-2XCgA4bn8vB1VMDbSiP+6SHUTiBxx1EVLW2pgqFolhLPMdiI/QBVmoW+jEkvTPo4d5gwj/vP5WDs5QnnC9VwEA==", + "version": "0.78.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-json-pointer/-/apidom-json-pointer-0.78.0.tgz", + "integrity": "sha512-Ly4ZfUGxxbNoHHc9vR814mU96ZLGsjaJflCW0jdZnMVfVv20fDCoDoOOmXat6ajxUbS2YKimgxPvdBth3K/CRQ==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.76.2", - "@swagger-api/apidom-error": "^0.76.2", - "@types/ramda": "~0.29.3", + "@swagger-api/apidom-core": "^0.78.0", + "@swagger-api/apidom-error": "^0.78.0", + "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-ns-api-design-systems": { - "version": "0.76.2", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-api-design-systems/-/apidom-ns-api-design-systems-0.76.2.tgz", - "integrity": "sha512-ct83R5Pvc08jeOuGShO4N0ty7VO8f46WedTDCbzT4edMRhd9Xdr5UFxkwWDuliy4uLzl9ZayHygSxfnyZKQb8g==", + "version": "0.78.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-api-design-systems/-/apidom-ns-api-design-systems-0.78.0.tgz", + "integrity": "sha512-WoWE6w1P3qsokG3Qyc5F3xpz+e/WablE0EHGSgiYxk+MQJLqYmz5UhS5LxYGT9d6o9XUs24ykSbKrYWYwkpp4w==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.76.2", - "@swagger-api/apidom-error": "^0.76.2", - "@swagger-api/apidom-ns-openapi-3-1": "^0.76.2", - "@types/ramda": "~0.29.3", + "@swagger-api/apidom-core": "^0.78.0", + "@swagger-api/apidom-error": "^0.78.0", + "@swagger-api/apidom-ns-openapi-3-1": "^0.78.0", + "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", "stampit": "^4.3.2" } }, "node_modules/@swagger-api/apidom-ns-asyncapi-2": { - "version": "0.76.2", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-asyncapi-2/-/apidom-ns-asyncapi-2-0.76.2.tgz", - "integrity": "sha512-ffV2AhF7jTBbYl2vX0nYSDufs70CmC/kNMWHkgwR2Vq86lgadUc6S/NK/djpWY8+oAU3EYmHwTqu07hpSOUb4A==", + "version": "0.78.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-asyncapi-2/-/apidom-ns-asyncapi-2-0.78.0.tgz", + "integrity": "sha512-QWZohCtXf5UX/I9bnc4MQh16X9jGPdGrByWM93xRvh8X8rIF0BtF9S7lIx028aX3AHYIu4SwYr7JZlqEaZ92Kw==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.76.2", - "@swagger-api/apidom-ns-json-schema-draft-7": "^0.76.2", - "@types/ramda": "~0.29.3", + "@swagger-api/apidom-core": "^0.78.0", + "@swagger-api/apidom-ns-json-schema-draft-7": "^0.78.0", + "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", "stampit": "^4.3.2" } }, "node_modules/@swagger-api/apidom-ns-json-schema-draft-4": { - "version": "0.76.2", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-4/-/apidom-ns-json-schema-draft-4-0.76.2.tgz", - "integrity": "sha512-0Y32CQE6tIt4IPsoCzWAUskZSyGkfw87IIsH5Bcm3D1qIlAhPAokQbe1212MmZoLVUvqrXDqZHXnOxxMaHZvYw==", + "version": "0.78.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-4/-/apidom-ns-json-schema-draft-4-0.78.0.tgz", + "integrity": "sha512-19NR9lTHMOQTIEV4tJq+FlHQAYnjyH+DgI4mmRu6UMFSZjRjutYF7B8lCGogSus9Uwy8YpUk00prLFTld00wgA==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-ast": "^0.76.2", - "@swagger-api/apidom-core": "^0.76.2", - "@types/ramda": "~0.29.3", + "@swagger-api/apidom-ast": "^0.78.0", + "@swagger-api/apidom-core": "^0.78.0", + "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", "stampit": "^4.3.2" } }, "node_modules/@swagger-api/apidom-ns-json-schema-draft-6": { - "version": "0.76.2", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-6/-/apidom-ns-json-schema-draft-6-0.76.2.tgz", - "integrity": "sha512-i6nZtj3ie6SP1LhRtBeZNJuBppWkuC/+AsVfUzXkH5pM+3B7Puklc77hHdLtmvUTpd/iRBdlfsklvBVXJYPtUA==", + "version": "0.78.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-6/-/apidom-ns-json-schema-draft-6-0.78.0.tgz", + "integrity": "sha512-pHyCPU3OWDiPuLepo03rBpi2n+SCH6PZAgguqAB3lDJ2ymitrT2SNpmZ6CcHvPGR9Y7h4/fR5vAypVZfdNr/WQ==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.76.2", - "@swagger-api/apidom-error": "^0.76.2", - "@swagger-api/apidom-ns-json-schema-draft-4": "^0.76.2", - "@types/ramda": "~0.29.3", + "@swagger-api/apidom-core": "^0.78.0", + "@swagger-api/apidom-error": "^0.78.0", + "@swagger-api/apidom-ns-json-schema-draft-4": "^0.78.0", + "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", "stampit": "^4.3.2" } }, "node_modules/@swagger-api/apidom-ns-json-schema-draft-7": { - "version": "0.76.2", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-7/-/apidom-ns-json-schema-draft-7-0.76.2.tgz", - "integrity": "sha512-Klyfi/1XkJVUZa1nJP87HPMjklmB3IxE+TSD27aZIEi7GKASu96euan0gflZaegexUBA9hsAngk98USbdpHpgQ==", + "version": "0.78.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-7/-/apidom-ns-json-schema-draft-7-0.78.0.tgz", + "integrity": "sha512-ScUiNNAdwnikH3Fo2rUsDmXOjV7zXfQ6CGE+QkY5Wj3t1M6siw2HpDjrBaaCyp6w/bemvogsh280GrzAnxKLIw==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.76.2", - "@swagger-api/apidom-error": "^0.76.2", - "@swagger-api/apidom-ns-json-schema-draft-6": "^0.76.2", - "@types/ramda": "~0.29.3", + "@swagger-api/apidom-core": "^0.78.0", + "@swagger-api/apidom-error": "^0.78.0", + "@swagger-api/apidom-ns-json-schema-draft-6": "^0.78.0", + "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", "stampit": "^4.3.2" } }, "node_modules/@swagger-api/apidom-ns-openapi-3-0": { - "version": "0.76.2", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-0/-/apidom-ns-openapi-3-0-0.76.2.tgz", - "integrity": "sha512-tV7dfbAZjX4HHul6JzmWsipMIVHCX5fAsBwLTltq8qmF9X9m6kZwg7fb4pD+cGK2KVlZl/ucDDDIQLDRWpOAog==", + "version": "0.78.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-0/-/apidom-ns-openapi-3-0-0.78.0.tgz", + "integrity": "sha512-GRmUOknEzMG37y5sStvjEsk30RLVg5E7iZuougK1rEf+wzzX5XhorSgMx2NQmka5rb814BgzyiqGRmvKQErDBw==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.76.2", - "@swagger-api/apidom-ns-json-schema-draft-4": "^0.76.2", - "@types/ramda": "~0.29.3", + "@swagger-api/apidom-core": "^0.78.0", + "@swagger-api/apidom-error": "^0.78.0", + "@swagger-api/apidom-ns-json-schema-draft-4": "^0.78.0", + "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", "stampit": "^4.3.2" } }, "node_modules/@swagger-api/apidom-ns-openapi-3-1": { - "version": "0.76.2", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-1/-/apidom-ns-openapi-3-1-0.76.2.tgz", - "integrity": "sha512-Mb9VhVacoWvQcBqxO4j0eweyM6PGupAOt7XcOL5CzID0dOU+P4BbAv6kHD++0bTqRgXk1O31HkS/yPJmPaTCrw==", + "version": "0.78.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-1/-/apidom-ns-openapi-3-1-0.78.0.tgz", + "integrity": "sha512-hHpUZLjIiaLK+99cAPiYNV9QzZQxFoMLqBNYo+GQwqizaVOjxQRi5y/hPkfFALqqufZ1L6XWeyjQrtli0ftqBQ==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-ast": "^0.76.2", - "@swagger-api/apidom-core": "^0.76.2", - "@swagger-api/apidom-ns-openapi-3-0": "^0.76.2", - "@types/ramda": "~0.29.3", + "@swagger-api/apidom-ast": "^0.78.0", + "@swagger-api/apidom-core": "^0.78.0", + "@swagger-api/apidom-ns-openapi-3-0": "^0.78.0", + "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", "stampit": "^4.3.2" } }, "node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-json": { - "version": "0.76.2", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-json/-/apidom-parser-adapter-api-design-systems-json-0.76.2.tgz", - "integrity": "sha512-mJ4HLVIR9YHgWu0SiHykFQ9Sz1f3eV5Wqhrff8sH2Qll+4QSSdOOs0tW4Gp56F0HIcrU66uvrrTy1tpkO943aw==", + "version": "0.78.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-json/-/apidom-parser-adapter-api-design-systems-json-0.78.0.tgz", + "integrity": "sha512-g7VlfOrpTzbVV30Ugab0qAJITavLo39apvyFFv2cN2jfuIQa8MlzDP0mZmVtCGQy3IoT4Auns/qWeGcZX0li9w==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.76.2", - "@swagger-api/apidom-ns-api-design-systems": "^0.76.2", - "@swagger-api/apidom-parser-adapter-json": "^0.76.2", - "@types/ramda": "~0.29.3", + "@swagger-api/apidom-core": "^0.78.0", + "@swagger-api/apidom-ns-api-design-systems": "^0.78.0", + "@swagger-api/apidom-parser-adapter-json": "^0.78.0", + "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-yaml": { - "version": "0.76.2", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-yaml/-/apidom-parser-adapter-api-design-systems-yaml-0.76.2.tgz", - "integrity": "sha512-ot0F8Pw9/oWce6daDK+3srhNad/Iva/OlkVtN0S9cR58Zcn8p1F3s6RcN7ZG97i8EdBuyQj6Bm0jzXnOX+lvtQ==", + "version": "0.78.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-yaml/-/apidom-parser-adapter-api-design-systems-yaml-0.78.0.tgz", + "integrity": "sha512-ZueYoHOJARRm84ntCggUZLKNwUHz2U0eG9KHIzw75UW43pyvQVbxAE2ELdyP5f8vr51wMuMp6XYRcFOsNi/oeQ==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.76.2", - "@swagger-api/apidom-ns-api-design-systems": "^0.76.2", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.76.2", - "@types/ramda": "~0.29.3", + "@swagger-api/apidom-core": "^0.78.0", + "@swagger-api/apidom-ns-api-design-systems": "^0.78.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.78.0", + "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-asyncapi-json-2": { - "version": "0.76.2", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-json-2/-/apidom-parser-adapter-asyncapi-json-2-0.76.2.tgz", - "integrity": "sha512-FK06pb4w5E8RQ65Nh1FHHM8aWzPL7fHr2HeuXZkbSeKu4j0xyzwYkxZVGwZJOT6YPJR0Yrkb/2rD89CNXsLctA==", + "version": "0.78.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-json-2/-/apidom-parser-adapter-asyncapi-json-2-0.78.0.tgz", + "integrity": "sha512-Jm0hbNXWOH2QJIiF+5QgY+ioVSOBqV3WlhTeyrF5kSxHinah16nR1jUkz5tMsSc9sxTZHzWYVLneyBMW3VSHrw==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.76.2", - "@swagger-api/apidom-ns-asyncapi-2": "^0.76.2", - "@swagger-api/apidom-parser-adapter-json": "^0.76.2", - "@types/ramda": "~0.29.3", + "@swagger-api/apidom-core": "^0.78.0", + "@swagger-api/apidom-ns-asyncapi-2": "^0.78.0", + "@swagger-api/apidom-parser-adapter-json": "^0.78.0", + "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": { - "version": "0.76.2", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2/-/apidom-parser-adapter-asyncapi-yaml-2-0.76.2.tgz", - "integrity": "sha512-7TGhZgHZ9nmBJnFA7YhDWbNDbKoUOGVkBqx563ExHr2FewaohiQ/wagXAhKZzOK+HS+KHvob09uROtqOWGdIew==", + "version": "0.78.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2/-/apidom-parser-adapter-asyncapi-yaml-2-0.78.0.tgz", + "integrity": "sha512-zpP8gQBXhrR/t91Z/Jl0nD/cUSzmYjzhE5qWHkfhbGvzaWatiLrNY+CnFS9RcgF4pb2LSqS5cjDVAExBbjdLdQ==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.76.2", - "@swagger-api/apidom-ns-asyncapi-2": "^0.76.2", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.76.2", - "@types/ramda": "~0.29.3", + "@swagger-api/apidom-core": "^0.78.0", + "@swagger-api/apidom-ns-asyncapi-2": "^0.78.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.78.0", + "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-json": { - "version": "0.76.2", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-json/-/apidom-parser-adapter-json-0.76.2.tgz", - "integrity": "sha512-vbH7EcldZ/gSK9FnGUW1cpibM5+hiJPQcoyLmzLZe8YBxX73qzd2WAd77v+uI56eO9Z0G4KMCRCF9PDZT/tz5Q==", + "version": "0.78.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-json/-/apidom-parser-adapter-json-0.78.0.tgz", + "integrity": "sha512-d/8gFj5cc+pnCo7ORGN5dJPGWzTleYkIwGfsyFuLZNjb4KlrOrKlPl0LKQ/t7MSEbVpSStxbgezoUtfdVhGscw==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-ast": "^0.76.2", - "@swagger-api/apidom-core": "^0.76.2", - "@swagger-api/apidom-error": "^0.76.2", - "@types/ramda": "~0.29.3", + "@swagger-api/apidom-ast": "^0.78.0", + "@swagger-api/apidom-core": "^0.78.0", + "@swagger-api/apidom-error": "^0.78.0", + "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", "stampit": "^4.3.2", "tree-sitter": "=0.20.4", - "tree-sitter-json": "=0.20.0", + "tree-sitter-json": "=0.20.1", "web-tree-sitter": "=0.20.3" } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-0": { - "version": "0.76.2", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-0/-/apidom-parser-adapter-openapi-json-3-0-0.76.2.tgz", - "integrity": "sha512-Kqcq5QUgz1TcCuPaL+zU+wmdAEo7YM0LR5jyWQo3FAT3BhAsmeVv2wRZMiz9RMDrPyxzHzbJhjMZxCqL8r2G0g==", + "version": "0.78.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-0/-/apidom-parser-adapter-openapi-json-3-0-0.78.0.tgz", + "integrity": "sha512-MjXkPAiEyTZIljzjEgvAmqaZel0jpKBBqdtC8nWH/9C2ugkKHetKMSgYu+5wvFh//ixJZZE7dM1QHEIBoPl9nA==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.76.2", - "@swagger-api/apidom-ns-openapi-3-0": "^0.76.2", - "@swagger-api/apidom-parser-adapter-json": "^0.76.2", - "@types/ramda": "~0.29.3", + "@swagger-api/apidom-core": "^0.78.0", + "@swagger-api/apidom-ns-openapi-3-0": "^0.78.0", + "@swagger-api/apidom-parser-adapter-json": "^0.78.0", + "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-1": { - "version": "0.76.2", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-1/-/apidom-parser-adapter-openapi-json-3-1-0.76.2.tgz", - "integrity": "sha512-kfZ4BBxww5afiIIeFT6l0/Kuob72dnYAP+Qnmp2zQB3GQUTilKqv+ddj4blCF19n8RGNERVv2RDHLTZhjg+1AA==", + "version": "0.78.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-1/-/apidom-parser-adapter-openapi-json-3-1-0.78.0.tgz", + "integrity": "sha512-k+rT6kwu1jAN1lYIP1wVshQdaLu9M+jjCfpvMXXkL/2VpZqq1yP6daFm0ExiHllVUcHWeqRXhubFV3wWkFm6eA==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.76.2", - "@swagger-api/apidom-ns-openapi-3-1": "^0.76.2", - "@swagger-api/apidom-parser-adapter-json": "^0.76.2", - "@types/ramda": "~0.29.3", + "@swagger-api/apidom-core": "^0.78.0", + "@swagger-api/apidom-ns-openapi-3-1": "^0.78.0", + "@swagger-api/apidom-parser-adapter-json": "^0.78.0", + "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": { - "version": "0.76.2", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0/-/apidom-parser-adapter-openapi-yaml-3-0-0.76.2.tgz", - "integrity": "sha512-spXabhd0sgX87QaYUDou22KduSL5GHCmLNuPDpPykYelB/zZnE8aPsrjBMIgK9CPZoQCDoWYYmtRTPfJjKwf3Q==", + "version": "0.78.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0/-/apidom-parser-adapter-openapi-yaml-3-0-0.78.0.tgz", + "integrity": "sha512-RzcqL0kvUl5G75H4qOFSi9FTaVfBtRnjzEcjd8SOKVLg3JJsCv3vrk68laRm8HXocyWgGstU51UzBqkMStXy4A==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.76.2", - "@swagger-api/apidom-ns-openapi-3-0": "^0.76.2", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.76.2", - "@types/ramda": "~0.29.3", + "@swagger-api/apidom-core": "^0.78.0", + "@swagger-api/apidom-ns-openapi-3-0": "^0.78.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.78.0", + "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": { - "version": "0.76.2", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1/-/apidom-parser-adapter-openapi-yaml-3-1-0.76.2.tgz", - "integrity": "sha512-KIEg9QWeiMMKQ9VtftK+1Rc7irKQjj0VTsoEtraun9N2MWLVt7g+xZKqbqtQ4/ovv5J8JBHE+hFGLdm2qZalsg==", + "version": "0.78.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1/-/apidom-parser-adapter-openapi-yaml-3-1-0.78.0.tgz", + "integrity": "sha512-1hB+mcEJd14RJC8lH3yJsoQRDhA8TNNKl3EyQ17eFY0dK29JlluDEbDHIRQpLT1l2jCK/NfqAk2hc37yIwydfw==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.76.2", - "@swagger-api/apidom-ns-openapi-3-1": "^0.76.2", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.76.2", - "@types/ramda": "~0.29.3", + "@swagger-api/apidom-core": "^0.78.0", + "@swagger-api/apidom-ns-openapi-3-1": "^0.78.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.78.0", + "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-yaml-1-2": { - "version": "0.76.2", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-yaml-1-2/-/apidom-parser-adapter-yaml-1-2-0.76.2.tgz", - "integrity": "sha512-nmEDYOfqeB8yCHbQ5yEQkJ09zIDOeX61KXTUktP4yErm96WVjIUk5YTTAkO7QbAEND9JHE+BAnS25cBC8BxFFA==", + "version": "0.78.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-yaml-1-2/-/apidom-parser-adapter-yaml-1-2-0.78.0.tgz", + "integrity": "sha512-L37X+nRNp+2PyJkAwMdSQjP8tb3xoc6FVk2QXLHogghe1Phrmfaal3TPu2rWJNn7NSBcvSyiTAR7gEIULitugA==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-ast": "^0.76.2", - "@swagger-api/apidom-core": "^0.76.2", - "@swagger-api/apidom-error": "^0.76.2", - "@types/ramda": "~0.29.3", + "@swagger-api/apidom-ast": "^0.78.0", + "@swagger-api/apidom-core": "^0.78.0", + "@swagger-api/apidom-error": "^0.78.0", + "@types/ramda": "~0.29.6", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", "stampit": "^4.3.2", @@ -9922,13 +6652,13 @@ } }, "node_modules/@swagger-api/apidom-reference": { - "version": "0.76.2", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-reference/-/apidom-reference-0.76.2.tgz", - "integrity": "sha512-O1qX6Tql+B18Em/ERyqCzuhcvOG3JeRq4QIHfebzS3lNxpxX6si/z0DrL5K1azBldmnXx7UGqt/fvwq8GQJmIA==", + "version": "0.78.0", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-reference/-/apidom-reference-0.78.0.tgz", + "integrity": "sha512-IiOaMgy+CzpQe5fFwyge4B/lkHQnBhiuNGPgIJELYXJMZle+pN6K/V4muLCG6JjAXllucbCqMpW/KLmPxGAXaw==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.76.2", - "@types/ramda": "~0.29.3", + "@swagger-api/apidom-core": "^0.78.0", + "@types/ramda": "~0.29.6", "axios": "^1.4.0", "minimatch": "^7.4.3", "process": "^0.11.10", @@ -9937,21 +6667,21 @@ "stampit": "^4.3.2" }, "optionalDependencies": { - "@swagger-api/apidom-error": "^0.76.2", - "@swagger-api/apidom-json-pointer": "^0.76.2", - "@swagger-api/apidom-ns-asyncapi-2": "^0.76.2", - "@swagger-api/apidom-ns-openapi-3-0": "^0.76.2", - "@swagger-api/apidom-ns-openapi-3-1": "^0.76.2", - "@swagger-api/apidom-parser-adapter-api-design-systems-json": "^0.76.2", - "@swagger-api/apidom-parser-adapter-api-design-systems-yaml": "^0.76.2", - "@swagger-api/apidom-parser-adapter-asyncapi-json-2": "^0.76.2", - "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": "^0.76.2", - "@swagger-api/apidom-parser-adapter-json": "^0.76.2", - "@swagger-api/apidom-parser-adapter-openapi-json-3-0": "^0.76.2", - "@swagger-api/apidom-parser-adapter-openapi-json-3-1": "^0.76.2", - "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": "^0.76.2", - "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": "^0.76.2", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.76.2" + "@swagger-api/apidom-error": "^0.78.0", + "@swagger-api/apidom-json-pointer": "^0.78.0", + "@swagger-api/apidom-ns-asyncapi-2": "^0.78.0", + "@swagger-api/apidom-ns-openapi-3-0": "^0.78.0", + "@swagger-api/apidom-ns-openapi-3-1": "^0.78.0", + "@swagger-api/apidom-parser-adapter-api-design-systems-json": "^0.78.0", + "@swagger-api/apidom-parser-adapter-api-design-systems-yaml": "^0.78.0", + "@swagger-api/apidom-parser-adapter-asyncapi-json-2": "^0.78.0", + "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": "^0.78.0", + "@swagger-api/apidom-parser-adapter-json": "^0.78.0", + "@swagger-api/apidom-parser-adapter-openapi-json-3-0": "^0.78.0", + "@swagger-api/apidom-parser-adapter-openapi-json-3-1": "^0.78.0", + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": "^0.78.0", + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": "^0.78.0", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.78.0" } }, "node_modules/@swagger-api/apidom-reference/node_modules/brace-expansion": { @@ -10057,9 +6787,9 @@ } }, "node_modules/@types/babel__core": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.2.tgz", + "integrity": "sha512-pNpr1T1xLUc2l3xJKuPtsEky3ybxN3m4fJkknfIpTCTfIZCDW57oAg+EfCgIIp2rvCe0Wn++/FfodDS4YXxBwA==", "dev": true, "dependencies": { "@babel/parser": "^7.20.7", @@ -10070,18 +6800,18 @@ } }, "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "version": "7.6.5", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.5.tgz", + "integrity": "sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w==", "dev": true, "dependencies": { "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.2.tgz", + "integrity": "sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ==", "dev": true, "dependencies": { "@babel/parser": "^7.1.0", @@ -10089,18 +6819,18 @@ } }, "node_modules/@types/babel__traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.2.tgz", + "integrity": "sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw==", "dev": true, "dependencies": { "@babel/types": "^7.20.7" } }, "node_modules/@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.3.tgz", + "integrity": "sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ==", "dev": true, "dependencies": { "@types/connect": "*", @@ -10144,9 +6874,9 @@ } }, "node_modules/@types/d3-scale": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.4.tgz", - "integrity": "sha512-eq1ZeTj0yr72L8MQk6N6heP603ubnywSDRfNpi5enouR112HzGLS6RIvExCzZTraFF4HdzNpJMwA/zGiMoHUUw==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.5.tgz", + "integrity": "sha512-w/C++3W394MHzcLKO2kdsIn5KKNTOqeQVzyPSGPLzQbkPw/jpeaGtSRlakcKevGgGsjJxGsbqS0fPrVFDbHrDA==", "dependencies": { "@types/d3-time": "*" } @@ -10157,14 +6887,14 @@ "integrity": "sha512-dsoJGEIShosKVRBZB0Vo3C8nqSDqVGujJU6tPznsBJxNJNwMF8utmS83nvCBKQYPpjCzaaHcrf66iTRpZosLPw==" }, "node_modules/@types/d3-time": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.0.tgz", - "integrity": "sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.1.tgz", + "integrity": "sha512-5j/AnefKAhCw4HpITmLDTPlf4vhi8o/dES+zbegfPb7LaGfNyqkLxBR6E+4yvTAgnJLmhe80EXFMzUs38fw4oA==" }, "node_modules/@types/debug": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz", - "integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==", + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.9.tgz", + "integrity": "sha512-8Hz50m2eoS56ldRlepxSBa6PWEVCtzUo/92HgLc2qTMnotJNIm7xP+UZhyWoYsyOdd5dxZ+NZLb24rsKyFs2ow==", "dependencies": { "@types/ms": "*" } @@ -10194,15 +6924,15 @@ "dev": true }, "node_modules/@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.2.tgz", + "integrity": "sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==", "dev": true }, "node_modules/@types/express": { - "version": "4.17.17", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", - "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.19.tgz", + "integrity": "sha512-UtOfBtzN9OvpZPPbnnYunfjM7XCI4jyk1NvnFhTVz5krYAnW4o5DCoIekvms+8ApqhB4+9wSge1kBijdfTSmfg==", "dev": true, "dependencies": { "@types/body-parser": "*", @@ -10212,9 +6942,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.36", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.36.tgz", - "integrity": "sha512-zbivROJ0ZqLAtMzgzIUC4oNqDG9iF0lSsAqpOD9kbs5xcIM3dTiyuHvBc7R8MtWBp3AAWGaovJa+wzWPjLYW7Q==", + "version": "4.17.37", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.37.tgz", + "integrity": "sha512-ZohaCYTgGFcOP7u6aJOhY9uIZQgZ2vxC2yWoArY+FeDXlqeH66ZVBjgvg+RLVAS/DWNq4Ap9ZXu1+SUQiiWYMg==", "dev": true, "dependencies": { "@types/node": "*", @@ -10230,9 +6960,9 @@ "dev": true }, "node_modules/@types/fs-extra": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.2.tgz", - "integrity": "sha512-SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg==", + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.3.tgz", + "integrity": "sha512-7IdV01N0u/CaVO0fuY1YmEg14HQN3+EW8mpNgg6NEfxEl/lzCa5OxlBu3iFsCAdamnYOcTQ7oEi43Xc/67Rgzw==", "dev": true, "dependencies": { "@types/node": "*" @@ -10264,9 +6994,9 @@ "dev": true }, "node_modules/@types/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.2.tgz", + "integrity": "sha512-lPG6KlZs88gef6aD85z3HNkztpj7w2R7HmR3gygjfXCQmsLloWNARFkMuzKiiY8FGdh1XDpgBdrSf4aKDiA7Kg==", "dev": true }, "node_modules/@types/istanbul-lib-coverage": { @@ -10294,21 +7024,21 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", + "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", "dev": true }, "node_modules/@types/lodash": { - "version": "4.14.198", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.198.tgz", - "integrity": "sha512-trNJ/vtMZYMLhfN45uLq4ShQSw0/S7xCTLLVM+WM1rmFpba/VS42jVUgaO3w/NOLiWR/09lnYk0yMaA/atdIsg==", + "version": "4.14.199", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.199.tgz", + "integrity": "sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg==", "dev": true }, "node_modules/@types/mdast": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.12.tgz", - "integrity": "sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==", + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.13.tgz", + "integrity": "sha512-HjiGiWedR0DVFkeNljpa6Lv4/IZU1+30VY5d747K7lBudFc3R0Ibr6yJ9lN3BE28VnZyDfLF/VB1Ql1ZIbKrmg==", "dependencies": { "@types/unist": "^2" } @@ -10320,9 +7050,9 @@ "dev": true }, "node_modules/@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.3.tgz", + "integrity": "sha512-Ys+/St+2VF4+xuY6+kDIXGxbNRO0mesVg0bbxEfB97Od1Vjpjx9KD1qxs64Gcb3CWPirk9Xe+PT4YiiHQ9T+eg==", "dev": true }, "node_modules/@types/mime-types": { @@ -10338,30 +7068,33 @@ "dev": true }, "node_modules/@types/ms": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", - "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" + "version": "0.7.32", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.32.tgz", + "integrity": "sha512-xPSg0jm4mqgEkNhowKgZFBNtwoEwF6gJ4Dhww+GFpm3IgtNseHQZ5IqdNwnquZEoANxyDAKDRAdVo4Z72VvD/g==" }, "node_modules/@types/node": { - "version": "20.6.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.0.tgz", - "integrity": "sha512-najjVq5KN2vsH2U/xyh2opaSEz6cZMR2SetLIlxlj08nOcmPOemJmUK2o4kUzfLqfrWE0PIrNeE16XhYDd3nqg==", - "dev": true + "version": "20.8.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.6.tgz", + "integrity": "sha512-eWO4K2Ji70QzKUqRy6oyJWUeB7+g2cRagT3T/nxYibYcT4y2BDL8lqolRXjTHmkZCdJfIPaY73KbJAZmcryxTQ==", + "dev": true, + "dependencies": { + "undici-types": "~5.25.1" + } }, "node_modules/@types/node-fetch": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.4.tgz", - "integrity": "sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==", + "version": "2.6.6", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.6.tgz", + "integrity": "sha512-95X8guJYhfqiuVVhRFxVQcf4hW/2bCuoPwDasMf/531STFoNoWTT7YDnWdXHEZKqAGUigmpG31r2FE70LwnzJw==", "dev": true, "dependencies": { "@types/node": "*", - "form-data": "^3.0.0" + "form-data": "^4.0.0" } }, "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.2.tgz", + "integrity": "sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==", "dev": true }, "node_modules/@types/parse-json": { @@ -10377,9 +7110,9 @@ "dev": true }, "node_modules/@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", + "version": "15.7.8", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.8.tgz", + "integrity": "sha512-kMpQpfZKSCBqltAJwskgePRaYRFukDkm1oItcAbC3gNELR20XIBcN9VRgg4+m8DKsTfkWeA4m4Imp4DDuWy7FQ==", "dev": true }, "node_modules/@types/qs": { @@ -10389,23 +7122,23 @@ "dev": true }, "node_modules/@types/ramda": { - "version": "0.29.3", - "resolved": "https://registry.npmjs.org/@types/ramda/-/ramda-0.29.3.tgz", - "integrity": "sha512-Yh/RHkjN0ru6LVhSQtTkCRo6HXkfL9trot/2elzM/yXLJmbLm2v6kJc8yftTnwv1zvUob6TEtqI2cYjdqG3U0Q==", + "version": "0.29.6", + "resolved": "https://registry.npmjs.org/@types/ramda/-/ramda-0.29.6.tgz", + "integrity": "sha512-4XQ9hYQhCwOxfkoTsIPvDVXc75fY5+MLQHUpExX6ByvU1q+0vOYRLSjWAt1IydkE1hOuhwMH6KvV/9rhzgrvRw==", "dependencies": { - "types-ramda": "^0.29.4" + "types-ramda": "^0.29.5" } }, "node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.5.tgz", + "integrity": "sha512-xrO9OoVPqFuYyR/loIHjnbvvyRZREYKLjxV4+dY6v3FQR3stQ9ZxIGkaclF7YhI9hfjpuTbu14hZEy94qKLtOA==", "dev": true }, "node_modules/@types/react": { - "version": "18.2.21", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.21.tgz", - "integrity": "sha512-neFKG/sBAwGxHgXiIxnbm3/AAVQ/cMRS93hvBpg8xYRbeQSPVABp9U2bRnPf0iI4+Ucdv3plSxKK+3CW2ENJxA==", + "version": "18.2.28", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.28.tgz", + "integrity": "sha512-ad4aa/RaaJS3hyGz0BGegdnSRXQBkd1CCYDCdNjBPg90UUpLgo+WlJqb9fMYUxtehmzF3PJaTWqRZjko6BRzBg==", "dev": true, "dependencies": { "@types/prop-types": "*", @@ -10420,21 +7153,21 @@ "dev": true }, "node_modules/@types/scheduler": { - "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", + "version": "0.16.4", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.4.tgz", + "integrity": "sha512-2L9ifAGl7wmXwP4v3pN4p2FLhD0O1qsJpvKmNin5VA8+UvNVb447UDaAEV6UdrkA+m/Xs58U1RFps44x6TFsVQ==", "dev": true }, "node_modules/@types/semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg==", + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==", "dev": true }, "node_modules/@types/send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz", - "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==", + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.2.tgz", + "integrity": "sha512-aAG6yRf6r0wQ29bkS+x97BIs64ZLxeE/ARwyS6wrldMm3C1MdKwCcnnEwMC1slI8wuxJOpiUH9MioC0A0i+GJw==", "dev": true, "dependencies": { "@types/mime": "^1", @@ -10442,9 +7175,9 @@ } }, "node_modules/@types/serve-static": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz", - "integrity": "sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==", + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.3.tgz", + "integrity": "sha512-yVRvFsEMrv7s0lGhzrggJjNOSmZCdgCjw9xWrPr/kNNLp6FaDfMC1KaYl3TSJ0c58bECwNBMoQrZJ8hA8E1eFg==", "dev": true, "dependencies": { "@types/http-errors": "*", @@ -10453,24 +7186,24 @@ } }, "node_modules/@types/showdown": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/showdown/-/showdown-2.0.1.tgz", - "integrity": "sha512-xdnAw2nFqomkaL0QdtEk0t7yz26UkaVPl4v1pYJvtE1T0fmfQEH3JaxErEhGByEAl3zUZrkNBlneuJp0WJGqEA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/showdown/-/showdown-2.0.2.tgz", + "integrity": "sha512-0UnGnwRsiTojb5VGCkgbk3mKJpyAR2EPhalhHGY4/NCFwDyacqVmPWP7uV0mbXC4eh6n7lO3HPCpb2NP+B5NPQ==", "dev": true }, "node_modules/@types/tern": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.4.tgz", - "integrity": "sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg==", + "version": "0.23.5", + "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.5.tgz", + "integrity": "sha512-POau56wDk3TQ0mQ0qG7XDzv96U5whSENZ9lC0htDvEH+9YUREo+J2U+apWcVRgR2UydEE70JXZo44goG+akTNQ==", "dev": true, "dependencies": { "@types/estree": "*" } }, "node_modules/@types/trusted-types": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz", - "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.4.tgz", + "integrity": "sha512-IDaobHimLQhjwsQ/NMwRVfa/yL7L/wriQPMhw1ZJall0KX6E1oxk29XMDeilW5qTIg5aoiqf5Udy8U/51aNoQQ==" }, "node_modules/@types/unist": { "version": "2.0.8", @@ -10478,9 +7211,9 @@ "integrity": "sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==" }, "node_modules/@types/yargs": { - "version": "17.0.26", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.26.tgz", - "integrity": "sha512-Y3vDy2X6zw/ZCumcwLpdhM5L7jmyGpmBCTYMHDLqT2IKVMYRRLdv6ZakA+wxhra6Z/3bwhNbNl9bDGXaFU+6rw==", + "version": "17.0.28", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.28.tgz", + "integrity": "sha512-N3e3fkS86hNhtk6BEnc0rj3zcehaxx8QWhCROJkqpl5Zaoi7nAic3jH8q94jVD3zu5LGk+PUB6KAiDmimYOEQw==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -10672,6 +7405,26 @@ } } }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -10923,15 +7676,15 @@ } }, "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", "dev": true, "dependencies": { - "debug": "4" + "debug": "^4.3.4" }, "engines": { - "node": ">= 6.0.0" + "node": ">= 14" } }, "node_modules/aggregate-error": { @@ -11200,28 +7953,15 @@ } }, "node_modules/axios": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.0.tgz", - "integrity": "sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz", + "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==", "dependencies": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } }, - "node_modules/axios/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/babel-core": { "version": "7.0.0-bridge.0", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", @@ -11556,9 +8296,9 @@ } }, "node_modules/browserslist": { - "version": "4.21.10", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", - "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", "dev": true, "funding": [ { @@ -11575,10 +8315,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001517", - "electron-to-chromium": "^1.4.477", + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.11" + "update-browserslist-db": "^1.0.13" }, "bin": { "browserslist": "cli.js" @@ -11712,9 +8452,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001532", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001532.tgz", - "integrity": "sha512-FbDFnNat3nMnrROzqrsg314zhqN5LGQ1kyyMk2opcrwGbVGpHRhgCWtAgD5YJUqNAiQ+dklreil/c3Qf1dfCTw==", + "version": "1.0.30001549", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001549.tgz", + "integrity": "sha512-qRp48dPYSCYaP+KurZLhDYdVE+yEyht/3NlmcJgVQ2VMGt6JL36ndQ/7rgspdZsJuxDPFIo/OzBT2+GmIJ53BA==", "dev": true, "funding": [ { @@ -11823,9 +8563,9 @@ } }, "node_modules/ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "dev": true, "funding": [ { @@ -12260,9 +9000,9 @@ } }, "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==", + "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 }, "node_modules/cookie": { @@ -12299,12 +9039,12 @@ } }, "node_modules/core-js-compat": { - "version": "3.32.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.2.tgz", - "integrity": "sha512-+GjlguTDINOijtVRUxrQOv3kfu9rl+qPNdX2LTbJ/ZyVTuxK+ksVSAGX1nHstu4hrv1En/uPTtWgq2gI5wt4AQ==", + "version": "3.33.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.0.tgz", + "integrity": "sha512-0w4LcLXsVEuNkIqwjjf9rjCoPhK8uqA4tMRh4Ge26vfLtUutshn+aRJU21I9LCJlh2QQHfisNToLjw1XEJLTWw==", "dev": true, "dependencies": { - "browserslist": "^4.21.10" + "browserslist": "^4.22.1" }, "funding": { "type": "opencollective", @@ -12312,9 +9052,9 @@ } }, "node_modules/core-js-pure": { - "version": "3.32.2", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.32.2.tgz", - "integrity": "sha512-Y2rxThOuNywTjnX/PgA5vWM6CZ9QB9sz9oGeCixV8MqXZO70z/5SHzf9EeBrEBK0PN36DnEBBu9O/aGWzKuMZQ==", + "version": "3.33.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.33.0.tgz", + "integrity": "sha512-FKSIDtJnds/YFIEaZ4HszRX7hkxGpNKM7FC9aJ9WLJbSd3lD4vOltFuVIBLR8asSx9frkTSqL0dw90SKQxgKrg==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -12388,14 +9128,6 @@ "yarn": ">=1" } }, - "node_modules/cross-fetch": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", - "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", - "dependencies": { - "node-fetch": "^2.6.12" - } - }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -12904,9 +9636,9 @@ "dev": true }, "node_modules/dayjs": { - "version": "1.11.9", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz", - "integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==" + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" }, "node_modules/debug": { "version": "4.3.4", @@ -13020,6 +9752,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", @@ -13030,11 +9776,12 @@ } }, "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, "dependencies": { + "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" }, @@ -13086,6 +9833,26 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/del/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/delaunator": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz", @@ -13226,9 +9993,9 @@ } }, "node_modules/dompurify": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.5.tgz", - "integrity": "sha512-F9e6wPGtY+8KNMRAVfxeCOHU0/NPWMSENNq4pQctuXRqqdEPW7q3CrLbR5Nse044WwacyjHGOMlvNsBe1y6z9A==" + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.6.tgz", + "integrity": "sha512-ilkD8YEnnGh1zJ240uJsW7AzE+2qpbOUYjacomn3AvJ6J4JhKGSZ2nh4wUIXPZrEPppaCLx5jFe8T89Rk8tQ7w==" }, "node_modules/dotenv": { "version": "16.3.1", @@ -13321,9 +10088,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.513", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.513.tgz", - "integrity": "sha512-cOB0xcInjm+E5qIssHeXJ29BaUyWpMyFKT5RB3bsLENDheCja0wMkHJyiPl0NBE/VzDI7JDuNEQWhe6RitEUcw==", + "version": "1.4.556", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.556.tgz", + "integrity": "sha512-6RPN0hHfzDU8D56E72YkDvnLw5Cj2NMXZGg3UkgyoHxjVhG99KZpsKgBWMmTy0Ei89xwan+rbRsVB9yzATmYzQ==", "dev": true }, "node_modules/elkjs": { @@ -13389,18 +10156,18 @@ } }, "node_modules/es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.2.tgz", + "integrity": "sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==", "dev": true, "dependencies": { "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.2", "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", "es-set-tostringtag": "^2.0.1", "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", + "function.prototype.name": "^1.1.6", "get-intrinsic": "^1.2.1", "get-symbol-description": "^1.0.0", "globalthis": "^1.0.3", @@ -13416,23 +10183,23 @@ "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", + "is-typed-array": "^1.1.12", "is-weakref": "^1.0.2", "object-inspect": "^1.12.3", "object-keys": "^1.1.1", "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", "typed-array-buffer": "^1.0.0", "typed-array-byte-length": "^1.0.0", "typed-array-byte-offset": "^1.0.0", "typed-array-length": "^1.0.4", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" + "which-typed-array": "^1.1.11" }, "engines": { "node": ">= 0.4" @@ -13522,9 +10289,9 @@ "dev": true }, "node_modules/esbuild-register": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.4.2.tgz", - "integrity": "sha512-kG/XyTDyz6+YDuyfB9ZoSIOOmgyFCH+xPRtsCa8W85HLRV5Csp+o3jWVbOSHgSLfyLc5DmP+KFDNwty4mEjC+Q==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.5.0.tgz", + "integrity": "sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==", "dev": true, "dependencies": { "debug": "^4.3.4" @@ -13681,6 +10448,12 @@ "eslint": ">= 5" } }, + "node_modules/eslint-plugin-lit/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, "node_modules/eslint-plugin-sonarjs": { "version": "0.21.0", "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.21.0.tgz", @@ -13842,6 +10615,26 @@ "node": ">=4.0" } }, + "node_modules/eslint-plugin-storybook/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/eslint-plugin-storybook/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -13953,9 +10746,9 @@ } }, "node_modules/eslint/node_modules/globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -14717,12 +11510,12 @@ } }, "node_modules/flat-cache": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", - "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", + "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", "dev": true, "dependencies": { - "flatted": "^3.2.7", + "flatted": "^3.2.9", "keyv": "^4.5.3", "rimraf": "^3.0.2" }, @@ -14731,24 +11524,24 @@ } }, "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", "dev": true }, "node_modules/flow-parser": { - "version": "0.217.2", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.217.2.tgz", - "integrity": "sha512-O+nt/FLXa1hTwtW0O9h36iZjbL84G8e1uByx5dDXMC97AJEbZXwJ4ohfaE8BNWrYFyYX0NGfz1o8AtLQvaaD/Q==", + "version": "0.218.1", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.218.1.tgz", + "integrity": "sha512-46xpXyI4Bh3K2ej+NF3V5+pAsDlB5P0DWpgIIy/0/R7ujK0syfI/xfKDCOlq2sxtfUyPrr4rxfS2Da7yWdTdwg==", "dev": true, "engines": { "node": ">=0.4.0" } }, "node_modules/follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", "funding": [ { "type": "individual", @@ -14811,10 +11604,9 @@ } }, "node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dev": true, + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -14824,23 +11616,6 @@ "node": ">= 6" } }, - "node_modules/form-data-encoder": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.9.0.tgz", - "integrity": "sha512-rahaRMkN8P8d/tgK/BLPX+WBVM27NbvdXBxqQujBtkDAIFspaRqN7Od7lfdGQA6KAD+f82fYCLBq1ipvcu8qLw==" - }, - "node_modules/formdata-node": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz", - "integrity": "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==", - "dependencies": { - "node-domexception": "1.0.0", - "web-streams-polyfill": "4.0.0-beta.3" - }, - "engines": { - "node": ">= 12.20" - } - }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -14941,11 +11716,14 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, + "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==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/function.prototype.name": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", @@ -15090,18 +11868,18 @@ } }, "node_modules/giget": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/giget/-/giget-1.1.2.tgz", - "integrity": "sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/giget/-/giget-1.1.3.tgz", + "integrity": "sha512-zHuCeqtfgqgDwvXlR84UNgnJDuUHQcNI5OqWqFxxuk2BshuKbYhJWdxBsEo4PvKqoGh23lUAIvBNpChMLv7/9Q==", "dev": true, "dependencies": { - "colorette": "^2.0.19", + "colorette": "^2.0.20", "defu": "^6.1.2", - "https-proxy-agent": "^5.0.1", + "https-proxy-agent": "^7.0.2", "mri": "^1.2.0", - "node-fetch-native": "^1.0.2", - "pathe": "^1.1.0", - "tar": "^6.1.13" + "node-fetch-native": "^1.4.0", + "pathe": "^1.1.1", + "tar": "^6.2.0" }, "bin": { "giget": "dist/cli.mjs" @@ -15207,26 +11985,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/globrex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", @@ -15311,12 +12069,9 @@ } }, "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", "engines": { "node": ">= 0.4.0" } @@ -15506,16 +12261,16 @@ } }, "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", + "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", "dev": true, "dependencies": { - "agent-base": "6", + "agent-base": "^7.0.2", "debug": "4" }, "engines": { - "node": ">= 6" + "node": ">= 14" } }, "node_modules/human-signals": { @@ -16695,18 +13450,18 @@ } }, "node_modules/keyv": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", - "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, "dependencies": { "json-buffer": "3.0.1" } }, "node_modules/khroma": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/khroma/-/khroma-2.0.0.tgz", - "integrity": "sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/khroma/-/khroma-2.1.0.tgz", + "integrity": "sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==" }, "node_modules/kind-of": { "version": "6.0.3", @@ -17006,6 +13761,14 @@ "lit-html": "^2.8.0" } }, + "node_modules/lit-element/node_modules/@lit/reactive-element": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", + "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.0.0" + } + }, "node_modules/lit-html": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", @@ -17014,6 +13777,14 @@ "@types/trusted-types": "^2.0.2" } }, + "node_modules/lit/node_modules/@lit/reactive-element": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", + "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.0.0" + } + }, "node_modules/load-json-file": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", @@ -18063,9 +14834,9 @@ } }, "node_modules/nan": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", + "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", "optional": true }, "node_modules/nanobench": { @@ -18251,9 +15022,9 @@ "dev": true }, "node_modules/node-abi": { - "version": "3.47.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.47.0.tgz", - "integrity": "sha512-2s6B2CWZM//kPgwnuI0KrYwNjfdByE25zvAaEpq9IH4zcNsarH8Ihu/UuX6XMPEogDAxkuUFeZn60pXNHAqn3A==", + "version": "3.51.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.51.0.tgz", + "integrity": "sha512-SQkEP4hmNWjlniS5zdnfIXTk1x7Ome85RDzHlTbBtzE97Gfwz/Ipw4v/Ryk20DWIy3yCNVLVlGKApCnmvYoJbA==", "optional": true, "dependencies": { "semver": "^7.3.5" @@ -18295,6 +15066,11 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "optional": true }, + "node_modules/node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==" + }, "node_modules/node-dir": { "version": "0.1.17", "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", @@ -18329,6 +15105,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, "dependencies": { "whatwg-url": "^5.0.0" }, @@ -18344,6 +15121,22 @@ } } }, + "node_modules/node-fetch-commonjs": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch-commonjs/-/node-fetch-commonjs-3.3.2.tgz", + "integrity": "sha512-VBlAiynj3VMLrotgwOS3OyECFxas5y7ltLcK4t41lMUZeaK15Ym4QRkqN0EQKAFL42q9i21EPKjzLUPfltR72A==", + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, "node_modules/node-fetch-native": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.4.0.tgz", @@ -18602,9 +15395,9 @@ } }, "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.0.tgz", + "integrity": "sha512-HQ4J+ic8hKrgIt3mqk6cVOVrW2ozL4KdvHlqpBv9vDYWx9ysAgENAdvy4FoGF+KFdhR7nQTNm5J0ctAeOwn+3g==", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -18921,10 +15714,16 @@ } }, "node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } }, "node_modules/parse5-htmlparser2-tree-adapter": { "version": "6.0.1", @@ -18935,6 +15734,12 @@ "parse5": "^6.0.1" } }, + "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -19922,9 +16727,9 @@ "dev": true }, "node_modules/regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", "dev": true, "dependencies": { "regenerate": "^1.4.2" @@ -19998,14 +16803,14 @@ } }, "node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" + "set-function-name": "^2.0.0" }, "engines": { "node": ">= 0.4" @@ -20136,9 +16941,9 @@ } }, "node_modules/resolve": { - "version": "1.22.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", - "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "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", @@ -20599,6 +17404,20 @@ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -20675,9 +17494,9 @@ } }, "node_modules/short-unique-id": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/short-unique-id/-/short-unique-id-5.0.2.tgz", - "integrity": "sha512-4wZq1VLV4hsEx8guP5bN7XnY8UDsVXtdUDWFMP1gvEieAXolq5fWGKpuua21PRXaLn3OybTKFQNm7JGcHSWu/Q==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/short-unique-id/-/short-unique-id-5.0.3.tgz", + "integrity": "sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==", "bin": { "short-unique-id": "bin/short-unique-id", "suid": "bin/short-unique-id" @@ -20833,9 +17652,9 @@ } }, "node_modules/smob": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/smob/-/smob-1.4.0.tgz", - "integrity": "sha512-MqR3fVulhjWuRNSMydnTlweu38UhQ0HXM4buStD/S3mc/BzX3CuM9OmhyQpmtYCvoYdl5ris6TI0ZqH355Ymqg==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/smob/-/smob-1.4.1.tgz", + "integrity": "sha512-9LK+E7Hv5R9u4g4C3p+jjLstaLe11MDsL21UpYaCNmapvMkYhqCV4A/f/3gyH8QjMyh6l68q9xC85vihY9ahMQ==", "dev": true }, "node_modules/snapdragon": { @@ -21120,9 +17939,9 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", - "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "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 }, "node_modules/split-string": { @@ -21303,12 +18122,12 @@ "dev": true }, "node_modules/storybook": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/storybook/-/storybook-7.4.6.tgz", - "integrity": "sha512-YkFSpnR47j5zz7yElA+2axLjXN7K7TxDGJRHHlqXmG5iQ0PXzmjrj2RxMDKFz4Ybp/QjEUoJ4rx//ESEY0Nb5A==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/storybook/-/storybook-7.5.0.tgz", + "integrity": "sha512-dmvQNSuoHq1KrPcK8siApBi5n5reSf6RFAlLHYD+nhM+EP6SL2fXdVjP6ZynTUMRu1NQ5YR/oJhz/SsBzJNkcA==", "dev": true, "dependencies": { - "@storybook/cli": "7.4.6" + "@storybook/cli": "7.5.0" }, "bin": { "sb": "index.js", @@ -21352,175 +18171,12 @@ } } }, - "node_modules/storybook-addon-mock/node_modules/@storybook/channels": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.2.tgz", - "integrity": "sha512-Q95KnV+fTGaAV3S875+d5LlGg+bdC3bUnki3engODDS4ViSRHJ1bnXnqxKmAaS3O/52geIyWWR766YvwHw3avw==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.2", - "@storybook/core-events": "7.4.2", - "@storybook/global": "^5.0.0", - "qs": "^6.10.0", - "telejson": "^7.2.0", - "tiny-invariant": "^1.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/storybook-addon-mock/node_modules/@storybook/client-logger": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.2.tgz", - "integrity": "sha512-LC8tYrYSJwF4DHRdNYh6y8hSvccwUIv5/WOZKJDmKx7mcEm6HsVuUu16C9jsl7iy6IqJYxgVz1va3WS6852E+A==", - "dev": true, - "dependencies": { - "@storybook/global": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/storybook-addon-mock/node_modules/@storybook/core-events": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.2.tgz", - "integrity": "sha512-WCEBw+Ew8DrccnB0hpP9TXadreoOlMnWCyuXU2XrvmK/vde009leWQIsLs1rY+L17zDVuogBms62AxrDDJmMpw==", - "dev": true, - "dependencies": { - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/storybook-addon-mock/node_modules/@storybook/manager-api": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.2.tgz", - "integrity": "sha512-gKPG0At9AGhF32iwjiba+ILqswc3ZFj9ZIu5HjGEmaoiOfqI6TayuHoptup0QxkI/Hx8f9mNkHCwR9COrmb69w==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.2", - "@storybook/client-logger": "7.4.2", - "@storybook/core-events": "7.4.2", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/router": "7.4.2", - "@storybook/theming": "7.4.2", - "@storybook/types": "7.4.2", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "memoizerific": "^1.11.3", - "semver": "^7.3.7", - "store2": "^2.14.2", - "telejson": "^7.2.0", - "ts-dedent": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/storybook-addon-mock/node_modules/@storybook/router": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.2.tgz", - "integrity": "sha512-TFpMrmliklWNSrF84kGnh3WcLZciqIvaAjhxahqD+kx070KLqjxrsiny7UC6PUUYZdjLkbR9m8n3SFdXAVKgLw==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.4.2", - "memoizerific": "^1.11.3", - "qs": "^6.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/storybook-addon-mock/node_modules/@storybook/theming": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.2.tgz", - "integrity": "sha512-wVmxZHVCqDoZgUOXTS4HRV4UClLtCydRNOEuUZ7X08QIPSA1FVL3gEpTQJfgCsyBX/cwSSofAMUbzAGEVNo+9g==", - "dev": true, - "dependencies": { - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.2", - "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/storybook-addon-mock/node_modules/@storybook/types": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.2.tgz", - "integrity": "sha512-OOJ2TeS3Zzc6spHbdH+JXml0q4IHuYt9axmXAv1/pkhqHjA5072pyUacmlYNQeihpQOOsKLiCQUQlvtMy9fTnQ==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.2", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/storybook-addon-mock/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/storybook-addon-mock/node_modules/path-to-regexp": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==", "dev": true }, - "node_modules/storybook-addon-mock/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/storybook-addon-mock/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/stream-shift": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", @@ -21746,27 +18402,25 @@ } }, "node_modules/swagger-client": { - "version": "3.20.2", - "resolved": "https://registry.npmjs.org/swagger-client/-/swagger-client-3.20.2.tgz", - "integrity": "sha512-fjOI/ut7uCeT7CHHNNIa1WIT9SnzKxyoaVnysyuarVpSodpOq6D2loZStBGU4mwpXF+KvatCw2qQk9Ub6fRzZw==", + "version": "3.23.1", + "resolved": "https://registry.npmjs.org/swagger-client/-/swagger-client-3.23.1.tgz", + "integrity": "sha512-ecRJsoGozhGvEUmim2kIc/pH9BllnPVuajuEXVm49EDbwbwbp7P+i5EW+8w5FLaqmGrx9eio51G9bvJV/XC+YQ==", "dependencies": { "@babel/runtime-corejs3": "^7.22.15", - "@swagger-api/apidom-core": ">=0.76.2 <1.0.0", - "@swagger-api/apidom-json-pointer": ">=0.76.2 <1.0.0", - "@swagger-api/apidom-ns-openapi-3-1": ">=0.76.2 <1.0.0", - "@swagger-api/apidom-reference": ">=0.76.2 <1.0.0", + "@swagger-api/apidom-core": ">=0.77.0 <1.0.0", + "@swagger-api/apidom-json-pointer": ">=0.77.0 <1.0.0", + "@swagger-api/apidom-ns-openapi-3-1": ">=0.77.0 <1.0.0", + "@swagger-api/apidom-reference": ">=0.77.0 <1.0.0", "cookie": "~0.5.0", - "cross-fetch": "^3.1.5", "deepmerge": "~4.3.0", "fast-json-patch": "^3.0.0-1", - "form-data-encoder": "^1.4.3", - "formdata-node": "^4.0.0", "is-plain-object": "^5.0.0", "js-yaml": "^4.1.0", - "lodash": "^4.17.21", + "node-abort-controller": "^3.1.1", + "node-fetch-commonjs": "^3.3.1", "qs": "^6.10.2", "traverse": "~0.6.6", - "url": "~0.11.0" + "undici": "^5.24.0" } }, "node_modules/swagger-client/node_modules/argparse": { @@ -21962,9 +18616,9 @@ } }, "node_modules/terser": { - "version": "5.19.4", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.4.tgz", - "integrity": "sha512-6p1DjHeuluwxDXcuT9VR8p64klWJKo1ILiy19s6C9+0Bh2+NWTX6nD9EPppiER4ICkHDVB1RkVpin/YW2nQn/g==", + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.22.0.tgz", + "integrity": "sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -22181,9 +18835,9 @@ } }, "node_modules/tocbot": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/tocbot/-/tocbot-4.21.1.tgz", - "integrity": "sha512-IfajhBTeg0HlMXu1f+VMbPef05QpDTsZ9X2Yn1+8npdaXsXg/+wrm9Ze1WG5OS1UDC3qJ5EQN/XOZ3gfXjPFCw==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/tocbot/-/tocbot-4.21.2.tgz", + "integrity": "sha512-R5Muhi/TUu4i4snWVrMgNoXyJm2f8sJfdgIkQvqb+cuIXQEIMAiWGWgCgYXHqX4+XiS/Bnm7IYZ9Zy6NVe6lhw==", "dev": true }, "node_modules/toidentifier": { @@ -22198,7 +18852,8 @@ "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true }, "node_modules/transform-ast": { "version": "2.4.4", @@ -22215,6 +18870,12 @@ "nanobench": "^2.1.1" } }, + "node_modules/transform-ast/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/transform-ast/node_modules/magic-string": { "version": "0.23.2", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.23.2.tgz", @@ -22244,13 +18905,13 @@ } }, "node_modules/tree-sitter-json": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/tree-sitter-json/-/tree-sitter-json-0.20.0.tgz", - "integrity": "sha512-PteOLH+Tx6Bz4ZA/d40/DbkiSXXRM/gKahhHI8hQ1lWNfFvdknnz9k3Mz84ol5srRyLboJ8wp8GSkhZ6ht9EGQ==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/tree-sitter-json/-/tree-sitter-json-0.20.1.tgz", + "integrity": "sha512-482hf7J+aBwhksSw8yWaqI8nyP1DrSwnS4IMBShsnkFWD3SE8oalHnsEik59fEVi3orcTCUtMzSjZx+0Tpa6Vw==", "hasInstallScript": true, "optional": true, "dependencies": { - "nan": "^2.14.1" + "nan": "^2.18.0" } }, "node_modules/tree-sitter-yaml": { @@ -22476,9 +19137,9 @@ "dev": true }, "node_modules/types-ramda": { - "version": "0.29.4", - "resolved": "https://registry.npmjs.org/types-ramda/-/types-ramda-0.29.4.tgz", - "integrity": "sha512-XO/820iRsCDwqLjE8XE+b57cVGPyk1h+U9lBGpDWvbEky+NQChvHVwaKM05WnW1c5z3EVQh8NhXFmh2E/1YazQ==", + "version": "0.29.5", + "resolved": "https://registry.npmjs.org/types-ramda/-/types-ramda-0.29.5.tgz", + "integrity": "sha512-u+bAYXHDPJR+amB0qMrMU/NXRB2PG8QqpO2v6j7yK/0mPZhlaaZj++ynYjnVpkPEpCkZEGxNpWY3X7qyLCGE3w==", "dependencies": { "ts-toolbelt": "^9.6.0" } @@ -22524,6 +19185,23 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/undici": { + "version": "5.26.3", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.26.3.tgz", + "integrity": "sha512-H7n2zmKEWgOllKkIUkLvFmsJQj062lSm3uA4EYApG8gLuiOM0/go9bIoC3HVaSnfg4xunowDE2i9p8drkXuvDw==", + "dependencies": { + "@fastify/busboy": "^2.0.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/undici-types": { + "version": "5.25.3", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", + "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==", + "dev": true + }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", @@ -22661,12 +19339,12 @@ } }, "node_modules/unplugin": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.4.0.tgz", - "integrity": "sha512-5x4eIEL6WgbzqGtF9UV8VEC/ehKptPXDS6L2b0mv4FRMkJxRtjaJfOWDd6a8+kYbqsjklix7yWP0N3SUepjXcg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.5.0.tgz", + "integrity": "sha512-9ZdRwbh/4gcm1JTOkp9lAkIDrtOyOxgHmY7cjuwI8L/2RTikMcVG25GsZwNAgRuap3iDw2jeq7eoqtAsz5rW3A==", "dev": true, "dependencies": { - "acorn": "^8.9.0", + "acorn": "^8.10.0", "chokidar": "^3.5.3", "webpack-sources": "^3.2.3", "webpack-virtual-modules": "^0.5.0" @@ -22741,9 +19419,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", "dev": true, "funding": [ { @@ -22786,20 +19464,6 @@ "deprecated": "Please see https://github.com/lydell/urix#deprecated", "dev": true }, - "node_modules/url": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.2.tgz", - "integrity": "sha512-7yIgNnrST44S7PJ5+jXbdIupfU1nWUdQJBFBeJRclPXiWgCvrSq5Frw8lr/i//n5sqDfzoKmBymMS81l4U/7cg==", - "dependencies": { - "punycode": "^1.4.1", - "qs": "^6.11.2" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" - }, "node_modules/use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -22894,9 +19558,13 @@ } }, "node_modules/uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], "bin": { "uuid": "dist/bin/uuid" } @@ -22946,9 +19614,9 @@ } }, "node_modules/vite": { - "version": "4.4.9", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", - "integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==", + "version": "4.4.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.11.tgz", + "integrity": "sha512-ksNZJlkcU9b0lBwAGZGGaZHCMqHsc8OpgtoYhsQ4/I2v5cnpmmmqe5pM4nv/4Hn6G/2GhTdj0DhZh2e+Er1q5A==", "dev": true, "peer": true, "dependencies": { @@ -23062,9 +19730,9 @@ } }, "node_modules/vscode-languageserver-textdocument": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz", - "integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz", + "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==", "dev": true }, "node_modules/vscode-languageserver-types": { @@ -23151,11 +19819,11 @@ } }, "node_modules/web-streams-polyfill": { - "version": "4.0.0-beta.3", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz", - "integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", "engines": { - "node": ">= 14" + "node": ">= 8" } }, "node_modules/web-tree-sitter": { @@ -23180,7 +19848,8 @@ "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true }, "node_modules/webpack-sources": { "version": "3.2.3", @@ -23207,6 +19876,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -23356,9 +20026,9 @@ } }, "node_modules/ws": { - "version": "8.14.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.1.tgz", - "integrity": "sha512-4OOseMUq8AzRBI/7SLMUwO+FEDnguetSk7KMb1sHwvF2w2Wv5Hoj0nlifx8vtGsftE/jWHojPy8sMMzYLJ2G/A==", + "version": "8.14.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", "dev": true, "engines": { "node": ">=10.0.0" diff --git a/web/package.json b/web/package.json index 6735e2268f8d..0cf3a93f57cd 100644 --- a/web/package.json +++ b/web/package.json @@ -39,9 +39,9 @@ "@formatjs/intl-listformat": "^7.5.0", "@fortawesome/fontawesome-free": "^6.4.2", "@goauthentik/api": "^2023.8.3-1697470337", - "@lit-labs/context": "^0.4.1", - "@lit-labs/task": "^3.1.0", + "@lit/context": "^1.0.0", "@lit/localize": "^0.11.4", + "@lit/task": "^1.0.0", "@open-wc/lit-helpers": "^0.6.0", "@patternfly/elements": "^2.4.0", "@patternfly/patternfly": "^4.224.2", @@ -124,6 +124,9 @@ "optionalDependencies": { "@esbuild/darwin-arm64": "^0.19.5", "@esbuild/linux-amd64": "^0.18.11", - "@esbuild/linux-arm64": "^0.19.5" + "@esbuild/linux-arm64": "^0.19.5", + "@rollup/rollup-darwin-arm64": "4.1.4", + "@rollup/rollup-linux-x64-gnu": "4.1.4", + "@rollup/rollup-linux-arm64-gnu": "4.1.4" } } diff --git a/web/src/elements/ak-locale-context/context.ts b/web/src/elements/ak-locale-context/context.ts deleted file mode 100644 index 9c9903bb339d..000000000000 --- a/web/src/elements/ak-locale-context/context.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { createContext } from "@lit-labs/context"; - -export const localeContext = createContext("locale"); -export default localeContext; diff --git a/web/src/elements/buttons/SpinnerButton/BaseTaskButton.ts b/web/src/elements/buttons/SpinnerButton/BaseTaskButton.ts index 0b59a7937b76..5ee45ccdc490 100644 --- a/web/src/elements/buttons/SpinnerButton/BaseTaskButton.ts +++ b/web/src/elements/buttons/SpinnerButton/BaseTaskButton.ts @@ -3,7 +3,7 @@ import { AKElement } from "@goauthentik/elements/Base"; import { PFSize } from "@goauthentik/elements/Spinner"; import { CustomEmitterElement } from "@goauthentik/elements/utils/eventEmitter"; -import { Task, TaskStatus } from "@lit-labs/task"; +import { Task, TaskStatus } from "@lit/task"; import { css, html } from "lit"; import PFButton from "@patternfly/patternfly/components/Button/button.css"; From b18896adf9eba57aa4ada4014cdf49a321d25f27 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Oct 2023 22:00:04 +0200 Subject: [PATCH 32/57] core: bump urllib3 from 2.0.6 to 2.0.7 (#7201) Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.0.6 to 2.0.7. - [Release notes](https://github.com/urllib3/urllib3/releases) - [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst) - [Commits](https://github.com/urllib3/urllib3/compare/2.0.6...2.0.7) --- updated-dependencies: - dependency-name: urllib3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/poetry.lock b/poetry.lock index cd5cb4769819..178e3018ff43 100644 --- a/poetry.lock +++ b/poetry.lock @@ -3871,13 +3871,13 @@ files = [ [[package]] name = "urllib3" -version = "2.0.6" +version = "2.0.7" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.7" files = [ - {file = "urllib3-2.0.6-py3-none-any.whl", hash = "sha256:7a7c7003b000adf9e7ca2a377c9688bbc54ed41b985789ed576570342a375cd2"}, - {file = "urllib3-2.0.6.tar.gz", hash = "sha256:b19e1a85d206b56d7df1d5e683df4a7725252a964e3993648dd0fb5a1c157564"}, + {file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"}, + {file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"}, ] [package.dependencies] From 10beb4c144c7a75fa45d7abdc97e266d35d2cd43 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Oct 2023 22:01:10 +0200 Subject: [PATCH 33/57] core: bump black from 23.9.1 to 23.10.0 (#7200) Bumps [black](https://github.com/psf/black) from 23.9.1 to 23.10.0. - [Release notes](https://github.com/psf/black/releases) - [Changelog](https://github.com/psf/black/blob/main/CHANGES.md) - [Commits](https://github.com/psf/black/compare/23.9.1...23.10.0) --- updated-dependencies: - dependency-name: black dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 42 +++++++++++++++++++----------------------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/poetry.lock b/poetry.lock index 178e3018ff43..dbe6c95c122f 100644 --- a/poetry.lock +++ b/poetry.lock @@ -437,33 +437,29 @@ files = [ [[package]] name = "black" -version = "23.9.1" +version = "23.10.0" description = "The uncompromising code formatter." optional = false python-versions = ">=3.8" files = [ - {file = "black-23.9.1-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:d6bc09188020c9ac2555a498949401ab35bb6bf76d4e0f8ee251694664df6301"}, - {file = "black-23.9.1-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:13ef033794029b85dfea8032c9d3b92b42b526f1ff4bf13b2182ce4e917f5100"}, - {file = "black-23.9.1-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:75a2dc41b183d4872d3a500d2b9c9016e67ed95738a3624f4751a0cb4818fe71"}, - {file = "black-23.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13a2e4a93bb8ca74a749b6974925c27219bb3df4d42fc45e948a5d9feb5122b7"}, - {file = "black-23.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:adc3e4442eef57f99b5590b245a328aad19c99552e0bdc7f0b04db6656debd80"}, - {file = "black-23.9.1-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:8431445bf62d2a914b541da7ab3e2b4f3bc052d2ccbf157ebad18ea126efb91f"}, - {file = "black-23.9.1-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:8fc1ddcf83f996247505db6b715294eba56ea9372e107fd54963c7553f2b6dfe"}, - {file = "black-23.9.1-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:7d30ec46de88091e4316b17ae58bbbfc12b2de05e069030f6b747dfc649ad186"}, - {file = "black-23.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:031e8c69f3d3b09e1aa471a926a1eeb0b9071f80b17689a655f7885ac9325a6f"}, - {file = "black-23.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:538efb451cd50f43aba394e9ec7ad55a37598faae3348d723b59ea8e91616300"}, - {file = "black-23.9.1-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:638619a559280de0c2aa4d76f504891c9860bb8fa214267358f0a20f27c12948"}, - {file = "black-23.9.1-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:a732b82747235e0542c03bf352c126052c0fbc458d8a239a94701175b17d4855"}, - {file = "black-23.9.1-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:cf3a4d00e4cdb6734b64bf23cd4341421e8953615cba6b3670453737a72ec204"}, - {file = "black-23.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf99f3de8b3273a8317681d8194ea222f10e0133a24a7548c73ce44ea1679377"}, - {file = "black-23.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:14f04c990259576acd093871e7e9b14918eb28f1866f91968ff5524293f9c573"}, - {file = "black-23.9.1-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:c619f063c2d68f19b2d7270f4cf3192cb81c9ec5bc5ba02df91471d0b88c4c5c"}, - {file = "black-23.9.1-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:6a3b50e4b93f43b34a9d3ef00d9b6728b4a722c997c99ab09102fd5efdb88325"}, - {file = "black-23.9.1-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:c46767e8df1b7beefb0899c4a95fb43058fa8500b6db144f4ff3ca38eb2f6393"}, - {file = "black-23.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50254ebfa56aa46a9fdd5d651f9637485068a1adf42270148cd101cdf56e0ad9"}, - {file = "black-23.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:403397c033adbc45c2bd41747da1f7fc7eaa44efbee256b53842470d4ac5a70f"}, - {file = "black-23.9.1-py3-none-any.whl", hash = "sha256:6ccd59584cc834b6d127628713e4b6b968e5f79572da66284532525a042549f9"}, - {file = "black-23.9.1.tar.gz", hash = "sha256:24b6b3ff5c6d9ea08a8888f6977eae858e1f340d7260cf56d70a49823236b62d"}, + {file = "black-23.10.0-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:f8dc7d50d94063cdfd13c82368afd8588bac4ce360e4224ac399e769d6704e98"}, + {file = "black-23.10.0-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:f20ff03f3fdd2fd4460b4f631663813e57dc277e37fb216463f3b907aa5a9bdd"}, + {file = "black-23.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3d9129ce05b0829730323bdcb00f928a448a124af5acf90aa94d9aba6969604"}, + {file = "black-23.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:960c21555be135c4b37b7018d63d6248bdae8514e5c55b71e994ad37407f45b8"}, + {file = "black-23.10.0-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:30b78ac9b54cf87bcb9910ee3d499d2bc893afd52495066c49d9ee6b21eee06e"}, + {file = "black-23.10.0-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:0e232f24a337fed7a82c1185ae46c56c4a6167fb0fe37411b43e876892c76699"}, + {file = "black-23.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31946ec6f9c54ed7ba431c38bc81d758970dd734b96b8e8c2b17a367d7908171"}, + {file = "black-23.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:c870bee76ad5f7a5ea7bd01dc646028d05568d33b0b09b7ecfc8ec0da3f3f39c"}, + {file = "black-23.10.0-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:6901631b937acbee93c75537e74f69463adaf34379a04eef32425b88aca88a23"}, + {file = "black-23.10.0-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:481167c60cd3e6b1cb8ef2aac0f76165843a374346aeeaa9d86765fe0dd0318b"}, + {file = "black-23.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f74892b4b836e5162aa0452393112a574dac85e13902c57dfbaaf388e4eda37c"}, + {file = "black-23.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:47c4510f70ec2e8f9135ba490811c071419c115e46f143e4dce2ac45afdcf4c9"}, + {file = "black-23.10.0-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:76baba9281e5e5b230c9b7f83a96daf67a95e919c2dfc240d9e6295eab7b9204"}, + {file = "black-23.10.0-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:a3c2ddb35f71976a4cfeca558848c2f2f89abc86b06e8dd89b5a65c1e6c0f22a"}, + {file = "black-23.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db451a3363b1e765c172c3fd86213a4ce63fb8524c938ebd82919bf2a6e28c6a"}, + {file = "black-23.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:7fb5fc36bb65160df21498d5a3dd330af8b6401be3f25af60c6ebfe23753f747"}, + {file = "black-23.10.0-py3-none-any.whl", hash = "sha256:e223b731a0e025f8ef427dd79d8cd69c167da807f5710add30cdf131f13dd62e"}, + {file = "black-23.10.0.tar.gz", hash = "sha256:31b9f87b277a68d0e99d2905edae08807c007973eaa609da5f0c62def6b7c0bd"}, ] [package.dependencies] From b5dd681f1278485284b10d3ff1de68ab8cbff899 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Oct 2023 22:01:25 +0200 Subject: [PATCH 34/57] web: bump the wdio group in /tests/wdio with 4 updates (#7199) Bumps the wdio group in /tests/wdio with 4 updates: [@wdio/cli](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-cli), [@wdio/local-runner](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-local-runner), [@wdio/mocha-framework](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-mocha-framework) and [@wdio/spec-reporter](https://github.com/webdriverio/webdriverio/tree/HEAD/packages/wdio-spec-reporter). Updates `@wdio/cli` from 8.18.2 to 8.19.0 - [Release notes](https://github.com/webdriverio/webdriverio/releases) - [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md) - [Commits](https://github.com/webdriverio/webdriverio/commits/v8.19.0/packages/wdio-cli) Updates `@wdio/local-runner` from 8.18.2 to 8.19.0 - [Release notes](https://github.com/webdriverio/webdriverio/releases) - [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md) - [Commits](https://github.com/webdriverio/webdriverio/commits/v8.19.0/packages/wdio-local-runner) Updates `@wdio/mocha-framework` from 8.18.2 to 8.19.0 - [Release notes](https://github.com/webdriverio/webdriverio/releases) - [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md) - [Commits](https://github.com/webdriverio/webdriverio/commits/v8.19.0/packages/wdio-mocha-framework) Updates `@wdio/spec-reporter` from 8.18.1 to 8.19.0 - [Release notes](https://github.com/webdriverio/webdriverio/releases) - [Changelog](https://github.com/webdriverio/webdriverio/blob/main/CHANGELOG.md) - [Commits](https://github.com/webdriverio/webdriverio/commits/v8.19.0/packages/wdio-spec-reporter) --- updated-dependencies: - dependency-name: "@wdio/cli" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: wdio - dependency-name: "@wdio/local-runner" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: wdio - dependency-name: "@wdio/mocha-framework" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: wdio - dependency-name: "@wdio/spec-reporter" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: wdio ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tests/wdio/package-lock.json | 146 +++++++++++++++++------------------ tests/wdio/package.json | 8 +- 2 files changed, 77 insertions(+), 77 deletions(-) diff --git a/tests/wdio/package-lock.json b/tests/wdio/package-lock.json index 7d7867aca28c..8f1762483afb 100644 --- a/tests/wdio/package-lock.json +++ b/tests/wdio/package-lock.json @@ -9,10 +9,10 @@ "@trivago/prettier-plugin-sort-imports": "^4.2.0", "@typescript-eslint/eslint-plugin": "^6.8.0", "@typescript-eslint/parser": "^6.8.0", - "@wdio/cli": "^8.18.2", - "@wdio/local-runner": "^8.18.2", - "@wdio/mocha-framework": "^8.18.2", - "@wdio/spec-reporter": "^8.18.1", + "@wdio/cli": "^8.19.0", + "@wdio/local-runner": "^8.19.0", + "@wdio/mocha-framework": "^8.19.0", + "@wdio/spec-reporter": "^8.19.0", "eslint": "^8.51.0", "eslint-config-google": "^0.14.0", "eslint-plugin-sonarjs": "^0.21.0", @@ -1067,18 +1067,18 @@ } }, "node_modules/@wdio/cli": { - "version": "8.18.2", - "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-8.18.2.tgz", - "integrity": "sha512-vjMedd7PEHZywxbRE/rHzAPbj+hsCJz5b7vPTXu9QuwH2wWU2ab79ZqQpaUMKwZx8yXJfG6neb89tEbF9ximqQ==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-8.19.0.tgz", + "integrity": "sha512-OLYIyVx1B6DK9xgiqFTNSZkDSug5so4MylwI7whJ1IdQmmwsRVS3rLuac0qYPr+z7G9QnZrqSrqCNkfwJ98V+Q==", "dev": true, "dependencies": { "@types/node": "^20.1.1", - "@wdio/config": "8.18.2", - "@wdio/globals": "8.18.2", + "@wdio/config": "8.19.0", + "@wdio/globals": "8.19.0", "@wdio/logger": "8.16.17", "@wdio/protocols": "8.18.0", - "@wdio/types": "8.17.0", - "@wdio/utils": "8.18.2", + "@wdio/types": "8.19.0", + "@wdio/utils": "8.19.0", "async-exit-hook": "^2.0.1", "chalk": "^5.2.0", "chokidar": "^3.5.3", @@ -1093,7 +1093,7 @@ "lodash.union": "^4.6.0", "read-pkg-up": "10.1.0", "recursive-readdir": "^2.2.3", - "webdriverio": "8.18.2", + "webdriverio": "8.19.0", "yargs": "^17.7.2", "yarn-install": "^1.0.0" }, @@ -1117,14 +1117,14 @@ } }, "node_modules/@wdio/config": { - "version": "8.18.2", - "resolved": "https://registry.npmjs.org/@wdio/config/-/config-8.18.2.tgz", - "integrity": "sha512-O3K36Wk/G/P5t9NfI/jBjLMdJq1KEDQTmbLvrbRckqzX5SQmPFg2pg18gE9N3JQE4A7qR+imxVo45HmhFDyn4w==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@wdio/config/-/config-8.19.0.tgz", + "integrity": "sha512-BFsLLoOD8kE1qGtAaY22N1c/GPOJbToQgD56ZZCS1wbLwX4EfZk6QIsqV2XcyEGzTZjge2GCkZEbUMHPLrMXvQ==", "dev": true, "dependencies": { "@wdio/logger": "8.16.17", - "@wdio/types": "8.17.0", - "@wdio/utils": "8.18.2", + "@wdio/types": "8.19.0", + "@wdio/utils": "8.19.0", "decamelize": "^6.0.0", "deepmerge-ts": "^5.0.0", "glob": "^10.2.2", @@ -1136,29 +1136,29 @@ } }, "node_modules/@wdio/globals": { - "version": "8.18.2", - "resolved": "https://registry.npmjs.org/@wdio/globals/-/globals-8.18.2.tgz", - "integrity": "sha512-hHZqqWlvEaVHru+e5bMXsTBbPqKi85JO5q2XKX+ixS4XWoZXoMjN5WzL/3N9GkF2mJqIkyb9DHUT0T2vvf3oNA==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@wdio/globals/-/globals-8.19.0.tgz", + "integrity": "sha512-upmDIy6HWB2mU8WC38OTnuo8984GVypzy2qUpGRcynXBuQLVLijxQLX+gGi4I5hBJu3K6eFhnDkhI0oXoV92gw==", "dev": true, "engines": { "node": "^16.13 || >=18" }, "optionalDependencies": { "expect-webdriverio": "^4.2.5", - "webdriverio": "8.18.2" + "webdriverio": "8.19.0" } }, "node_modules/@wdio/local-runner": { - "version": "8.18.2", - "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-8.18.2.tgz", - "integrity": "sha512-W5QRXmH+MngHEVktsX6WXyoP/WI3mSlN66E1xGYLtMVwPhp3wMXDIrk1K/0UCAViX7lQ3tvo0B2QoZhsAXVT+A==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-8.19.0.tgz", + "integrity": "sha512-WX9rN6WqqDipJhDQJV2+nDN4FY9sz3wmDdoi2X+W7KvnU8Hev2BexEb8PpzqVwt2aVL0gVwLb4cUdU7gWITHyg==", "dev": true, "dependencies": { "@types/node": "^20.1.0", "@wdio/logger": "8.16.17", "@wdio/repl": "8.10.1", - "@wdio/runner": "8.18.2", - "@wdio/types": "8.17.0", + "@wdio/runner": "8.19.0", + "@wdio/types": "8.19.0", "async-exit-hook": "^2.0.1", "split2": "^4.1.0", "stream-buffers": "^3.0.2" @@ -1195,16 +1195,16 @@ } }, "node_modules/@wdio/mocha-framework": { - "version": "8.18.2", - "resolved": "https://registry.npmjs.org/@wdio/mocha-framework/-/mocha-framework-8.18.2.tgz", - "integrity": "sha512-vsuPyuPbkw8FOsOeru9BJXwbSyk9//MiFnqNWwCdbFqVTc0M+RIYklnVgDUyx7Fnl87XewVWDioOWr71FH4ZhQ==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@wdio/mocha-framework/-/mocha-framework-8.19.0.tgz", + "integrity": "sha512-AtyTRnnRR/RM7yHQNa2oIwcGNYkd0boDxrtoSwl+qnUEN1lRjM3t+C7hYOTtv1J9PCGNtMK8pM4SD/IcujZHmA==", "dev": true, "dependencies": { "@types/mocha": "^10.0.0", "@types/node": "^20.1.0", "@wdio/logger": "8.16.17", - "@wdio/types": "8.17.0", - "@wdio/utils": "8.18.2", + "@wdio/types": "8.19.0", + "@wdio/utils": "8.19.0", "mocha": "^10.0.0" }, "engines": { @@ -1230,14 +1230,14 @@ } }, "node_modules/@wdio/reporter": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@wdio/reporter/-/reporter-8.17.0.tgz", - "integrity": "sha512-U4GMgHjH+mgtwKUXHk1fYsIwET0NUvC5efWN8z/pSyzc93iHHzl1cY4FSAjND6KTnPFpxJB+3EamgQRpC2P92Q==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@wdio/reporter/-/reporter-8.19.0.tgz", + "integrity": "sha512-fRECsIIryM+2xnjcYDXx1j3c8GkPtBi5/dqowYPKW1bdm/SMCOBZviZVbihpw7zSgo+cGAMbFXEO9HDVcMqSjg==", "dev": true, "dependencies": { "@types/node": "^20.1.0", "@wdio/logger": "8.16.17", - "@wdio/types": "8.17.0", + "@wdio/types": "8.19.0", "diff": "^5.0.0", "object-inspect": "^1.12.0" }, @@ -1246,35 +1246,35 @@ } }, "node_modules/@wdio/runner": { - "version": "8.18.2", - "resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-8.18.2.tgz", - "integrity": "sha512-UPfvKA9yunEadHHDZwveZmKL0ayHDCkUegzUzgHFYmhnijUAa1Xeo837NpBe9y753TWt5PgRA4BIXSDlxJ9ySA==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-8.19.0.tgz", + "integrity": "sha512-YZXVzg9Q4S/vRFfzzprQYgq9scPZohpSUhJxOjS4xYY/yorMRYTR/zih1aQCSQVgQ/9PadRqCs2a9fElsLdOMA==", "dev": true, "dependencies": { "@types/node": "^20.1.0", - "@wdio/config": "8.18.2", - "@wdio/globals": "8.18.2", + "@wdio/config": "8.19.0", + "@wdio/globals": "8.19.0", "@wdio/logger": "8.16.17", - "@wdio/types": "8.17.0", - "@wdio/utils": "8.18.2", + "@wdio/types": "8.19.0", + "@wdio/utils": "8.19.0", "deepmerge-ts": "^5.0.0", "expect-webdriverio": "^4.2.5", "gaze": "^1.1.2", - "webdriver": "8.18.2", - "webdriverio": "8.18.2" + "webdriver": "8.19.0", + "webdriverio": "8.19.0" }, "engines": { "node": "^16.13 || >=18" } }, "node_modules/@wdio/spec-reporter": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/@wdio/spec-reporter/-/spec-reporter-8.18.1.tgz", - "integrity": "sha512-p6l8mR7K+l66QJl/m+sV9ahCp570ThaqxLc3npYDt5N4ut/qqDgqnwVU3qt0kwx/QMLrYLiXjjMKXqs6DkJTiA==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@wdio/spec-reporter/-/spec-reporter-8.19.0.tgz", + "integrity": "sha512-3QV1AEJM/Utr8EitSpQI3JfNhGYryLVaQpIy4u/LxDj2NjHAebhs4eoEwsc1nUrtl0YXt5y6L5LopmxTpILDMw==", "dev": true, "dependencies": { - "@wdio/reporter": "8.17.0", - "@wdio/types": "8.17.0", + "@wdio/reporter": "8.19.0", + "@wdio/types": "8.19.0", "chalk": "^5.1.2", "easy-table": "^1.2.0", "pretty-ms": "^7.0.0" @@ -1296,9 +1296,9 @@ } }, "node_modules/@wdio/types": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@wdio/types/-/types-8.17.0.tgz", - "integrity": "sha512-OkIpr5iHcwFXQpr4csXsiQ/WelX+Dhz/A8STFzoDQFYxMlR3nzm/S+Q1P4UoJfyhrNWlsFpLhShGK1cn+XUE5Q==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@wdio/types/-/types-8.19.0.tgz", + "integrity": "sha512-L2DCjRkOYEkEcZewBMCCLrsFJIYzo+kUcoV8iX3oDH711pxdC6hJIK8r7EeeLDPklNHqnxGniVY/+04lpOoqmg==", "dev": true, "dependencies": { "@types/node": "^20.1.0" @@ -1308,14 +1308,14 @@ } }, "node_modules/@wdio/utils": { - "version": "8.18.2", - "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-8.18.2.tgz", - "integrity": "sha512-TQrrKv+knFn4Z/T/e/+wdnBoykNBg6rfo0NsAwaWh4PbJ1tf+Dc9GjzWhvJTgHwZf4v78K8Z+77qkqoLCF1wSg==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-8.19.0.tgz", + "integrity": "sha512-Pwpoc0yqFMtVVv7Wp5zAJKO8qNRcbVHRGOdc62UFpXD09+kvnwhsgCJcQPPQndCebbDgvhFok3rBcgYrjEz5rQ==", "dev": true, "dependencies": { "@puppeteer/browsers": "^1.6.0", "@wdio/logger": "8.16.17", - "@wdio/types": "8.17.0", + "@wdio/types": "8.19.0", "decamelize": "^6.0.0", "deepmerge-ts": "^5.1.0", "edgedriver": "^5.3.5", @@ -2595,9 +2595,9 @@ } }, "node_modules/devtools-protocol": { - "version": "0.0.1206220", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1206220.tgz", - "integrity": "sha512-zTcXveZkrQdpBwZzAd6spwu+WZet0hU+m/hAm7j61PDUQgG42YkMMdbFYqbDrxIiMTEgJInn70ck1Jl10RQ1aQ==", + "version": "0.0.1209236", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1209236.tgz", + "integrity": "sha512-z4eehc+fhmptqhxwreLcg9iydszZGU4Q5FzaaElXVGp3KyfXbjtXeUCmo4l8FxBJbyXtCz4VRIJsGW2ekApyUQ==", "dev": true }, "node_modules/diff": { @@ -8693,18 +8693,18 @@ } }, "node_modules/webdriver": { - "version": "8.18.2", - "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-8.18.2.tgz", - "integrity": "sha512-7xr8K2jlrRdhqK6LLHrg96OiccWT5EeBIQXk9xAifgIbs6l/JfzCjC9WqC0AmX9plXjR8wf2LS+Ob9Ajhx6v+A==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-8.19.0.tgz", + "integrity": "sha512-7LLDiiAnhUE4AsQjbpql7bPxVYGg7fOgrncebRSnwerPeFDnjMxV+MNs42bIpQFscncYAndKZR5t1DP1vC240A==", "dev": true, "dependencies": { "@types/node": "^20.1.0", "@types/ws": "^8.5.3", - "@wdio/config": "8.18.2", + "@wdio/config": "8.19.0", "@wdio/logger": "8.16.17", "@wdio/protocols": "8.18.0", - "@wdio/types": "8.17.0", - "@wdio/utils": "8.18.2", + "@wdio/types": "8.19.0", + "@wdio/utils": "8.19.0", "deepmerge-ts": "^5.1.0", "got": "^ 12.6.1", "ky": "^0.33.0", @@ -8752,23 +8752,23 @@ } }, "node_modules/webdriverio": { - "version": "8.18.2", - "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.18.2.tgz", - "integrity": "sha512-vX+U4QH9HdyT3upcOzP6YMpnAA1oZJJAZetvf9aWZ9KnBzgkL60LiZ/q9xCX+VWYKEIvNZ66ekppbuZ8FpobIQ==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.19.0.tgz", + "integrity": "sha512-U+TDtkJBEkqD7Rux1EKsYTxmlwNt/l9WnDaO1oVQyazk5WRBGdtMxtF7Cm1AspSR0swsnx2NFBSte0IgI8mzUg==", "dev": true, "dependencies": { "@types/node": "^20.1.0", - "@wdio/config": "8.18.2", + "@wdio/config": "8.19.0", "@wdio/logger": "8.16.17", "@wdio/protocols": "8.18.0", "@wdio/repl": "8.10.1", - "@wdio/types": "8.17.0", - "@wdio/utils": "8.18.2", + "@wdio/types": "8.19.0", + "@wdio/utils": "8.19.0", "archiver": "^6.0.0", "aria-query": "^5.0.0", "css-shorthand-properties": "^1.1.1", "css-value": "^0.0.1", - "devtools-protocol": "^0.0.1206220", + "devtools-protocol": "^0.0.1209236", "grapheme-splitter": "^1.0.2", "import-meta-resolve": "^3.0.0", "is-plain-obj": "^4.1.0", @@ -8780,7 +8780,7 @@ "resq": "^1.9.1", "rgb2hex": "0.2.5", "serialize-error": "^11.0.1", - "webdriver": "8.18.2" + "webdriver": "8.19.0" }, "engines": { "node": "^16.13 || >=18" diff --git a/tests/wdio/package.json b/tests/wdio/package.json index 9bdc725e6c25..043c937586c6 100644 --- a/tests/wdio/package.json +++ b/tests/wdio/package.json @@ -6,10 +6,10 @@ "@trivago/prettier-plugin-sort-imports": "^4.2.0", "@typescript-eslint/eslint-plugin": "^6.8.0", "@typescript-eslint/parser": "^6.8.0", - "@wdio/cli": "^8.18.2", - "@wdio/local-runner": "^8.18.2", - "@wdio/mocha-framework": "^8.18.2", - "@wdio/spec-reporter": "^8.18.1", + "@wdio/cli": "^8.19.0", + "@wdio/local-runner": "^8.19.0", + "@wdio/mocha-framework": "^8.19.0", + "@wdio/spec-reporter": "^8.19.0", "eslint": "^8.51.0", "eslint-config-google": "^0.14.0", "eslint-plugin-sonarjs": "^0.21.0", From cb915bc86c8b7379631ea6b6a6df5c3f50518cd8 Mon Sep 17 00:00:00 2001 From: Tana M Berry Date: Tue, 17 Oct 2023 16:41:41 -0500 Subject: [PATCH 35/57] website/docs: added Note in Beta docs (#7203) typo, shockingly Co-authored-by: Tana Berry --- website/docs/installation/beta.mdx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/website/docs/installation/beta.mdx b/website/docs/installation/beta.mdx index 7cd4e4664609..6f02522670e1 100644 --- a/website/docs/installation/beta.mdx +++ b/website/docs/installation/beta.mdx @@ -2,7 +2,7 @@ title: Beta versions --- -You can test upcoming authentik versions by switching to the _next_ images. It is recommended to upgrade to the latest stable release before upgrading to Beta images. It is always possible to upgrade from the Beta to the next stable release. +You can test upcoming authentik versions, including major new features that are in "Beta release", by switching to the _next_ images. It is recommended to upgrade to the latest stable release before upgrading to Beta images. It is always possible to upgrade from the Beta to the next stable release. :::warning Downgrading from the Beta is not supported. It is recommended to take a backup before upgrading, or test Beta versions on a separate install. Upgrading from Beta versions to the next release is usually possible, however also not supported. @@ -81,4 +81,8 @@ helm upgrade authentik authentik/authentik -f values.yaml +:::info +If you are upgrading from an older Beta release to the most recent Beta release, you might need to run `kubectl rollout restart deployment`, because Helm needs to recreate the pods in order to pick up the new image (the tag doesn't change). +::: + To verify whether the upgrade was successful, go to your Admin panel and navigate to the Overview dashboard. There, you can check the version number to ensure that you are using the Beta version you intended. From cd81e4bf7094d728cc8126442af16c7b7875d100 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Oct 2023 11:04:42 +0200 Subject: [PATCH 36/57] web: bump @types/grecaptcha from 3.0.5 to 3.0.6 in /web (#7207) Bumps [@types/grecaptcha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/grecaptcha) from 3.0.5 to 3.0.6. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/grecaptcha) --- updated-dependencies: - dependency-name: "@types/grecaptcha" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web/package-lock.json | 8 ++++---- web/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/web/package-lock.json b/web/package-lock.json index 3cf9f1ab1c19..5f88e4704bc3 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -69,7 +69,7 @@ "@trivago/prettier-plugin-sort-imports": "^4.2.0", "@types/chart.js": "^2.9.38", "@types/codemirror": "5.60.10", - "@types/grecaptcha": "^3.0.5", + "@types/grecaptcha": "^3.0.6", "@typescript-eslint/eslint-plugin": "^6.8.0", "@typescript-eslint/parser": "^6.8.0", "babel-plugin-macros": "^3.1.0", @@ -6988,9 +6988,9 @@ } }, "node_modules/@types/grecaptcha": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/grecaptcha/-/grecaptcha-3.0.5.tgz", - "integrity": "sha512-FyrF9WpBz34ZIqLu49kK+wL2NXgBOqeiWOinx7VW5AS01o0F1uejhfpQ6RHlm5sOyEbR7viIC7mSUzUC09NAIQ==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/grecaptcha/-/grecaptcha-3.0.6.tgz", + "integrity": "sha512-4BR/3v+pbiRt3cwRwibFnV4+LmuvRUjVVqgeCul9ODAyQhlPKE4tIIRJwZUeWWpmX8e9vo/xXuQTQl8FJPP7KA==", "dev": true }, "node_modules/@types/http-errors": { diff --git a/web/package.json b/web/package.json index 0cf3a93f57cd..3d0a6aa15604 100644 --- a/web/package.json +++ b/web/package.json @@ -90,7 +90,7 @@ "@trivago/prettier-plugin-sort-imports": "^4.2.0", "@types/chart.js": "^2.9.38", "@types/codemirror": "5.60.10", - "@types/grecaptcha": "^3.0.5", + "@types/grecaptcha": "^3.0.6", "@typescript-eslint/eslint-plugin": "^6.8.0", "@typescript-eslint/parser": "^6.8.0", "babel-plugin-macros": "^3.1.0", From 5bce00862a5b16b843f39ce9f64d55f699b973fa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Oct 2023 11:04:53 +0200 Subject: [PATCH 37/57] web: bump pyright from 1.1.331 to 1.1.332 in /web (#7208) Bumps [pyright](https://github.com/Microsoft/pyright/tree/HEAD/packages/pyright) from 1.1.331 to 1.1.332. - [Release notes](https://github.com/Microsoft/pyright/releases) - [Commits](https://github.com/Microsoft/pyright/commits/1.1.332/packages/pyright) --- updated-dependencies: - dependency-name: pyright dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web/package-lock.json | 8 ++++---- web/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/web/package-lock.json b/web/package-lock.json index 5f88e4704bc3..f42eaad06464 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -85,7 +85,7 @@ "npm-run-all": "^4.1.5", "prettier": "^3.0.3", "pseudolocale": "^2.0.0", - "pyright": "^1.1.331", + "pyright": "^1.1.332", "react": "^18.2.0", "react-dom": "^18.2.0", "rollup": "^4.1.4", @@ -16263,9 +16263,9 @@ } }, "node_modules/pyright": { - "version": "1.1.331", - "resolved": "https://registry.npmjs.org/pyright/-/pyright-1.1.331.tgz", - "integrity": "sha512-y1ZWJQ6faOoqehwSjGjDflBsaXVyJPrlrtc+pHmXnEEYfGlpt2Z9SwTJfhUqHBk7L8hPsueSwt+68A1x7Fy/TQ==", + "version": "1.1.332", + "resolved": "https://registry.npmjs.org/pyright/-/pyright-1.1.332.tgz", + "integrity": "sha512-x3xuEhp6P+6UJfKF41o7f4Z9abh/LWXWF8CReSEsg/m/5IeMBtqCqPrxZnKswRjQlBlCD771QYkMatEVjeH2ZA==", "dev": true, "bin": { "pyright": "index.js", diff --git a/web/package.json b/web/package.json index 3d0a6aa15604..9f66db7bbf8d 100644 --- a/web/package.json +++ b/web/package.json @@ -106,7 +106,7 @@ "npm-run-all": "^4.1.5", "prettier": "^3.0.3", "pseudolocale": "^2.0.0", - "pyright": "^1.1.331", + "pyright": "^1.1.332", "react": "^18.2.0", "react-dom": "^18.2.0", "rollup": "^4.1.4", From 29ab22b9f90182e0fe6266d3f8708fc17326d61b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Oct 2023 11:05:07 +0200 Subject: [PATCH 38/57] web: bump @types/chart.js from 2.9.38 to 2.9.39 in /web (#7206) Bumps [@types/chart.js](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chart.js) from 2.9.38 to 2.9.39. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chart.js) --- updated-dependencies: - dependency-name: "@types/chart.js" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web/package-lock.json | 8 ++++---- web/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/web/package-lock.json b/web/package-lock.json index f42eaad06464..db5ff136e69b 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -67,7 +67,7 @@ "@storybook/web-components": "^7.4.6", "@storybook/web-components-vite": "^7.4.6", "@trivago/prettier-plugin-sort-imports": "^4.2.0", - "@types/chart.js": "^2.9.38", + "@types/chart.js": "^2.9.39", "@types/codemirror": "5.60.10", "@types/grecaptcha": "^3.0.6", "@typescript-eslint/eslint-plugin": "^6.8.0", @@ -6838,9 +6838,9 @@ } }, "node_modules/@types/chart.js": { - "version": "2.9.38", - "resolved": "https://registry.npmjs.org/@types/chart.js/-/chart.js-2.9.38.tgz", - "integrity": "sha512-rLoHHprkVEDpAXqke/xHalyXR+5Nv+3tfViwT/UnJZ41Wp/XPaSRlJKw2PU3S3tTCqKKyjkYai+VpeHoti79XQ==", + "version": "2.9.39", + "resolved": "https://registry.npmjs.org/@types/chart.js/-/chart.js-2.9.39.tgz", + "integrity": "sha512-FAsZ6v8ds40mVCgM44T1/ZDKuT1Lh6/a2D3nD8ZNX9SqBObBc0vH2VrcLjYP3PL8onPPt9rIw+QyEkgrzj31TQ==", "dev": true, "dependencies": { "moment": "^2.10.2" diff --git a/web/package.json b/web/package.json index 9f66db7bbf8d..140aab5b1860 100644 --- a/web/package.json +++ b/web/package.json @@ -88,7 +88,7 @@ "@storybook/web-components": "^7.4.6", "@storybook/web-components-vite": "^7.4.6", "@trivago/prettier-plugin-sort-imports": "^4.2.0", - "@types/chart.js": "^2.9.38", + "@types/chart.js": "^2.9.39", "@types/codemirror": "5.60.10", "@types/grecaptcha": "^3.0.6", "@typescript-eslint/eslint-plugin": "^6.8.0", From 4a8087311fd82858cb11b32d625df1fa162c1da0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Oct 2023 11:10:04 +0200 Subject: [PATCH 39/57] web: bump @types/codemirror from 5.60.10 to 5.60.11 in /web (#7209) Bumps [@types/codemirror](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/codemirror) from 5.60.10 to 5.60.11. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/codemirror) --- updated-dependencies: - dependency-name: "@types/codemirror" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web/package-lock.json | 8 ++++---- web/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/web/package-lock.json b/web/package-lock.json index db5ff136e69b..f373b39a599a 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -68,7 +68,7 @@ "@storybook/web-components-vite": "^7.4.6", "@trivago/prettier-plugin-sort-imports": "^4.2.0", "@types/chart.js": "^2.9.39", - "@types/codemirror": "5.60.10", + "@types/codemirror": "5.60.11", "@types/grecaptcha": "^3.0.6", "@typescript-eslint/eslint-plugin": "^6.8.0", "@typescript-eslint/parser": "^6.8.0", @@ -6847,9 +6847,9 @@ } }, "node_modules/@types/codemirror": { - "version": "5.60.10", - "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-5.60.10.tgz", - "integrity": "sha512-ZTA3teiCWKT8HUUofqlGPlShu5ojdIajizsS0HpH6GL0/iEdjRt7fXbCLHHqKYP5k7dC/HnnWIjZAiELUwBdjQ==", + "version": "5.60.11", + "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-5.60.11.tgz", + "integrity": "sha512-EaT5pbQH8uFIyoMx3wn1Ii5IogQUz9nff10Yg6hOOoFcr5/TDiNyhNxhV5VhrE48/R79NgS2pu6RbOT78zKoIA==", "dev": true, "dependencies": { "@types/tern": "*" diff --git a/web/package.json b/web/package.json index 140aab5b1860..91eb66daf8cc 100644 --- a/web/package.json +++ b/web/package.json @@ -89,7 +89,7 @@ "@storybook/web-components-vite": "^7.4.6", "@trivago/prettier-plugin-sort-imports": "^4.2.0", "@types/chart.js": "^2.9.39", - "@types/codemirror": "5.60.10", + "@types/codemirror": "5.60.11", "@types/grecaptcha": "^3.0.6", "@typescript-eslint/eslint-plugin": "^6.8.0", "@typescript-eslint/parser": "^6.8.0", From c7182bf5139f29bd671dedcd23ba8db151735d82 Mon Sep 17 00:00:00 2001 From: Jens Langhammer Date: Wed, 18 Oct 2023 11:22:00 +0200 Subject: [PATCH 40/57] Revert "web: Updates to the Context and Tasks libraries from lit. (#7168)" This reverts commit 15be83c06cbf5d83c792e0e5648606dde78a86b2. --- .github/dependabot.yml | 5 - web/package-lock.json | 5954 +++++++++++++---- web/package.json | 9 +- web/src/elements/ak-locale-context/context.ts | 4 + .../buttons/SpinnerButton/BaseTaskButton.ts | 2 +- 5 files changed, 4650 insertions(+), 1324 deletions(-) create mode 100644 web/src/elements/ak-locale-context/context.ts diff --git a/.github/dependabot.yml b/.github/dependabot.yml index c43623205a18..5aacf8ef6827 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -51,11 +51,6 @@ updates: esbuild: patterns: - "@esbuild/*" - rollup: - patterns: - - "@rollup/*" - - "rollup" - - "rollup-*" - package-ecosystem: npm directory: "/tests/wdio" schedule: diff --git a/web/package-lock.json b/web/package-lock.json index f373b39a599a..ee050f6e0d94 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -15,12 +15,13 @@ "@codemirror/lang-xml": "^6.0.2", "@codemirror/legacy-modes": "^6.3.3", "@codemirror/theme-one-dark": "^6.1.2", + "@esbuild/linux-arm64": "^0.19.5", "@formatjs/intl-listformat": "^7.5.0", "@fortawesome/fontawesome-free": "^6.4.2", "@goauthentik/api": "^2023.8.3-1697470337", - "@lit/context": "^1.0.0", + "@lit-labs/context": "^0.4.1", + "@lit-labs/task": "^3.1.0", "@lit/localize": "^0.11.4", - "@lit/task": "^1.0.0", "@open-wc/lit-helpers": "^0.6.0", "@patternfly/elements": "^2.4.0", "@patternfly/patternfly": "^4.224.2", @@ -103,10 +104,7 @@ "optionalDependencies": { "@esbuild/darwin-arm64": "^0.19.5", "@esbuild/linux-amd64": "^0.18.11", - "@esbuild/linux-arm64": "^0.19.5", - "@rollup/rollup-darwin-arm64": "4.1.4", - "@rollup/rollup-linux-arm64-gnu": "4.1.4", - "@rollup/rollup-linux-x64-gnu": "4.1.4" + "@esbuild/linux-arm64": "^0.19.5" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -203,6 +201,12 @@ "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 + }, "node_modules/@babel/generator": { "version": "7.23.0", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", @@ -349,12 +353,12 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", - "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.15.tgz", + "integrity": "sha512-qLNsZbgrNh0fDQBCPocSL8guki1hcPvltGDv/NxvUoABwFq7GkKSu1nRXeJkVZc+wJvne2E0RKQz+2SQrz6eAA==", "dev": true, "dependencies": { - "@babel/types": "^7.23.0" + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" @@ -538,12 +542,12 @@ } }, "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.13.tgz", + "integrity": "sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-validator-identifier": "^7.22.5", "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, @@ -2087,9 +2091,9 @@ "dev": true }, "node_modules/@babel/runtime": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", - "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.15.tgz", + "integrity": "sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==", "dev": true, "dependencies": { "regenerator-runtime": "^0.14.0" @@ -2099,9 +2103,9 @@ } }, "node_modules/@babel/runtime-corejs3": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.23.2.tgz", - "integrity": "sha512-54cIh74Z1rp4oIjsHjqN+WM4fMyCBYe+LpZ9jWm51CZ1fbH3SkAzQD/3XLoNkjbJ7YEmjobLXyvQrFypRHOrXw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.22.15.tgz", + "integrity": "sha512-SAj8oKi8UogVi6eXQXKNPu8qZ78Yzy7zawrlTr0M+IuW/g8Qe9gVDhGcF9h1S69OyACpYoLxEzpjs1M15sI5wQ==", "dependencies": { "core-js-pure": "^3.30.2", "regenerator-runtime": "^0.14.0" @@ -2165,13 +2169,13 @@ "integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==" }, "node_modules/@codemirror/autocomplete": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.10.2.tgz", - "integrity": "sha512-3dCL7b0j2GdtZzWN5j7HDpRAJ26ip07R4NGYz7QYthIYMiX8I4E4TNrYcdTayPJGeVQtd/xe7lWU4XL7THFb/w==", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.9.0.tgz", + "integrity": "sha512-Fbwm0V/Wn3BkEJZRhr0hi5BhCo5a7eBL6LYaliPjOSwCyfOpnjXY59HruSxOUNV+1OYer0Tgx1zRNQttjXyDog==", "dependencies": { "@codemirror/language": "^6.0.0", "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.17.0", + "@codemirror/view": "^6.6.0", "@lezer/common": "^1.0.0" }, "peerDependencies": { @@ -2182,14 +2186,14 @@ } }, "node_modules/@codemirror/commands": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.3.0.tgz", - "integrity": "sha512-tFfcxRIlOWiQDFhjBSWJ10MxcvbCIsRr6V64SgrcaY0MwNk32cUOcCuNlWo8VjV4qRQCgNgUAnIeo0svkk4R5Q==", + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.2.5.tgz", + "integrity": "sha512-dSi7ow2P2YgPBZflR9AJoaTHvqmeGIgkhignYMd5zK5y6DANTvxKxp6eMEpIDUJkRAaOY/TFZ4jP1ADIO/GLVA==", "dependencies": { "@codemirror/language": "^6.0.0", "@codemirror/state": "^6.2.0", "@codemirror/view": "^6.0.0", - "@lezer/common": "^1.1.0" + "@lezer/common": "^1.0.0" } }, "node_modules/@codemirror/lang-css": { @@ -2257,13 +2261,13 @@ } }, "node_modules/@codemirror/language": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.9.1.tgz", - "integrity": "sha512-lWRP3Y9IUdOms6DXuBpoWwjkR7yRmnS0hKYCbSfPz9v6Em1A1UCRujAkDiCrdYfs1Z0Eu4dGtwovNPStIfkgNA==", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.9.0.tgz", + "integrity": "sha512-nFu311/0ne/qGuGCL3oKuktBgzVOaxCHZPZv1tLSZkNjPYxxvkjSbzno3MlErG2tgw1Yw1yF8BxMCegeMXqpiw==", "dependencies": { "@codemirror/state": "^6.0.0", "@codemirror/view": "^6.0.0", - "@lezer/common": "^1.1.0", + "@lezer/common": "^1.0.0", "@lezer/highlight": "^1.0.0", "@lezer/lr": "^1.0.0", "style-mod": "^4.0.0" @@ -2278,9 +2282,9 @@ } }, "node_modules/@codemirror/lint": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.4.2.tgz", - "integrity": "sha512-wzRkluWb1ptPKdzlsrbwwjYCPLgzU6N88YBAmlZi8WFyuiEduSd05MnJYNogzyc8rPK7pj6m95ptUApc8sHKVA==", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.4.1.tgz", + "integrity": "sha512-2Hx945qKX7FBan5/gUdTM8fsMYrNG9clIgEcPXestbLVFAUyQYFAuju/5BMNf/PwgpVaX5pvRm4+ovjbp9D9gQ==", "dependencies": { "@codemirror/state": "^6.0.0", "@codemirror/view": "^6.0.0", @@ -2288,9 +2292,9 @@ } }, "node_modules/@codemirror/search": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.5.4.tgz", - "integrity": "sha512-YoTrvjv9e8EbPs58opjZKyJ3ewFrVSUzQ/4WXlULQLSDDr1nGPJ67mMXFNNVYwdFhybzhrzrtqgHmtpJwIF+8g==", + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.5.2.tgz", + "integrity": "sha512-WRihpqd0l9cEh9J3IZe45Yi+Z5MfTsEXnyc3V7qXHP4ZYtIYpGOn+EJ7fyLIkyAm/8S6QIr7/mMISfAadf8zCg==", "dependencies": { "@codemirror/state": "^6.0.0", "@codemirror/view": "^6.0.0", @@ -2298,9 +2302,9 @@ } }, "node_modules/@codemirror/state": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.3.0.tgz", - "integrity": "sha512-5fIS19U46PEqczbBL6gBAtju9MFDT9TjIC/q2MYblHCEKiU8jhV3cRFhvQu5tQvbtxc5KLWxSnzMNh3ZqeaXVg==" + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.2.1.tgz", + "integrity": "sha512-RupHSZ8+OjNT38zU9fKH2sv+Dnlr8Eb8sl4NOnnqz95mCFTZUaiRP8Xv5MeeaG0px2b8Bnfe7YGwCV3nsBhbuw==" }, "node_modules/@codemirror/theme-one-dark": { "version": "6.1.2", @@ -2314,9 +2318,9 @@ } }, "node_modules/@codemirror/view": { - "version": "6.21.3", - "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.21.3.tgz", - "integrity": "sha512-8l1aSQ6MygzL4Nx7GVYhucSXvW4jQd0F6Zm3v9Dg+6nZEfwzJVqi4C2zHfDljID+73gsQrWp9TgHc81xU15O4A==", + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.18.1.tgz", + "integrity": "sha512-xcsXcMkIMd7l3WZEWoc4ljteAiqzxb5gVerRxk5132p5cLix6rTydWTQjsj2oxORepfsrwy1fC4r20iMa9plrg==", "dependencies": { "@codemirror/state": "^6.1.4", "style-mod": "^4.1.0", @@ -2717,9 +2721,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", - "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.0.tgz", + "integrity": "sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" @@ -2755,9 +2759,9 @@ "dev": true }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -2808,29 +2812,21 @@ "integrity": "sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==", "dev": true }, - "node_modules/@fastify/busboy": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.0.0.tgz", - "integrity": "sha512-JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ==", - "engines": { - "node": ">=14" - } - }, "node_modules/@floating-ui/core": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.0.tgz", - "integrity": "sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.4.1.tgz", + "integrity": "sha512-jk3WqquEJRlcyu7997NtR5PibI+y5bi+LS3hPmguVClypenMsCY3CBa3LAQnozRCtCrYWSEtAdiskpamuJRFOQ==", "dependencies": { - "@floating-ui/utils": "^0.1.3" + "@floating-ui/utils": "^0.1.1" } }, "node_modules/@floating-ui/dom": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.3.tgz", - "integrity": "sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.2.tgz", + "integrity": "sha512-6ArmenS6qJEWmwzczWyhvrXRdI/rI78poBcW0h/456+onlabit+2G+QxHx5xTOX60NBJQXjsCLFbW2CmsXpUog==", "dependencies": { - "@floating-ui/core": "^1.4.2", - "@floating-ui/utils": "^0.1.3" + "@floating-ui/core": "^1.4.1", + "@floating-ui/utils": "^0.1.1" } }, "node_modules/@floating-ui/react-dom": { @@ -2847,9 +2843,9 @@ } }, "node_modules/@floating-ui/utils": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.6.tgz", - "integrity": "sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==" + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.2.tgz", + "integrity": "sha512-ou3elfqG/hZsbmF4bxeJhPHIf3G2pm0ujc39hYEZrfVqt7Vk/Zji6CXc3W0pmYM8BW1g40U+akTl9DKZhFhInQ==" }, "node_modules/@formatjs/ecma402-abstract": { "version": "1.17.2", @@ -3185,6 +3181,12 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/@jest/transform/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 + }, "node_modules/@jest/transform/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -3368,9 +3370,9 @@ "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==" }, "node_modules/@lezer/common": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.1.0.tgz", - "integrity": "sha512-XPIN3cYDXsoJI/oDWoR2tD++juVrhgIago9xyKhZ7IhGlzdDM9QgC8D8saKNCz5pindGcznFr2HBSsEQSWnSjw==" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.0.4.tgz", + "integrity": "sha512-lZHlk8p67x4aIDtJl6UQrXSOP6oi7dQR3W/geFVrENdA1JDaAJWldnVqVjPMJupbTKbzDfFcePfKttqVidS/dg==" }, "node_modules/@lezer/css": { "version": "1.1.3", @@ -3400,18 +3402,18 @@ } }, "node_modules/@lezer/javascript": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/@lezer/javascript/-/javascript-1.4.8.tgz", - "integrity": "sha512-QRmw/5xrcyRLyWr3JT3KCzn2XZr5NYNqQMGsqnYy+FghbQn9DZPuj6JDkE6uSXvfMLpdapu8KBIaeoJFaR4QVw==", + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/@lezer/javascript/-/javascript-1.4.7.tgz", + "integrity": "sha512-OVWlK0YEi7HM+9JRWtRkir8qvcg0/kVYg2TAMHlVtl6DU1C9yK1waEOLBMztZsV/axRJxsqfJKhzYz+bxZme5g==", "dependencies": { "@lezer/highlight": "^1.1.3", "@lezer/lr": "^1.3.0" } }, "node_modules/@lezer/lr": { - "version": "1.3.13", - "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.3.13.tgz", - "integrity": "sha512-RLAbau/4uSzKgIKj96mI5WUtG1qtiR0Frn0Ei9zhPj8YOkHM+1Bb8SgdVvmR/aWJCFIzjo2KFnDiRZ75Xf5NdQ==", + "version": "1.3.10", + "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.3.10.tgz", + "integrity": "sha512-BZfVvf7Re5BIwJHlZXbJn9L8lus5EonxQghyn+ih8Wl36XMFBPTXC0KM0IdUtj9w/diPHsKlXVgL+AlX2jYJ0Q==", "dependencies": { "@lezer/common": "^1.0.0" } @@ -3434,18 +3436,26 @@ "@lezer/lr": "^1.0.0" } }, + "node_modules/@lit-labs/context": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@lit-labs/context/-/context-0.4.1.tgz", + "integrity": "sha512-o+uKepgEPoYAVaPvSASoDiUWKdcf7neyhFcm9dvtiLgptKoINZD1vW7GbbH/2hPtxLxgcmVfZ9NDCXNDQeHTHQ==", + "dependencies": { + "@lit/reactive-element": "^1.5.0", + "lit": "^2.7.0" + } + }, "node_modules/@lit-labs/ssr-dom-shim": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.2.tgz", "integrity": "sha512-jnOD+/+dSrfTWYfSXBXlo5l5f0q1UuJo3tkbMDCYA2lKUYq79jaxqtGEvnRoh049nt1vdo1+45RinipU6FGY2g==" }, - "node_modules/@lit/context": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@lit/context/-/context-1.0.0.tgz", - "integrity": "sha512-bdqj6z6Mj+TpYfo2seHy1mlBzYrW+CyHnDQLD0DI7iQLELs2Fk6icZwvbvbskR0E94QG4aO/35j6PTJ9wWTv0Q==", + "node_modules/@lit-labs/task": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@lit-labs/task/-/task-3.1.0.tgz", + "integrity": "sha512-zMlcUtZeHDT83IiT2+CJBSoFvWDLnPEezhOCgqjxW4DmRHlbgd7jdft97T6dw4S4RvIETfI7OOyvubCV/EzTlg==", "dependencies": { - "@lit/reactive-element": "^1.6.2 || ^2.0.0", - "lit": "^2.7.5 || ^3.0.0" + "@lit/task": "^1.0.0" } }, "node_modules/@lit/localize": { @@ -3489,6 +3499,15 @@ "lit": "^3.0.0" } }, + "node_modules/@lit/localize-tools/node_modules/@lit/reactive-element": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.0.0.tgz", + "integrity": "sha512-wn+2+uDcs62ROBmVAwssO4x5xue/uKD3MGGZOXL2sMxReTRIT0JXKyMXeu7gh0aJ4IJNEIG/3aOnUaQvM7BMzQ==", + "dev": true, + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.1.2-pre.0" + } + }, "node_modules/@lit/localize-tools/node_modules/lit": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/lit/-/lit-3.0.0.tgz", @@ -3520,20 +3539,24 @@ "@types/trusted-types": "^2.0.2" } }, - "node_modules/@lit/localize/node_modules/@lit/reactive-element": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", - "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", + "node_modules/@lit/localize-tools/node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.0.0" + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, "node_modules/@lit/reactive-element": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.0.0.tgz", - "integrity": "sha512-wn+2+uDcs62ROBmVAwssO4x5xue/uKD3MGGZOXL2sMxReTRIT0JXKyMXeu7gh0aJ4IJNEIG/3aOnUaQvM7BMzQ==", + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", + "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.1.2-pre.0" + "@lit-labs/ssr-dom-shim": "^1.0.0" } }, "node_modules/@lit/task": { @@ -3643,6 +3666,18 @@ "parse5": "^7.0.0" } }, + "node_modules/@parse5/tools/node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, "node_modules/@patternfly/elements": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/@patternfly/elements/-/elements-2.4.0.tgz", @@ -3654,14 +3689,6 @@ "tslib": "^2.4.1" } }, - "node_modules/@patternfly/elements/node_modules/@lit/reactive-element": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", - "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", - "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.0.0" - } - }, "node_modules/@patternfly/elements/node_modules/lit": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/lit/-/lit-2.6.1.tgz", @@ -4531,6 +4558,32 @@ } } }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.1.4.tgz", + "integrity": "sha512-WlzkuFvpKl6CLFdc3V6ESPt7gq5Vrimd2Yv9IzKXdOpgbH4cdDSS1JLiACX8toygihtH5OlxyQzhXOph7Ovlpw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.1.4.tgz", + "integrity": "sha512-D1e+ABe56T9Pq2fD+R3ybe1ylCDzu3tY4Qm2Mj24R9wXNCq35+JbFbOpc2yrroO2/tGhTobmEl2Bm5xfE/n8RA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, "node_modules/@rollup/rollup-darwin-arm64": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.1.4.tgz", @@ -4538,11 +4591,38 @@ "cpu": [ "arm64" ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.1.4.tgz", + "integrity": "sha512-eGJVZScKSLZkYjhTAESCtbyTBq9SXeW9+TX36ki5gVhDqJtnQ5k0f9F44jNK5RhAMgIj0Ht9+n6HAgH0gUUyWQ==", + "cpu": [ + "x64" + ], + "dev": true, "optional": true, "os": [ "darwin" ] }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.1.4.tgz", + "integrity": "sha512-HnigYSEg2hOdX1meROecbk++z1nVJDpEofw9V2oWKqOWzTJlJf1UXVbDE6Hg30CapJxZu5ga4fdAQc/gODDkKg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/@rollup/rollup-linux-arm64-gnu": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.1.4.tgz", @@ -4550,6 +4630,20 @@ "cpu": [ "arm64" ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.1.4.tgz", + "integrity": "sha512-aVPmNMdp6Dlo2tWkAduAD/5TL/NT5uor290YvjvFvCv0Q3L7tVdlD8MOGDL+oRSw5XKXKAsDzHhUOPUNPRHVTQ==", + "cpu": [ + "arm64" + ], + "dev": true, "optional": true, "os": [ "linux" @@ -4562,19 +4656,72 @@ "cpu": [ "x64" ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.1.4.tgz", + "integrity": "sha512-/t6C6niEQTqmQTVTD9TDwUzxG91Mlk69/v0qodIPUnjjB3wR4UA3klg+orR2SU3Ux2Cgf2pWPL9utK80/1ek8g==", + "cpu": [ + "x64" + ], + "dev": true, "optional": true, "os": [ "linux" ] }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.1.4.tgz", + "integrity": "sha512-ZY5BHHrOPkMbCuGWFNpJH0t18D2LU6GMYKGaqaWTQ3CQOL57Fem4zE941/Ek5pIsVt70HyDXssVEFQXlITI5Gg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.1.4.tgz", + "integrity": "sha512-XG2mcRfFrJvYyYaQmvCIvgfkaGinfXrpkBuIbJrTl9SaIQ8HumheWTIwkNz2mktCKwZfXHQNpO7RgXLIGQ7HXA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.1.4.tgz", + "integrity": "sha512-ANFqWYPwkhIqPmXw8vm0GpBEHiPpqcm99jiiAp71DbCSqLDhrtr019C5vhD0Bw4My+LmMvciZq6IsWHqQpl2ZQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@sentry-internal/tracing": { - "version": "7.74.1", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.74.1.tgz", - "integrity": "sha512-nNaiZreQxCitG2PzYPaC7XtyA9OMsETGYMKAtiK4p62/uTmeYbsBva9BoNx1XeiHRwbrVQYRMKQ9nV5e2jS4/A==", + "version": "7.74.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.74.0.tgz", + "integrity": "sha512-JK6IRGgdtZjswGfaGIHNWIThffhOHzVIIaGmglui+VFIzOsOqePjoxaDV0MEvzafxXZD7eWqGE5RGuZ0n6HFVg==", "dependencies": { - "@sentry/core": "7.74.1", - "@sentry/types": "7.74.1", - "@sentry/utils": "7.74.1", + "@sentry/core": "7.74.0", + "@sentry/types": "7.74.0", + "@sentry/utils": "7.74.0", "tslib": "^2.4.1 || ^1.9.3" }, "engines": { @@ -4582,15 +4729,15 @@ } }, "node_modules/@sentry/browser": { - "version": "7.74.1", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.74.1.tgz", - "integrity": "sha512-OYWNne/KO60lOvkIpIlJUyiJt/9j8DGI57thSDFEYSmmbNqMitczUTBOaEStouvHKyfchqLZm1CZfWKt+z0VOA==", - "dependencies": { - "@sentry-internal/tracing": "7.74.1", - "@sentry/core": "7.74.1", - "@sentry/replay": "7.74.1", - "@sentry/types": "7.74.1", - "@sentry/utils": "7.74.1", + "version": "7.74.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.74.0.tgz", + "integrity": "sha512-Njr8216Z1dFUcl6NqBOk20dssK9SjoVddY74Xq+Q4p3NfXBG3lkMcACXor7SFoJRZXq8CZWGS13Cc5KwViRw4g==", + "dependencies": { + "@sentry-internal/tracing": "7.74.0", + "@sentry/core": "7.74.0", + "@sentry/replay": "7.74.0", + "@sentry/types": "7.74.0", + "@sentry/utils": "7.74.0", "tslib": "^2.4.1 || ^1.9.3" }, "engines": { @@ -4598,12 +4745,12 @@ } }, "node_modules/@sentry/core": { - "version": "7.74.1", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.74.1.tgz", - "integrity": "sha512-LvEhOSfdIvwkr+PdlrT/aA/iOLhkXrSkvjqAQyogE4ddCWeYfS0NoirxNt1EaxMBAWKhYZRqzkA7WA4LDLbzlA==", + "version": "7.74.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.74.0.tgz", + "integrity": "sha512-83NRuqn7nDZkSVBN5yJQqcpXDG4yMYiB7TkYUKrGTzBpRy6KUOrkCdybuKk0oraTIGiGSe5WEwCFySiNgR9FzA==", "dependencies": { - "@sentry/types": "7.74.1", - "@sentry/utils": "7.74.1", + "@sentry/types": "7.74.0", + "@sentry/utils": "7.74.0", "tslib": "^2.4.1 || ^1.9.3" }, "engines": { @@ -4611,43 +4758,43 @@ } }, "node_modules/@sentry/replay": { - "version": "7.74.1", - "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.74.1.tgz", - "integrity": "sha512-qmbOl+jYdyhoHFbPp9WemKx8UojID5hVmuVLxNIP0ANqAwmE9OQEK9YFg2cf7L/TpKb1tqz0qLgi5MYIdcdpgQ==", + "version": "7.74.0", + "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.74.0.tgz", + "integrity": "sha512-GoYa3cHTTFVI/J1cnZ0i4X128mf/JljaswO3PWNTe2k3lSHq/LM5aV0keClRvwM0W8hlix8oOTT06nnenOUmmw==", "dependencies": { - "@sentry/core": "7.74.1", - "@sentry/types": "7.74.1", - "@sentry/utils": "7.74.1" + "@sentry/core": "7.74.0", + "@sentry/types": "7.74.0", + "@sentry/utils": "7.74.0" }, "engines": { "node": ">=12" } }, "node_modules/@sentry/tracing": { - "version": "7.74.1", - "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-7.74.1.tgz", - "integrity": "sha512-YqhLMY28uukOR8FtoCMvzdzBYkTtwj/JHUensDEpTZG5OoQTjrcgttpL+WMaCBUy1MpOIo7FyLB5aoRq2U7AIA==", + "version": "7.74.0", + "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-7.74.0.tgz", + "integrity": "sha512-rSFJADhh3J3zmkzJ1EXCOwS3h7F6o/lSKu7CWZSZ6k5kBvbCJ5AXvGQadhPdWPJMMcPFzCJaOyTKEPcwL4tbCw==", "dependencies": { - "@sentry-internal/tracing": "7.74.1" + "@sentry-internal/tracing": "7.74.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/types": { - "version": "7.74.1", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.74.1.tgz", - "integrity": "sha512-2jIuPc+YKvXqZETwr2E8VYnsH1zsSUR/wkIvg1uTVeVNyoowJv+YsOtCdeGyL2AwiotUBSPKu7O1Lz0kq5rMOQ==", + "version": "7.74.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.74.0.tgz", + "integrity": "sha512-rI5eIRbUycWjn6s6o3yAjjWtIvYSxZDdnKv5je2EZINfLKcMPj1dkl6wQd2F4y7gLfD/N6Y0wZYIXC3DUdJQQg==", "engines": { "node": ">=8" } }, "node_modules/@sentry/utils": { - "version": "7.74.1", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.74.1.tgz", - "integrity": "sha512-qUsqufuHYcy5gFhLZslLxA5kcEOkkODITXW3c7D+x+8iP/AJqa8v8CeUCVNS7RetHCuIeWAbbTClC4c411EwQg==", + "version": "7.74.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.74.0.tgz", + "integrity": "sha512-k3np8nuTPtx5KDODPtULfFln4UXdE56MZCcF19Jv6Ljxf+YN/Ady1+0Oi3e0XoSvFpWNyWnglauT7M65qCE6kg==", "dependencies": { - "@sentry/types": "7.74.1", + "@sentry/types": "7.74.0", "tslib": "^2.4.1 || ^1.9.3" }, "engines": { @@ -4661,19 +4808,19 @@ "dev": true }, "node_modules/@storybook/addon-actions": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.5.0.tgz", - "integrity": "sha512-eeHIFpZXGyhkfmrbHRf3rndL+ppFqlKTgN74y+UfFaAWNUhV3caXxRbHV3BbcPSLkRAsNShBH9hTNTlUAHSVjA==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.4.6.tgz", + "integrity": "sha512-SsqZr3js5NinKPnC8AeNI7Ij+Q6fIl9tRdRmSulEgjksjOg7E5S1/Wsn5Bb2CCgj7MaX6VxGyC7s3XskQtDiIQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.5.0", - "@storybook/components": "7.5.0", - "@storybook/core-events": "7.5.0", + "@storybook/client-logger": "7.4.6", + "@storybook/components": "7.4.6", + "@storybook/core-events": "7.4.6", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.5.0", - "@storybook/preview-api": "7.5.0", - "@storybook/theming": "7.5.0", - "@storybook/types": "7.5.0", + "@storybook/manager-api": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/theming": "7.4.6", + "@storybook/types": "7.4.6", "dequal": "^2.0.2", "lodash": "^4.17.21", "polished": "^4.2.2", @@ -4700,100 +4847,70 @@ } } }, - "node_modules/@storybook/addon-backgrounds": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-7.5.0.tgz", - "integrity": "sha512-Yu/eFHZIfyAhK28GKKcIBwj/9+hRem8pSdI3N0FJuOhErmaE0zg6VDUBzkgLa/Fn9SwC5PNyAeLAtxssg1KSNg==", + "node_modules/@storybook/addon-actions/node_modules/@storybook/channels": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", + "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.5.0", - "@storybook/components": "7.5.0", - "@storybook/core-events": "7.5.0", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.5.0", - "@storybook/preview-api": "7.5.0", - "@storybook/theming": "7.5.0", - "@storybook/types": "7.5.0", - "memoizerific": "^1.11.3", - "ts-dedent": "^2.0.0" + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-actions/node_modules/@storybook/client-logger": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", + "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/addon-controls": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.5.0.tgz", - "integrity": "sha512-X56Pd+0GH1A8ddVsziJQaJ8qCaxsWK0aLCKH5li9GLtnyIGHvd5+KvvfYEbjTkeJv3d9J7X0D4uTAH1/dsmI8w==", - "dev": true, - "dependencies": { - "@storybook/blocks": "7.5.0", - "@storybook/client-logger": "7.5.0", - "@storybook/components": "7.5.0", - "@storybook/core-common": "7.5.0", - "@storybook/core-events": "7.5.0", - "@storybook/manager-api": "7.5.0", - "@storybook/node-logger": "7.5.0", - "@storybook/preview-api": "7.5.0", - "@storybook/theming": "7.5.0", - "@storybook/types": "7.5.0", - "lodash": "^4.17.21", + "node_modules/@storybook/addon-actions/node_modules/@storybook/core-events": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", + "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "dev": true, + "dependencies": { "ts-dedent": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } } }, - "node_modules/@storybook/addon-docs": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.5.0.tgz", - "integrity": "sha512-lgrum81iJT+i85kO3uOR4wR1t05x4SmJLCB2cyYohCIafiOiV4FuyYFhvT9N6UhHByOfrWgpipKgKg6zsmV2eg==", + "node_modules/@storybook/addon-actions/node_modules/@storybook/manager-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", + "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", "dev": true, "dependencies": { - "@jest/transform": "^29.3.1", - "@mdx-js/react": "^2.1.5", - "@storybook/blocks": "7.5.0", - "@storybook/client-logger": "7.5.0", - "@storybook/components": "7.5.0", - "@storybook/csf-plugin": "7.5.0", - "@storybook/csf-tools": "7.5.0", + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/mdx2-csf": "^1.0.0", - "@storybook/node-logger": "7.5.0", - "@storybook/postinstall": "7.5.0", - "@storybook/preview-api": "7.5.0", - "@storybook/react-dom-shim": "7.5.0", - "@storybook/theming": "7.5.0", - "@storybook/types": "7.5.0", - "fs-extra": "^11.1.0", - "remark-external-links": "^8.0.0", - "remark-slug": "^6.0.0", + "@storybook/router": "7.4.6", + "@storybook/theming": "7.4.6", + "@storybook/types": "7.4.6", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "semver": "^7.3.7", + "store2": "^2.14.2", + "telejson": "^7.2.0", "ts-dedent": "^2.0.0" }, "funding": { @@ -4805,10 +4922,713 @@ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@storybook/addon-docs/node_modules/fs-extra": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", - "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "node_modules/@storybook/addon-actions/node_modules/@storybook/preview-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", + "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/types": "7.4.6", + "@types/qs": "^6.9.5", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "synchronous-promise": "^2.0.15", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-actions/node_modules/@storybook/router": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", + "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "memoizerific": "^1.11.3", + "qs": "^6.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-actions/node_modules/@storybook/theming": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", + "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", + "dev": true, + "dependencies": { + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@storybook/client-logger": "7.4.6", + "@storybook/global": "^5.0.0", + "memoizerific": "^1.11.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-actions/node_modules/@storybook/types": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", + "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-actions/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/addon-actions/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/addon-actions/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@storybook/addon-backgrounds": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-7.4.6.tgz", + "integrity": "sha512-+LHTZB/ZYMAzkyD5ZxSriBsqmsrvIaW/Nnd/BeuXGbkrVKKqM0qAKiFZAfjc2WchA1piVNy0/1Rsf+kuYCEiJw==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "@storybook/components": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/theming": "7.4.6", + "@storybook/types": "7.4.6", + "memoizerific": "^1.11.3", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/channels": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", + "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/client-logger": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", + "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/core-events": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", + "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/manager-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", + "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/router": "7.4.6", + "@storybook/theming": "7.4.6", + "@storybook/types": "7.4.6", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "semver": "^7.3.7", + "store2": "^2.14.2", + "telejson": "^7.2.0", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/preview-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", + "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/types": "7.4.6", + "@types/qs": "^6.9.5", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "synchronous-promise": "^2.0.15", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/router": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", + "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "memoizerific": "^1.11.3", + "qs": "^6.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/theming": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", + "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", + "dev": true, + "dependencies": { + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@storybook/client-logger": "7.4.6", + "@storybook/global": "^5.0.0", + "memoizerific": "^1.11.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/types": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", + "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-backgrounds/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/addon-backgrounds/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/addon-backgrounds/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@storybook/addon-controls": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.4.6.tgz", + "integrity": "sha512-4lq3sycEUIsK8SUWDYc60QgF4vV9FZZ3lDr6M7j2W9bOnvGw49d2fbdlnq+bX1ZprZZ9VgglQpBAorQB3BXZRw==", + "dev": true, + "dependencies": { + "@storybook/blocks": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/components": "7.4.6", + "@storybook/core-common": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/manager-api": "7.4.6", + "@storybook/node-logger": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/theming": "7.4.6", + "@storybook/types": "7.4.6", + "lodash": "^4.17.21", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@storybook/addon-controls/node_modules/@storybook/channels": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", + "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@storybook/client-logger": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", + "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@storybook/core-events": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", + "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@storybook/manager-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", + "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/router": "7.4.6", + "@storybook/theming": "7.4.6", + "@storybook/types": "7.4.6", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "semver": "^7.3.7", + "store2": "^2.14.2", + "telejson": "^7.2.0", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@storybook/preview-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", + "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/types": "7.4.6", + "@types/qs": "^6.9.5", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "synchronous-promise": "^2.0.15", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@storybook/router": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", + "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "memoizerific": "^1.11.3", + "qs": "^6.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@storybook/theming": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", + "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", + "dev": true, + "dependencies": { + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@storybook/client-logger": "7.4.6", + "@storybook/global": "^5.0.0", + "memoizerific": "^1.11.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-controls/node_modules/@storybook/types": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", + "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-controls/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/addon-controls/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/addon-controls/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@storybook/addon-docs": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.4.6.tgz", + "integrity": "sha512-dLaub+XWFq4hChw+xfuF9yYg0Txp77FUawKoAigccfjWXx+OOhRV3XTuAcknpXkYq94GWynHgUFXosXT9kbDNA==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.3.1", + "@mdx-js/react": "^2.1.5", + "@storybook/blocks": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/components": "7.4.6", + "@storybook/csf-plugin": "7.4.6", + "@storybook/csf-tools": "7.4.6", + "@storybook/global": "^5.0.0", + "@storybook/mdx2-csf": "^1.0.0", + "@storybook/node-logger": "7.4.6", + "@storybook/postinstall": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/react-dom-shim": "7.4.6", + "@storybook/theming": "7.4.6", + "@storybook/types": "7.4.6", + "fs-extra": "^11.1.0", + "remark-external-links": "^8.0.0", + "remark-slug": "^6.0.0", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-docs/node_modules/@storybook/channels": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", + "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-docs/node_modules/@storybook/client-logger": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", + "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-docs/node_modules/@storybook/core-events": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", + "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-docs/node_modules/@storybook/preview-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", + "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/types": "7.4.6", + "@types/qs": "^6.9.5", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "synchronous-promise": "^2.0.15", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-docs/node_modules/@storybook/theming": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", + "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", + "dev": true, + "dependencies": { + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@storybook/client-logger": "7.4.6", + "@storybook/global": "^5.0.0", + "memoizerific": "^1.11.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-docs/node_modules/@storybook/types": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", + "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-docs/node_modules/fs-extra": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", "dev": true, "dependencies": { "graceful-fs": "^4.2.0", @@ -4816,28 +5636,1517 @@ "universalify": "^2.0.0" }, "engines": { - "node": ">=14.14" + "node": ">=14.14" + } + }, + "node_modules/@storybook/addon-essentials": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.4.6.tgz", + "integrity": "sha512-dWodufrt71TK7ELkeIvVae/x4PzECUlbOm57Iqqt4yQCyR291CgvI4PjeB8un2HbpcXCGZ+N/Oj3YkytvzBi4A==", + "dev": true, + "dependencies": { + "@storybook/addon-actions": "7.4.6", + "@storybook/addon-backgrounds": "7.4.6", + "@storybook/addon-controls": "7.4.6", + "@storybook/addon-docs": "7.4.6", + "@storybook/addon-highlight": "7.4.6", + "@storybook/addon-measure": "7.4.6", + "@storybook/addon-outline": "7.4.6", + "@storybook/addon-toolbars": "7.4.6", + "@storybook/addon-viewport": "7.4.6", + "@storybook/core-common": "7.4.6", + "@storybook/manager-api": "7.4.6", + "@storybook/node-logger": "7.4.6", + "@storybook/preview-api": "7.4.6", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-essentials/node_modules/@storybook/channels": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", + "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-essentials/node_modules/@storybook/client-logger": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", + "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-essentials/node_modules/@storybook/core-events": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", + "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-essentials/node_modules/@storybook/manager-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", + "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/router": "7.4.6", + "@storybook/theming": "7.4.6", + "@storybook/types": "7.4.6", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "semver": "^7.3.7", + "store2": "^2.14.2", + "telejson": "^7.2.0", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-essentials/node_modules/@storybook/preview-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", + "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/types": "7.4.6", + "@types/qs": "^6.9.5", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "synchronous-promise": "^2.0.15", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-essentials/node_modules/@storybook/router": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", + "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "memoizerific": "^1.11.3", + "qs": "^6.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-essentials/node_modules/@storybook/theming": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", + "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", + "dev": true, + "dependencies": { + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@storybook/client-logger": "7.4.6", + "@storybook/global": "^5.0.0", + "memoizerific": "^1.11.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-essentials/node_modules/@storybook/types": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", + "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-essentials/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/addon-essentials/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/addon-essentials/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@storybook/addon-highlight": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.4.6.tgz", + "integrity": "sha512-zCufxxD2KS5VwczxfkcBxe1oR/juTTn2H1Qm8kYvWCJQx3UxzX0+G9cwafbpV7eivqaufLweEwROkH+0KjAtkQ==", + "dev": true, + "dependencies": { + "@storybook/core-events": "7.4.6", + "@storybook/global": "^5.0.0", + "@storybook/preview-api": "7.4.6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-highlight/node_modules/@storybook/channels": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", + "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-highlight/node_modules/@storybook/client-logger": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", + "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-highlight/node_modules/@storybook/core-events": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", + "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-highlight/node_modules/@storybook/preview-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", + "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/types": "7.4.6", + "@types/qs": "^6.9.5", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "synchronous-promise": "^2.0.15", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-highlight/node_modules/@storybook/types": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", + "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-links": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-7.4.6.tgz", + "integrity": "sha512-BPygElZKX+CPI9Se6GJNk1dYc5oxuhA+vHigO1tBqhiM6VkHyFP3cvezJNQvpNYhkUnu3cxnZXb3UJnlRbPY3g==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/router": "7.4.6", + "@storybook/types": "7.4.6", + "prop-types": "^15.7.2", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@storybook/addon-links/node_modules/@storybook/channels": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", + "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-links/node_modules/@storybook/client-logger": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", + "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-links/node_modules/@storybook/core-events": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", + "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-links/node_modules/@storybook/manager-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", + "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/router": "7.4.6", + "@storybook/theming": "7.4.6", + "@storybook/types": "7.4.6", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "semver": "^7.3.7", + "store2": "^2.14.2", + "telejson": "^7.2.0", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-links/node_modules/@storybook/preview-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", + "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/types": "7.4.6", + "@types/qs": "^6.9.5", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "synchronous-promise": "^2.0.15", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-links/node_modules/@storybook/router": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", + "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "memoizerific": "^1.11.3", + "qs": "^6.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-links/node_modules/@storybook/theming": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", + "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", + "dev": true, + "dependencies": { + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@storybook/client-logger": "7.4.6", + "@storybook/global": "^5.0.0", + "memoizerific": "^1.11.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-links/node_modules/@storybook/types": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", + "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-links/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/addon-links/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/addon-links/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@storybook/addon-measure": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-7.4.6.tgz", + "integrity": "sha512-nCymMLaHnxv8TE3yEM1A9Tulb1NuRXRNmtsdHTkjv7P1aWCxZo8A/GZaottKe/GLT8jSRjZ+dnpYWrbAhw6wTQ==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "@storybook/components": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/types": "7.4.6", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@storybook/addon-measure/node_modules/@storybook/channels": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", + "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-measure/node_modules/@storybook/client-logger": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", + "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-measure/node_modules/@storybook/core-events": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", + "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-measure/node_modules/@storybook/manager-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", + "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/router": "7.4.6", + "@storybook/theming": "7.4.6", + "@storybook/types": "7.4.6", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "semver": "^7.3.7", + "store2": "^2.14.2", + "telejson": "^7.2.0", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-measure/node_modules/@storybook/preview-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", + "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/types": "7.4.6", + "@types/qs": "^6.9.5", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "synchronous-promise": "^2.0.15", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-measure/node_modules/@storybook/router": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", + "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "memoizerific": "^1.11.3", + "qs": "^6.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-measure/node_modules/@storybook/theming": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", + "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", + "dev": true, + "dependencies": { + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@storybook/client-logger": "7.4.6", + "@storybook/global": "^5.0.0", + "memoizerific": "^1.11.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-measure/node_modules/@storybook/types": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", + "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-measure/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/addon-measure/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/addon-measure/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@storybook/addon-outline": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-7.4.6.tgz", + "integrity": "sha512-errNUblRVDLpuEaHQPr/nsrnsUkD2ARmXawkRvizgDWLIDMDJYjTON3MUCaVx3x+hlZ3I6X//G5TVcma8tCc8A==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "@storybook/components": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/types": "7.4.6", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@storybook/addon-outline/node_modules/@storybook/channels": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", + "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-outline/node_modules/@storybook/client-logger": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", + "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-outline/node_modules/@storybook/core-events": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", + "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-outline/node_modules/@storybook/manager-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", + "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/router": "7.4.6", + "@storybook/theming": "7.4.6", + "@storybook/types": "7.4.6", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "semver": "^7.3.7", + "store2": "^2.14.2", + "telejson": "^7.2.0", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-outline/node_modules/@storybook/preview-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", + "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/types": "7.4.6", + "@types/qs": "^6.9.5", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "synchronous-promise": "^2.0.15", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-outline/node_modules/@storybook/router": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", + "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "memoizerific": "^1.11.3", + "qs": "^6.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-outline/node_modules/@storybook/theming": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", + "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", + "dev": true, + "dependencies": { + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@storybook/client-logger": "7.4.6", + "@storybook/global": "^5.0.0", + "memoizerific": "^1.11.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-outline/node_modules/@storybook/types": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", + "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-outline/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/addon-outline/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/addon-outline/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@storybook/addon-toolbars": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.4.6.tgz", + "integrity": "sha512-L9m2FBcKeteGq7qIYsMJr0LEfiH7Wdrv5IDcldZTn68eZUJTh1p4GdJZcOmzX1P5IFRr76hpu03iWsNlWQjpbQ==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "@storybook/components": "7.4.6", + "@storybook/manager-api": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/theming": "7.4.6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@storybook/addon-toolbars/node_modules/@storybook/channels": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", + "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-toolbars/node_modules/@storybook/client-logger": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", + "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-toolbars/node_modules/@storybook/core-events": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", + "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-toolbars/node_modules/@storybook/manager-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", + "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/router": "7.4.6", + "@storybook/theming": "7.4.6", + "@storybook/types": "7.4.6", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "semver": "^7.3.7", + "store2": "^2.14.2", + "telejson": "^7.2.0", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-toolbars/node_modules/@storybook/preview-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", + "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/types": "7.4.6", + "@types/qs": "^6.9.5", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "synchronous-promise": "^2.0.15", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-toolbars/node_modules/@storybook/router": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", + "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "memoizerific": "^1.11.3", + "qs": "^6.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-toolbars/node_modules/@storybook/theming": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", + "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", + "dev": true, + "dependencies": { + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@storybook/client-logger": "7.4.6", + "@storybook/global": "^5.0.0", + "memoizerific": "^1.11.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-toolbars/node_modules/@storybook/types": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", + "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-toolbars/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/addon-toolbars/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/addon-toolbars/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@storybook/addon-viewport": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.4.6.tgz", + "integrity": "sha512-INDtk54j7bi7NgxMfd2ATmbA0J7nAd6X8itMkLIyPuPJtx8bYHPDORyemDOd0AojgmAdTOAyUtDYdI/PFeo4Cw==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "@storybook/components": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/theming": "7.4.6", + "memoizerific": "^1.11.3", + "prop-types": "^15.7.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/@storybook/addon-viewport/node_modules/@storybook/channels": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", + "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-viewport/node_modules/@storybook/client-logger": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", + "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-viewport/node_modules/@storybook/core-events": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", + "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-viewport/node_modules/@storybook/manager-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", + "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/router": "7.4.6", + "@storybook/theming": "7.4.6", + "@storybook/types": "7.4.6", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "semver": "^7.3.7", + "store2": "^2.14.2", + "telejson": "^7.2.0", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-viewport/node_modules/@storybook/preview-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", + "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/types": "7.4.6", + "@types/qs": "^6.9.5", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "synchronous-promise": "^2.0.15", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-viewport/node_modules/@storybook/router": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", + "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "memoizerific": "^1.11.3", + "qs": "^6.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-viewport/node_modules/@storybook/theming": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", + "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", + "dev": true, + "dependencies": { + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@storybook/client-logger": "7.4.6", + "@storybook/global": "^5.0.0", + "memoizerific": "^1.11.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addon-viewport/node_modules/@storybook/types": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", + "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addon-viewport/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@storybook/addon-essentials": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.5.0.tgz", - "integrity": "sha512-CKPHdQBP6psTVb3NHsP8cWSUcAA4kwzT8SrJxKddn4ecqmWJWeZo5g5y3WuqVQHlv3edpluJLQYehcVibcljag==", - "dev": true, - "dependencies": { - "@storybook/addon-actions": "7.5.0", - "@storybook/addon-backgrounds": "7.5.0", - "@storybook/addon-controls": "7.5.0", - "@storybook/addon-docs": "7.5.0", - "@storybook/addon-highlight": "7.5.0", - "@storybook/addon-measure": "7.5.0", - "@storybook/addon-outline": "7.5.0", - "@storybook/addon-toolbars": "7.5.0", - "@storybook/addon-viewport": "7.5.0", - "@storybook/core-common": "7.5.0", - "@storybook/manager-api": "7.5.0", - "@storybook/node-logger": "7.5.0", - "@storybook/preview-api": "7.5.0", + "node_modules/@storybook/addon-viewport/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/addon-viewport/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@storybook/addons": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-7.4.2.tgz", + "integrity": "sha512-3snQVlTIKgzk6apNZc9sHr+0n4riiQkKGUkoHS8B1G90qj/9OyRnkDq55A7mJ9CxskqIjei5Q+hlko87g0jDsA==", + "dev": true, + "dependencies": { + "@storybook/manager-api": "7.4.2", + "@storybook/preview-api": "7.4.2", + "@storybook/types": "7.4.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addons/node_modules/@storybook/channels": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.2.tgz", + "integrity": "sha512-Q95KnV+fTGaAV3S875+d5LlGg+bdC3bUnki3engODDS4ViSRHJ1bnXnqxKmAaS3O/52geIyWWR766YvwHw3avw==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.2", + "@storybook/core-events": "7.4.2", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addons/node_modules/@storybook/client-logger": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.2.tgz", + "integrity": "sha512-LC8tYrYSJwF4DHRdNYh6y8hSvccwUIv5/WOZKJDmKx7mcEm6HsVuUu16C9jsl7iy6IqJYxgVz1va3WS6852E+A==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addons/node_modules/@storybook/core-events": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.2.tgz", + "integrity": "sha512-WCEBw+Ew8DrccnB0hpP9TXadreoOlMnWCyuXU2XrvmK/vde009leWQIsLs1rY+L17zDVuogBms62AxrDDJmMpw==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/addons/node_modules/@storybook/manager-api": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.2.tgz", + "integrity": "sha512-gKPG0At9AGhF32iwjiba+ILqswc3ZFj9ZIu5HjGEmaoiOfqI6TayuHoptup0QxkI/Hx8f9mNkHCwR9COrmb69w==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.2", + "@storybook/client-logger": "7.4.2", + "@storybook/core-events": "7.4.2", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/router": "7.4.2", + "@storybook/theming": "7.4.2", + "@storybook/types": "7.4.2", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "semver": "^7.3.7", + "store2": "^2.14.2", + "telejson": "^7.2.0", "ts-dedent": "^2.0.0" }, "funding": { @@ -4849,37 +7158,103 @@ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@storybook/addon-highlight": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.5.0.tgz", - "integrity": "sha512-6SlEkGCZ/LnEcbN6oE2Au3fgI9VfULErWQ36bx+sV6WWTb1EoooiD7ZJJzobrcOAriSyfWoctO5DF4W+X9I8lg==", + "node_modules/@storybook/addons/node_modules/@storybook/router": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.2.tgz", + "integrity": "sha512-TFpMrmliklWNSrF84kGnh3WcLZciqIvaAjhxahqD+kx070KLqjxrsiny7UC6PUUYZdjLkbR9m8n3SFdXAVKgLw==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.2", + "memoizerific": "^1.11.3", + "qs": "^6.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addons/node_modules/@storybook/theming": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.2.tgz", + "integrity": "sha512-wVmxZHVCqDoZgUOXTS4HRV4UClLtCydRNOEuUZ7X08QIPSA1FVL3gEpTQJfgCsyBX/cwSSofAMUbzAGEVNo+9g==", "dev": true, "dependencies": { - "@storybook/core-events": "7.5.0", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@storybook/client-logger": "7.4.2", "@storybook/global": "^5.0.0", - "@storybook/preview-api": "7.5.0" + "memoizerific": "^1.11.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/addons/node_modules/@storybook/types": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.2.tgz", + "integrity": "sha512-OOJ2TeS3Zzc6spHbdH+JXml0q4IHuYt9axmXAv1/pkhqHjA5072pyUacmlYNQeihpQOOsKLiCQUQlvtMy9fTnQ==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.2", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/addon-links": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-7.5.0.tgz", - "integrity": "sha512-1j0I80k8V1sSGN3faduj9uFk0ThgT4qAYyA/5q2YYA4y6V/K8ywJVOR3nv5j7ueTeBD/gUaoncn+NosusrhRNQ==", + "node_modules/@storybook/addons/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/addons/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/addons/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@storybook/api": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@storybook/api/-/api-7.4.1.tgz", + "integrity": "sha512-7GfzW+UdrT8KNi69YcxbQBPB/GQ63i+eqaWlPzoWRCdWxKb3im+wf/gsBuRs550F+6aqEAQH6d+e6byz7gwPog==", "dev": true, + "peer": true, "dependencies": { - "@storybook/client-logger": "7.5.0", - "@storybook/core-events": "7.5.0", - "@storybook/csf": "^0.1.0", - "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.5.0", - "@storybook/preview-api": "7.5.0", - "@storybook/router": "7.5.0", - "@storybook/types": "7.5.0", - "prop-types": "^15.7.2", - "ts-dedent": "^2.0.0" + "@storybook/client-logger": "7.4.1", + "@storybook/manager-api": "7.4.1" }, "funding": { "type": "opencollective", @@ -4898,20 +7273,35 @@ } } }, - "node_modules/@storybook/addon-measure": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-7.5.0.tgz", - "integrity": "sha512-zzHrQpn+burEr37hV1QV7yA1M33wBa38dUe+RLNYkS9g22BXYYZ/uVUhljpmA9DhZCUNJqYbXWi+ad4XMPE6+Q==", + "node_modules/@storybook/blocks": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.4.6.tgz", + "integrity": "sha512-HxBSAeOiTZW2jbHQlo1upRWFgoMsaAyKijUFf5MwwMNIesXCuuTGZDJ3xTABwAVLK2qC9Ektfbo0CZCiPVuDRQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.5.0", - "@storybook/components": "7.5.0", - "@storybook/core-events": "7.5.0", + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/components": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/docs-tools": "7.4.6", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.5.0", - "@storybook/preview-api": "7.5.0", - "@storybook/types": "7.5.0", - "tiny-invariant": "^1.3.1" + "@storybook/manager-api": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/theming": "7.4.6", + "@storybook/types": "7.4.6", + "@types/lodash": "^4.14.167", + "color-convert": "^2.0.1", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "markdown-to-jsx": "^7.1.8", + "memoizerific": "^1.11.3", + "polished": "^4.2.2", + "react-colorful": "^5.1.2", + "telejson": "^7.2.0", + "tocbot": "^4.20.1", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" }, "funding": { "type": "opencollective", @@ -4920,92 +7310,73 @@ "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } } }, - "node_modules/@storybook/addon-outline": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-7.5.0.tgz", - "integrity": "sha512-iVcyFi2N2NEZRytUg8wSiXS9UE9wA8/prs/sIsQ7Y34vHm1UaqAd8KxCE/fhHFNYw4UyHEEDUyTfci/jNrNQYA==", + "node_modules/@storybook/blocks/node_modules/@storybook/channels": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", + "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.5.0", - "@storybook/components": "7.5.0", - "@storybook/core-events": "7.5.0", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.5.0", - "@storybook/preview-api": "7.5.0", - "@storybook/types": "7.5.0", - "ts-dedent": "^2.0.0" + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } } }, - "node_modules/@storybook/addon-toolbars": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.5.0.tgz", - "integrity": "sha512-RLONWIJE7myVL3DzWZDWnnmb53C1OitCiO3mDt678xyK5ZrFCOV9cznckXASx1wNJVt3P9OOW1N2UY7wul72+Q==", + "node_modules/@storybook/blocks/node_modules/@storybook/client-logger": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", + "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.5.0", - "@storybook/components": "7.5.0", - "@storybook/manager-api": "7.5.0", - "@storybook/preview-api": "7.5.0", - "@storybook/theming": "7.5.0" + "@storybook/global": "^5.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/blocks/node_modules/@storybook/core-events": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", + "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/addon-viewport": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.5.0.tgz", - "integrity": "sha512-NXnjHQFKgeFsWOaJE0fl2THgejxDqx8axy4Prtc3ePcoVa/UrMu11G3iEcCaLhDJU7RDNM6CODgifYpH6gyKWg==", + "node_modules/@storybook/blocks/node_modules/@storybook/manager-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", + "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.5.0", - "@storybook/components": "7.5.0", - "@storybook/core-events": "7.5.0", + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.5.0", - "@storybook/preview-api": "7.5.0", - "@storybook/theming": "7.5.0", + "@storybook/router": "7.4.6", + "@storybook/theming": "7.4.6", + "@storybook/types": "7.4.6", + "dequal": "^2.0.2", + "lodash": "^4.17.21", "memoizerific": "^1.11.3", - "prop-types": "^15.7.2" + "semver": "^7.3.7", + "store2": "^2.14.2", + "telejson": "^7.2.0", + "ts-dedent": "^2.0.0" }, "funding": { "type": "opencollective", @@ -5014,25 +7385,43 @@ "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/blocks/node_modules/@storybook/preview-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", + "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/types": "7.4.6", + "@types/qs": "^6.9.5", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "synchronous-promise": "^2.0.15", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/addons": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-7.5.0.tgz", - "integrity": "sha512-ENvleXaJfOUVfWlh+T/318+UpmHfdQz5nB7QxkgK+AX7mQ3tPC41oUivwuEaVE6lP4BsijBtJBrGHEnA29xhUg==", + "node_modules/@storybook/blocks/node_modules/@storybook/router": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", + "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", "dev": true, "dependencies": { - "@storybook/manager-api": "7.5.0", - "@storybook/preview-api": "7.5.0", - "@storybook/types": "7.5.0" + "@storybook/client-logger": "7.4.6", + "memoizerific": "^1.11.3", + "qs": "^6.10.0" }, "funding": { "type": "opencollective", @@ -5043,15 +7432,16 @@ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@storybook/api": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/api/-/api-7.5.0.tgz", - "integrity": "sha512-Bqb0CeT3CiVsDQzrLFGyOynhTMhTSncds4xsC6w3u3UiDvqlfHF7446iDzoZkuXFh+N0L6oe5qJsSkXCfN/ojQ==", + "node_modules/@storybook/blocks/node_modules/@storybook/theming": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", + "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", "dev": true, - "peer": true, "dependencies": { - "@storybook/client-logger": "7.5.0", - "@storybook/manager-api": "7.5.0" + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@storybook/client-logger": "7.4.6", + "@storybook/global": "^5.0.0", + "memoizerific": "^1.11.3" }, "funding": { "type": "opencollective", @@ -5060,65 +7450,67 @@ "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } } }, - "node_modules/@storybook/blocks": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.5.0.tgz", - "integrity": "sha512-4poS7lQVKhitWKl0TPECMszOMtNamsbNvZdAZ188U/p1EzTrqLg+RT9HtsB8q8Y0owx29Nh5LdfhNOddpx23ig==", + "node_modules/@storybook/blocks/node_modules/@storybook/types": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", + "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", "dev": true, "dependencies": { - "@storybook/channels": "7.5.0", - "@storybook/client-logger": "7.5.0", - "@storybook/components": "7.5.0", - "@storybook/core-events": "7.5.0", - "@storybook/csf": "^0.1.0", - "@storybook/docs-tools": "7.5.0", - "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.5.0", - "@storybook/preview-api": "7.5.0", - "@storybook/theming": "7.5.0", - "@storybook/types": "7.5.0", - "@types/lodash": "^4.14.167", - "color-convert": "^2.0.1", - "dequal": "^2.0.2", - "lodash": "^4.17.21", - "markdown-to-jsx": "^7.1.8", - "memoizerific": "^1.11.3", - "polished": "^4.2.2", - "react-colorful": "^5.1.2", - "telejson": "^7.2.0", - "tocbot": "^4.20.1", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" + "@storybook/channels": "7.4.6", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/blocks/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/blocks/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, + "node_modules/@storybook/blocks/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/@storybook/builder-manager": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.5.0.tgz", - "integrity": "sha512-nj+n36i7Mds4RIyGJqvOB+Z47zfgbMes+6Gd6reT1vC22Yda5nAITnd2vxbYfv/sUPhIBBfuFZ/eogomgYCjKg==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.4.6.tgz", + "integrity": "sha512-zylZCD2rmyLOOFBFmUgtJg6UNUKmRNgXiig1XApzS2TkIbTZP827DsVEUl0ey/lskCe0uArkrEBR6ICba8p/Rw==", "dev": true, "dependencies": { "@fal-works/esbuild-plugin-global-externals": "^2.1.2", - "@storybook/core-common": "7.5.0", - "@storybook/manager": "7.5.0", - "@storybook/node-logger": "7.5.0", + "@storybook/core-common": "7.4.6", + "@storybook/manager": "7.4.6", + "@storybook/node-logger": "7.4.6", "@types/ejs": "^3.1.1", "@types/find-cache-dir": "^3.2.1", "@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.10", @@ -5152,19 +7544,20 @@ } }, "node_modules/@storybook/builder-vite": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-7.5.0.tgz", - "integrity": "sha512-XqiXECAhIDhUryhcPfWfmrvCA2R9p4cebXdyH5Op17yKQ10Bp+OxDWXZlOY/PHdq2KBVhC8CF3Yp7JXCWk8BHw==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.5.0", - "@storybook/client-logger": "7.5.0", - "@storybook/core-common": "7.5.0", - "@storybook/csf-plugin": "7.5.0", - "@storybook/node-logger": "7.5.0", - "@storybook/preview": "7.5.0", - "@storybook/preview-api": "7.5.0", - "@storybook/types": "7.5.0", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-7.4.6.tgz", + "integrity": "sha512-xV9STYK+TkqWWTf2ydm6jx+7P70fjD2UPd1XTUw08uKszIjhuuxk+bG/OF5R1E25mPunAKXm6kBFh351AKejBg==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-common": "7.4.6", + "@storybook/csf-plugin": "7.4.6", + "@storybook/mdx2-csf": "^1.0.0", + "@storybook/node-logger": "7.4.6", + "@storybook/preview": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/types": "7.4.6", "@types/find-cache-dir": "^3.2.1", "browser-assert": "^1.2.1", "es-module-lexer": "^0.9.3", @@ -5172,6 +7565,8 @@ "find-cache-dir": "^3.0.0", "fs-extra": "^11.1.0", "magic-string": "^0.30.0", + "remark-external-links": "^8.0.0", + "remark-slug": "^6.0.0", "rollup": "^2.25.0 || ^3.3.0" }, "funding": { @@ -5181,7 +7576,7 @@ "peerDependencies": { "@preact/preset-vite": "*", "typescript": ">= 4.3.x", - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0", + "vite": "^3.0.0 || ^4.0.0", "vite-plugin-glimmerx": "*" }, "peerDependenciesMeta": { @@ -5196,6 +7591,92 @@ } } }, + "node_modules/@storybook/builder-vite/node_modules/@storybook/channels": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", + "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/builder-vite/node_modules/@storybook/client-logger": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", + "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/builder-vite/node_modules/@storybook/core-events": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", + "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/builder-vite/node_modules/@storybook/preview-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", + "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/types": "7.4.6", + "@types/qs": "^6.9.5", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "synchronous-promise": "^2.0.15", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/builder-vite/node_modules/@storybook/types": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", + "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, "node_modules/@storybook/builder-vite/node_modules/fs-extra": { "version": "11.1.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", @@ -5227,13 +7708,14 @@ } }, "node_modules/@storybook/channels": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.5.0.tgz", - "integrity": "sha512-/7QJS1UA7TX3uhZqCpjv4Ib8nfMnDOJrBWvjiXiUONaRcSk/he5X+W1Zz/c7dgt+wkYuAh+evjc7glIaBhVNVQ==", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.1.tgz", + "integrity": "sha512-gnE1mNrRF+9oCVRMq6MS/tLXJbYmf9P02PCC3KpMLcSsABdH5jcrACejzJVo/kE223knFH7NJc4BBj7+5h0uXA==", "dev": true, + "peer": true, "dependencies": { - "@storybook/client-logger": "7.5.0", - "@storybook/core-events": "7.5.0", + "@storybook/client-logger": "7.4.1", + "@storybook/core-events": "7.4.1", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.2.0", @@ -5245,23 +7727,23 @@ } }, "node_modules/@storybook/cli": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.5.0.tgz", - "integrity": "sha512-f14q6sqHhDf7bFS0o/ZTgN2tM00Q0cMGMmGFXTQSCh0HXJUS4ujy/FADL+x62wUylIdr1HkIw+ONWMMqHuenEA==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.4.6.tgz", + "integrity": "sha512-rRwaH8pOL+FHz/pJMEkNpMH2xvZvWsrl7obBYw26NQiHmiVSAkfHJicndSN1mwc+p5w+9iXthrgzbLtSAOSvkA==", "dev": true, "dependencies": { "@babel/core": "^7.22.9", "@babel/preset-env": "^7.22.9", "@babel/types": "^7.22.5", "@ndelangen/get-tarball": "^3.0.7", - "@storybook/codemod": "7.5.0", - "@storybook/core-common": "7.5.0", - "@storybook/core-events": "7.5.0", - "@storybook/core-server": "7.5.0", - "@storybook/csf-tools": "7.5.0", - "@storybook/node-logger": "7.5.0", - "@storybook/telemetry": "7.5.0", - "@storybook/types": "7.5.0", + "@storybook/codemod": "7.4.6", + "@storybook/core-common": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/core-server": "7.4.6", + "@storybook/csf-tools": "7.4.6", + "@storybook/node-logger": "7.4.6", + "@storybook/telemetry": "7.4.6", + "@storybook/types": "7.4.6", "@types/semver": "^7.3.4", "@yarnpkg/fslib": "2.10.3", "@yarnpkg/libzip": "2.3.0", @@ -5301,6 +7783,66 @@ "url": "https://opencollective.com/storybook" } }, + "node_modules/@storybook/cli/node_modules/@storybook/channels": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", + "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/cli/node_modules/@storybook/client-logger": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", + "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/cli/node_modules/@storybook/core-events": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", + "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/cli/node_modules/@storybook/types": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", + "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, "node_modules/@storybook/cli/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -5355,26 +7897,6 @@ "node": ">=14.14" } }, - "node_modules/@storybook/cli/node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@storybook/cli/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -5445,10 +7967,11 @@ "dev": true }, "node_modules/@storybook/client-logger": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.5.0.tgz", - "integrity": "sha512-JV7J9vc69f9Il4uW62NIeweUU7O38VwFWxtCkhd0bcBA/9RG0go4M2avzxYYEAe9kIOX9IBBk8WGzMacwW4gKQ==", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.1.tgz", + "integrity": "sha512-2j0DQlKlPNY8XAaEZv+mUYEUm4dOWg6/Q92UNbvYPRK5qbXUvbMiQco5nmvg4LvMT6y99LhRSW2xrwEx5xKAKw==", "dev": true, + "peer": true, "dependencies": { "@storybook/global": "^5.0.0" }, @@ -5458,18 +7981,18 @@ } }, "node_modules/@storybook/codemod": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.5.0.tgz", - "integrity": "sha512-QdjFdD1OK+LqhYwNMh60/kgSt9VZIgH2TBUeXrPlCK6gfcZBrCB0ktgtuM8Zk/ROktq09pZoVDxqFi0AbEUPew==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.4.6.tgz", + "integrity": "sha512-lxmwEpwksCaAq96APN2YlooSDfKjJ1vKzN5Ni2EqQzf2TEXl7XQjLacHd7OOaII1kfsy+D5gNG4N5wBo7Ub30g==", "dev": true, "dependencies": { "@babel/core": "^7.22.9", "@babel/preset-env": "^7.22.9", "@babel/types": "^7.22.5", "@storybook/csf": "^0.1.0", - "@storybook/csf-tools": "7.5.0", - "@storybook/node-logger": "7.5.0", - "@storybook/types": "7.5.0", + "@storybook/csf-tools": "7.4.6", + "@storybook/node-logger": "7.4.6", + "@storybook/types": "7.4.6", "@types/cross-spawn": "^6.0.2", "cross-spawn": "^7.0.3", "globby": "^11.0.2", @@ -5483,24 +8006,64 @@ "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/codemod/node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "node_modules/@storybook/codemod/node_modules/@storybook/channels": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", + "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", "dev": true, "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" }, - "engines": { - "node": ">=10" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/codemod/node_modules/@storybook/client-logger": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", + "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/codemod/node_modules/@storybook/core-events": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", + "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/codemod/node_modules/@storybook/types": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", + "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, "node_modules/@storybook/codemod/node_modules/prettier": { @@ -5519,18 +8082,18 @@ } }, "node_modules/@storybook/components": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.5.0.tgz", - "integrity": "sha512-6lmZ6PbS27xN32vTJ/NvgaiKkFIQRzZuBeBIg2u+FoAEgCiCwRXjZKe/O8NZC2Xr0uf97+7U2P0kD4Hwr9SNhw==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.4.6.tgz", + "integrity": "sha512-nIRBhewAgrJJVafyCzuaLx1l+YOfvvD5dOZ0JxZsxJsefOdw1jFpUqUZ5fIpQ2moyvrR0mAUFw378rBfMdHz5Q==", "dev": true, "dependencies": { "@radix-ui/react-select": "^1.2.2", "@radix-ui/react-toolbar": "^1.0.4", - "@storybook/client-logger": "7.5.0", + "@storybook/client-logger": "7.4.6", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/theming": "7.5.0", - "@storybook/types": "7.5.0", + "@storybook/theming": "7.4.6", + "@storybook/types": "7.4.6", "memoizerific": "^1.11.3", "use-resize-observer": "^9.1.0", "util-deprecate": "^1.0.2" @@ -5544,14 +8107,180 @@ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, + "node_modules/@storybook/components/node_modules/@storybook/channels": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", + "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/components/node_modules/@storybook/client-logger": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", + "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/components/node_modules/@storybook/core-events": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", + "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/components/node_modules/@storybook/theming": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", + "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", + "dev": true, + "dependencies": { + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@storybook/client-logger": "7.4.6", + "@storybook/global": "^5.0.0", + "memoizerific": "^1.11.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/components/node_modules/@storybook/types": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", + "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, "node_modules/@storybook/core-client": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-7.5.0.tgz", - "integrity": "sha512-lnlPhsHnjK3tQ6jgTL/4TqIsxqznMQ0p7lSnUfhfccc2lGtMO/Ez/xIiTGoJQssJxuJE3d4sj3wRgYvuTDGQYw==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-7.4.6.tgz", + "integrity": "sha512-tfgxAHeCvMcs6DsVgtb4hQSDaCHeAPJOsoyhb47eDQfk4OmxzriM0qWucJV5DePSMi+KutX/rN2u0JxfOuN68g==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "@storybook/preview-api": "7.4.6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/core-client/node_modules/@storybook/channels": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", + "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/core-client/node_modules/@storybook/client-logger": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", + "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/core-client/node_modules/@storybook/core-events": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", + "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/core-client/node_modules/@storybook/preview-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", + "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/types": "7.4.6", + "@types/qs": "^6.9.5", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "synchronous-promise": "^2.0.15", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/core-client/node_modules/@storybook/types": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", + "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.5.0", - "@storybook/preview-api": "7.5.0" + "@storybook/channels": "7.4.6", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" }, "funding": { "type": "opencollective", @@ -5559,21 +8288,21 @@ } }, "node_modules/@storybook/core-common": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.5.0.tgz", - "integrity": "sha512-Gw3/rzRb5+XbwqBcr2ZNaIYGEp+WNTwaBOnMs4yp2SCrNIb0P+i3BxlVQdgABaq43EI3/bksowT6hei0jyhGhw==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.4.6.tgz", + "integrity": "sha512-05MJFmOM86qvTLtgDskokIFz9txe0Lbhq4L3by1FtF0GwgH+p+W6I94KI7c6ANER+kVZkXQZhiRzwBFnVTW+Cg==", "dev": true, "dependencies": { - "@storybook/core-events": "7.5.0", - "@storybook/node-logger": "7.5.0", - "@storybook/types": "7.5.0", + "@storybook/core-events": "7.4.6", + "@storybook/node-logger": "7.4.6", + "@storybook/types": "7.4.6", "@types/find-cache-dir": "^3.2.1", - "@types/node": "^18.0.0", + "@types/node": "^16.0.0", "@types/node-fetch": "^2.6.4", "@types/pretty-hrtime": "^1.0.0", "chalk": "^4.1.0", "esbuild": "^0.18.0", - "esbuild-register": "^3.5.0", + "esbuild-register": "^3.4.0", "file-system-cache": "2.3.0", "find-cache-dir": "^3.0.0", "find-up": "^5.0.0", @@ -5593,10 +8322,70 @@ "url": "https://opencollective.com/storybook" } }, + "node_modules/@storybook/core-common/node_modules/@storybook/channels": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", + "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/core-common/node_modules/@storybook/client-logger": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", + "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/core-common/node_modules/@storybook/core-events": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", + "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/core-common/node_modules/@storybook/types": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", + "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, "node_modules/@storybook/core-common/node_modules/@types/node": { - "version": "18.18.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.5.tgz", - "integrity": "sha512-4slmbtwV59ZxitY4ixUZdy1uRLf9eSIvBWPQxNjhHYWEtn0FryfKpyS2cvADYXTayWdKEIsJengncrVvkI4I6A==", + "version": "16.18.57", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.57.tgz", + "integrity": "sha512-piPoDozdPaX1hNWFJQzzgWqE40gh986VvVx/QO9RU4qYRE55ld7iepDVgZ3ccGUw0R4wge0Oy1dd+3xOQNkkUQ==", "dev": true }, "node_modules/@storybook/core-common/node_modules/ansi-styles": { @@ -5712,10 +8501,11 @@ } }, "node_modules/@storybook/core-events": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.5.0.tgz", - "integrity": "sha512-FsD+clTzayqprbVllnL8LLch+uCslJFDgsv7Zh99/zoi7OHtHyauoCZkdLBSiDzgc84qS41dY19HqX1/y7cnOw==", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.1.tgz", + "integrity": "sha512-F1tGb32XZ4FRfbtXdi4b+zdzWUjFz5rn3TF18mSuBGGXvxKU+4tywgjGQ3dKGdvuP754czn3poSdz2ZW08bLsQ==", "dev": true, + "peer": true, "dependencies": { "ts-dedent": "^2.0.0" }, @@ -5725,28 +8515,28 @@ } }, "node_modules/@storybook/core-server": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.5.0.tgz", - "integrity": "sha512-7QT8uzwSJOsv9PASQ6ywepYkcEYFB7+S7Cj/0nFMh3Vl9vW96LXvEHLAo9CUhSxdEKWeTnD8DS5+j90dLhQFCA==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.4.6.tgz", + "integrity": "sha512-jqmRTGCJ1W0WReImivkisPVaLFT5sjtLnFoAk0feHp6QS5j7EYOPN7CYzliyQmARWTLUEXOVaFf3VD6nJZQhJQ==", "dev": true, "dependencies": { "@aw-web-design/x-default-browser": "1.4.126", "@discoveryjs/json-ext": "^0.5.3", - "@storybook/builder-manager": "7.5.0", - "@storybook/channels": "7.5.0", - "@storybook/core-common": "7.5.0", - "@storybook/core-events": "7.5.0", + "@storybook/builder-manager": "7.4.6", + "@storybook/channels": "7.4.6", + "@storybook/core-common": "7.4.6", + "@storybook/core-events": "7.4.6", "@storybook/csf": "^0.1.0", - "@storybook/csf-tools": "7.5.0", + "@storybook/csf-tools": "7.4.6", "@storybook/docs-mdx": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/manager": "7.5.0", - "@storybook/node-logger": "7.5.0", - "@storybook/preview-api": "7.5.0", - "@storybook/telemetry": "7.5.0", - "@storybook/types": "7.5.0", + "@storybook/manager": "7.4.6", + "@storybook/node-logger": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/telemetry": "7.4.6", + "@storybook/types": "7.4.6", "@types/detect-port": "^1.3.0", - "@types/node": "^18.0.0", + "@types/node": "^16.0.0", "@types/pretty-hrtime": "^1.0.0", "@types/semver": "^7.3.4", "better-opn": "^3.0.2", @@ -5777,10 +8567,96 @@ "url": "https://opencollective.com/storybook" } }, + "node_modules/@storybook/core-server/node_modules/@storybook/channels": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", + "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/core-server/node_modules/@storybook/client-logger": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", + "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/core-server/node_modules/@storybook/core-events": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", + "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/core-server/node_modules/@storybook/preview-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", + "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/types": "7.4.6", + "@types/qs": "^6.9.5", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "synchronous-promise": "^2.0.15", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/core-server/node_modules/@storybook/types": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", + "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, "node_modules/@storybook/core-server/node_modules/@types/node": { - "version": "18.18.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.5.tgz", - "integrity": "sha512-4slmbtwV59ZxitY4ixUZdy1uRLf9eSIvBWPQxNjhHYWEtn0FryfKpyS2cvADYXTayWdKEIsJengncrVvkI4I6A==", + "version": "16.18.57", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.57.tgz", + "integrity": "sha512-piPoDozdPaX1hNWFJQzzgWqE40gh986VvVx/QO9RU4qYRE55ld7iepDVgZ3ccGUw0R4wge0Oy1dd+3xOQNkkUQ==", "dev": true }, "node_modules/@storybook/core-server/node_modules/ansi-styles": { @@ -5828,26 +8704,6 @@ "node": ">=14.14" } }, - "node_modules/@storybook/core-server/node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@storybook/core-server/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -5912,12 +8768,12 @@ } }, "node_modules/@storybook/csf-plugin": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.5.0.tgz", - "integrity": "sha512-kghaEFYvQISdAjQddeicSuvBFMeuuLNtpmMkuoLQzULF7e/Tws6zLCYsjGevqlnqXD0iW2XM/j9q4M5L/mWc5A==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.4.6.tgz", + "integrity": "sha512-yi7Qa4NSqKOyiJTWCxlB0ih2ijXq6oY5qZKW6MuMMBP14xJNRGLbH5KabpfXgN2T7YECcOWG1uWaGj2veJb1KA==", "dev": true, "dependencies": { - "@storybook/csf-tools": "7.5.0", + "@storybook/csf-tools": "7.4.6", "unplugin": "^1.3.1" }, "funding": { @@ -5926,9 +8782,9 @@ } }, "node_modules/@storybook/csf-tools": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.5.0.tgz", - "integrity": "sha512-KOHbFNSwwc7KTdNz/6yO7S2pxbr7sH6nqfolS6/l+pod45WvRH3VhyqlDIIeX7ESIhfCw87ExC96hNDL3TojCw==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.4.6.tgz", + "integrity": "sha512-ocKpcIUtTBy6hlLY34RUFQyX403cWpB2gGfqvkHbpGe2BQj7EyV0zpWnjsfVxvw+M9OWlCdxHWDOPUgXM33ELw==", "dev": true, "dependencies": { "@babel/generator": "^7.22.9", @@ -5936,7 +8792,7 @@ "@babel/traverse": "^7.22.8", "@babel/types": "^7.22.5", "@storybook/csf": "^0.1.0", - "@storybook/types": "7.5.0", + "@storybook/types": "7.4.6", "fs-extra": "^11.1.0", "recast": "^0.23.1", "ts-dedent": "^2.0.0" @@ -5946,6 +8802,66 @@ "url": "https://opencollective.com/storybook" } }, + "node_modules/@storybook/csf-tools/node_modules/@storybook/channels": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", + "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/csf-tools/node_modules/@storybook/client-logger": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", + "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/csf-tools/node_modules/@storybook/core-events": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", + "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/csf-tools/node_modules/@storybook/types": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", + "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, "node_modules/@storybook/csf-tools/node_modules/fs-extra": { "version": "11.1.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", @@ -5956,28 +8872,114 @@ "jsonfile": "^6.0.1", "universalify": "^2.0.0" }, - "engines": { - "node": ">=14.14" + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@storybook/docs-mdx": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@storybook/docs-mdx/-/docs-mdx-0.1.0.tgz", + "integrity": "sha512-JDaBR9lwVY4eSH5W8EGHrhODjygPd6QImRbwjAuJNEnY0Vw4ie3bPkeGfnacB3OBW6u/agqPv2aRlR46JcAQLg==", + "dev": true + }, + "node_modules/@storybook/docs-tools": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.4.6.tgz", + "integrity": "sha512-nZj1L/8WwKWWJ41FW4MaKGajZUtrhnr9UwflRCkQJaWhAKmDfOb5M5TqI93uCOULpFPOm5wpoMBz2IHInQ2Lrg==", + "dev": true, + "dependencies": { + "@storybook/core-common": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/types": "7.4.6", + "@types/doctrine": "^0.0.3", + "doctrine": "^3.0.0", + "lodash": "^4.17.21" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/docs-tools/node_modules/@storybook/channels": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", + "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/docs-tools/node_modules/@storybook/client-logger": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", + "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/docs-tools/node_modules/@storybook/core-events": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", + "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/docs-tools/node_modules/@storybook/preview-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", + "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/types": "7.4.6", + "@types/qs": "^6.9.5", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "synchronous-promise": "^2.0.15", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/docs-mdx": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@storybook/docs-mdx/-/docs-mdx-0.1.0.tgz", - "integrity": "sha512-JDaBR9lwVY4eSH5W8EGHrhODjygPd6QImRbwjAuJNEnY0Vw4ie3bPkeGfnacB3OBW6u/agqPv2aRlR46JcAQLg==", - "dev": true - }, - "node_modules/@storybook/docs-tools": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.5.0.tgz", - "integrity": "sha512-NFhqbXj6Wv5YypMwDkt0z9xcfWD7M3wZhr8Z9XcXDlUUPjBrdv0cHt3rfHwEXpTfFyunbK41KQZZ3JkjiAjgTg==", + "node_modules/@storybook/docs-tools/node_modules/@storybook/types": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", + "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", "dev": true, "dependencies": { - "@storybook/core-common": "7.5.0", - "@storybook/preview-api": "7.5.0", - "@storybook/types": "7.5.0", - "@types/doctrine": "^0.0.3", - "doctrine": "^3.0.0", - "lodash": "^4.17.21" + "@storybook/channels": "7.4.6", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" }, "funding": { "type": "opencollective", @@ -5991,9 +8993,9 @@ "dev": true }, "node_modules/@storybook/manager": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.5.0.tgz", - "integrity": "sha512-M4h4b0Y4aZ1sRGaZuJXgvPZHqu7vN/wgWB5yPcSwJqH1+DlPxYXYnPKGERgaEUUVKJV3oWQD2qZ+UpDeTgI5UQ==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.4.6.tgz", + "integrity": "sha512-kA1hUDxpn1i2SO9OinvLvVXDeL4xgJkModp+pbE8IXv4NJWReNq1ecMeQCzPLS3Sil2gnrullQ9uYXsnZ9bxxA==", "dev": true, "funding": { "type": "opencollective", @@ -6001,19 +9003,20 @@ } }, "node_modules/@storybook/manager-api": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.5.0.tgz", - "integrity": "sha512-n9EaJTThsuFiBDs+GcmNBHnvLhH0znJQprhIQqHNVnosCs/7sloYUzWZzZvPwfnfPvRR7ostEEMXvriaYXYdJQ==", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.1.tgz", + "integrity": "sha512-nzYasETW20uDWpfST6JFf6c/GSFB/dj7xVtg5EpvAYF8GkErCk9TvNKdLNroRrIYm5VJxHWC2V+CJ07RuX3Glw==", "dev": true, + "peer": true, "dependencies": { - "@storybook/channels": "7.5.0", - "@storybook/client-logger": "7.5.0", - "@storybook/core-events": "7.5.0", + "@storybook/channels": "7.4.1", + "@storybook/client-logger": "7.4.1", + "@storybook/core-events": "7.4.1", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.5.0", - "@storybook/theming": "7.5.0", - "@storybook/types": "7.5.0", + "@storybook/router": "7.4.1", + "@storybook/theming": "7.4.1", + "@storybook/types": "7.4.1", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -6036,6 +9039,7 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, + "peer": true, "dependencies": { "yallist": "^4.0.0" }, @@ -6048,6 +9052,7 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, + "peer": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -6062,7 +9067,8 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "dev": true, + "peer": true }, "node_modules/@storybook/mdx2-csf": { "version": "1.1.0", @@ -6071,9 +9077,9 @@ "dev": true }, "node_modules/@storybook/node-logger": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.5.0.tgz", - "integrity": "sha512-Og3hdB1bjpVCXhmlhvpgVxUfCQGd0DCguXf5qhn2kX4a+D++dxJ8YqzVJ5JQCacI9bCKITV6W9JSGseWcBaXBg==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.4.6.tgz", + "integrity": "sha512-djZb310Q27GviDug1XBv0jOEDLCiwr4hhDE0aifCEKZpfNCi/EaP31nbWimFzZwxu4hE/YAPWExzScruR1zw9Q==", "dev": true, "funding": { "type": "opencollective", @@ -6081,9 +9087,9 @@ } }, "node_modules/@storybook/postinstall": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.5.0.tgz", - "integrity": "sha512-SHpBItwar7qDZO7BBSqTNQK0yNy+RUROZUhW6wlVvsgVhIGF1bgA4pgpW1iMyfPmmGyNekE1BJjN+v8rjq9s6A==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.4.6.tgz", + "integrity": "sha512-TqI5BucPAGRWrkh55BYiG2/gHLFtC0In4cuu0GsUzB/1jc4i51npLRorCwhmT7r7YliGl5F7JaP0Bni/qHN3Lg==", "dev": true, "funding": { "type": "opencollective", @@ -6091,9 +9097,9 @@ } }, "node_modules/@storybook/preview": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.5.0.tgz", - "integrity": "sha512-KPhx43pRgIb6UhqjsF0sUG5c3GG2dwzTzjN1/sj0QbPMghZ3b7xKGrCu6VSlsXoWQtcwisMHETFnowk0Ba/AMg==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.4.6.tgz", + "integrity": "sha512-2RPXusJ4CTDrIipIKKvbotD7fP0+8VzoFjImunflIrzN9rni+2rq5eMjqlXAaB+77w064zIR4uDUzI9fxsMDeQ==", "dev": true, "funding": { "type": "opencollective", @@ -6101,17 +9107,17 @@ } }, "node_modules/@storybook/preview-api": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.5.0.tgz", - "integrity": "sha512-+DubgKwYFk532FKDB6sEGaG47wr0t137aIQSjbNwVmXXxj0QY0zIAThtERx7w6eHS7ZjOs6xlLEZhzC4FI525g==", + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.2.tgz", + "integrity": "sha512-ihTHRYzI/sI6bD215aYppiWF+1u38TrlsNjFYJ/Grftbti5d40g5wCwvAXK41SxJNYpk6CRtfvNKOwbEAC33gg==", "dev": true, "dependencies": { - "@storybook/channels": "7.5.0", - "@storybook/client-logger": "7.5.0", - "@storybook/core-events": "7.5.0", + "@storybook/channels": "7.4.2", + "@storybook/client-logger": "7.4.2", + "@storybook/core-events": "7.4.2", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.5.0", + "@storybook/types": "7.4.2", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -6126,10 +9132,70 @@ "url": "https://opencollective.com/storybook" } }, + "node_modules/@storybook/preview-api/node_modules/@storybook/channels": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.2.tgz", + "integrity": "sha512-Q95KnV+fTGaAV3S875+d5LlGg+bdC3bUnki3engODDS4ViSRHJ1bnXnqxKmAaS3O/52geIyWWR766YvwHw3avw==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.2", + "@storybook/core-events": "7.4.2", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/preview-api/node_modules/@storybook/client-logger": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.2.tgz", + "integrity": "sha512-LC8tYrYSJwF4DHRdNYh6y8hSvccwUIv5/WOZKJDmKx7mcEm6HsVuUu16C9jsl7iy6IqJYxgVz1va3WS6852E+A==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/preview-api/node_modules/@storybook/core-events": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.2.tgz", + "integrity": "sha512-WCEBw+Ew8DrccnB0hpP9TXadreoOlMnWCyuXU2XrvmK/vde009leWQIsLs1rY+L17zDVuogBms62AxrDDJmMpw==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/preview-api/node_modules/@storybook/types": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.2.tgz", + "integrity": "sha512-OOJ2TeS3Zzc6spHbdH+JXml0q4IHuYt9axmXAv1/pkhqHjA5072pyUacmlYNQeihpQOOsKLiCQUQlvtMy9fTnQ==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.2", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, "node_modules/@storybook/react-dom-shim": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.5.0.tgz", - "integrity": "sha512-OzJhXg1En/9D9vKvD2t0EcYcuHFzrLTA9kEUWt/eP3Ww41kndfJoZca33JZr17iuKksVAZ8ucETMnkL3yO+ybA==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.4.6.tgz", + "integrity": "sha512-DSq8l9FDocUF1ooVI+TF83pddj1LynE/Hv0/y8XZhc3IgJ/HkuOQuUmfz29ezgfAi9gFYUR8raTIBi3/xdoRmw==", "dev": true, "funding": { "type": "opencollective", @@ -6141,12 +9207,13 @@ } }, "node_modules/@storybook/router": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.5.0.tgz", - "integrity": "sha512-NzPwjndmOEOUL8jK5kUrSvRUIcN5Z+h+l0Z8g4I56RoEhNTcKeOW4jbcT4WKnR9H455dti8HAcTV/4x59GpgxQ==", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.1.tgz", + "integrity": "sha512-7tE1B18jb+5+ujXd3BHcub85QnytIVBNA0iAo+o8MNwArISyodqp12y2D3w+QpXkg0GtPhAp/CMhzpyxotPhRQ==", "dev": true, + "peer": true, "dependencies": { - "@storybook/client-logger": "7.5.0", + "@storybook/client-logger": "7.4.1", "memoizerific": "^1.11.3", "qs": "^6.10.0" }, @@ -6160,14 +9227,14 @@ } }, "node_modules/@storybook/telemetry": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.5.0.tgz", - "integrity": "sha512-dvc1cjxHYGNfLEvh8eQI/R2KtMft0kUs6TJ2uXZdIX4+WqWG6mfn75sP8eyC1tcjkdslS6AmFWTfgt9EVcIPQA==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.4.6.tgz", + "integrity": "sha512-c8p/C1NIH8EMBviZkBCx8MMDk6rrITJ+b29DEp5MaWSRlklIVyhGiC4RPIRv6sxJwlD41PnqWVFtfu2j2eXLdQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.5.0", - "@storybook/core-common": "7.5.0", - "@storybook/csf-tools": "7.5.0", + "@storybook/client-logger": "7.4.6", + "@storybook/core-common": "7.4.6", + "@storybook/csf-tools": "7.4.6", "chalk": "^4.1.0", "detect-package-manager": "^2.0.1", "fetch-retry": "^5.0.2", @@ -6179,6 +9246,19 @@ "url": "https://opencollective.com/storybook" } }, + "node_modules/@storybook/telemetry/node_modules/@storybook/client-logger": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", + "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, "node_modules/@storybook/telemetry/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -6206,53 +9286,262 @@ "engines": { "node": ">=10" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@storybook/telemetry/node_modules/fs-extra": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@storybook/telemetry/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/@storybook/telemetry/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/@storybook/theming": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.1.tgz", + "integrity": "sha512-a4QajZbnYumq8ovtn7nW7BeNrk/TaWyKmUrIz4w08I6ghzESJA4aCWZ6394awbrruiIOzCCKOUq4mfWEsc8W6A==", + "dev": true, + "peer": true, + "dependencies": { + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@storybook/client-logger": "7.4.1", + "@storybook/global": "^5.0.0", + "memoizerific": "^1.11.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/types": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.1.tgz", + "integrity": "sha512-bjt1YDG9AocFBhIFRvGGbYZPlD223p+qAFcFgYdezU16fFE4ZGFUzUuq2ERkOofL7a2+OzLTCQ/SKe1jFkXCxQ==", + "dev": true, + "peer": true, + "dependencies": { + "@storybook/channels": "7.4.1", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/web-components": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/web-components/-/web-components-7.4.6.tgz", + "integrity": "sha512-HWqkZtdkmNimkzMmE0mGRys2ee9qgEeDVCruiffySVquBRMQ6n1xgvHZYaO6OLlMeH0YHPg083ZqUasS5GsYVg==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "@storybook/core-client": "7.4.6", + "@storybook/docs-tools": "7.4.6", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/types": "7.4.6", + "tiny-invariant": "^1.3.1", + "ts-dedent": "^2.0.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "lit": "^2.0.0" + } + }, + "node_modules/@storybook/web-components-vite": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/web-components-vite/-/web-components-vite-7.4.6.tgz", + "integrity": "sha512-L/y6MTLbqfHaM0faK9Yl8n5PIyW4daZrtk7NfaOT6UjgNFjOx3o4CctYew6oj90cNk5HdZQX2OZny043GxDLZw==", + "dev": true, + "dependencies": { + "@storybook/builder-vite": "7.4.6", + "@storybook/core-server": "7.4.6", + "@storybook/node-logger": "7.4.6", + "@storybook/web-components": "7.4.6", + "magic-string": "^0.30.0" + }, + "engines": { + "node": "^14.18 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/web-components/node_modules/@storybook/channels": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", + "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/web-components/node_modules/@storybook/client-logger": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", + "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/web-components/node_modules/@storybook/core-events": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", + "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/web-components/node_modules/@storybook/manager-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", + "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/router": "7.4.6", + "@storybook/theming": "7.4.6", + "@storybook/types": "7.4.6", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "semver": "^7.3.7", + "store2": "^2.14.2", + "telejson": "^7.2.0", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@storybook/telemetry/node_modules/fs-extra": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", - "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "node_modules/@storybook/web-components/node_modules/@storybook/preview-api": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", + "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", "dev": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/types": "7.4.6", + "@types/qs": "^6.9.5", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "synchronous-promise": "^2.0.15", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/@storybook/telemetry/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, - "engines": { - "node": ">=8" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/telemetry/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==", + "node_modules/@storybook/web-components/node_modules/@storybook/router": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", + "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "@storybook/client-logger": "7.4.6", + "memoizerific": "^1.11.3", + "qs": "^6.10.0" }, - "engines": { - "node": ">=8" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@storybook/theming": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.5.0.tgz", - "integrity": "sha512-uTo97oh+pvmlfsZocFq5qae0zGo0VGk7oiBqNSSw6CiTqE1rIuSxoPrMAY+oCTWCUZV7DjONIGvpnGl2QALsAw==", + "node_modules/@storybook/web-components/node_modules/@storybook/theming": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", + "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", "dev": true, "dependencies": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.5.0", + "@storybook/client-logger": "7.4.6", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" }, @@ -6265,13 +9554,13 @@ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@storybook/types": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.5.0.tgz", - "integrity": "sha512-fiOUnHKFi/UZSfvc53F0WEQCiquqcSqslL3f5EffwQRiXfeXlGavJb0kU03BO+CvOXcliRn6qKSF2dL0Rgb7Xw==", + "node_modules/@storybook/web-components/node_modules/@storybook/types": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", + "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", "dev": true, "dependencies": { - "@storybook/channels": "7.5.0", + "@storybook/channels": "7.4.6", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -6281,65 +9570,47 @@ "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/web-components": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/web-components/-/web-components-7.5.0.tgz", - "integrity": "sha512-fkEEfssthEgvf2DUlGBfj+mtpCgiuiC8BuZqf45ueMm8iYV34EZmPNzTopPHBsm2z8VM3WZDuIFQ1puhLy5+sg==", + "node_modules/@storybook/web-components/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.5.0", - "@storybook/core-client": "7.5.0", - "@storybook/docs-tools": "7.5.0", - "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.5.0", - "@storybook/preview-api": "7.5.0", - "@storybook/types": "7.5.0", - "tiny-invariant": "^1.3.1", - "ts-dedent": "^2.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "lit": "^2.0.0 || ^3.0.0" + "node": ">=10" } }, - "node_modules/@storybook/web-components-vite": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@storybook/web-components-vite/-/web-components-vite-7.5.0.tgz", - "integrity": "sha512-FZa5pbexnwqI0P2TFOa10vzzoABfsHBLRC0uEWntdxJYJso28xZPHdzuyNLTniOYsi+n5Eyifd3nJ+kmOS4OJg==", + "node_modules/@storybook/web-components/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { - "@storybook/builder-vite": "7.5.0", - "@storybook/core-server": "7.5.0", - "@storybook/node-logger": "7.5.0", - "@storybook/web-components": "7.5.0", - "magic-string": "^0.30.0" - }, - "engines": { - "node": "^14.18 || >=16" + "lru-cache": "^6.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "bin": { + "semver": "bin/semver.js" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "engines": { + "node": ">=10" } }, + "node_modules/@storybook/web-components/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/@swagger-api/apidom-ast": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ast/-/apidom-ast-0.78.0.tgz", - "integrity": "sha512-mEXmRmkFlmO6dcBuakFkc2gevN4mC6incPAQE1UciaX4hLuJpiv/5DTH9gVWTR0CWUFw/dXROTD/x6ETV0y03A==", + "version": "0.76.2", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ast/-/apidom-ast-0.76.2.tgz", + "integrity": "sha512-yLSeI3KtfpR7tI/misqTeasFonssj9GGhCOJfSHBuRAZkrPCJf0eU8vh3pL7YPa8lqFWcPT+z/arZoMcC9VLnQ==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-error": "^0.78.0", - "@types/ramda": "~0.29.6", + "@swagger-api/apidom-error": "^0.76.2", + "@types/ramda": "~0.29.3", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", "stampit": "^4.3.2", @@ -6347,14 +9618,14 @@ } }, "node_modules/@swagger-api/apidom-core": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-core/-/apidom-core-0.78.0.tgz", - "integrity": "sha512-Qx9m+1u6H4Bsa38s73ANtGn8zFGqK0peguM+SFuUR5HirjpoFB8JB7IG5E8+ymUlpWhlU43q9QnJjcaYJw9MTg==", + "version": "0.76.2", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-core/-/apidom-core-0.76.2.tgz", + "integrity": "sha512-366dJJM7DFONlO3nUQfQRMJpJzZjPpWZldbHJZCcvy+aCyrNYI3Waauas7fm29UXRliPirGrd9e/ZsnW3Jimag==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-ast": "^0.78.0", - "@swagger-api/apidom-error": "^0.78.0", - "@types/ramda": "~0.29.6", + "@swagger-api/apidom-ast": "^0.76.2", + "@swagger-api/apidom-error": "^0.76.2", + "@types/ramda": "~0.29.3", "minim": "~0.23.8", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", @@ -6363,286 +9634,285 @@ } }, "node_modules/@swagger-api/apidom-error": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-error/-/apidom-error-0.78.0.tgz", - "integrity": "sha512-P0enIK3XymxCPHlhGtqc4TU5H+cHf7L0yDFmfjZEcsjDzGDv5A+m5tf429Pr/R+e51DzpT5/xIcPKTnti0gIOw==", + "version": "0.76.2", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-error/-/apidom-error-0.76.2.tgz", + "integrity": "sha512-QxoWL+qGzwftqXSJaYLZ1Nrdtro+U1zX5Q4OLK+Ggg8Hi6Kn1SGXcHhn4JZ9J1rwrP85XCabilL3z9mhdebqWg==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@types/ramda": "~0.29.6", + "@types/ramda": "~0.29.3", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-json-pointer": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-json-pointer/-/apidom-json-pointer-0.78.0.tgz", - "integrity": "sha512-Ly4ZfUGxxbNoHHc9vR814mU96ZLGsjaJflCW0jdZnMVfVv20fDCoDoOOmXat6ajxUbS2YKimgxPvdBth3K/CRQ==", + "version": "0.76.2", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-json-pointer/-/apidom-json-pointer-0.76.2.tgz", + "integrity": "sha512-2XCgA4bn8vB1VMDbSiP+6SHUTiBxx1EVLW2pgqFolhLPMdiI/QBVmoW+jEkvTPo4d5gwj/vP5WDs5QnnC9VwEA==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-error": "^0.78.0", - "@types/ramda": "~0.29.6", + "@swagger-api/apidom-core": "^0.76.2", + "@swagger-api/apidom-error": "^0.76.2", + "@types/ramda": "~0.29.3", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-ns-api-design-systems": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-api-design-systems/-/apidom-ns-api-design-systems-0.78.0.tgz", - "integrity": "sha512-WoWE6w1P3qsokG3Qyc5F3xpz+e/WablE0EHGSgiYxk+MQJLqYmz5UhS5LxYGT9d6o9XUs24ykSbKrYWYwkpp4w==", + "version": "0.76.2", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-api-design-systems/-/apidom-ns-api-design-systems-0.76.2.tgz", + "integrity": "sha512-ct83R5Pvc08jeOuGShO4N0ty7VO8f46WedTDCbzT4edMRhd9Xdr5UFxkwWDuliy4uLzl9ZayHygSxfnyZKQb8g==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-error": "^0.78.0", - "@swagger-api/apidom-ns-openapi-3-1": "^0.78.0", - "@types/ramda": "~0.29.6", + "@swagger-api/apidom-core": "^0.76.2", + "@swagger-api/apidom-error": "^0.76.2", + "@swagger-api/apidom-ns-openapi-3-1": "^0.76.2", + "@types/ramda": "~0.29.3", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", "stampit": "^4.3.2" } }, "node_modules/@swagger-api/apidom-ns-asyncapi-2": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-asyncapi-2/-/apidom-ns-asyncapi-2-0.78.0.tgz", - "integrity": "sha512-QWZohCtXf5UX/I9bnc4MQh16X9jGPdGrByWM93xRvh8X8rIF0BtF9S7lIx028aX3AHYIu4SwYr7JZlqEaZ92Kw==", + "version": "0.76.2", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-asyncapi-2/-/apidom-ns-asyncapi-2-0.76.2.tgz", + "integrity": "sha512-ffV2AhF7jTBbYl2vX0nYSDufs70CmC/kNMWHkgwR2Vq86lgadUc6S/NK/djpWY8+oAU3EYmHwTqu07hpSOUb4A==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-ns-json-schema-draft-7": "^0.78.0", - "@types/ramda": "~0.29.6", + "@swagger-api/apidom-core": "^0.76.2", + "@swagger-api/apidom-ns-json-schema-draft-7": "^0.76.2", + "@types/ramda": "~0.29.3", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", "stampit": "^4.3.2" } }, "node_modules/@swagger-api/apidom-ns-json-schema-draft-4": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-4/-/apidom-ns-json-schema-draft-4-0.78.0.tgz", - "integrity": "sha512-19NR9lTHMOQTIEV4tJq+FlHQAYnjyH+DgI4mmRu6UMFSZjRjutYF7B8lCGogSus9Uwy8YpUk00prLFTld00wgA==", + "version": "0.76.2", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-4/-/apidom-ns-json-schema-draft-4-0.76.2.tgz", + "integrity": "sha512-0Y32CQE6tIt4IPsoCzWAUskZSyGkfw87IIsH5Bcm3D1qIlAhPAokQbe1212MmZoLVUvqrXDqZHXnOxxMaHZvYw==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-ast": "^0.78.0", - "@swagger-api/apidom-core": "^0.78.0", - "@types/ramda": "~0.29.6", + "@swagger-api/apidom-ast": "^0.76.2", + "@swagger-api/apidom-core": "^0.76.2", + "@types/ramda": "~0.29.3", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", "stampit": "^4.3.2" } }, "node_modules/@swagger-api/apidom-ns-json-schema-draft-6": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-6/-/apidom-ns-json-schema-draft-6-0.78.0.tgz", - "integrity": "sha512-pHyCPU3OWDiPuLepo03rBpi2n+SCH6PZAgguqAB3lDJ2ymitrT2SNpmZ6CcHvPGR9Y7h4/fR5vAypVZfdNr/WQ==", + "version": "0.76.2", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-6/-/apidom-ns-json-schema-draft-6-0.76.2.tgz", + "integrity": "sha512-i6nZtj3ie6SP1LhRtBeZNJuBppWkuC/+AsVfUzXkH5pM+3B7Puklc77hHdLtmvUTpd/iRBdlfsklvBVXJYPtUA==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-error": "^0.78.0", - "@swagger-api/apidom-ns-json-schema-draft-4": "^0.78.0", - "@types/ramda": "~0.29.6", + "@swagger-api/apidom-core": "^0.76.2", + "@swagger-api/apidom-error": "^0.76.2", + "@swagger-api/apidom-ns-json-schema-draft-4": "^0.76.2", + "@types/ramda": "~0.29.3", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", "stampit": "^4.3.2" } }, "node_modules/@swagger-api/apidom-ns-json-schema-draft-7": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-7/-/apidom-ns-json-schema-draft-7-0.78.0.tgz", - "integrity": "sha512-ScUiNNAdwnikH3Fo2rUsDmXOjV7zXfQ6CGE+QkY5Wj3t1M6siw2HpDjrBaaCyp6w/bemvogsh280GrzAnxKLIw==", + "version": "0.76.2", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-7/-/apidom-ns-json-schema-draft-7-0.76.2.tgz", + "integrity": "sha512-Klyfi/1XkJVUZa1nJP87HPMjklmB3IxE+TSD27aZIEi7GKASu96euan0gflZaegexUBA9hsAngk98USbdpHpgQ==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-error": "^0.78.0", - "@swagger-api/apidom-ns-json-schema-draft-6": "^0.78.0", - "@types/ramda": "~0.29.6", + "@swagger-api/apidom-core": "^0.76.2", + "@swagger-api/apidom-error": "^0.76.2", + "@swagger-api/apidom-ns-json-schema-draft-6": "^0.76.2", + "@types/ramda": "~0.29.3", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", "stampit": "^4.3.2" } }, "node_modules/@swagger-api/apidom-ns-openapi-3-0": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-0/-/apidom-ns-openapi-3-0-0.78.0.tgz", - "integrity": "sha512-GRmUOknEzMG37y5sStvjEsk30RLVg5E7iZuougK1rEf+wzzX5XhorSgMx2NQmka5rb814BgzyiqGRmvKQErDBw==", + "version": "0.76.2", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-0/-/apidom-ns-openapi-3-0-0.76.2.tgz", + "integrity": "sha512-tV7dfbAZjX4HHul6JzmWsipMIVHCX5fAsBwLTltq8qmF9X9m6kZwg7fb4pD+cGK2KVlZl/ucDDDIQLDRWpOAog==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-error": "^0.78.0", - "@swagger-api/apidom-ns-json-schema-draft-4": "^0.78.0", - "@types/ramda": "~0.29.6", + "@swagger-api/apidom-core": "^0.76.2", + "@swagger-api/apidom-ns-json-schema-draft-4": "^0.76.2", + "@types/ramda": "~0.29.3", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", "stampit": "^4.3.2" } }, "node_modules/@swagger-api/apidom-ns-openapi-3-1": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-1/-/apidom-ns-openapi-3-1-0.78.0.tgz", - "integrity": "sha512-hHpUZLjIiaLK+99cAPiYNV9QzZQxFoMLqBNYo+GQwqizaVOjxQRi5y/hPkfFALqqufZ1L6XWeyjQrtli0ftqBQ==", + "version": "0.76.2", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-1/-/apidom-ns-openapi-3-1-0.76.2.tgz", + "integrity": "sha512-Mb9VhVacoWvQcBqxO4j0eweyM6PGupAOt7XcOL5CzID0dOU+P4BbAv6kHD++0bTqRgXk1O31HkS/yPJmPaTCrw==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-ast": "^0.78.0", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-ns-openapi-3-0": "^0.78.0", - "@types/ramda": "~0.29.6", + "@swagger-api/apidom-ast": "^0.76.2", + "@swagger-api/apidom-core": "^0.76.2", + "@swagger-api/apidom-ns-openapi-3-0": "^0.76.2", + "@types/ramda": "~0.29.3", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", "stampit": "^4.3.2" } }, "node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-json": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-json/-/apidom-parser-adapter-api-design-systems-json-0.78.0.tgz", - "integrity": "sha512-g7VlfOrpTzbVV30Ugab0qAJITavLo39apvyFFv2cN2jfuIQa8MlzDP0mZmVtCGQy3IoT4Auns/qWeGcZX0li9w==", + "version": "0.76.2", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-json/-/apidom-parser-adapter-api-design-systems-json-0.76.2.tgz", + "integrity": "sha512-mJ4HLVIR9YHgWu0SiHykFQ9Sz1f3eV5Wqhrff8sH2Qll+4QSSdOOs0tW4Gp56F0HIcrU66uvrrTy1tpkO943aw==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-ns-api-design-systems": "^0.78.0", - "@swagger-api/apidom-parser-adapter-json": "^0.78.0", - "@types/ramda": "~0.29.6", + "@swagger-api/apidom-core": "^0.76.2", + "@swagger-api/apidom-ns-api-design-systems": "^0.76.2", + "@swagger-api/apidom-parser-adapter-json": "^0.76.2", + "@types/ramda": "~0.29.3", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-yaml": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-yaml/-/apidom-parser-adapter-api-design-systems-yaml-0.78.0.tgz", - "integrity": "sha512-ZueYoHOJARRm84ntCggUZLKNwUHz2U0eG9KHIzw75UW43pyvQVbxAE2ELdyP5f8vr51wMuMp6XYRcFOsNi/oeQ==", + "version": "0.76.2", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-yaml/-/apidom-parser-adapter-api-design-systems-yaml-0.76.2.tgz", + "integrity": "sha512-ot0F8Pw9/oWce6daDK+3srhNad/Iva/OlkVtN0S9cR58Zcn8p1F3s6RcN7ZG97i8EdBuyQj6Bm0jzXnOX+lvtQ==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-ns-api-design-systems": "^0.78.0", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.78.0", - "@types/ramda": "~0.29.6", + "@swagger-api/apidom-core": "^0.76.2", + "@swagger-api/apidom-ns-api-design-systems": "^0.76.2", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.76.2", + "@types/ramda": "~0.29.3", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-asyncapi-json-2": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-json-2/-/apidom-parser-adapter-asyncapi-json-2-0.78.0.tgz", - "integrity": "sha512-Jm0hbNXWOH2QJIiF+5QgY+ioVSOBqV3WlhTeyrF5kSxHinah16nR1jUkz5tMsSc9sxTZHzWYVLneyBMW3VSHrw==", + "version": "0.76.2", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-json-2/-/apidom-parser-adapter-asyncapi-json-2-0.76.2.tgz", + "integrity": "sha512-FK06pb4w5E8RQ65Nh1FHHM8aWzPL7fHr2HeuXZkbSeKu4j0xyzwYkxZVGwZJOT6YPJR0Yrkb/2rD89CNXsLctA==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-ns-asyncapi-2": "^0.78.0", - "@swagger-api/apidom-parser-adapter-json": "^0.78.0", - "@types/ramda": "~0.29.6", + "@swagger-api/apidom-core": "^0.76.2", + "@swagger-api/apidom-ns-asyncapi-2": "^0.76.2", + "@swagger-api/apidom-parser-adapter-json": "^0.76.2", + "@types/ramda": "~0.29.3", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2/-/apidom-parser-adapter-asyncapi-yaml-2-0.78.0.tgz", - "integrity": "sha512-zpP8gQBXhrR/t91Z/Jl0nD/cUSzmYjzhE5qWHkfhbGvzaWatiLrNY+CnFS9RcgF4pb2LSqS5cjDVAExBbjdLdQ==", + "version": "0.76.2", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2/-/apidom-parser-adapter-asyncapi-yaml-2-0.76.2.tgz", + "integrity": "sha512-7TGhZgHZ9nmBJnFA7YhDWbNDbKoUOGVkBqx563ExHr2FewaohiQ/wagXAhKZzOK+HS+KHvob09uROtqOWGdIew==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-ns-asyncapi-2": "^0.78.0", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.78.0", - "@types/ramda": "~0.29.6", + "@swagger-api/apidom-core": "^0.76.2", + "@swagger-api/apidom-ns-asyncapi-2": "^0.76.2", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.76.2", + "@types/ramda": "~0.29.3", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-json": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-json/-/apidom-parser-adapter-json-0.78.0.tgz", - "integrity": "sha512-d/8gFj5cc+pnCo7ORGN5dJPGWzTleYkIwGfsyFuLZNjb4KlrOrKlPl0LKQ/t7MSEbVpSStxbgezoUtfdVhGscw==", + "version": "0.76.2", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-json/-/apidom-parser-adapter-json-0.76.2.tgz", + "integrity": "sha512-vbH7EcldZ/gSK9FnGUW1cpibM5+hiJPQcoyLmzLZe8YBxX73qzd2WAd77v+uI56eO9Z0G4KMCRCF9PDZT/tz5Q==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-ast": "^0.78.0", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-error": "^0.78.0", - "@types/ramda": "~0.29.6", + "@swagger-api/apidom-ast": "^0.76.2", + "@swagger-api/apidom-core": "^0.76.2", + "@swagger-api/apidom-error": "^0.76.2", + "@types/ramda": "~0.29.3", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", "stampit": "^4.3.2", "tree-sitter": "=0.20.4", - "tree-sitter-json": "=0.20.1", + "tree-sitter-json": "=0.20.0", "web-tree-sitter": "=0.20.3" } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-0": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-0/-/apidom-parser-adapter-openapi-json-3-0-0.78.0.tgz", - "integrity": "sha512-MjXkPAiEyTZIljzjEgvAmqaZel0jpKBBqdtC8nWH/9C2ugkKHetKMSgYu+5wvFh//ixJZZE7dM1QHEIBoPl9nA==", + "version": "0.76.2", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-0/-/apidom-parser-adapter-openapi-json-3-0-0.76.2.tgz", + "integrity": "sha512-Kqcq5QUgz1TcCuPaL+zU+wmdAEo7YM0LR5jyWQo3FAT3BhAsmeVv2wRZMiz9RMDrPyxzHzbJhjMZxCqL8r2G0g==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-ns-openapi-3-0": "^0.78.0", - "@swagger-api/apidom-parser-adapter-json": "^0.78.0", - "@types/ramda": "~0.29.6", + "@swagger-api/apidom-core": "^0.76.2", + "@swagger-api/apidom-ns-openapi-3-0": "^0.76.2", + "@swagger-api/apidom-parser-adapter-json": "^0.76.2", + "@types/ramda": "~0.29.3", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-1": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-1/-/apidom-parser-adapter-openapi-json-3-1-0.78.0.tgz", - "integrity": "sha512-k+rT6kwu1jAN1lYIP1wVshQdaLu9M+jjCfpvMXXkL/2VpZqq1yP6daFm0ExiHllVUcHWeqRXhubFV3wWkFm6eA==", + "version": "0.76.2", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-1/-/apidom-parser-adapter-openapi-json-3-1-0.76.2.tgz", + "integrity": "sha512-kfZ4BBxww5afiIIeFT6l0/Kuob72dnYAP+Qnmp2zQB3GQUTilKqv+ddj4blCF19n8RGNERVv2RDHLTZhjg+1AA==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-ns-openapi-3-1": "^0.78.0", - "@swagger-api/apidom-parser-adapter-json": "^0.78.0", - "@types/ramda": "~0.29.6", + "@swagger-api/apidom-core": "^0.76.2", + "@swagger-api/apidom-ns-openapi-3-1": "^0.76.2", + "@swagger-api/apidom-parser-adapter-json": "^0.76.2", + "@types/ramda": "~0.29.3", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0/-/apidom-parser-adapter-openapi-yaml-3-0-0.78.0.tgz", - "integrity": "sha512-RzcqL0kvUl5G75H4qOFSi9FTaVfBtRnjzEcjd8SOKVLg3JJsCv3vrk68laRm8HXocyWgGstU51UzBqkMStXy4A==", + "version": "0.76.2", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0/-/apidom-parser-adapter-openapi-yaml-3-0-0.76.2.tgz", + "integrity": "sha512-spXabhd0sgX87QaYUDou22KduSL5GHCmLNuPDpPykYelB/zZnE8aPsrjBMIgK9CPZoQCDoWYYmtRTPfJjKwf3Q==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-ns-openapi-3-0": "^0.78.0", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.78.0", - "@types/ramda": "~0.29.6", + "@swagger-api/apidom-core": "^0.76.2", + "@swagger-api/apidom-ns-openapi-3-0": "^0.76.2", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.76.2", + "@types/ramda": "~0.29.3", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1/-/apidom-parser-adapter-openapi-yaml-3-1-0.78.0.tgz", - "integrity": "sha512-1hB+mcEJd14RJC8lH3yJsoQRDhA8TNNKl3EyQ17eFY0dK29JlluDEbDHIRQpLT1l2jCK/NfqAk2hc37yIwydfw==", + "version": "0.76.2", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1/-/apidom-parser-adapter-openapi-yaml-3-1-0.76.2.tgz", + "integrity": "sha512-KIEg9QWeiMMKQ9VtftK+1Rc7irKQjj0VTsoEtraun9N2MWLVt7g+xZKqbqtQ4/ovv5J8JBHE+hFGLdm2qZalsg==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-ns-openapi-3-1": "^0.78.0", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.78.0", - "@types/ramda": "~0.29.6", + "@swagger-api/apidom-core": "^0.76.2", + "@swagger-api/apidom-ns-openapi-3-1": "^0.76.2", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.76.2", + "@types/ramda": "~0.29.3", "ramda": "~0.29.0", "ramda-adjunct": "^4.0.0" } }, "node_modules/@swagger-api/apidom-parser-adapter-yaml-1-2": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-yaml-1-2/-/apidom-parser-adapter-yaml-1-2-0.78.0.tgz", - "integrity": "sha512-L37X+nRNp+2PyJkAwMdSQjP8tb3xoc6FVk2QXLHogghe1Phrmfaal3TPu2rWJNn7NSBcvSyiTAR7gEIULitugA==", + "version": "0.76.2", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-yaml-1-2/-/apidom-parser-adapter-yaml-1-2-0.76.2.tgz", + "integrity": "sha512-nmEDYOfqeB8yCHbQ5yEQkJ09zIDOeX61KXTUktP4yErm96WVjIUk5YTTAkO7QbAEND9JHE+BAnS25cBC8BxFFA==", "optional": true, "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-ast": "^0.78.0", - "@swagger-api/apidom-core": "^0.78.0", - "@swagger-api/apidom-error": "^0.78.0", - "@types/ramda": "~0.29.6", + "@swagger-api/apidom-ast": "^0.76.2", + "@swagger-api/apidom-core": "^0.76.2", + "@swagger-api/apidom-error": "^0.76.2", + "@types/ramda": "~0.29.3", "ramda": "~0.29.0", "ramda-adjunct": "^4.1.1", "stampit": "^4.3.2", @@ -6652,13 +9922,13 @@ } }, "node_modules/@swagger-api/apidom-reference": { - "version": "0.78.0", - "resolved": "https://registry.npmjs.org/@swagger-api/apidom-reference/-/apidom-reference-0.78.0.tgz", - "integrity": "sha512-IiOaMgy+CzpQe5fFwyge4B/lkHQnBhiuNGPgIJELYXJMZle+pN6K/V4muLCG6JjAXllucbCqMpW/KLmPxGAXaw==", + "version": "0.76.2", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-reference/-/apidom-reference-0.76.2.tgz", + "integrity": "sha512-O1qX6Tql+B18Em/ERyqCzuhcvOG3JeRq4QIHfebzS3lNxpxX6si/z0DrL5K1azBldmnXx7UGqt/fvwq8GQJmIA==", "dependencies": { "@babel/runtime-corejs3": "^7.20.7", - "@swagger-api/apidom-core": "^0.78.0", - "@types/ramda": "~0.29.6", + "@swagger-api/apidom-core": "^0.76.2", + "@types/ramda": "~0.29.3", "axios": "^1.4.0", "minimatch": "^7.4.3", "process": "^0.11.10", @@ -6667,21 +9937,21 @@ "stampit": "^4.3.2" }, "optionalDependencies": { - "@swagger-api/apidom-error": "^0.78.0", - "@swagger-api/apidom-json-pointer": "^0.78.0", - "@swagger-api/apidom-ns-asyncapi-2": "^0.78.0", - "@swagger-api/apidom-ns-openapi-3-0": "^0.78.0", - "@swagger-api/apidom-ns-openapi-3-1": "^0.78.0", - "@swagger-api/apidom-parser-adapter-api-design-systems-json": "^0.78.0", - "@swagger-api/apidom-parser-adapter-api-design-systems-yaml": "^0.78.0", - "@swagger-api/apidom-parser-adapter-asyncapi-json-2": "^0.78.0", - "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": "^0.78.0", - "@swagger-api/apidom-parser-adapter-json": "^0.78.0", - "@swagger-api/apidom-parser-adapter-openapi-json-3-0": "^0.78.0", - "@swagger-api/apidom-parser-adapter-openapi-json-3-1": "^0.78.0", - "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": "^0.78.0", - "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": "^0.78.0", - "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.78.0" + "@swagger-api/apidom-error": "^0.76.2", + "@swagger-api/apidom-json-pointer": "^0.76.2", + "@swagger-api/apidom-ns-asyncapi-2": "^0.76.2", + "@swagger-api/apidom-ns-openapi-3-0": "^0.76.2", + "@swagger-api/apidom-ns-openapi-3-1": "^0.76.2", + "@swagger-api/apidom-parser-adapter-api-design-systems-json": "^0.76.2", + "@swagger-api/apidom-parser-adapter-api-design-systems-yaml": "^0.76.2", + "@swagger-api/apidom-parser-adapter-asyncapi-json-2": "^0.76.2", + "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": "^0.76.2", + "@swagger-api/apidom-parser-adapter-json": "^0.76.2", + "@swagger-api/apidom-parser-adapter-openapi-json-3-0": "^0.76.2", + "@swagger-api/apidom-parser-adapter-openapi-json-3-1": "^0.76.2", + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": "^0.76.2", + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": "^0.76.2", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^0.76.2" } }, "node_modules/@swagger-api/apidom-reference/node_modules/brace-expansion": { @@ -6787,9 +10057,9 @@ } }, "node_modules/@types/babel__core": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.2.tgz", - "integrity": "sha512-pNpr1T1xLUc2l3xJKuPtsEky3ybxN3m4fJkknfIpTCTfIZCDW57oAg+EfCgIIp2rvCe0Wn++/FfodDS4YXxBwA==", + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", + "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", "dev": true, "dependencies": { "@babel/parser": "^7.20.7", @@ -6800,18 +10070,18 @@ } }, "node_modules/@types/babel__generator": { - "version": "7.6.5", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.5.tgz", - "integrity": "sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w==", + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", "dev": true, "dependencies": { "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__template": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.2.tgz", - "integrity": "sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ==", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", "dev": true, "dependencies": { "@babel/parser": "^7.1.0", @@ -6819,18 +10089,18 @@ } }, "node_modules/@types/babel__traverse": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.2.tgz", - "integrity": "sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw==", + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", + "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", "dev": true, "dependencies": { "@babel/types": "^7.20.7" } }, "node_modules/@types/body-parser": { - "version": "1.19.3", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.3.tgz", - "integrity": "sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ==", + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", "dev": true, "dependencies": { "@types/connect": "*", @@ -6874,9 +10144,9 @@ } }, "node_modules/@types/d3-scale": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.5.tgz", - "integrity": "sha512-w/C++3W394MHzcLKO2kdsIn5KKNTOqeQVzyPSGPLzQbkPw/jpeaGtSRlakcKevGgGsjJxGsbqS0fPrVFDbHrDA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.4.tgz", + "integrity": "sha512-eq1ZeTj0yr72L8MQk6N6heP603ubnywSDRfNpi5enouR112HzGLS6RIvExCzZTraFF4HdzNpJMwA/zGiMoHUUw==", "dependencies": { "@types/d3-time": "*" } @@ -6887,14 +10157,14 @@ "integrity": "sha512-dsoJGEIShosKVRBZB0Vo3C8nqSDqVGujJU6tPznsBJxNJNwMF8utmS83nvCBKQYPpjCzaaHcrf66iTRpZosLPw==" }, "node_modules/@types/d3-time": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.1.tgz", - "integrity": "sha512-5j/AnefKAhCw4HpITmLDTPlf4vhi8o/dES+zbegfPb7LaGfNyqkLxBR6E+4yvTAgnJLmhe80EXFMzUs38fw4oA==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.0.tgz", + "integrity": "sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg==" }, "node_modules/@types/debug": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.9.tgz", - "integrity": "sha512-8Hz50m2eoS56ldRlepxSBa6PWEVCtzUo/92HgLc2qTMnotJNIm7xP+UZhyWoYsyOdd5dxZ+NZLb24rsKyFs2ow==", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz", + "integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==", "dependencies": { "@types/ms": "*" } @@ -6924,15 +10194,15 @@ "dev": true }, "node_modules/@types/estree": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.2.tgz", - "integrity": "sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", "dev": true }, "node_modules/@types/express": { - "version": "4.17.19", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.19.tgz", - "integrity": "sha512-UtOfBtzN9OvpZPPbnnYunfjM7XCI4jyk1NvnFhTVz5krYAnW4o5DCoIekvms+8ApqhB4+9wSge1kBijdfTSmfg==", + "version": "4.17.17", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", + "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", "dev": true, "dependencies": { "@types/body-parser": "*", @@ -6942,9 +10212,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.37", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.37.tgz", - "integrity": "sha512-ZohaCYTgGFcOP7u6aJOhY9uIZQgZ2vxC2yWoArY+FeDXlqeH66ZVBjgvg+RLVAS/DWNq4Ap9ZXu1+SUQiiWYMg==", + "version": "4.17.36", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.36.tgz", + "integrity": "sha512-zbivROJ0ZqLAtMzgzIUC4oNqDG9iF0lSsAqpOD9kbs5xcIM3dTiyuHvBc7R8MtWBp3AAWGaovJa+wzWPjLYW7Q==", "dev": true, "dependencies": { "@types/node": "*", @@ -6960,9 +10230,9 @@ "dev": true }, "node_modules/@types/fs-extra": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.3.tgz", - "integrity": "sha512-7IdV01N0u/CaVO0fuY1YmEg14HQN3+EW8mpNgg6NEfxEl/lzCa5OxlBu3iFsCAdamnYOcTQ7oEi43Xc/67Rgzw==", + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.2.tgz", + "integrity": "sha512-SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg==", "dev": true, "dependencies": { "@types/node": "*" @@ -6994,9 +10264,9 @@ "dev": true }, "node_modules/@types/http-errors": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.2.tgz", - "integrity": "sha512-lPG6KlZs88gef6aD85z3HNkztpj7w2R7HmR3gygjfXCQmsLloWNARFkMuzKiiY8FGdh1XDpgBdrSf4aKDiA7Kg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==", "dev": true }, "node_modules/@types/istanbul-lib-coverage": { @@ -7024,21 +10294,21 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.13", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", - "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", "dev": true }, "node_modules/@types/lodash": { - "version": "4.14.199", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.199.tgz", - "integrity": "sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg==", + "version": "4.14.198", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.198.tgz", + "integrity": "sha512-trNJ/vtMZYMLhfN45uLq4ShQSw0/S7xCTLLVM+WM1rmFpba/VS42jVUgaO3w/NOLiWR/09lnYk0yMaA/atdIsg==", "dev": true }, "node_modules/@types/mdast": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.13.tgz", - "integrity": "sha512-HjiGiWedR0DVFkeNljpa6Lv4/IZU1+30VY5d747K7lBudFc3R0Ibr6yJ9lN3BE28VnZyDfLF/VB1Ql1ZIbKrmg==", + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.12.tgz", + "integrity": "sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==", "dependencies": { "@types/unist": "^2" } @@ -7050,9 +10320,9 @@ "dev": true }, "node_modules/@types/mime": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.3.tgz", - "integrity": "sha512-Ys+/St+2VF4+xuY6+kDIXGxbNRO0mesVg0bbxEfB97Od1Vjpjx9KD1qxs64Gcb3CWPirk9Xe+PT4YiiHQ9T+eg==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", "dev": true }, "node_modules/@types/mime-types": { @@ -7068,33 +10338,30 @@ "dev": true }, "node_modules/@types/ms": { - "version": "0.7.32", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.32.tgz", - "integrity": "sha512-xPSg0jm4mqgEkNhowKgZFBNtwoEwF6gJ4Dhww+GFpm3IgtNseHQZ5IqdNwnquZEoANxyDAKDRAdVo4Z72VvD/g==" + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" }, "node_modules/@types/node": { - "version": "20.8.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.6.tgz", - "integrity": "sha512-eWO4K2Ji70QzKUqRy6oyJWUeB7+g2cRagT3T/nxYibYcT4y2BDL8lqolRXjTHmkZCdJfIPaY73KbJAZmcryxTQ==", - "dev": true, - "dependencies": { - "undici-types": "~5.25.1" - } + "version": "20.6.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.0.tgz", + "integrity": "sha512-najjVq5KN2vsH2U/xyh2opaSEz6cZMR2SetLIlxlj08nOcmPOemJmUK2o4kUzfLqfrWE0PIrNeE16XhYDd3nqg==", + "dev": true }, "node_modules/@types/node-fetch": { - "version": "2.6.6", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.6.tgz", - "integrity": "sha512-95X8guJYhfqiuVVhRFxVQcf4hW/2bCuoPwDasMf/531STFoNoWTT7YDnWdXHEZKqAGUigmpG31r2FE70LwnzJw==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.4.tgz", + "integrity": "sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==", "dev": true, "dependencies": { "@types/node": "*", - "form-data": "^4.0.0" + "form-data": "^3.0.0" } }, "node_modules/@types/normalize-package-data": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.2.tgz", - "integrity": "sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", "dev": true }, "node_modules/@types/parse-json": { @@ -7110,9 +10377,9 @@ "dev": true }, "node_modules/@types/prop-types": { - "version": "15.7.8", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.8.tgz", - "integrity": "sha512-kMpQpfZKSCBqltAJwskgePRaYRFukDkm1oItcAbC3gNELR20XIBcN9VRgg4+m8DKsTfkWeA4m4Imp4DDuWy7FQ==", + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", "dev": true }, "node_modules/@types/qs": { @@ -7122,23 +10389,23 @@ "dev": true }, "node_modules/@types/ramda": { - "version": "0.29.6", - "resolved": "https://registry.npmjs.org/@types/ramda/-/ramda-0.29.6.tgz", - "integrity": "sha512-4XQ9hYQhCwOxfkoTsIPvDVXc75fY5+MLQHUpExX6ByvU1q+0vOYRLSjWAt1IydkE1hOuhwMH6KvV/9rhzgrvRw==", + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/@types/ramda/-/ramda-0.29.3.tgz", + "integrity": "sha512-Yh/RHkjN0ru6LVhSQtTkCRo6HXkfL9trot/2elzM/yXLJmbLm2v6kJc8yftTnwv1zvUob6TEtqI2cYjdqG3U0Q==", "dependencies": { - "types-ramda": "^0.29.5" + "types-ramda": "^0.29.4" } }, "node_modules/@types/range-parser": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.5.tgz", - "integrity": "sha512-xrO9OoVPqFuYyR/loIHjnbvvyRZREYKLjxV4+dY6v3FQR3stQ9ZxIGkaclF7YhI9hfjpuTbu14hZEy94qKLtOA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", "dev": true }, "node_modules/@types/react": { - "version": "18.2.28", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.28.tgz", - "integrity": "sha512-ad4aa/RaaJS3hyGz0BGegdnSRXQBkd1CCYDCdNjBPg90UUpLgo+WlJqb9fMYUxtehmzF3PJaTWqRZjko6BRzBg==", + "version": "18.2.21", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.21.tgz", + "integrity": "sha512-neFKG/sBAwGxHgXiIxnbm3/AAVQ/cMRS93hvBpg8xYRbeQSPVABp9U2bRnPf0iI4+Ucdv3plSxKK+3CW2ENJxA==", "dev": true, "dependencies": { "@types/prop-types": "*", @@ -7153,21 +10420,21 @@ "dev": true }, "node_modules/@types/scheduler": { - "version": "0.16.4", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.4.tgz", - "integrity": "sha512-2L9ifAGl7wmXwP4v3pN4p2FLhD0O1qsJpvKmNin5VA8+UvNVb447UDaAEV6UdrkA+m/Xs58U1RFps44x6TFsVQ==", + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", "dev": true }, "node_modules/@types/semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==", + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg==", "dev": true }, "node_modules/@types/send": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.2.tgz", - "integrity": "sha512-aAG6yRf6r0wQ29bkS+x97BIs64ZLxeE/ARwyS6wrldMm3C1MdKwCcnnEwMC1slI8wuxJOpiUH9MioC0A0i+GJw==", + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz", + "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==", "dev": true, "dependencies": { "@types/mime": "^1", @@ -7175,9 +10442,9 @@ } }, "node_modules/@types/serve-static": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.3.tgz", - "integrity": "sha512-yVRvFsEMrv7s0lGhzrggJjNOSmZCdgCjw9xWrPr/kNNLp6FaDfMC1KaYl3TSJ0c58bECwNBMoQrZJ8hA8E1eFg==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz", + "integrity": "sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==", "dev": true, "dependencies": { "@types/http-errors": "*", @@ -7186,24 +10453,24 @@ } }, "node_modules/@types/showdown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/showdown/-/showdown-2.0.2.tgz", - "integrity": "sha512-0UnGnwRsiTojb5VGCkgbk3mKJpyAR2EPhalhHGY4/NCFwDyacqVmPWP7uV0mbXC4eh6n7lO3HPCpb2NP+B5NPQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/showdown/-/showdown-2.0.1.tgz", + "integrity": "sha512-xdnAw2nFqomkaL0QdtEk0t7yz26UkaVPl4v1pYJvtE1T0fmfQEH3JaxErEhGByEAl3zUZrkNBlneuJp0WJGqEA==", "dev": true }, "node_modules/@types/tern": { - "version": "0.23.5", - "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.5.tgz", - "integrity": "sha512-POau56wDk3TQ0mQ0qG7XDzv96U5whSENZ9lC0htDvEH+9YUREo+J2U+apWcVRgR2UydEE70JXZo44goG+akTNQ==", + "version": "0.23.4", + "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.4.tgz", + "integrity": "sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg==", "dev": true, "dependencies": { "@types/estree": "*" } }, "node_modules/@types/trusted-types": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.4.tgz", - "integrity": "sha512-IDaobHimLQhjwsQ/NMwRVfa/yL7L/wriQPMhw1ZJall0KX6E1oxk29XMDeilW5qTIg5aoiqf5Udy8U/51aNoQQ==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz", + "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==" }, "node_modules/@types/unist": { "version": "2.0.8", @@ -7211,9 +10478,9 @@ "integrity": "sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==" }, "node_modules/@types/yargs": { - "version": "17.0.28", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.28.tgz", - "integrity": "sha512-N3e3fkS86hNhtk6BEnc0rj3zcehaxx8QWhCROJkqpl5Zaoi7nAic3jH8q94jVD3zu5LGk+PUB6KAiDmimYOEQw==", + "version": "17.0.26", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.26.tgz", + "integrity": "sha512-Y3vDy2X6zw/ZCumcwLpdhM5L7jmyGpmBCTYMHDLqT2IKVMYRRLdv6ZakA+wxhra6Z/3bwhNbNl9bDGXaFU+6rw==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -7405,26 +10672,6 @@ } } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -7676,15 +10923,15 @@ } }, "node_modules/agent-base": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", - "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, "dependencies": { - "debug": "^4.3.4" + "debug": "4" }, "engines": { - "node": ">= 14" + "node": ">= 6.0.0" } }, "node_modules/aggregate-error": { @@ -7953,15 +11200,28 @@ } }, "node_modules/axios": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz", - "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.0.tgz", + "integrity": "sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==", "dependencies": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } }, + "node_modules/axios/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/babel-core": { "version": "7.0.0-bridge.0", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", @@ -8296,9 +11556,9 @@ } }, "node_modules/browserslist": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", - "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "version": "4.21.10", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", + "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", "dev": true, "funding": [ { @@ -8315,10 +11575,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.13" + "update-browserslist-db": "^1.0.11" }, "bin": { "browserslist": "cli.js" @@ -8452,9 +11712,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001549", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001549.tgz", - "integrity": "sha512-qRp48dPYSCYaP+KurZLhDYdVE+yEyht/3NlmcJgVQ2VMGt6JL36ndQ/7rgspdZsJuxDPFIo/OzBT2+GmIJ53BA==", + "version": "1.0.30001532", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001532.tgz", + "integrity": "sha512-FbDFnNat3nMnrROzqrsg314zhqN5LGQ1kyyMk2opcrwGbVGpHRhgCWtAgD5YJUqNAiQ+dklreil/c3Qf1dfCTw==", "dev": true, "funding": [ { @@ -8563,9 +11823,9 @@ } }, "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", "dev": true, "funding": [ { @@ -9000,9 +12260,9 @@ } }, "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==", + "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/cookie": { @@ -9039,12 +12299,12 @@ } }, "node_modules/core-js-compat": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.0.tgz", - "integrity": "sha512-0w4LcLXsVEuNkIqwjjf9rjCoPhK8uqA4tMRh4Ge26vfLtUutshn+aRJU21I9LCJlh2QQHfisNToLjw1XEJLTWw==", + "version": "3.32.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.2.tgz", + "integrity": "sha512-+GjlguTDINOijtVRUxrQOv3kfu9rl+qPNdX2LTbJ/ZyVTuxK+ksVSAGX1nHstu4hrv1En/uPTtWgq2gI5wt4AQ==", "dev": true, "dependencies": { - "browserslist": "^4.22.1" + "browserslist": "^4.21.10" }, "funding": { "type": "opencollective", @@ -9052,9 +12312,9 @@ } }, "node_modules/core-js-pure": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.33.0.tgz", - "integrity": "sha512-FKSIDtJnds/YFIEaZ4HszRX7hkxGpNKM7FC9aJ9WLJbSd3lD4vOltFuVIBLR8asSx9frkTSqL0dw90SKQxgKrg==", + "version": "3.32.2", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.32.2.tgz", + "integrity": "sha512-Y2rxThOuNywTjnX/PgA5vWM6CZ9QB9sz9oGeCixV8MqXZO70z/5SHzf9EeBrEBK0PN36DnEBBu9O/aGWzKuMZQ==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -9128,6 +12388,14 @@ "yarn": ">=1" } }, + "node_modules/cross-fetch": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", + "dependencies": { + "node-fetch": "^2.6.12" + } + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -9636,9 +12904,9 @@ "dev": true }, "node_modules/dayjs": { - "version": "1.11.10", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", - "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + "version": "1.11.9", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz", + "integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==" }, "node_modules/debug": { "version": "4.3.4", @@ -9752,20 +13020,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", @@ -9776,12 +13030,11 @@ } }, "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", "dev": true, "dependencies": { - "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" }, @@ -9833,26 +13086,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/del/node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/delaunator": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz", @@ -9993,9 +13226,9 @@ } }, "node_modules/dompurify": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.6.tgz", - "integrity": "sha512-ilkD8YEnnGh1zJ240uJsW7AzE+2qpbOUYjacomn3AvJ6J4JhKGSZ2nh4wUIXPZrEPppaCLx5jFe8T89Rk8tQ7w==" + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.5.tgz", + "integrity": "sha512-F9e6wPGtY+8KNMRAVfxeCOHU0/NPWMSENNq4pQctuXRqqdEPW7q3CrLbR5Nse044WwacyjHGOMlvNsBe1y6z9A==" }, "node_modules/dotenv": { "version": "16.3.1", @@ -10088,9 +13321,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.556", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.556.tgz", - "integrity": "sha512-6RPN0hHfzDU8D56E72YkDvnLw5Cj2NMXZGg3UkgyoHxjVhG99KZpsKgBWMmTy0Ei89xwan+rbRsVB9yzATmYzQ==", + "version": "1.4.513", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.513.tgz", + "integrity": "sha512-cOB0xcInjm+E5qIssHeXJ29BaUyWpMyFKT5RB3bsLENDheCja0wMkHJyiPl0NBE/VzDI7JDuNEQWhe6RitEUcw==", "dev": true }, "node_modules/elkjs": { @@ -10156,18 +13389,18 @@ } }, "node_modules/es-abstract": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.2.tgz", - "integrity": "sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", + "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", "dev": true, "dependencies": { "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.1", "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", "es-set-tostringtag": "^2.0.1", "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", + "function.prototype.name": "^1.1.5", "get-intrinsic": "^1.2.1", "get-symbol-description": "^1.0.0", "globalthis": "^1.0.3", @@ -10183,23 +13416,23 @@ "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", - "is-typed-array": "^1.1.12", + "is-typed-array": "^1.1.10", "is-weakref": "^1.0.2", "object-inspect": "^1.12.3", "object-keys": "^1.1.1", "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "safe-array-concat": "^1.0.1", + "regexp.prototype.flags": "^1.5.0", + "safe-array-concat": "^1.0.0", "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.8", - "string.prototype.trimend": "^1.0.7", - "string.prototype.trimstart": "^1.0.7", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", "typed-array-buffer": "^1.0.0", "typed-array-byte-length": "^1.0.0", "typed-array-byte-offset": "^1.0.0", "typed-array-length": "^1.0.4", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.11" + "which-typed-array": "^1.1.10" }, "engines": { "node": ">= 0.4" @@ -10289,9 +13522,9 @@ "dev": true }, "node_modules/esbuild-register": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.5.0.tgz", - "integrity": "sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.4.2.tgz", + "integrity": "sha512-kG/XyTDyz6+YDuyfB9ZoSIOOmgyFCH+xPRtsCa8W85HLRV5Csp+o3jWVbOSHgSLfyLc5DmP+KFDNwty4mEjC+Q==", "dev": true, "dependencies": { "debug": "^4.3.4" @@ -10448,12 +13681,6 @@ "eslint": ">= 5" } }, - "node_modules/eslint-plugin-lit/node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, "node_modules/eslint-plugin-sonarjs": { "version": "0.21.0", "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.21.0.tgz", @@ -10615,26 +13842,6 @@ "node": ">=4.0" } }, - "node_modules/eslint-plugin-storybook/node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/eslint-plugin-storybook/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -10746,9 +13953,9 @@ } }, "node_modules/eslint/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -11510,12 +14717,12 @@ } }, "node_modules/flat-cache": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", - "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", + "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", "dev": true, "dependencies": { - "flatted": "^3.2.9", + "flatted": "^3.2.7", "keyv": "^4.5.3", "rimraf": "^3.0.2" }, @@ -11524,24 +14731,24 @@ } }, "node_modules/flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, "node_modules/flow-parser": { - "version": "0.218.1", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.218.1.tgz", - "integrity": "sha512-46xpXyI4Bh3K2ej+NF3V5+pAsDlB5P0DWpgIIy/0/R7ujK0syfI/xfKDCOlq2sxtfUyPrr4rxfS2Da7yWdTdwg==", + "version": "0.217.2", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.217.2.tgz", + "integrity": "sha512-O+nt/FLXa1hTwtW0O9h36iZjbL84G8e1uByx5dDXMC97AJEbZXwJ4ohfaE8BNWrYFyYX0NGfz1o8AtLQvaaD/Q==", "dev": true, "engines": { "node": ">=0.4.0" } }, "node_modules/follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", "funding": [ { "type": "individual", @@ -11604,9 +14811,10 @@ } }, "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -11616,6 +14824,23 @@ "node": ">= 6" } }, + "node_modules/form-data-encoder": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.9.0.tgz", + "integrity": "sha512-rahaRMkN8P8d/tgK/BLPX+WBVM27NbvdXBxqQujBtkDAIFspaRqN7Od7lfdGQA6KAD+f82fYCLBq1ipvcu8qLw==" + }, + "node_modules/formdata-node": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz", + "integrity": "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==", + "dependencies": { + "node-domexception": "1.0.0", + "web-streams-polyfill": "4.0.0-beta.3" + }, + "engines": { + "node": ">= 12.20" + } + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -11716,14 +14941,11 @@ "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==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, "node_modules/function.prototype.name": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", @@ -11868,18 +15090,18 @@ } }, "node_modules/giget": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/giget/-/giget-1.1.3.tgz", - "integrity": "sha512-zHuCeqtfgqgDwvXlR84UNgnJDuUHQcNI5OqWqFxxuk2BshuKbYhJWdxBsEo4PvKqoGh23lUAIvBNpChMLv7/9Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/giget/-/giget-1.1.2.tgz", + "integrity": "sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==", "dev": true, "dependencies": { - "colorette": "^2.0.20", + "colorette": "^2.0.19", "defu": "^6.1.2", - "https-proxy-agent": "^7.0.2", + "https-proxy-agent": "^5.0.1", "mri": "^1.2.0", - "node-fetch-native": "^1.4.0", - "pathe": "^1.1.1", - "tar": "^6.2.0" + "node-fetch-native": "^1.0.2", + "pathe": "^1.1.0", + "tar": "^6.1.13" }, "bin": { "giget": "dist/cli.mjs" @@ -11985,6 +15207,26 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/globrex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", @@ -12069,9 +15311,12 @@ } }, "node_modules/has": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", - "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, "engines": { "node": ">= 0.4.0" } @@ -12261,16 +15506,16 @@ } }, "node_modules/https-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", - "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, "dependencies": { - "agent-base": "^7.0.2", + "agent-base": "6", "debug": "4" }, "engines": { - "node": ">= 14" + "node": ">= 6" } }, "node_modules/human-signals": { @@ -13450,18 +16695,18 @@ } }, "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", "dev": true, "dependencies": { "json-buffer": "3.0.1" } }, "node_modules/khroma": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/khroma/-/khroma-2.1.0.tgz", - "integrity": "sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/khroma/-/khroma-2.0.0.tgz", + "integrity": "sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==" }, "node_modules/kind-of": { "version": "6.0.3", @@ -13761,14 +17006,6 @@ "lit-html": "^2.8.0" } }, - "node_modules/lit-element/node_modules/@lit/reactive-element": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", - "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", - "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.0.0" - } - }, "node_modules/lit-html": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", @@ -13777,14 +17014,6 @@ "@types/trusted-types": "^2.0.2" } }, - "node_modules/lit/node_modules/@lit/reactive-element": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", - "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", - "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.0.0" - } - }, "node_modules/load-json-file": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", @@ -14834,9 +18063,9 @@ } }, "node_modules/nan": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", - "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", "optional": true }, "node_modules/nanobench": { @@ -15022,9 +18251,9 @@ "dev": true }, "node_modules/node-abi": { - "version": "3.51.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.51.0.tgz", - "integrity": "sha512-SQkEP4hmNWjlniS5zdnfIXTk1x7Ome85RDzHlTbBtzE97Gfwz/Ipw4v/Ryk20DWIy3yCNVLVlGKApCnmvYoJbA==", + "version": "3.47.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.47.0.tgz", + "integrity": "sha512-2s6B2CWZM//kPgwnuI0KrYwNjfdByE25zvAaEpq9IH4zcNsarH8Ihu/UuX6XMPEogDAxkuUFeZn60pXNHAqn3A==", "optional": true, "dependencies": { "semver": "^7.3.5" @@ -15066,11 +18295,6 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "optional": true }, - "node_modules/node-abort-controller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", - "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==" - }, "node_modules/node-dir": { "version": "0.1.17", "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", @@ -15105,7 +18329,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dev": true, "dependencies": { "whatwg-url": "^5.0.0" }, @@ -15121,22 +18344,6 @@ } } }, - "node_modules/node-fetch-commonjs": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/node-fetch-commonjs/-/node-fetch-commonjs-3.3.2.tgz", - "integrity": "sha512-VBlAiynj3VMLrotgwOS3OyECFxas5y7ltLcK4t41lMUZeaK15Ym4QRkqN0EQKAFL42q9i21EPKjzLUPfltR72A==", - "dependencies": { - "node-domexception": "^1.0.0", - "web-streams-polyfill": "^3.0.3" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/node-fetch" - } - }, "node_modules/node-fetch-native": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.4.0.tgz", @@ -15395,9 +18602,9 @@ } }, "node_modules/object-inspect": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.0.tgz", - "integrity": "sha512-HQ4J+ic8hKrgIt3mqk6cVOVrW2ozL4KdvHlqpBv9vDYWx9ysAgENAdvy4FoGF+KFdhR7nQTNm5J0ctAeOwn+3g==", + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -15714,16 +18921,10 @@ } }, "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dev": true, - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true }, "node_modules/parse5-htmlparser2-tree-adapter": { "version": "6.0.1", @@ -15734,12 +18935,6 @@ "parse5": "^6.0.1" } }, - "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -16727,9 +19922,9 @@ "dev": true }, "node_modules/regenerate-unicode-properties": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", "dev": true, "dependencies": { "regenerate": "^1.4.2" @@ -16803,14 +19998,14 @@ } }, "node_modules/regexp.prototype.flags": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", - "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", - "set-function-name": "^2.0.0" + "functions-have-names": "^1.2.3" }, "engines": { "node": ">= 0.4" @@ -16941,9 +20136,9 @@ } }, "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", + "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", "dev": true, "dependencies": { "is-core-module": "^2.13.0", @@ -17404,20 +20599,6 @@ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true }, - "node_modules/set-function-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", - "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", - "dev": true, - "dependencies": { - "define-data-property": "^1.0.1", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -17494,9 +20675,9 @@ } }, "node_modules/short-unique-id": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/short-unique-id/-/short-unique-id-5.0.3.tgz", - "integrity": "sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/short-unique-id/-/short-unique-id-5.0.2.tgz", + "integrity": "sha512-4wZq1VLV4hsEx8guP5bN7XnY8UDsVXtdUDWFMP1gvEieAXolq5fWGKpuua21PRXaLn3OybTKFQNm7JGcHSWu/Q==", "bin": { "short-unique-id": "bin/short-unique-id", "suid": "bin/short-unique-id" @@ -17652,9 +20833,9 @@ } }, "node_modules/smob": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/smob/-/smob-1.4.1.tgz", - "integrity": "sha512-9LK+E7Hv5R9u4g4C3p+jjLstaLe11MDsL21UpYaCNmapvMkYhqCV4A/f/3gyH8QjMyh6l68q9xC85vihY9ahMQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/smob/-/smob-1.4.0.tgz", + "integrity": "sha512-MqR3fVulhjWuRNSMydnTlweu38UhQ0HXM4buStD/S3mc/BzX3CuM9OmhyQpmtYCvoYdl5ris6TI0ZqH355Ymqg==", "dev": true }, "node_modules/snapdragon": { @@ -17939,9 +21120,9 @@ } }, "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==", + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", "dev": true }, "node_modules/split-string": { @@ -18122,12 +21303,12 @@ "dev": true }, "node_modules/storybook": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/storybook/-/storybook-7.5.0.tgz", - "integrity": "sha512-dmvQNSuoHq1KrPcK8siApBi5n5reSf6RFAlLHYD+nhM+EP6SL2fXdVjP6ZynTUMRu1NQ5YR/oJhz/SsBzJNkcA==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/storybook/-/storybook-7.4.6.tgz", + "integrity": "sha512-YkFSpnR47j5zz7yElA+2axLjXN7K7TxDGJRHHlqXmG5iQ0PXzmjrj2RxMDKFz4Ybp/QjEUoJ4rx//ESEY0Nb5A==", "dev": true, "dependencies": { - "@storybook/cli": "7.5.0" + "@storybook/cli": "7.4.6" }, "bin": { "sb": "index.js", @@ -18171,12 +21352,175 @@ } } }, + "node_modules/storybook-addon-mock/node_modules/@storybook/channels": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.2.tgz", + "integrity": "sha512-Q95KnV+fTGaAV3S875+d5LlGg+bdC3bUnki3engODDS4ViSRHJ1bnXnqxKmAaS3O/52geIyWWR766YvwHw3avw==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.2", + "@storybook/core-events": "7.4.2", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/storybook-addon-mock/node_modules/@storybook/client-logger": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.2.tgz", + "integrity": "sha512-LC8tYrYSJwF4DHRdNYh6y8hSvccwUIv5/WOZKJDmKx7mcEm6HsVuUu16C9jsl7iy6IqJYxgVz1va3WS6852E+A==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/storybook-addon-mock/node_modules/@storybook/core-events": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.2.tgz", + "integrity": "sha512-WCEBw+Ew8DrccnB0hpP9TXadreoOlMnWCyuXU2XrvmK/vde009leWQIsLs1rY+L17zDVuogBms62AxrDDJmMpw==", + "dev": true, + "dependencies": { + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/storybook-addon-mock/node_modules/@storybook/manager-api": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.2.tgz", + "integrity": "sha512-gKPG0At9AGhF32iwjiba+ILqswc3ZFj9ZIu5HjGEmaoiOfqI6TayuHoptup0QxkI/Hx8f9mNkHCwR9COrmb69w==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.2", + "@storybook/client-logger": "7.4.2", + "@storybook/core-events": "7.4.2", + "@storybook/csf": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/router": "7.4.2", + "@storybook/theming": "7.4.2", + "@storybook/types": "7.4.2", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "semver": "^7.3.7", + "store2": "^2.14.2", + "telejson": "^7.2.0", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/storybook-addon-mock/node_modules/@storybook/router": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.2.tgz", + "integrity": "sha512-TFpMrmliklWNSrF84kGnh3WcLZciqIvaAjhxahqD+kx070KLqjxrsiny7UC6PUUYZdjLkbR9m8n3SFdXAVKgLw==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.4.2", + "memoizerific": "^1.11.3", + "qs": "^6.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/storybook-addon-mock/node_modules/@storybook/theming": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.2.tgz", + "integrity": "sha512-wVmxZHVCqDoZgUOXTS4HRV4UClLtCydRNOEuUZ7X08QIPSA1FVL3gEpTQJfgCsyBX/cwSSofAMUbzAGEVNo+9g==", + "dev": true, + "dependencies": { + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@storybook/client-logger": "7.4.2", + "@storybook/global": "^5.0.0", + "memoizerific": "^1.11.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/storybook-addon-mock/node_modules/@storybook/types": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.2.tgz", + "integrity": "sha512-OOJ2TeS3Zzc6spHbdH+JXml0q4IHuYt9axmXAv1/pkhqHjA5072pyUacmlYNQeihpQOOsKLiCQUQlvtMy9fTnQ==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.4.2", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/storybook-addon-mock/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/storybook-addon-mock/node_modules/path-to-regexp": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==", "dev": true }, + "node_modules/storybook-addon-mock/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/storybook-addon-mock/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/stream-shift": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", @@ -18402,25 +21746,27 @@ } }, "node_modules/swagger-client": { - "version": "3.23.1", - "resolved": "https://registry.npmjs.org/swagger-client/-/swagger-client-3.23.1.tgz", - "integrity": "sha512-ecRJsoGozhGvEUmim2kIc/pH9BllnPVuajuEXVm49EDbwbwbp7P+i5EW+8w5FLaqmGrx9eio51G9bvJV/XC+YQ==", + "version": "3.20.2", + "resolved": "https://registry.npmjs.org/swagger-client/-/swagger-client-3.20.2.tgz", + "integrity": "sha512-fjOI/ut7uCeT7CHHNNIa1WIT9SnzKxyoaVnysyuarVpSodpOq6D2loZStBGU4mwpXF+KvatCw2qQk9Ub6fRzZw==", "dependencies": { "@babel/runtime-corejs3": "^7.22.15", - "@swagger-api/apidom-core": ">=0.77.0 <1.0.0", - "@swagger-api/apidom-json-pointer": ">=0.77.0 <1.0.0", - "@swagger-api/apidom-ns-openapi-3-1": ">=0.77.0 <1.0.0", - "@swagger-api/apidom-reference": ">=0.77.0 <1.0.0", + "@swagger-api/apidom-core": ">=0.76.2 <1.0.0", + "@swagger-api/apidom-json-pointer": ">=0.76.2 <1.0.0", + "@swagger-api/apidom-ns-openapi-3-1": ">=0.76.2 <1.0.0", + "@swagger-api/apidom-reference": ">=0.76.2 <1.0.0", "cookie": "~0.5.0", + "cross-fetch": "^3.1.5", "deepmerge": "~4.3.0", "fast-json-patch": "^3.0.0-1", + "form-data-encoder": "^1.4.3", + "formdata-node": "^4.0.0", "is-plain-object": "^5.0.0", "js-yaml": "^4.1.0", - "node-abort-controller": "^3.1.1", - "node-fetch-commonjs": "^3.3.1", + "lodash": "^4.17.21", "qs": "^6.10.2", "traverse": "~0.6.6", - "undici": "^5.24.0" + "url": "~0.11.0" } }, "node_modules/swagger-client/node_modules/argparse": { @@ -18616,9 +21962,9 @@ } }, "node_modules/terser": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.22.0.tgz", - "integrity": "sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==", + "version": "5.19.4", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.4.tgz", + "integrity": "sha512-6p1DjHeuluwxDXcuT9VR8p64klWJKo1ILiy19s6C9+0Bh2+NWTX6nD9EPppiER4ICkHDVB1RkVpin/YW2nQn/g==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -18835,9 +22181,9 @@ } }, "node_modules/tocbot": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/tocbot/-/tocbot-4.21.2.tgz", - "integrity": "sha512-R5Muhi/TUu4i4snWVrMgNoXyJm2f8sJfdgIkQvqb+cuIXQEIMAiWGWgCgYXHqX4+XiS/Bnm7IYZ9Zy6NVe6lhw==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/tocbot/-/tocbot-4.21.1.tgz", + "integrity": "sha512-IfajhBTeg0HlMXu1f+VMbPef05QpDTsZ9X2Yn1+8npdaXsXg/+wrm9Ze1WG5OS1UDC3qJ5EQN/XOZ3gfXjPFCw==", "dev": true }, "node_modules/toidentifier": { @@ -18852,8 +22198,7 @@ "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "node_modules/transform-ast": { "version": "2.4.4", @@ -18870,12 +22215,6 @@ "nanobench": "^2.1.1" } }, - "node_modules/transform-ast/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/transform-ast/node_modules/magic-string": { "version": "0.23.2", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.23.2.tgz", @@ -18905,13 +22244,13 @@ } }, "node_modules/tree-sitter-json": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/tree-sitter-json/-/tree-sitter-json-0.20.1.tgz", - "integrity": "sha512-482hf7J+aBwhksSw8yWaqI8nyP1DrSwnS4IMBShsnkFWD3SE8oalHnsEik59fEVi3orcTCUtMzSjZx+0Tpa6Vw==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/tree-sitter-json/-/tree-sitter-json-0.20.0.tgz", + "integrity": "sha512-PteOLH+Tx6Bz4ZA/d40/DbkiSXXRM/gKahhHI8hQ1lWNfFvdknnz9k3Mz84ol5srRyLboJ8wp8GSkhZ6ht9EGQ==", "hasInstallScript": true, "optional": true, "dependencies": { - "nan": "^2.18.0" + "nan": "^2.14.1" } }, "node_modules/tree-sitter-yaml": { @@ -19137,9 +22476,9 @@ "dev": true }, "node_modules/types-ramda": { - "version": "0.29.5", - "resolved": "https://registry.npmjs.org/types-ramda/-/types-ramda-0.29.5.tgz", - "integrity": "sha512-u+bAYXHDPJR+amB0qMrMU/NXRB2PG8QqpO2v6j7yK/0mPZhlaaZj++ynYjnVpkPEpCkZEGxNpWY3X7qyLCGE3w==", + "version": "0.29.4", + "resolved": "https://registry.npmjs.org/types-ramda/-/types-ramda-0.29.4.tgz", + "integrity": "sha512-XO/820iRsCDwqLjE8XE+b57cVGPyk1h+U9lBGpDWvbEky+NQChvHVwaKM05WnW1c5z3EVQh8NhXFmh2E/1YazQ==", "dependencies": { "ts-toolbelt": "^9.6.0" } @@ -19185,23 +22524,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/undici": { - "version": "5.26.3", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.26.3.tgz", - "integrity": "sha512-H7n2zmKEWgOllKkIUkLvFmsJQj062lSm3uA4EYApG8gLuiOM0/go9bIoC3HVaSnfg4xunowDE2i9p8drkXuvDw==", - "dependencies": { - "@fastify/busboy": "^2.0.0" - }, - "engines": { - "node": ">=14.0" - } - }, - "node_modules/undici-types": { - "version": "5.25.3", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", - "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==", - "dev": true - }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", @@ -19339,12 +22661,12 @@ } }, "node_modules/unplugin": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.5.0.tgz", - "integrity": "sha512-9ZdRwbh/4gcm1JTOkp9lAkIDrtOyOxgHmY7cjuwI8L/2RTikMcVG25GsZwNAgRuap3iDw2jeq7eoqtAsz5rW3A==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.4.0.tgz", + "integrity": "sha512-5x4eIEL6WgbzqGtF9UV8VEC/ehKptPXDS6L2b0mv4FRMkJxRtjaJfOWDd6a8+kYbqsjklix7yWP0N3SUepjXcg==", "dev": true, "dependencies": { - "acorn": "^8.10.0", + "acorn": "^8.9.0", "chokidar": "^3.5.3", "webpack-sources": "^3.2.3", "webpack-virtual-modules": "^0.5.0" @@ -19419,9 +22741,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "dev": true, "funding": [ { @@ -19464,6 +22786,20 @@ "deprecated": "Please see https://github.com/lydell/urix#deprecated", "dev": true }, + "node_modules/url": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.2.tgz", + "integrity": "sha512-7yIgNnrST44S7PJ5+jXbdIupfU1nWUdQJBFBeJRclPXiWgCvrSq5Frw8lr/i//n5sqDfzoKmBymMS81l4U/7cg==", + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.11.2" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + }, "node_modules/use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -19558,13 +22894,9 @@ } }, "node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", "bin": { "uuid": "dist/bin/uuid" } @@ -19614,9 +22946,9 @@ } }, "node_modules/vite": { - "version": "4.4.11", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.11.tgz", - "integrity": "sha512-ksNZJlkcU9b0lBwAGZGGaZHCMqHsc8OpgtoYhsQ4/I2v5cnpmmmqe5pM4nv/4Hn6G/2GhTdj0DhZh2e+Er1q5A==", + "version": "4.4.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", + "integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==", "dev": true, "peer": true, "dependencies": { @@ -19730,9 +23062,9 @@ } }, "node_modules/vscode-languageserver-textdocument": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz", - "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz", + "integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==", "dev": true }, "node_modules/vscode-languageserver-types": { @@ -19819,11 +23151,11 @@ } }, "node_modules/web-streams-polyfill": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", - "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", + "version": "4.0.0-beta.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz", + "integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==", "engines": { - "node": ">= 8" + "node": ">= 14" } }, "node_modules/web-tree-sitter": { @@ -19848,8 +23180,7 @@ "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "node_modules/webpack-sources": { "version": "3.2.3", @@ -19876,7 +23207,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -20026,9 +23356,9 @@ } }, "node_modules/ws": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", - "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.1.tgz", + "integrity": "sha512-4OOseMUq8AzRBI/7SLMUwO+FEDnguetSk7KMb1sHwvF2w2Wv5Hoj0nlifx8vtGsftE/jWHojPy8sMMzYLJ2G/A==", "dev": true, "engines": { "node": ">=10.0.0" diff --git a/web/package.json b/web/package.json index 91eb66daf8cc..82fa00f9a199 100644 --- a/web/package.json +++ b/web/package.json @@ -39,9 +39,9 @@ "@formatjs/intl-listformat": "^7.5.0", "@fortawesome/fontawesome-free": "^6.4.2", "@goauthentik/api": "^2023.8.3-1697470337", - "@lit/context": "^1.0.0", + "@lit-labs/context": "^0.4.1", + "@lit-labs/task": "^3.1.0", "@lit/localize": "^0.11.4", - "@lit/task": "^1.0.0", "@open-wc/lit-helpers": "^0.6.0", "@patternfly/elements": "^2.4.0", "@patternfly/patternfly": "^4.224.2", @@ -124,9 +124,6 @@ "optionalDependencies": { "@esbuild/darwin-arm64": "^0.19.5", "@esbuild/linux-amd64": "^0.18.11", - "@esbuild/linux-arm64": "^0.19.5", - "@rollup/rollup-darwin-arm64": "4.1.4", - "@rollup/rollup-linux-x64-gnu": "4.1.4", - "@rollup/rollup-linux-arm64-gnu": "4.1.4" + "@esbuild/linux-arm64": "^0.19.5" } } diff --git a/web/src/elements/ak-locale-context/context.ts b/web/src/elements/ak-locale-context/context.ts new file mode 100644 index 000000000000..9c9903bb339d --- /dev/null +++ b/web/src/elements/ak-locale-context/context.ts @@ -0,0 +1,4 @@ +import { createContext } from "@lit-labs/context"; + +export const localeContext = createContext("locale"); +export default localeContext; diff --git a/web/src/elements/buttons/SpinnerButton/BaseTaskButton.ts b/web/src/elements/buttons/SpinnerButton/BaseTaskButton.ts index 5ee45ccdc490..0b59a7937b76 100644 --- a/web/src/elements/buttons/SpinnerButton/BaseTaskButton.ts +++ b/web/src/elements/buttons/SpinnerButton/BaseTaskButton.ts @@ -3,7 +3,7 @@ import { AKElement } from "@goauthentik/elements/Base"; import { PFSize } from "@goauthentik/elements/Spinner"; import { CustomEmitterElement } from "@goauthentik/elements/utils/eventEmitter"; -import { Task, TaskStatus } from "@lit/task"; +import { Task, TaskStatus } from "@lit-labs/task"; import { css, html } from "lit"; import PFButton from "@patternfly/patternfly/components/Button/button.css"; From e649c2f6fc5cee9d6877a40566c03c3c6f7958fe Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Oct 2023 12:37:53 +0200 Subject: [PATCH 41/57] web: bump the sentry group in /web with 2 updates (#7211) Bumps the sentry group in /web with 2 updates: [@sentry/browser](https://github.com/getsentry/sentry-javascript) and [@sentry/tracing](https://github.com/getsentry/sentry-javascript). Updates `@sentry/browser` from 7.74.0 to 7.74.1 - [Release notes](https://github.com/getsentry/sentry-javascript/releases) - [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md) - [Commits](https://github.com/getsentry/sentry-javascript/compare/7.74.0...7.74.1) Updates `@sentry/tracing` from 7.74.0 to 7.74.1 - [Release notes](https://github.com/getsentry/sentry-javascript/releases) - [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md) - [Commits](https://github.com/getsentry/sentry-javascript/compare/7.74.0...7.74.1) --- updated-dependencies: - dependency-name: "@sentry/browser" dependency-type: direct:production update-type: version-update:semver-patch dependency-group: sentry - dependency-name: "@sentry/tracing" dependency-type: direct:production update-type: version-update:semver-patch dependency-group: sentry ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web/package-lock.json | 79 +++++++++++++++++++++---------------------- web/package.json | 4 +-- 2 files changed, 41 insertions(+), 42 deletions(-) diff --git a/web/package-lock.json b/web/package-lock.json index ee050f6e0d94..6e4033572b00 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -15,7 +15,6 @@ "@codemirror/lang-xml": "^6.0.2", "@codemirror/legacy-modes": "^6.3.3", "@codemirror/theme-one-dark": "^6.1.2", - "@esbuild/linux-arm64": "^0.19.5", "@formatjs/intl-listformat": "^7.5.0", "@fortawesome/fontawesome-free": "^6.4.2", "@goauthentik/api": "^2023.8.3-1697470337", @@ -25,8 +24,8 @@ "@open-wc/lit-helpers": "^0.6.0", "@patternfly/elements": "^2.4.0", "@patternfly/patternfly": "^4.224.2", - "@sentry/browser": "^7.74.0", - "@sentry/tracing": "^7.74.0", + "@sentry/browser": "^7.74.1", + "@sentry/tracing": "^7.74.1", "@webcomponents/webcomponentsjs": "^2.8.0", "base64-js": "^1.5.1", "chart.js": "^4.4.0", @@ -4715,13 +4714,13 @@ ] }, "node_modules/@sentry-internal/tracing": { - "version": "7.74.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.74.0.tgz", - "integrity": "sha512-JK6IRGgdtZjswGfaGIHNWIThffhOHzVIIaGmglui+VFIzOsOqePjoxaDV0MEvzafxXZD7eWqGE5RGuZ0n6HFVg==", + "version": "7.74.1", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.74.1.tgz", + "integrity": "sha512-nNaiZreQxCitG2PzYPaC7XtyA9OMsETGYMKAtiK4p62/uTmeYbsBva9BoNx1XeiHRwbrVQYRMKQ9nV5e2jS4/A==", "dependencies": { - "@sentry/core": "7.74.0", - "@sentry/types": "7.74.0", - "@sentry/utils": "7.74.0", + "@sentry/core": "7.74.1", + "@sentry/types": "7.74.1", + "@sentry/utils": "7.74.1", "tslib": "^2.4.1 || ^1.9.3" }, "engines": { @@ -4729,15 +4728,15 @@ } }, "node_modules/@sentry/browser": { - "version": "7.74.0", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.74.0.tgz", - "integrity": "sha512-Njr8216Z1dFUcl6NqBOk20dssK9SjoVddY74Xq+Q4p3NfXBG3lkMcACXor7SFoJRZXq8CZWGS13Cc5KwViRw4g==", - "dependencies": { - "@sentry-internal/tracing": "7.74.0", - "@sentry/core": "7.74.0", - "@sentry/replay": "7.74.0", - "@sentry/types": "7.74.0", - "@sentry/utils": "7.74.0", + "version": "7.74.1", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.74.1.tgz", + "integrity": "sha512-OYWNne/KO60lOvkIpIlJUyiJt/9j8DGI57thSDFEYSmmbNqMitczUTBOaEStouvHKyfchqLZm1CZfWKt+z0VOA==", + "dependencies": { + "@sentry-internal/tracing": "7.74.1", + "@sentry/core": "7.74.1", + "@sentry/replay": "7.74.1", + "@sentry/types": "7.74.1", + "@sentry/utils": "7.74.1", "tslib": "^2.4.1 || ^1.9.3" }, "engines": { @@ -4745,12 +4744,12 @@ } }, "node_modules/@sentry/core": { - "version": "7.74.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.74.0.tgz", - "integrity": "sha512-83NRuqn7nDZkSVBN5yJQqcpXDG4yMYiB7TkYUKrGTzBpRy6KUOrkCdybuKk0oraTIGiGSe5WEwCFySiNgR9FzA==", + "version": "7.74.1", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.74.1.tgz", + "integrity": "sha512-LvEhOSfdIvwkr+PdlrT/aA/iOLhkXrSkvjqAQyogE4ddCWeYfS0NoirxNt1EaxMBAWKhYZRqzkA7WA4LDLbzlA==", "dependencies": { - "@sentry/types": "7.74.0", - "@sentry/utils": "7.74.0", + "@sentry/types": "7.74.1", + "@sentry/utils": "7.74.1", "tslib": "^2.4.1 || ^1.9.3" }, "engines": { @@ -4758,43 +4757,43 @@ } }, "node_modules/@sentry/replay": { - "version": "7.74.0", - "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.74.0.tgz", - "integrity": "sha512-GoYa3cHTTFVI/J1cnZ0i4X128mf/JljaswO3PWNTe2k3lSHq/LM5aV0keClRvwM0W8hlix8oOTT06nnenOUmmw==", + "version": "7.74.1", + "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.74.1.tgz", + "integrity": "sha512-qmbOl+jYdyhoHFbPp9WemKx8UojID5hVmuVLxNIP0ANqAwmE9OQEK9YFg2cf7L/TpKb1tqz0qLgi5MYIdcdpgQ==", "dependencies": { - "@sentry/core": "7.74.0", - "@sentry/types": "7.74.0", - "@sentry/utils": "7.74.0" + "@sentry/core": "7.74.1", + "@sentry/types": "7.74.1", + "@sentry/utils": "7.74.1" }, "engines": { "node": ">=12" } }, "node_modules/@sentry/tracing": { - "version": "7.74.0", - "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-7.74.0.tgz", - "integrity": "sha512-rSFJADhh3J3zmkzJ1EXCOwS3h7F6o/lSKu7CWZSZ6k5kBvbCJ5AXvGQadhPdWPJMMcPFzCJaOyTKEPcwL4tbCw==", + "version": "7.74.1", + "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-7.74.1.tgz", + "integrity": "sha512-YqhLMY28uukOR8FtoCMvzdzBYkTtwj/JHUensDEpTZG5OoQTjrcgttpL+WMaCBUy1MpOIo7FyLB5aoRq2U7AIA==", "dependencies": { - "@sentry-internal/tracing": "7.74.0" + "@sentry-internal/tracing": "7.74.1" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/types": { - "version": "7.74.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.74.0.tgz", - "integrity": "sha512-rI5eIRbUycWjn6s6o3yAjjWtIvYSxZDdnKv5je2EZINfLKcMPj1dkl6wQd2F4y7gLfD/N6Y0wZYIXC3DUdJQQg==", + "version": "7.74.1", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.74.1.tgz", + "integrity": "sha512-2jIuPc+YKvXqZETwr2E8VYnsH1zsSUR/wkIvg1uTVeVNyoowJv+YsOtCdeGyL2AwiotUBSPKu7O1Lz0kq5rMOQ==", "engines": { "node": ">=8" } }, "node_modules/@sentry/utils": { - "version": "7.74.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.74.0.tgz", - "integrity": "sha512-k3np8nuTPtx5KDODPtULfFln4UXdE56MZCcF19Jv6Ljxf+YN/Ady1+0Oi3e0XoSvFpWNyWnglauT7M65qCE6kg==", + "version": "7.74.1", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.74.1.tgz", + "integrity": "sha512-qUsqufuHYcy5gFhLZslLxA5kcEOkkODITXW3c7D+x+8iP/AJqa8v8CeUCVNS7RetHCuIeWAbbTClC4c411EwQg==", "dependencies": { - "@sentry/types": "7.74.0", + "@sentry/types": "7.74.1", "tslib": "^2.4.1 || ^1.9.3" }, "engines": { diff --git a/web/package.json b/web/package.json index 82fa00f9a199..d0b8f48cacd6 100644 --- a/web/package.json +++ b/web/package.json @@ -45,8 +45,8 @@ "@open-wc/lit-helpers": "^0.6.0", "@patternfly/elements": "^2.4.0", "@patternfly/patternfly": "^4.224.2", - "@sentry/browser": "^7.74.0", - "@sentry/tracing": "^7.74.0", + "@sentry/browser": "^7.74.1", + "@sentry/tracing": "^7.74.1", "@webcomponents/webcomponentsjs": "^2.8.0", "base64-js": "^1.5.1", "chart.js": "^4.4.0", From 35147230d7cf3160c4b9fb3e44eaf8cba2cd67ef Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Oct 2023 12:38:07 +0200 Subject: [PATCH 42/57] web: bump the storybook group in /web with 5 updates (#7212) Bumps the storybook group in /web with 5 updates: | Package | From | To | | --- | --- | --- | | [@storybook/addon-essentials](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials) | `7.4.6` | `7.5.0` | | [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/links) | `7.4.6` | `7.5.0` | | [@storybook/web-components](https://github.com/storybookjs/storybook/tree/HEAD/code/renderers/web-components) | `7.4.6` | `7.5.0` | | [@storybook/web-components-vite](https://github.com/storybookjs/storybook/tree/HEAD/code/frameworks/web-components-vite) | `7.4.6` | `7.5.0` | | [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/cli) | `7.4.6` | `7.5.0` | Updates `@storybook/addon-essentials` from 7.4.6 to 7.5.0 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md) - [Commits](https://github.com/storybookjs/storybook/commits/v7.5.0/code/addons/essentials) Updates `@storybook/addon-links` from 7.4.6 to 7.5.0 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md) - [Commits](https://github.com/storybookjs/storybook/commits/v7.5.0/code/addons/links) Updates `@storybook/web-components` from 7.4.6 to 7.5.0 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md) - [Commits](https://github.com/storybookjs/storybook/commits/v7.5.0/code/renderers/web-components) Updates `@storybook/web-components-vite` from 7.4.6 to 7.5.0 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md) - [Commits](https://github.com/storybookjs/storybook/commits/v7.5.0/code/frameworks/web-components-vite) Updates `storybook` from 7.4.6 to 7.5.0 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md) - [Commits](https://github.com/storybookjs/storybook/commits/v7.5.0/code/lib/cli) --- updated-dependencies: - dependency-name: "@storybook/addon-essentials" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: storybook - dependency-name: "@storybook/addon-links" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: storybook - dependency-name: "@storybook/web-components" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: storybook - dependency-name: "@storybook/web-components-vite" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: storybook - dependency-name: storybook dependency-type: direct:development update-type: version-update:semver-minor dependency-group: storybook ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web/package-lock.json | 1935 ++++++++++++++++++++--------------------- web/package.json | 10 +- 2 files changed, 971 insertions(+), 974 deletions(-) diff --git a/web/package-lock.json b/web/package-lock.json index 6e4033572b00..7b97a607214c 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -61,11 +61,11 @@ "@rollup/plugin-replace": "^5.0.4", "@rollup/plugin-terser": "^0.4.4", "@rollup/plugin-typescript": "^11.1.5", - "@storybook/addon-essentials": "^7.4.6", - "@storybook/addon-links": "^7.4.6", + "@storybook/addon-essentials": "^7.5.0", + "@storybook/addon-links": "^7.5.0", "@storybook/blocks": "^7.1.1", - "@storybook/web-components": "^7.4.6", - "@storybook/web-components-vite": "^7.4.6", + "@storybook/web-components": "^7.5.0", + "@storybook/web-components-vite": "^7.5.0", "@trivago/prettier-plugin-sort-imports": "^4.2.0", "@types/chart.js": "^2.9.39", "@types/codemirror": "5.60.11", @@ -92,7 +92,7 @@ "rollup-plugin-copy": "^3.5.0", "rollup-plugin-cssimport": "^1.0.3", "rollup-plugin-postcss-lit": "^2.1.0", - "storybook": "^7.4.6", + "storybook": "^7.5.0", "storybook-addon-mock": "^4.3.0", "ts-lit-plugin": "^1.2.1", "tslib": "^2.6.2", @@ -4807,19 +4807,19 @@ "dev": true }, "node_modules/@storybook/addon-actions": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.4.6.tgz", - "integrity": "sha512-SsqZr3js5NinKPnC8AeNI7Ij+Q6fIl9tRdRmSulEgjksjOg7E5S1/Wsn5Bb2CCgj7MaX6VxGyC7s3XskQtDiIQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.5.0.tgz", + "integrity": "sha512-eeHIFpZXGyhkfmrbHRf3rndL+ppFqlKTgN74y+UfFaAWNUhV3caXxRbHV3BbcPSLkRAsNShBH9hTNTlUAHSVjA==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/components": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/components": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/manager-api": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/theming": "7.5.0", + "@storybook/types": "7.5.0", "dequal": "^2.0.2", "lodash": "^4.17.21", "polished": "^4.2.2", @@ -4847,13 +4847,13 @@ } }, "node_modules/@storybook/addon-actions/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.5.0.tgz", + "integrity": "sha512-/7QJS1UA7TX3uhZqCpjv4Ib8nfMnDOJrBWvjiXiUONaRcSk/he5X+W1Zz/c7dgt+wkYuAh+evjc7glIaBhVNVQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.2.0", @@ -4865,9 +4865,9 @@ } }, "node_modules/@storybook/addon-actions/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.5.0.tgz", + "integrity": "sha512-JV7J9vc69f9Il4uW62NIeweUU7O38VwFWxtCkhd0bcBA/9RG0go4M2avzxYYEAe9kIOX9IBBk8WGzMacwW4gKQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -4878,9 +4878,9 @@ } }, "node_modules/@storybook/addon-actions/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.5.0.tgz", + "integrity": "sha512-FsD+clTzayqprbVllnL8LLch+uCslJFDgsv7Zh99/zoi7OHtHyauoCZkdLBSiDzgc84qS41dY19HqX1/y7cnOw==", "dev": true, "dependencies": { "ts-dedent": "^2.0.0" @@ -4891,19 +4891,19 @@ } }, "node_modules/@storybook/addon-actions/node_modules/@storybook/manager-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", - "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.5.0.tgz", + "integrity": "sha512-n9EaJTThsuFiBDs+GcmNBHnvLhH0znJQprhIQqHNVnosCs/7sloYUzWZzZvPwfnfPvRR7ostEEMXvriaYXYdJQ==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/router": "7.5.0", + "@storybook/theming": "7.5.0", + "@storybook/types": "7.5.0", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -4922,17 +4922,17 @@ } }, "node_modules/@storybook/addon-actions/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.5.0.tgz", + "integrity": "sha512-+DubgKwYFk532FKDB6sEGaG47wr0t137aIQSjbNwVmXXxj0QY0zIAThtERx7w6eHS7ZjOs6xlLEZhzC4FI525g==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", + "@storybook/types": "7.5.0", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -4948,12 +4948,12 @@ } }, "node_modules/@storybook/addon-actions/node_modules/@storybook/router": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", - "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.5.0.tgz", + "integrity": "sha512-NzPwjndmOEOUL8jK5kUrSvRUIcN5Z+h+l0Z8g4I56RoEhNTcKeOW4jbcT4WKnR9H455dti8HAcTV/4x59GpgxQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", + "@storybook/client-logger": "7.5.0", "memoizerific": "^1.11.3", "qs": "^6.10.0" }, @@ -4967,13 +4967,13 @@ } }, "node_modules/@storybook/addon-actions/node_modules/@storybook/theming": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", - "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.5.0.tgz", + "integrity": "sha512-uTo97oh+pvmlfsZocFq5qae0zGo0VGk7oiBqNSSw6CiTqE1rIuSxoPrMAY+oCTWCUZV7DjONIGvpnGl2QALsAw==", "dev": true, "dependencies": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.6", + "@storybook/client-logger": "7.5.0", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" }, @@ -4987,12 +4987,12 @@ } }, "node_modules/@storybook/addon-actions/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.5.0.tgz", + "integrity": "sha512-fiOUnHKFi/UZSfvc53F0WEQCiquqcSqslL3f5EffwQRiXfeXlGavJb0kU03BO+CvOXcliRn6qKSF2dL0Rgb7Xw==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", + "@storybook/channels": "7.5.0", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -5036,19 +5036,19 @@ "dev": true }, "node_modules/@storybook/addon-backgrounds": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-7.4.6.tgz", - "integrity": "sha512-+LHTZB/ZYMAzkyD5ZxSriBsqmsrvIaW/Nnd/BeuXGbkrVKKqM0qAKiFZAfjc2WchA1piVNy0/1Rsf+kuYCEiJw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-7.5.0.tgz", + "integrity": "sha512-Yu/eFHZIfyAhK28GKKcIBwj/9+hRem8pSdI3N0FJuOhErmaE0zg6VDUBzkgLa/Fn9SwC5PNyAeLAtxssg1KSNg==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/components": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/components": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/manager-api": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/theming": "7.5.0", + "@storybook/types": "7.5.0", "memoizerific": "^1.11.3", "ts-dedent": "^2.0.0" }, @@ -5070,13 +5070,13 @@ } }, "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.5.0.tgz", + "integrity": "sha512-/7QJS1UA7TX3uhZqCpjv4Ib8nfMnDOJrBWvjiXiUONaRcSk/he5X+W1Zz/c7dgt+wkYuAh+evjc7glIaBhVNVQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.2.0", @@ -5088,9 +5088,9 @@ } }, "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.5.0.tgz", + "integrity": "sha512-JV7J9vc69f9Il4uW62NIeweUU7O38VwFWxtCkhd0bcBA/9RG0go4M2avzxYYEAe9kIOX9IBBk8WGzMacwW4gKQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -5101,9 +5101,9 @@ } }, "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.5.0.tgz", + "integrity": "sha512-FsD+clTzayqprbVllnL8LLch+uCslJFDgsv7Zh99/zoi7OHtHyauoCZkdLBSiDzgc84qS41dY19HqX1/y7cnOw==", "dev": true, "dependencies": { "ts-dedent": "^2.0.0" @@ -5114,19 +5114,19 @@ } }, "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/manager-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", - "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.5.0.tgz", + "integrity": "sha512-n9EaJTThsuFiBDs+GcmNBHnvLhH0znJQprhIQqHNVnosCs/7sloYUzWZzZvPwfnfPvRR7ostEEMXvriaYXYdJQ==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/router": "7.5.0", + "@storybook/theming": "7.5.0", + "@storybook/types": "7.5.0", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -5145,17 +5145,17 @@ } }, "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.5.0.tgz", + "integrity": "sha512-+DubgKwYFk532FKDB6sEGaG47wr0t137aIQSjbNwVmXXxj0QY0zIAThtERx7w6eHS7ZjOs6xlLEZhzC4FI525g==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", + "@storybook/types": "7.5.0", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -5171,12 +5171,12 @@ } }, "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/router": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", - "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.5.0.tgz", + "integrity": "sha512-NzPwjndmOEOUL8jK5kUrSvRUIcN5Z+h+l0Z8g4I56RoEhNTcKeOW4jbcT4WKnR9H455dti8HAcTV/4x59GpgxQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", + "@storybook/client-logger": "7.5.0", "memoizerific": "^1.11.3", "qs": "^6.10.0" }, @@ -5190,13 +5190,13 @@ } }, "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/theming": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", - "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.5.0.tgz", + "integrity": "sha512-uTo97oh+pvmlfsZocFq5qae0zGo0VGk7oiBqNSSw6CiTqE1rIuSxoPrMAY+oCTWCUZV7DjONIGvpnGl2QALsAw==", "dev": true, "dependencies": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.6", + "@storybook/client-logger": "7.5.0", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" }, @@ -5210,12 +5210,12 @@ } }, "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.5.0.tgz", + "integrity": "sha512-fiOUnHKFi/UZSfvc53F0WEQCiquqcSqslL3f5EffwQRiXfeXlGavJb0kU03BO+CvOXcliRn6qKSF2dL0Rgb7Xw==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", + "@storybook/channels": "7.5.0", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -5259,21 +5259,21 @@ "dev": true }, "node_modules/@storybook/addon-controls": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.4.6.tgz", - "integrity": "sha512-4lq3sycEUIsK8SUWDYc60QgF4vV9FZZ3lDr6M7j2W9bOnvGw49d2fbdlnq+bX1ZprZZ9VgglQpBAorQB3BXZRw==", - "dev": true, - "dependencies": { - "@storybook/blocks": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/components": "7.4.6", - "@storybook/core-common": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/manager-api": "7.4.6", - "@storybook/node-logger": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.5.0.tgz", + "integrity": "sha512-X56Pd+0GH1A8ddVsziJQaJ8qCaxsWK0aLCKH5li9GLtnyIGHvd5+KvvfYEbjTkeJv3d9J7X0D4uTAH1/dsmI8w==", + "dev": true, + "dependencies": { + "@storybook/blocks": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/components": "7.5.0", + "@storybook/core-common": "7.5.0", + "@storybook/core-events": "7.5.0", + "@storybook/manager-api": "7.5.0", + "@storybook/node-logger": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/theming": "7.5.0", + "@storybook/types": "7.5.0", "lodash": "^4.17.21", "ts-dedent": "^2.0.0" }, @@ -5295,13 +5295,13 @@ } }, "node_modules/@storybook/addon-controls/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.5.0.tgz", + "integrity": "sha512-/7QJS1UA7TX3uhZqCpjv4Ib8nfMnDOJrBWvjiXiUONaRcSk/he5X+W1Zz/c7dgt+wkYuAh+evjc7glIaBhVNVQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.2.0", @@ -5313,9 +5313,9 @@ } }, "node_modules/@storybook/addon-controls/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.5.0.tgz", + "integrity": "sha512-JV7J9vc69f9Il4uW62NIeweUU7O38VwFWxtCkhd0bcBA/9RG0go4M2avzxYYEAe9kIOX9IBBk8WGzMacwW4gKQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -5326,9 +5326,9 @@ } }, "node_modules/@storybook/addon-controls/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.5.0.tgz", + "integrity": "sha512-FsD+clTzayqprbVllnL8LLch+uCslJFDgsv7Zh99/zoi7OHtHyauoCZkdLBSiDzgc84qS41dY19HqX1/y7cnOw==", "dev": true, "dependencies": { "ts-dedent": "^2.0.0" @@ -5339,19 +5339,19 @@ } }, "node_modules/@storybook/addon-controls/node_modules/@storybook/manager-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", - "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.5.0.tgz", + "integrity": "sha512-n9EaJTThsuFiBDs+GcmNBHnvLhH0znJQprhIQqHNVnosCs/7sloYUzWZzZvPwfnfPvRR7ostEEMXvriaYXYdJQ==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/router": "7.5.0", + "@storybook/theming": "7.5.0", + "@storybook/types": "7.5.0", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -5370,17 +5370,17 @@ } }, "node_modules/@storybook/addon-controls/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.5.0.tgz", + "integrity": "sha512-+DubgKwYFk532FKDB6sEGaG47wr0t137aIQSjbNwVmXXxj0QY0zIAThtERx7w6eHS7ZjOs6xlLEZhzC4FI525g==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", + "@storybook/types": "7.5.0", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -5396,12 +5396,12 @@ } }, "node_modules/@storybook/addon-controls/node_modules/@storybook/router": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", - "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.5.0.tgz", + "integrity": "sha512-NzPwjndmOEOUL8jK5kUrSvRUIcN5Z+h+l0Z8g4I56RoEhNTcKeOW4jbcT4WKnR9H455dti8HAcTV/4x59GpgxQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", + "@storybook/client-logger": "7.5.0", "memoizerific": "^1.11.3", "qs": "^6.10.0" }, @@ -5415,13 +5415,13 @@ } }, "node_modules/@storybook/addon-controls/node_modules/@storybook/theming": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", - "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.5.0.tgz", + "integrity": "sha512-uTo97oh+pvmlfsZocFq5qae0zGo0VGk7oiBqNSSw6CiTqE1rIuSxoPrMAY+oCTWCUZV7DjONIGvpnGl2QALsAw==", "dev": true, "dependencies": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.6", + "@storybook/client-logger": "7.5.0", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" }, @@ -5435,12 +5435,12 @@ } }, "node_modules/@storybook/addon-controls/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.5.0.tgz", + "integrity": "sha512-fiOUnHKFi/UZSfvc53F0WEQCiquqcSqslL3f5EffwQRiXfeXlGavJb0kU03BO+CvOXcliRn6qKSF2dL0Rgb7Xw==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", + "@storybook/channels": "7.5.0", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -5484,26 +5484,26 @@ "dev": true }, "node_modules/@storybook/addon-docs": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.4.6.tgz", - "integrity": "sha512-dLaub+XWFq4hChw+xfuF9yYg0Txp77FUawKoAigccfjWXx+OOhRV3XTuAcknpXkYq94GWynHgUFXosXT9kbDNA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.5.0.tgz", + "integrity": "sha512-lgrum81iJT+i85kO3uOR4wR1t05x4SmJLCB2cyYohCIafiOiV4FuyYFhvT9N6UhHByOfrWgpipKgKg6zsmV2eg==", "dev": true, "dependencies": { "@jest/transform": "^29.3.1", "@mdx-js/react": "^2.1.5", - "@storybook/blocks": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/components": "7.4.6", - "@storybook/csf-plugin": "7.4.6", - "@storybook/csf-tools": "7.4.6", + "@storybook/blocks": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/components": "7.5.0", + "@storybook/csf-plugin": "7.5.0", + "@storybook/csf-tools": "7.5.0", "@storybook/global": "^5.0.0", "@storybook/mdx2-csf": "^1.0.0", - "@storybook/node-logger": "7.4.6", - "@storybook/postinstall": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/react-dom-shim": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/node-logger": "7.5.0", + "@storybook/postinstall": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/react-dom-shim": "7.5.0", + "@storybook/theming": "7.5.0", + "@storybook/types": "7.5.0", "fs-extra": "^11.1.0", "remark-external-links": "^8.0.0", "remark-slug": "^6.0.0", @@ -5519,13 +5519,13 @@ } }, "node_modules/@storybook/addon-docs/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.5.0.tgz", + "integrity": "sha512-/7QJS1UA7TX3uhZqCpjv4Ib8nfMnDOJrBWvjiXiUONaRcSk/he5X+W1Zz/c7dgt+wkYuAh+evjc7glIaBhVNVQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.2.0", @@ -5537,9 +5537,9 @@ } }, "node_modules/@storybook/addon-docs/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.5.0.tgz", + "integrity": "sha512-JV7J9vc69f9Il4uW62NIeweUU7O38VwFWxtCkhd0bcBA/9RG0go4M2avzxYYEAe9kIOX9IBBk8WGzMacwW4gKQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -5550,9 +5550,9 @@ } }, "node_modules/@storybook/addon-docs/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.5.0.tgz", + "integrity": "sha512-FsD+clTzayqprbVllnL8LLch+uCslJFDgsv7Zh99/zoi7OHtHyauoCZkdLBSiDzgc84qS41dY19HqX1/y7cnOw==", "dev": true, "dependencies": { "ts-dedent": "^2.0.0" @@ -5563,17 +5563,17 @@ } }, "node_modules/@storybook/addon-docs/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.5.0.tgz", + "integrity": "sha512-+DubgKwYFk532FKDB6sEGaG47wr0t137aIQSjbNwVmXXxj0QY0zIAThtERx7w6eHS7ZjOs6xlLEZhzC4FI525g==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", + "@storybook/types": "7.5.0", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -5589,13 +5589,13 @@ } }, "node_modules/@storybook/addon-docs/node_modules/@storybook/theming": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", - "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.5.0.tgz", + "integrity": "sha512-uTo97oh+pvmlfsZocFq5qae0zGo0VGk7oiBqNSSw6CiTqE1rIuSxoPrMAY+oCTWCUZV7DjONIGvpnGl2QALsAw==", "dev": true, "dependencies": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.6", + "@storybook/client-logger": "7.5.0", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" }, @@ -5609,12 +5609,12 @@ } }, "node_modules/@storybook/addon-docs/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.5.0.tgz", + "integrity": "sha512-fiOUnHKFi/UZSfvc53F0WEQCiquqcSqslL3f5EffwQRiXfeXlGavJb0kU03BO+CvOXcliRn6qKSF2dL0Rgb7Xw==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", + "@storybook/channels": "7.5.0", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -5639,24 +5639,24 @@ } }, "node_modules/@storybook/addon-essentials": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.4.6.tgz", - "integrity": "sha512-dWodufrt71TK7ELkeIvVae/x4PzECUlbOm57Iqqt4yQCyR291CgvI4PjeB8un2HbpcXCGZ+N/Oj3YkytvzBi4A==", - "dev": true, - "dependencies": { - "@storybook/addon-actions": "7.4.6", - "@storybook/addon-backgrounds": "7.4.6", - "@storybook/addon-controls": "7.4.6", - "@storybook/addon-docs": "7.4.6", - "@storybook/addon-highlight": "7.4.6", - "@storybook/addon-measure": "7.4.6", - "@storybook/addon-outline": "7.4.6", - "@storybook/addon-toolbars": "7.4.6", - "@storybook/addon-viewport": "7.4.6", - "@storybook/core-common": "7.4.6", - "@storybook/manager-api": "7.4.6", - "@storybook/node-logger": "7.4.6", - "@storybook/preview-api": "7.4.6", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.5.0.tgz", + "integrity": "sha512-CKPHdQBP6psTVb3NHsP8cWSUcAA4kwzT8SrJxKddn4ecqmWJWeZo5g5y3WuqVQHlv3edpluJLQYehcVibcljag==", + "dev": true, + "dependencies": { + "@storybook/addon-actions": "7.5.0", + "@storybook/addon-backgrounds": "7.5.0", + "@storybook/addon-controls": "7.5.0", + "@storybook/addon-docs": "7.5.0", + "@storybook/addon-highlight": "7.5.0", + "@storybook/addon-measure": "7.5.0", + "@storybook/addon-outline": "7.5.0", + "@storybook/addon-toolbars": "7.5.0", + "@storybook/addon-viewport": "7.5.0", + "@storybook/core-common": "7.5.0", + "@storybook/manager-api": "7.5.0", + "@storybook/node-logger": "7.5.0", + "@storybook/preview-api": "7.5.0", "ts-dedent": "^2.0.0" }, "funding": { @@ -5669,13 +5669,13 @@ } }, "node_modules/@storybook/addon-essentials/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.5.0.tgz", + "integrity": "sha512-/7QJS1UA7TX3uhZqCpjv4Ib8nfMnDOJrBWvjiXiUONaRcSk/he5X+W1Zz/c7dgt+wkYuAh+evjc7glIaBhVNVQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.2.0", @@ -5687,9 +5687,9 @@ } }, "node_modules/@storybook/addon-essentials/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.5.0.tgz", + "integrity": "sha512-JV7J9vc69f9Il4uW62NIeweUU7O38VwFWxtCkhd0bcBA/9RG0go4M2avzxYYEAe9kIOX9IBBk8WGzMacwW4gKQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -5700,9 +5700,9 @@ } }, "node_modules/@storybook/addon-essentials/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.5.0.tgz", + "integrity": "sha512-FsD+clTzayqprbVllnL8LLch+uCslJFDgsv7Zh99/zoi7OHtHyauoCZkdLBSiDzgc84qS41dY19HqX1/y7cnOw==", "dev": true, "dependencies": { "ts-dedent": "^2.0.0" @@ -5713,19 +5713,19 @@ } }, "node_modules/@storybook/addon-essentials/node_modules/@storybook/manager-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", - "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.5.0.tgz", + "integrity": "sha512-n9EaJTThsuFiBDs+GcmNBHnvLhH0znJQprhIQqHNVnosCs/7sloYUzWZzZvPwfnfPvRR7ostEEMXvriaYXYdJQ==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/router": "7.5.0", + "@storybook/theming": "7.5.0", + "@storybook/types": "7.5.0", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -5744,17 +5744,17 @@ } }, "node_modules/@storybook/addon-essentials/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.5.0.tgz", + "integrity": "sha512-+DubgKwYFk532FKDB6sEGaG47wr0t137aIQSjbNwVmXXxj0QY0zIAThtERx7w6eHS7ZjOs6xlLEZhzC4FI525g==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", + "@storybook/types": "7.5.0", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -5770,12 +5770,12 @@ } }, "node_modules/@storybook/addon-essentials/node_modules/@storybook/router": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", - "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.5.0.tgz", + "integrity": "sha512-NzPwjndmOEOUL8jK5kUrSvRUIcN5Z+h+l0Z8g4I56RoEhNTcKeOW4jbcT4WKnR9H455dti8HAcTV/4x59GpgxQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", + "@storybook/client-logger": "7.5.0", "memoizerific": "^1.11.3", "qs": "^6.10.0" }, @@ -5789,13 +5789,13 @@ } }, "node_modules/@storybook/addon-essentials/node_modules/@storybook/theming": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", - "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.5.0.tgz", + "integrity": "sha512-uTo97oh+pvmlfsZocFq5qae0zGo0VGk7oiBqNSSw6CiTqE1rIuSxoPrMAY+oCTWCUZV7DjONIGvpnGl2QALsAw==", "dev": true, "dependencies": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.6", + "@storybook/client-logger": "7.5.0", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" }, @@ -5809,12 +5809,12 @@ } }, "node_modules/@storybook/addon-essentials/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.5.0.tgz", + "integrity": "sha512-fiOUnHKFi/UZSfvc53F0WEQCiquqcSqslL3f5EffwQRiXfeXlGavJb0kU03BO+CvOXcliRn6qKSF2dL0Rgb7Xw==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", + "@storybook/channels": "7.5.0", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -5858,14 +5858,14 @@ "dev": true }, "node_modules/@storybook/addon-highlight": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.4.6.tgz", - "integrity": "sha512-zCufxxD2KS5VwczxfkcBxe1oR/juTTn2H1Qm8kYvWCJQx3UxzX0+G9cwafbpV7eivqaufLweEwROkH+0KjAtkQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.5.0.tgz", + "integrity": "sha512-6SlEkGCZ/LnEcbN6oE2Au3fgI9VfULErWQ36bx+sV6WWTb1EoooiD7ZJJzobrcOAriSyfWoctO5DF4W+X9I8lg==", "dev": true, "dependencies": { - "@storybook/core-events": "7.4.6", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", - "@storybook/preview-api": "7.4.6" + "@storybook/preview-api": "7.5.0" }, "funding": { "type": "opencollective", @@ -5873,13 +5873,13 @@ } }, "node_modules/@storybook/addon-highlight/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.5.0.tgz", + "integrity": "sha512-/7QJS1UA7TX3uhZqCpjv4Ib8nfMnDOJrBWvjiXiUONaRcSk/he5X+W1Zz/c7dgt+wkYuAh+evjc7glIaBhVNVQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.2.0", @@ -5891,9 +5891,9 @@ } }, "node_modules/@storybook/addon-highlight/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.5.0.tgz", + "integrity": "sha512-JV7J9vc69f9Il4uW62NIeweUU7O38VwFWxtCkhd0bcBA/9RG0go4M2avzxYYEAe9kIOX9IBBk8WGzMacwW4gKQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -5904,9 +5904,9 @@ } }, "node_modules/@storybook/addon-highlight/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.5.0.tgz", + "integrity": "sha512-FsD+clTzayqprbVllnL8LLch+uCslJFDgsv7Zh99/zoi7OHtHyauoCZkdLBSiDzgc84qS41dY19HqX1/y7cnOw==", "dev": true, "dependencies": { "ts-dedent": "^2.0.0" @@ -5917,17 +5917,17 @@ } }, "node_modules/@storybook/addon-highlight/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.5.0.tgz", + "integrity": "sha512-+DubgKwYFk532FKDB6sEGaG47wr0t137aIQSjbNwVmXXxj0QY0zIAThtERx7w6eHS7ZjOs6xlLEZhzC4FI525g==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", + "@storybook/types": "7.5.0", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -5943,12 +5943,12 @@ } }, "node_modules/@storybook/addon-highlight/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.5.0.tgz", + "integrity": "sha512-fiOUnHKFi/UZSfvc53F0WEQCiquqcSqslL3f5EffwQRiXfeXlGavJb0kU03BO+CvOXcliRn6qKSF2dL0Rgb7Xw==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", + "@storybook/channels": "7.5.0", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -5959,19 +5959,19 @@ } }, "node_modules/@storybook/addon-links": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-7.4.6.tgz", - "integrity": "sha512-BPygElZKX+CPI9Se6GJNk1dYc5oxuhA+vHigO1tBqhiM6VkHyFP3cvezJNQvpNYhkUnu3cxnZXb3UJnlRbPY3g==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-7.5.0.tgz", + "integrity": "sha512-1j0I80k8V1sSGN3faduj9uFk0ThgT4qAYyA/5q2YYA4y6V/K8ywJVOR3nv5j7ueTeBD/gUaoncn+NosusrhRNQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/router": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/manager-api": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/router": "7.5.0", + "@storybook/types": "7.5.0", "prop-types": "^15.7.2", "ts-dedent": "^2.0.0" }, @@ -5993,13 +5993,13 @@ } }, "node_modules/@storybook/addon-links/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.5.0.tgz", + "integrity": "sha512-/7QJS1UA7TX3uhZqCpjv4Ib8nfMnDOJrBWvjiXiUONaRcSk/he5X+W1Zz/c7dgt+wkYuAh+evjc7glIaBhVNVQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.2.0", @@ -6011,9 +6011,9 @@ } }, "node_modules/@storybook/addon-links/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.5.0.tgz", + "integrity": "sha512-JV7J9vc69f9Il4uW62NIeweUU7O38VwFWxtCkhd0bcBA/9RG0go4M2avzxYYEAe9kIOX9IBBk8WGzMacwW4gKQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -6024,9 +6024,9 @@ } }, "node_modules/@storybook/addon-links/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.5.0.tgz", + "integrity": "sha512-FsD+clTzayqprbVllnL8LLch+uCslJFDgsv7Zh99/zoi7OHtHyauoCZkdLBSiDzgc84qS41dY19HqX1/y7cnOw==", "dev": true, "dependencies": { "ts-dedent": "^2.0.0" @@ -6037,19 +6037,19 @@ } }, "node_modules/@storybook/addon-links/node_modules/@storybook/manager-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", - "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.5.0.tgz", + "integrity": "sha512-n9EaJTThsuFiBDs+GcmNBHnvLhH0znJQprhIQqHNVnosCs/7sloYUzWZzZvPwfnfPvRR7ostEEMXvriaYXYdJQ==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/router": "7.5.0", + "@storybook/theming": "7.5.0", + "@storybook/types": "7.5.0", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -6068,17 +6068,17 @@ } }, "node_modules/@storybook/addon-links/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.5.0.tgz", + "integrity": "sha512-+DubgKwYFk532FKDB6sEGaG47wr0t137aIQSjbNwVmXXxj0QY0zIAThtERx7w6eHS7ZjOs6xlLEZhzC4FI525g==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", + "@storybook/types": "7.5.0", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -6094,12 +6094,12 @@ } }, "node_modules/@storybook/addon-links/node_modules/@storybook/router": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", - "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.5.0.tgz", + "integrity": "sha512-NzPwjndmOEOUL8jK5kUrSvRUIcN5Z+h+l0Z8g4I56RoEhNTcKeOW4jbcT4WKnR9H455dti8HAcTV/4x59GpgxQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", + "@storybook/client-logger": "7.5.0", "memoizerific": "^1.11.3", "qs": "^6.10.0" }, @@ -6113,13 +6113,13 @@ } }, "node_modules/@storybook/addon-links/node_modules/@storybook/theming": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", - "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.5.0.tgz", + "integrity": "sha512-uTo97oh+pvmlfsZocFq5qae0zGo0VGk7oiBqNSSw6CiTqE1rIuSxoPrMAY+oCTWCUZV7DjONIGvpnGl2QALsAw==", "dev": true, "dependencies": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.6", + "@storybook/client-logger": "7.5.0", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" }, @@ -6133,12 +6133,12 @@ } }, "node_modules/@storybook/addon-links/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.5.0.tgz", + "integrity": "sha512-fiOUnHKFi/UZSfvc53F0WEQCiquqcSqslL3f5EffwQRiXfeXlGavJb0kU03BO+CvOXcliRn6qKSF2dL0Rgb7Xw==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", + "@storybook/channels": "7.5.0", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -6182,18 +6182,18 @@ "dev": true }, "node_modules/@storybook/addon-measure": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-7.4.6.tgz", - "integrity": "sha512-nCymMLaHnxv8TE3yEM1A9Tulb1NuRXRNmtsdHTkjv7P1aWCxZo8A/GZaottKe/GLT8jSRjZ+dnpYWrbAhw6wTQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-7.5.0.tgz", + "integrity": "sha512-zzHrQpn+burEr37hV1QV7yA1M33wBa38dUe+RLNYkS9g22BXYYZ/uVUhljpmA9DhZCUNJqYbXWi+ad4XMPE6+Q==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/components": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/components": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/manager-api": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/types": "7.5.0", "tiny-invariant": "^1.3.1" }, "funding": { @@ -6214,13 +6214,13 @@ } }, "node_modules/@storybook/addon-measure/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.5.0.tgz", + "integrity": "sha512-/7QJS1UA7TX3uhZqCpjv4Ib8nfMnDOJrBWvjiXiUONaRcSk/he5X+W1Zz/c7dgt+wkYuAh+evjc7glIaBhVNVQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.2.0", @@ -6232,9 +6232,9 @@ } }, "node_modules/@storybook/addon-measure/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.5.0.tgz", + "integrity": "sha512-JV7J9vc69f9Il4uW62NIeweUU7O38VwFWxtCkhd0bcBA/9RG0go4M2avzxYYEAe9kIOX9IBBk8WGzMacwW4gKQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -6245,9 +6245,9 @@ } }, "node_modules/@storybook/addon-measure/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.5.0.tgz", + "integrity": "sha512-FsD+clTzayqprbVllnL8LLch+uCslJFDgsv7Zh99/zoi7OHtHyauoCZkdLBSiDzgc84qS41dY19HqX1/y7cnOw==", "dev": true, "dependencies": { "ts-dedent": "^2.0.0" @@ -6258,19 +6258,19 @@ } }, "node_modules/@storybook/addon-measure/node_modules/@storybook/manager-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", - "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.5.0.tgz", + "integrity": "sha512-n9EaJTThsuFiBDs+GcmNBHnvLhH0znJQprhIQqHNVnosCs/7sloYUzWZzZvPwfnfPvRR7ostEEMXvriaYXYdJQ==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/router": "7.5.0", + "@storybook/theming": "7.5.0", + "@storybook/types": "7.5.0", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -6289,17 +6289,17 @@ } }, "node_modules/@storybook/addon-measure/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.5.0.tgz", + "integrity": "sha512-+DubgKwYFk532FKDB6sEGaG47wr0t137aIQSjbNwVmXXxj0QY0zIAThtERx7w6eHS7ZjOs6xlLEZhzC4FI525g==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", + "@storybook/types": "7.5.0", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -6315,12 +6315,12 @@ } }, "node_modules/@storybook/addon-measure/node_modules/@storybook/router": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", - "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.5.0.tgz", + "integrity": "sha512-NzPwjndmOEOUL8jK5kUrSvRUIcN5Z+h+l0Z8g4I56RoEhNTcKeOW4jbcT4WKnR9H455dti8HAcTV/4x59GpgxQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", + "@storybook/client-logger": "7.5.0", "memoizerific": "^1.11.3", "qs": "^6.10.0" }, @@ -6334,13 +6334,13 @@ } }, "node_modules/@storybook/addon-measure/node_modules/@storybook/theming": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", - "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.5.0.tgz", + "integrity": "sha512-uTo97oh+pvmlfsZocFq5qae0zGo0VGk7oiBqNSSw6CiTqE1rIuSxoPrMAY+oCTWCUZV7DjONIGvpnGl2QALsAw==", "dev": true, "dependencies": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.6", + "@storybook/client-logger": "7.5.0", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" }, @@ -6354,12 +6354,12 @@ } }, "node_modules/@storybook/addon-measure/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.5.0.tgz", + "integrity": "sha512-fiOUnHKFi/UZSfvc53F0WEQCiquqcSqslL3f5EffwQRiXfeXlGavJb0kU03BO+CvOXcliRn6qKSF2dL0Rgb7Xw==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", + "@storybook/channels": "7.5.0", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -6403,18 +6403,18 @@ "dev": true }, "node_modules/@storybook/addon-outline": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-7.4.6.tgz", - "integrity": "sha512-errNUblRVDLpuEaHQPr/nsrnsUkD2ARmXawkRvizgDWLIDMDJYjTON3MUCaVx3x+hlZ3I6X//G5TVcma8tCc8A==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-7.5.0.tgz", + "integrity": "sha512-iVcyFi2N2NEZRytUg8wSiXS9UE9wA8/prs/sIsQ7Y34vHm1UaqAd8KxCE/fhHFNYw4UyHEEDUyTfci/jNrNQYA==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/components": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/components": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/manager-api": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/types": "7.5.0", "ts-dedent": "^2.0.0" }, "funding": { @@ -6435,13 +6435,13 @@ } }, "node_modules/@storybook/addon-outline/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.5.0.tgz", + "integrity": "sha512-/7QJS1UA7TX3uhZqCpjv4Ib8nfMnDOJrBWvjiXiUONaRcSk/he5X+W1Zz/c7dgt+wkYuAh+evjc7glIaBhVNVQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.2.0", @@ -6453,9 +6453,9 @@ } }, "node_modules/@storybook/addon-outline/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.5.0.tgz", + "integrity": "sha512-JV7J9vc69f9Il4uW62NIeweUU7O38VwFWxtCkhd0bcBA/9RG0go4M2avzxYYEAe9kIOX9IBBk8WGzMacwW4gKQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -6466,9 +6466,9 @@ } }, "node_modules/@storybook/addon-outline/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.5.0.tgz", + "integrity": "sha512-FsD+clTzayqprbVllnL8LLch+uCslJFDgsv7Zh99/zoi7OHtHyauoCZkdLBSiDzgc84qS41dY19HqX1/y7cnOw==", "dev": true, "dependencies": { "ts-dedent": "^2.0.0" @@ -6479,19 +6479,19 @@ } }, "node_modules/@storybook/addon-outline/node_modules/@storybook/manager-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", - "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.5.0.tgz", + "integrity": "sha512-n9EaJTThsuFiBDs+GcmNBHnvLhH0znJQprhIQqHNVnosCs/7sloYUzWZzZvPwfnfPvRR7ostEEMXvriaYXYdJQ==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/router": "7.5.0", + "@storybook/theming": "7.5.0", + "@storybook/types": "7.5.0", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -6510,17 +6510,17 @@ } }, "node_modules/@storybook/addon-outline/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.5.0.tgz", + "integrity": "sha512-+DubgKwYFk532FKDB6sEGaG47wr0t137aIQSjbNwVmXXxj0QY0zIAThtERx7w6eHS7ZjOs6xlLEZhzC4FI525g==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", + "@storybook/types": "7.5.0", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -6536,12 +6536,12 @@ } }, "node_modules/@storybook/addon-outline/node_modules/@storybook/router": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", - "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.5.0.tgz", + "integrity": "sha512-NzPwjndmOEOUL8jK5kUrSvRUIcN5Z+h+l0Z8g4I56RoEhNTcKeOW4jbcT4WKnR9H455dti8HAcTV/4x59GpgxQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", + "@storybook/client-logger": "7.5.0", "memoizerific": "^1.11.3", "qs": "^6.10.0" }, @@ -6555,13 +6555,13 @@ } }, "node_modules/@storybook/addon-outline/node_modules/@storybook/theming": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", - "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.5.0.tgz", + "integrity": "sha512-uTo97oh+pvmlfsZocFq5qae0zGo0VGk7oiBqNSSw6CiTqE1rIuSxoPrMAY+oCTWCUZV7DjONIGvpnGl2QALsAw==", "dev": true, "dependencies": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.6", + "@storybook/client-logger": "7.5.0", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" }, @@ -6575,12 +6575,12 @@ } }, "node_modules/@storybook/addon-outline/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.5.0.tgz", + "integrity": "sha512-fiOUnHKFi/UZSfvc53F0WEQCiquqcSqslL3f5EffwQRiXfeXlGavJb0kU03BO+CvOXcliRn6qKSF2dL0Rgb7Xw==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", + "@storybook/channels": "7.5.0", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -6624,16 +6624,16 @@ "dev": true }, "node_modules/@storybook/addon-toolbars": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.4.6.tgz", - "integrity": "sha512-L9m2FBcKeteGq7qIYsMJr0LEfiH7Wdrv5IDcldZTn68eZUJTh1p4GdJZcOmzX1P5IFRr76hpu03iWsNlWQjpbQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.5.0.tgz", + "integrity": "sha512-RLONWIJE7myVL3DzWZDWnnmb53C1OitCiO3mDt678xyK5ZrFCOV9cznckXASx1wNJVt3P9OOW1N2UY7wul72+Q==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/components": "7.4.6", - "@storybook/manager-api": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/theming": "7.4.6" + "@storybook/client-logger": "7.5.0", + "@storybook/components": "7.5.0", + "@storybook/manager-api": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/theming": "7.5.0" }, "funding": { "type": "opencollective", @@ -6653,13 +6653,13 @@ } }, "node_modules/@storybook/addon-toolbars/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.5.0.tgz", + "integrity": "sha512-/7QJS1UA7TX3uhZqCpjv4Ib8nfMnDOJrBWvjiXiUONaRcSk/he5X+W1Zz/c7dgt+wkYuAh+evjc7glIaBhVNVQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.2.0", @@ -6671,9 +6671,9 @@ } }, "node_modules/@storybook/addon-toolbars/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.5.0.tgz", + "integrity": "sha512-JV7J9vc69f9Il4uW62NIeweUU7O38VwFWxtCkhd0bcBA/9RG0go4M2avzxYYEAe9kIOX9IBBk8WGzMacwW4gKQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -6684,9 +6684,9 @@ } }, "node_modules/@storybook/addon-toolbars/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.5.0.tgz", + "integrity": "sha512-FsD+clTzayqprbVllnL8LLch+uCslJFDgsv7Zh99/zoi7OHtHyauoCZkdLBSiDzgc84qS41dY19HqX1/y7cnOw==", "dev": true, "dependencies": { "ts-dedent": "^2.0.0" @@ -6697,19 +6697,19 @@ } }, "node_modules/@storybook/addon-toolbars/node_modules/@storybook/manager-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", - "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.5.0.tgz", + "integrity": "sha512-n9EaJTThsuFiBDs+GcmNBHnvLhH0znJQprhIQqHNVnosCs/7sloYUzWZzZvPwfnfPvRR7ostEEMXvriaYXYdJQ==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/router": "7.5.0", + "@storybook/theming": "7.5.0", + "@storybook/types": "7.5.0", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -6728,17 +6728,17 @@ } }, "node_modules/@storybook/addon-toolbars/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.5.0.tgz", + "integrity": "sha512-+DubgKwYFk532FKDB6sEGaG47wr0t137aIQSjbNwVmXXxj0QY0zIAThtERx7w6eHS7ZjOs6xlLEZhzC4FI525g==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", + "@storybook/types": "7.5.0", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -6754,12 +6754,12 @@ } }, "node_modules/@storybook/addon-toolbars/node_modules/@storybook/router": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", - "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.5.0.tgz", + "integrity": "sha512-NzPwjndmOEOUL8jK5kUrSvRUIcN5Z+h+l0Z8g4I56RoEhNTcKeOW4jbcT4WKnR9H455dti8HAcTV/4x59GpgxQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", + "@storybook/client-logger": "7.5.0", "memoizerific": "^1.11.3", "qs": "^6.10.0" }, @@ -6773,13 +6773,13 @@ } }, "node_modules/@storybook/addon-toolbars/node_modules/@storybook/theming": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", - "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.5.0.tgz", + "integrity": "sha512-uTo97oh+pvmlfsZocFq5qae0zGo0VGk7oiBqNSSw6CiTqE1rIuSxoPrMAY+oCTWCUZV7DjONIGvpnGl2QALsAw==", "dev": true, "dependencies": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.6", + "@storybook/client-logger": "7.5.0", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" }, @@ -6793,12 +6793,12 @@ } }, "node_modules/@storybook/addon-toolbars/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.5.0.tgz", + "integrity": "sha512-fiOUnHKFi/UZSfvc53F0WEQCiquqcSqslL3f5EffwQRiXfeXlGavJb0kU03BO+CvOXcliRn6qKSF2dL0Rgb7Xw==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", + "@storybook/channels": "7.5.0", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -6842,18 +6842,18 @@ "dev": true }, "node_modules/@storybook/addon-viewport": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.4.6.tgz", - "integrity": "sha512-INDtk54j7bi7NgxMfd2ATmbA0J7nAd6X8itMkLIyPuPJtx8bYHPDORyemDOd0AojgmAdTOAyUtDYdI/PFeo4Cw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.5.0.tgz", + "integrity": "sha512-NXnjHQFKgeFsWOaJE0fl2THgejxDqx8axy4Prtc3ePcoVa/UrMu11G3iEcCaLhDJU7RDNM6CODgifYpH6gyKWg==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/components": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/components": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/theming": "7.4.6", + "@storybook/manager-api": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/theming": "7.5.0", "memoizerific": "^1.11.3", "prop-types": "^15.7.2" }, @@ -6875,13 +6875,13 @@ } }, "node_modules/@storybook/addon-viewport/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.5.0.tgz", + "integrity": "sha512-/7QJS1UA7TX3uhZqCpjv4Ib8nfMnDOJrBWvjiXiUONaRcSk/he5X+W1Zz/c7dgt+wkYuAh+evjc7glIaBhVNVQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.2.0", @@ -6893,9 +6893,9 @@ } }, "node_modules/@storybook/addon-viewport/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.5.0.tgz", + "integrity": "sha512-JV7J9vc69f9Il4uW62NIeweUU7O38VwFWxtCkhd0bcBA/9RG0go4M2avzxYYEAe9kIOX9IBBk8WGzMacwW4gKQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -6906,9 +6906,9 @@ } }, "node_modules/@storybook/addon-viewport/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.5.0.tgz", + "integrity": "sha512-FsD+clTzayqprbVllnL8LLch+uCslJFDgsv7Zh99/zoi7OHtHyauoCZkdLBSiDzgc84qS41dY19HqX1/y7cnOw==", "dev": true, "dependencies": { "ts-dedent": "^2.0.0" @@ -6919,19 +6919,19 @@ } }, "node_modules/@storybook/addon-viewport/node_modules/@storybook/manager-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", - "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.5.0.tgz", + "integrity": "sha512-n9EaJTThsuFiBDs+GcmNBHnvLhH0znJQprhIQqHNVnosCs/7sloYUzWZzZvPwfnfPvRR7ostEEMXvriaYXYdJQ==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/router": "7.5.0", + "@storybook/theming": "7.5.0", + "@storybook/types": "7.5.0", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -6950,17 +6950,17 @@ } }, "node_modules/@storybook/addon-viewport/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.5.0.tgz", + "integrity": "sha512-+DubgKwYFk532FKDB6sEGaG47wr0t137aIQSjbNwVmXXxj0QY0zIAThtERx7w6eHS7ZjOs6xlLEZhzC4FI525g==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", + "@storybook/types": "7.5.0", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -6976,12 +6976,12 @@ } }, "node_modules/@storybook/addon-viewport/node_modules/@storybook/router": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", - "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.5.0.tgz", + "integrity": "sha512-NzPwjndmOEOUL8jK5kUrSvRUIcN5Z+h+l0Z8g4I56RoEhNTcKeOW4jbcT4WKnR9H455dti8HAcTV/4x59GpgxQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", + "@storybook/client-logger": "7.5.0", "memoizerific": "^1.11.3", "qs": "^6.10.0" }, @@ -6995,13 +6995,13 @@ } }, "node_modules/@storybook/addon-viewport/node_modules/@storybook/theming": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", - "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.5.0.tgz", + "integrity": "sha512-uTo97oh+pvmlfsZocFq5qae0zGo0VGk7oiBqNSSw6CiTqE1rIuSxoPrMAY+oCTWCUZV7DjONIGvpnGl2QALsAw==", "dev": true, "dependencies": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.6", + "@storybook/client-logger": "7.5.0", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" }, @@ -7015,12 +7015,12 @@ } }, "node_modules/@storybook/addon-viewport/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.5.0.tgz", + "integrity": "sha512-fiOUnHKFi/UZSfvc53F0WEQCiquqcSqslL3f5EffwQRiXfeXlGavJb0kU03BO+CvOXcliRn6qKSF2dL0Rgb7Xw==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", + "@storybook/channels": "7.5.0", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -7273,22 +7273,22 @@ } }, "node_modules/@storybook/blocks": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.4.6.tgz", - "integrity": "sha512-HxBSAeOiTZW2jbHQlo1upRWFgoMsaAyKijUFf5MwwMNIesXCuuTGZDJ3xTABwAVLK2qC9Ektfbo0CZCiPVuDRQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.5.0.tgz", + "integrity": "sha512-4poS7lQVKhitWKl0TPECMszOMtNamsbNvZdAZ188U/p1EzTrqLg+RT9HtsB8q8Y0owx29Nh5LdfhNOddpx23ig==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/components": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/components": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", - "@storybook/docs-tools": "7.4.6", + "@storybook/docs-tools": "7.5.0", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/manager-api": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/theming": "7.5.0", + "@storybook/types": "7.5.0", "@types/lodash": "^4.14.167", "color-convert": "^2.0.1", "dequal": "^2.0.2", @@ -7312,13 +7312,13 @@ } }, "node_modules/@storybook/blocks/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.5.0.tgz", + "integrity": "sha512-/7QJS1UA7TX3uhZqCpjv4Ib8nfMnDOJrBWvjiXiUONaRcSk/he5X+W1Zz/c7dgt+wkYuAh+evjc7glIaBhVNVQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.2.0", @@ -7330,9 +7330,9 @@ } }, "node_modules/@storybook/blocks/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.5.0.tgz", + "integrity": "sha512-JV7J9vc69f9Il4uW62NIeweUU7O38VwFWxtCkhd0bcBA/9RG0go4M2avzxYYEAe9kIOX9IBBk8WGzMacwW4gKQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -7343,9 +7343,9 @@ } }, "node_modules/@storybook/blocks/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.5.0.tgz", + "integrity": "sha512-FsD+clTzayqprbVllnL8LLch+uCslJFDgsv7Zh99/zoi7OHtHyauoCZkdLBSiDzgc84qS41dY19HqX1/y7cnOw==", "dev": true, "dependencies": { "ts-dedent": "^2.0.0" @@ -7356,19 +7356,19 @@ } }, "node_modules/@storybook/blocks/node_modules/@storybook/manager-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", - "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.5.0.tgz", + "integrity": "sha512-n9EaJTThsuFiBDs+GcmNBHnvLhH0znJQprhIQqHNVnosCs/7sloYUzWZzZvPwfnfPvRR7ostEEMXvriaYXYdJQ==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/router": "7.5.0", + "@storybook/theming": "7.5.0", + "@storybook/types": "7.5.0", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -7387,17 +7387,17 @@ } }, "node_modules/@storybook/blocks/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.5.0.tgz", + "integrity": "sha512-+DubgKwYFk532FKDB6sEGaG47wr0t137aIQSjbNwVmXXxj0QY0zIAThtERx7w6eHS7ZjOs6xlLEZhzC4FI525g==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", + "@storybook/types": "7.5.0", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -7413,12 +7413,12 @@ } }, "node_modules/@storybook/blocks/node_modules/@storybook/router": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", - "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.5.0.tgz", + "integrity": "sha512-NzPwjndmOEOUL8jK5kUrSvRUIcN5Z+h+l0Z8g4I56RoEhNTcKeOW4jbcT4WKnR9H455dti8HAcTV/4x59GpgxQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", + "@storybook/client-logger": "7.5.0", "memoizerific": "^1.11.3", "qs": "^6.10.0" }, @@ -7432,13 +7432,13 @@ } }, "node_modules/@storybook/blocks/node_modules/@storybook/theming": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", - "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.5.0.tgz", + "integrity": "sha512-uTo97oh+pvmlfsZocFq5qae0zGo0VGk7oiBqNSSw6CiTqE1rIuSxoPrMAY+oCTWCUZV7DjONIGvpnGl2QALsAw==", "dev": true, "dependencies": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.6", + "@storybook/client-logger": "7.5.0", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" }, @@ -7452,12 +7452,12 @@ } }, "node_modules/@storybook/blocks/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.5.0.tgz", + "integrity": "sha512-fiOUnHKFi/UZSfvc53F0WEQCiquqcSqslL3f5EffwQRiXfeXlGavJb0kU03BO+CvOXcliRn6qKSF2dL0Rgb7Xw==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", + "@storybook/channels": "7.5.0", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -7501,15 +7501,15 @@ "dev": true }, "node_modules/@storybook/builder-manager": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.4.6.tgz", - "integrity": "sha512-zylZCD2rmyLOOFBFmUgtJg6UNUKmRNgXiig1XApzS2TkIbTZP827DsVEUl0ey/lskCe0uArkrEBR6ICba8p/Rw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.5.0.tgz", + "integrity": "sha512-nj+n36i7Mds4RIyGJqvOB+Z47zfgbMes+6Gd6reT1vC22Yda5nAITnd2vxbYfv/sUPhIBBfuFZ/eogomgYCjKg==", "dev": true, "dependencies": { "@fal-works/esbuild-plugin-global-externals": "^2.1.2", - "@storybook/core-common": "7.4.6", - "@storybook/manager": "7.4.6", - "@storybook/node-logger": "7.4.6", + "@storybook/core-common": "7.5.0", + "@storybook/manager": "7.5.0", + "@storybook/node-logger": "7.5.0", "@types/ejs": "^3.1.1", "@types/find-cache-dir": "^3.2.1", "@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.10", @@ -7543,20 +7543,19 @@ } }, "node_modules/@storybook/builder-vite": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-7.4.6.tgz", - "integrity": "sha512-xV9STYK+TkqWWTf2ydm6jx+7P70fjD2UPd1XTUw08uKszIjhuuxk+bG/OF5R1E25mPunAKXm6kBFh351AKejBg==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-common": "7.4.6", - "@storybook/csf-plugin": "7.4.6", - "@storybook/mdx2-csf": "^1.0.0", - "@storybook/node-logger": "7.4.6", - "@storybook/preview": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/types": "7.4.6", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-7.5.0.tgz", + "integrity": "sha512-XqiXECAhIDhUryhcPfWfmrvCA2R9p4cebXdyH5Op17yKQ10Bp+OxDWXZlOY/PHdq2KBVhC8CF3Yp7JXCWk8BHw==", + "dev": true, + "dependencies": { + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-common": "7.5.0", + "@storybook/csf-plugin": "7.5.0", + "@storybook/node-logger": "7.5.0", + "@storybook/preview": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/types": "7.5.0", "@types/find-cache-dir": "^3.2.1", "browser-assert": "^1.2.1", "es-module-lexer": "^0.9.3", @@ -7564,8 +7563,6 @@ "find-cache-dir": "^3.0.0", "fs-extra": "^11.1.0", "magic-string": "^0.30.0", - "remark-external-links": "^8.0.0", - "remark-slug": "^6.0.0", "rollup": "^2.25.0 || ^3.3.0" }, "funding": { @@ -7575,7 +7572,7 @@ "peerDependencies": { "@preact/preset-vite": "*", "typescript": ">= 4.3.x", - "vite": "^3.0.0 || ^4.0.0", + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0", "vite-plugin-glimmerx": "*" }, "peerDependenciesMeta": { @@ -7591,13 +7588,13 @@ } }, "node_modules/@storybook/builder-vite/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.5.0.tgz", + "integrity": "sha512-/7QJS1UA7TX3uhZqCpjv4Ib8nfMnDOJrBWvjiXiUONaRcSk/he5X+W1Zz/c7dgt+wkYuAh+evjc7glIaBhVNVQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.2.0", @@ -7609,9 +7606,9 @@ } }, "node_modules/@storybook/builder-vite/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.5.0.tgz", + "integrity": "sha512-JV7J9vc69f9Il4uW62NIeweUU7O38VwFWxtCkhd0bcBA/9RG0go4M2avzxYYEAe9kIOX9IBBk8WGzMacwW4gKQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -7622,9 +7619,9 @@ } }, "node_modules/@storybook/builder-vite/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.5.0.tgz", + "integrity": "sha512-FsD+clTzayqprbVllnL8LLch+uCslJFDgsv7Zh99/zoi7OHtHyauoCZkdLBSiDzgc84qS41dY19HqX1/y7cnOw==", "dev": true, "dependencies": { "ts-dedent": "^2.0.0" @@ -7635,17 +7632,17 @@ } }, "node_modules/@storybook/builder-vite/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.5.0.tgz", + "integrity": "sha512-+DubgKwYFk532FKDB6sEGaG47wr0t137aIQSjbNwVmXXxj0QY0zIAThtERx7w6eHS7ZjOs6xlLEZhzC4FI525g==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", + "@storybook/types": "7.5.0", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -7661,12 +7658,12 @@ } }, "node_modules/@storybook/builder-vite/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.5.0.tgz", + "integrity": "sha512-fiOUnHKFi/UZSfvc53F0WEQCiquqcSqslL3f5EffwQRiXfeXlGavJb0kU03BO+CvOXcliRn6qKSF2dL0Rgb7Xw==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", + "@storybook/channels": "7.5.0", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -7726,23 +7723,23 @@ } }, "node_modules/@storybook/cli": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.4.6.tgz", - "integrity": "sha512-rRwaH8pOL+FHz/pJMEkNpMH2xvZvWsrl7obBYw26NQiHmiVSAkfHJicndSN1mwc+p5w+9iXthrgzbLtSAOSvkA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.5.0.tgz", + "integrity": "sha512-f14q6sqHhDf7bFS0o/ZTgN2tM00Q0cMGMmGFXTQSCh0HXJUS4ujy/FADL+x62wUylIdr1HkIw+ONWMMqHuenEA==", "dev": true, "dependencies": { "@babel/core": "^7.22.9", "@babel/preset-env": "^7.22.9", "@babel/types": "^7.22.5", "@ndelangen/get-tarball": "^3.0.7", - "@storybook/codemod": "7.4.6", - "@storybook/core-common": "7.4.6", - "@storybook/core-events": "7.4.6", - "@storybook/core-server": "7.4.6", - "@storybook/csf-tools": "7.4.6", - "@storybook/node-logger": "7.4.6", - "@storybook/telemetry": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/codemod": "7.5.0", + "@storybook/core-common": "7.5.0", + "@storybook/core-events": "7.5.0", + "@storybook/core-server": "7.5.0", + "@storybook/csf-tools": "7.5.0", + "@storybook/node-logger": "7.5.0", + "@storybook/telemetry": "7.5.0", + "@storybook/types": "7.5.0", "@types/semver": "^7.3.4", "@yarnpkg/fslib": "2.10.3", "@yarnpkg/libzip": "2.3.0", @@ -7783,13 +7780,13 @@ } }, "node_modules/@storybook/cli/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.5.0.tgz", + "integrity": "sha512-/7QJS1UA7TX3uhZqCpjv4Ib8nfMnDOJrBWvjiXiUONaRcSk/he5X+W1Zz/c7dgt+wkYuAh+evjc7glIaBhVNVQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.2.0", @@ -7801,9 +7798,9 @@ } }, "node_modules/@storybook/cli/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.5.0.tgz", + "integrity": "sha512-JV7J9vc69f9Il4uW62NIeweUU7O38VwFWxtCkhd0bcBA/9RG0go4M2avzxYYEAe9kIOX9IBBk8WGzMacwW4gKQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -7814,9 +7811,9 @@ } }, "node_modules/@storybook/cli/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.5.0.tgz", + "integrity": "sha512-FsD+clTzayqprbVllnL8LLch+uCslJFDgsv7Zh99/zoi7OHtHyauoCZkdLBSiDzgc84qS41dY19HqX1/y7cnOw==", "dev": true, "dependencies": { "ts-dedent": "^2.0.0" @@ -7827,12 +7824,12 @@ } }, "node_modules/@storybook/cli/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.5.0.tgz", + "integrity": "sha512-fiOUnHKFi/UZSfvc53F0WEQCiquqcSqslL3f5EffwQRiXfeXlGavJb0kU03BO+CvOXcliRn6qKSF2dL0Rgb7Xw==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", + "@storybook/channels": "7.5.0", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -7980,18 +7977,18 @@ } }, "node_modules/@storybook/codemod": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.4.6.tgz", - "integrity": "sha512-lxmwEpwksCaAq96APN2YlooSDfKjJ1vKzN5Ni2EqQzf2TEXl7XQjLacHd7OOaII1kfsy+D5gNG4N5wBo7Ub30g==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.5.0.tgz", + "integrity": "sha512-QdjFdD1OK+LqhYwNMh60/kgSt9VZIgH2TBUeXrPlCK6gfcZBrCB0ktgtuM8Zk/ROktq09pZoVDxqFi0AbEUPew==", "dev": true, "dependencies": { "@babel/core": "^7.22.9", "@babel/preset-env": "^7.22.9", "@babel/types": "^7.22.5", "@storybook/csf": "^0.1.0", - "@storybook/csf-tools": "7.4.6", - "@storybook/node-logger": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/csf-tools": "7.5.0", + "@storybook/node-logger": "7.5.0", + "@storybook/types": "7.5.0", "@types/cross-spawn": "^6.0.2", "cross-spawn": "^7.0.3", "globby": "^11.0.2", @@ -8006,13 +8003,13 @@ } }, "node_modules/@storybook/codemod/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.5.0.tgz", + "integrity": "sha512-/7QJS1UA7TX3uhZqCpjv4Ib8nfMnDOJrBWvjiXiUONaRcSk/he5X+W1Zz/c7dgt+wkYuAh+evjc7glIaBhVNVQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.2.0", @@ -8024,9 +8021,9 @@ } }, "node_modules/@storybook/codemod/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.5.0.tgz", + "integrity": "sha512-JV7J9vc69f9Il4uW62NIeweUU7O38VwFWxtCkhd0bcBA/9RG0go4M2avzxYYEAe9kIOX9IBBk8WGzMacwW4gKQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -8037,9 +8034,9 @@ } }, "node_modules/@storybook/codemod/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.5.0.tgz", + "integrity": "sha512-FsD+clTzayqprbVllnL8LLch+uCslJFDgsv7Zh99/zoi7OHtHyauoCZkdLBSiDzgc84qS41dY19HqX1/y7cnOw==", "dev": true, "dependencies": { "ts-dedent": "^2.0.0" @@ -8050,12 +8047,12 @@ } }, "node_modules/@storybook/codemod/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.5.0.tgz", + "integrity": "sha512-fiOUnHKFi/UZSfvc53F0WEQCiquqcSqslL3f5EffwQRiXfeXlGavJb0kU03BO+CvOXcliRn6qKSF2dL0Rgb7Xw==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", + "@storybook/channels": "7.5.0", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -8081,18 +8078,18 @@ } }, "node_modules/@storybook/components": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.4.6.tgz", - "integrity": "sha512-nIRBhewAgrJJVafyCzuaLx1l+YOfvvD5dOZ0JxZsxJsefOdw1jFpUqUZ5fIpQ2moyvrR0mAUFw378rBfMdHz5Q==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.5.0.tgz", + "integrity": "sha512-6lmZ6PbS27xN32vTJ/NvgaiKkFIQRzZuBeBIg2u+FoAEgCiCwRXjZKe/O8NZC2Xr0uf97+7U2P0kD4Hwr9SNhw==", "dev": true, "dependencies": { "@radix-ui/react-select": "^1.2.2", "@radix-ui/react-toolbar": "^1.0.4", - "@storybook/client-logger": "7.4.6", + "@storybook/client-logger": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/theming": "7.5.0", + "@storybook/types": "7.5.0", "memoizerific": "^1.11.3", "use-resize-observer": "^9.1.0", "util-deprecate": "^1.0.2" @@ -8107,13 +8104,13 @@ } }, "node_modules/@storybook/components/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.5.0.tgz", + "integrity": "sha512-/7QJS1UA7TX3uhZqCpjv4Ib8nfMnDOJrBWvjiXiUONaRcSk/he5X+W1Zz/c7dgt+wkYuAh+evjc7glIaBhVNVQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.2.0", @@ -8125,9 +8122,9 @@ } }, "node_modules/@storybook/components/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.5.0.tgz", + "integrity": "sha512-JV7J9vc69f9Il4uW62NIeweUU7O38VwFWxtCkhd0bcBA/9RG0go4M2avzxYYEAe9kIOX9IBBk8WGzMacwW4gKQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -8138,9 +8135,9 @@ } }, "node_modules/@storybook/components/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.5.0.tgz", + "integrity": "sha512-FsD+clTzayqprbVllnL8LLch+uCslJFDgsv7Zh99/zoi7OHtHyauoCZkdLBSiDzgc84qS41dY19HqX1/y7cnOw==", "dev": true, "dependencies": { "ts-dedent": "^2.0.0" @@ -8151,13 +8148,13 @@ } }, "node_modules/@storybook/components/node_modules/@storybook/theming": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", - "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.5.0.tgz", + "integrity": "sha512-uTo97oh+pvmlfsZocFq5qae0zGo0VGk7oiBqNSSw6CiTqE1rIuSxoPrMAY+oCTWCUZV7DjONIGvpnGl2QALsAw==", "dev": true, "dependencies": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.6", + "@storybook/client-logger": "7.5.0", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" }, @@ -8171,12 +8168,12 @@ } }, "node_modules/@storybook/components/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.5.0.tgz", + "integrity": "sha512-fiOUnHKFi/UZSfvc53F0WEQCiquqcSqslL3f5EffwQRiXfeXlGavJb0kU03BO+CvOXcliRn6qKSF2dL0Rgb7Xw==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", + "@storybook/channels": "7.5.0", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -8187,13 +8184,13 @@ } }, "node_modules/@storybook/core-client": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-7.4.6.tgz", - "integrity": "sha512-tfgxAHeCvMcs6DsVgtb4hQSDaCHeAPJOsoyhb47eDQfk4OmxzriM0qWucJV5DePSMi+KutX/rN2u0JxfOuN68g==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-7.5.0.tgz", + "integrity": "sha512-lnlPhsHnjK3tQ6jgTL/4TqIsxqznMQ0p7lSnUfhfccc2lGtMO/Ez/xIiTGoJQssJxuJE3d4sj3wRgYvuTDGQYw==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/preview-api": "7.4.6" + "@storybook/client-logger": "7.5.0", + "@storybook/preview-api": "7.5.0" }, "funding": { "type": "opencollective", @@ -8201,13 +8198,13 @@ } }, "node_modules/@storybook/core-client/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.5.0.tgz", + "integrity": "sha512-/7QJS1UA7TX3uhZqCpjv4Ib8nfMnDOJrBWvjiXiUONaRcSk/he5X+W1Zz/c7dgt+wkYuAh+evjc7glIaBhVNVQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.2.0", @@ -8219,9 +8216,9 @@ } }, "node_modules/@storybook/core-client/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.5.0.tgz", + "integrity": "sha512-JV7J9vc69f9Il4uW62NIeweUU7O38VwFWxtCkhd0bcBA/9RG0go4M2avzxYYEAe9kIOX9IBBk8WGzMacwW4gKQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -8232,9 +8229,9 @@ } }, "node_modules/@storybook/core-client/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.5.0.tgz", + "integrity": "sha512-FsD+clTzayqprbVllnL8LLch+uCslJFDgsv7Zh99/zoi7OHtHyauoCZkdLBSiDzgc84qS41dY19HqX1/y7cnOw==", "dev": true, "dependencies": { "ts-dedent": "^2.0.0" @@ -8245,17 +8242,17 @@ } }, "node_modules/@storybook/core-client/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.5.0.tgz", + "integrity": "sha512-+DubgKwYFk532FKDB6sEGaG47wr0t137aIQSjbNwVmXXxj0QY0zIAThtERx7w6eHS7ZjOs6xlLEZhzC4FI525g==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", + "@storybook/types": "7.5.0", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -8271,12 +8268,12 @@ } }, "node_modules/@storybook/core-client/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.5.0.tgz", + "integrity": "sha512-fiOUnHKFi/UZSfvc53F0WEQCiquqcSqslL3f5EffwQRiXfeXlGavJb0kU03BO+CvOXcliRn6qKSF2dL0Rgb7Xw==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", + "@storybook/channels": "7.5.0", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -8287,21 +8284,21 @@ } }, "node_modules/@storybook/core-common": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.4.6.tgz", - "integrity": "sha512-05MJFmOM86qvTLtgDskokIFz9txe0Lbhq4L3by1FtF0GwgH+p+W6I94KI7c6ANER+kVZkXQZhiRzwBFnVTW+Cg==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.5.0.tgz", + "integrity": "sha512-Gw3/rzRb5+XbwqBcr2ZNaIYGEp+WNTwaBOnMs4yp2SCrNIb0P+i3BxlVQdgABaq43EI3/bksowT6hei0jyhGhw==", "dev": true, "dependencies": { - "@storybook/core-events": "7.4.6", - "@storybook/node-logger": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/core-events": "7.5.0", + "@storybook/node-logger": "7.5.0", + "@storybook/types": "7.5.0", "@types/find-cache-dir": "^3.2.1", - "@types/node": "^16.0.0", + "@types/node": "^18.0.0", "@types/node-fetch": "^2.6.4", "@types/pretty-hrtime": "^1.0.0", "chalk": "^4.1.0", "esbuild": "^0.18.0", - "esbuild-register": "^3.4.0", + "esbuild-register": "^3.5.0", "file-system-cache": "2.3.0", "find-cache-dir": "^3.0.0", "find-up": "^5.0.0", @@ -8322,13 +8319,13 @@ } }, "node_modules/@storybook/core-common/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.5.0.tgz", + "integrity": "sha512-/7QJS1UA7TX3uhZqCpjv4Ib8nfMnDOJrBWvjiXiUONaRcSk/he5X+W1Zz/c7dgt+wkYuAh+evjc7glIaBhVNVQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.2.0", @@ -8340,9 +8337,9 @@ } }, "node_modules/@storybook/core-common/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.5.0.tgz", + "integrity": "sha512-JV7J9vc69f9Il4uW62NIeweUU7O38VwFWxtCkhd0bcBA/9RG0go4M2avzxYYEAe9kIOX9IBBk8WGzMacwW4gKQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -8353,9 +8350,9 @@ } }, "node_modules/@storybook/core-common/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.5.0.tgz", + "integrity": "sha512-FsD+clTzayqprbVllnL8LLch+uCslJFDgsv7Zh99/zoi7OHtHyauoCZkdLBSiDzgc84qS41dY19HqX1/y7cnOw==", "dev": true, "dependencies": { "ts-dedent": "^2.0.0" @@ -8366,12 +8363,12 @@ } }, "node_modules/@storybook/core-common/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.5.0.tgz", + "integrity": "sha512-fiOUnHKFi/UZSfvc53F0WEQCiquqcSqslL3f5EffwQRiXfeXlGavJb0kU03BO+CvOXcliRn6qKSF2dL0Rgb7Xw==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", + "@storybook/channels": "7.5.0", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -8382,9 +8379,9 @@ } }, "node_modules/@storybook/core-common/node_modules/@types/node": { - "version": "16.18.57", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.57.tgz", - "integrity": "sha512-piPoDozdPaX1hNWFJQzzgWqE40gh986VvVx/QO9RU4qYRE55ld7iepDVgZ3ccGUw0R4wge0Oy1dd+3xOQNkkUQ==", + "version": "18.18.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.5.tgz", + "integrity": "sha512-4slmbtwV59ZxitY4ixUZdy1uRLf9eSIvBWPQxNjhHYWEtn0FryfKpyS2cvADYXTayWdKEIsJengncrVvkI4I6A==", "dev": true }, "node_modules/@storybook/core-common/node_modules/ansi-styles": { @@ -8514,28 +8511,28 @@ } }, "node_modules/@storybook/core-server": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.4.6.tgz", - "integrity": "sha512-jqmRTGCJ1W0WReImivkisPVaLFT5sjtLnFoAk0feHp6QS5j7EYOPN7CYzliyQmARWTLUEXOVaFf3VD6nJZQhJQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.5.0.tgz", + "integrity": "sha512-7QT8uzwSJOsv9PASQ6ywepYkcEYFB7+S7Cj/0nFMh3Vl9vW96LXvEHLAo9CUhSxdEKWeTnD8DS5+j90dLhQFCA==", "dev": true, "dependencies": { "@aw-web-design/x-default-browser": "1.4.126", "@discoveryjs/json-ext": "^0.5.3", - "@storybook/builder-manager": "7.4.6", - "@storybook/channels": "7.4.6", - "@storybook/core-common": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/builder-manager": "7.5.0", + "@storybook/channels": "7.5.0", + "@storybook/core-common": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", - "@storybook/csf-tools": "7.4.6", + "@storybook/csf-tools": "7.5.0", "@storybook/docs-mdx": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/manager": "7.4.6", - "@storybook/node-logger": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/telemetry": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/manager": "7.5.0", + "@storybook/node-logger": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/telemetry": "7.5.0", + "@storybook/types": "7.5.0", "@types/detect-port": "^1.3.0", - "@types/node": "^16.0.0", + "@types/node": "^18.0.0", "@types/pretty-hrtime": "^1.0.0", "@types/semver": "^7.3.4", "better-opn": "^3.0.2", @@ -8567,13 +8564,13 @@ } }, "node_modules/@storybook/core-server/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.5.0.tgz", + "integrity": "sha512-/7QJS1UA7TX3uhZqCpjv4Ib8nfMnDOJrBWvjiXiUONaRcSk/he5X+W1Zz/c7dgt+wkYuAh+evjc7glIaBhVNVQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.2.0", @@ -8585,9 +8582,9 @@ } }, "node_modules/@storybook/core-server/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.5.0.tgz", + "integrity": "sha512-JV7J9vc69f9Il4uW62NIeweUU7O38VwFWxtCkhd0bcBA/9RG0go4M2avzxYYEAe9kIOX9IBBk8WGzMacwW4gKQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -8598,9 +8595,9 @@ } }, "node_modules/@storybook/core-server/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.5.0.tgz", + "integrity": "sha512-FsD+clTzayqprbVllnL8LLch+uCslJFDgsv7Zh99/zoi7OHtHyauoCZkdLBSiDzgc84qS41dY19HqX1/y7cnOw==", "dev": true, "dependencies": { "ts-dedent": "^2.0.0" @@ -8611,17 +8608,17 @@ } }, "node_modules/@storybook/core-server/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.5.0.tgz", + "integrity": "sha512-+DubgKwYFk532FKDB6sEGaG47wr0t137aIQSjbNwVmXXxj0QY0zIAThtERx7w6eHS7ZjOs6xlLEZhzC4FI525g==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", + "@storybook/types": "7.5.0", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -8637,12 +8634,12 @@ } }, "node_modules/@storybook/core-server/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.5.0.tgz", + "integrity": "sha512-fiOUnHKFi/UZSfvc53F0WEQCiquqcSqslL3f5EffwQRiXfeXlGavJb0kU03BO+CvOXcliRn6qKSF2dL0Rgb7Xw==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", + "@storybook/channels": "7.5.0", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -8653,9 +8650,9 @@ } }, "node_modules/@storybook/core-server/node_modules/@types/node": { - "version": "16.18.57", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.57.tgz", - "integrity": "sha512-piPoDozdPaX1hNWFJQzzgWqE40gh986VvVx/QO9RU4qYRE55ld7iepDVgZ3ccGUw0R4wge0Oy1dd+3xOQNkkUQ==", + "version": "18.18.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.5.tgz", + "integrity": "sha512-4slmbtwV59ZxitY4ixUZdy1uRLf9eSIvBWPQxNjhHYWEtn0FryfKpyS2cvADYXTayWdKEIsJengncrVvkI4I6A==", "dev": true }, "node_modules/@storybook/core-server/node_modules/ansi-styles": { @@ -8767,12 +8764,12 @@ } }, "node_modules/@storybook/csf-plugin": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.4.6.tgz", - "integrity": "sha512-yi7Qa4NSqKOyiJTWCxlB0ih2ijXq6oY5qZKW6MuMMBP14xJNRGLbH5KabpfXgN2T7YECcOWG1uWaGj2veJb1KA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.5.0.tgz", + "integrity": "sha512-kghaEFYvQISdAjQddeicSuvBFMeuuLNtpmMkuoLQzULF7e/Tws6zLCYsjGevqlnqXD0iW2XM/j9q4M5L/mWc5A==", "dev": true, "dependencies": { - "@storybook/csf-tools": "7.4.6", + "@storybook/csf-tools": "7.5.0", "unplugin": "^1.3.1" }, "funding": { @@ -8781,9 +8778,9 @@ } }, "node_modules/@storybook/csf-tools": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.4.6.tgz", - "integrity": "sha512-ocKpcIUtTBy6hlLY34RUFQyX403cWpB2gGfqvkHbpGe2BQj7EyV0zpWnjsfVxvw+M9OWlCdxHWDOPUgXM33ELw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.5.0.tgz", + "integrity": "sha512-KOHbFNSwwc7KTdNz/6yO7S2pxbr7sH6nqfolS6/l+pod45WvRH3VhyqlDIIeX7ESIhfCw87ExC96hNDL3TojCw==", "dev": true, "dependencies": { "@babel/generator": "^7.22.9", @@ -8791,7 +8788,7 @@ "@babel/traverse": "^7.22.8", "@babel/types": "^7.22.5", "@storybook/csf": "^0.1.0", - "@storybook/types": "7.4.6", + "@storybook/types": "7.5.0", "fs-extra": "^11.1.0", "recast": "^0.23.1", "ts-dedent": "^2.0.0" @@ -8802,13 +8799,13 @@ } }, "node_modules/@storybook/csf-tools/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.5.0.tgz", + "integrity": "sha512-/7QJS1UA7TX3uhZqCpjv4Ib8nfMnDOJrBWvjiXiUONaRcSk/he5X+W1Zz/c7dgt+wkYuAh+evjc7glIaBhVNVQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.2.0", @@ -8820,9 +8817,9 @@ } }, "node_modules/@storybook/csf-tools/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.5.0.tgz", + "integrity": "sha512-JV7J9vc69f9Il4uW62NIeweUU7O38VwFWxtCkhd0bcBA/9RG0go4M2avzxYYEAe9kIOX9IBBk8WGzMacwW4gKQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -8833,9 +8830,9 @@ } }, "node_modules/@storybook/csf-tools/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.5.0.tgz", + "integrity": "sha512-FsD+clTzayqprbVllnL8LLch+uCslJFDgsv7Zh99/zoi7OHtHyauoCZkdLBSiDzgc84qS41dY19HqX1/y7cnOw==", "dev": true, "dependencies": { "ts-dedent": "^2.0.0" @@ -8846,12 +8843,12 @@ } }, "node_modules/@storybook/csf-tools/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.5.0.tgz", + "integrity": "sha512-fiOUnHKFi/UZSfvc53F0WEQCiquqcSqslL3f5EffwQRiXfeXlGavJb0kU03BO+CvOXcliRn6qKSF2dL0Rgb7Xw==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", + "@storybook/channels": "7.5.0", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -8882,14 +8879,14 @@ "dev": true }, "node_modules/@storybook/docs-tools": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.4.6.tgz", - "integrity": "sha512-nZj1L/8WwKWWJ41FW4MaKGajZUtrhnr9UwflRCkQJaWhAKmDfOb5M5TqI93uCOULpFPOm5wpoMBz2IHInQ2Lrg==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.5.0.tgz", + "integrity": "sha512-NFhqbXj6Wv5YypMwDkt0z9xcfWD7M3wZhr8Z9XcXDlUUPjBrdv0cHt3rfHwEXpTfFyunbK41KQZZ3JkjiAjgTg==", "dev": true, "dependencies": { - "@storybook/core-common": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/core-common": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/types": "7.5.0", "@types/doctrine": "^0.0.3", "doctrine": "^3.0.0", "lodash": "^4.17.21" @@ -8900,13 +8897,13 @@ } }, "node_modules/@storybook/docs-tools/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.5.0.tgz", + "integrity": "sha512-/7QJS1UA7TX3uhZqCpjv4Ib8nfMnDOJrBWvjiXiUONaRcSk/he5X+W1Zz/c7dgt+wkYuAh+evjc7glIaBhVNVQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.2.0", @@ -8918,9 +8915,9 @@ } }, "node_modules/@storybook/docs-tools/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.5.0.tgz", + "integrity": "sha512-JV7J9vc69f9Il4uW62NIeweUU7O38VwFWxtCkhd0bcBA/9RG0go4M2avzxYYEAe9kIOX9IBBk8WGzMacwW4gKQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -8931,9 +8928,9 @@ } }, "node_modules/@storybook/docs-tools/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.5.0.tgz", + "integrity": "sha512-FsD+clTzayqprbVllnL8LLch+uCslJFDgsv7Zh99/zoi7OHtHyauoCZkdLBSiDzgc84qS41dY19HqX1/y7cnOw==", "dev": true, "dependencies": { "ts-dedent": "^2.0.0" @@ -8944,17 +8941,17 @@ } }, "node_modules/@storybook/docs-tools/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.5.0.tgz", + "integrity": "sha512-+DubgKwYFk532FKDB6sEGaG47wr0t137aIQSjbNwVmXXxj0QY0zIAThtERx7w6eHS7ZjOs6xlLEZhzC4FI525g==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", + "@storybook/types": "7.5.0", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -8970,12 +8967,12 @@ } }, "node_modules/@storybook/docs-tools/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.5.0.tgz", + "integrity": "sha512-fiOUnHKFi/UZSfvc53F0WEQCiquqcSqslL3f5EffwQRiXfeXlGavJb0kU03BO+CvOXcliRn6qKSF2dL0Rgb7Xw==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", + "@storybook/channels": "7.5.0", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -8992,9 +8989,9 @@ "dev": true }, "node_modules/@storybook/manager": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.4.6.tgz", - "integrity": "sha512-kA1hUDxpn1i2SO9OinvLvVXDeL4xgJkModp+pbE8IXv4NJWReNq1ecMeQCzPLS3Sil2gnrullQ9uYXsnZ9bxxA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.5.0.tgz", + "integrity": "sha512-M4h4b0Y4aZ1sRGaZuJXgvPZHqu7vN/wgWB5yPcSwJqH1+DlPxYXYnPKGERgaEUUVKJV3oWQD2qZ+UpDeTgI5UQ==", "dev": true, "funding": { "type": "opencollective", @@ -9076,9 +9073,9 @@ "dev": true }, "node_modules/@storybook/node-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.4.6.tgz", - "integrity": "sha512-djZb310Q27GviDug1XBv0jOEDLCiwr4hhDE0aifCEKZpfNCi/EaP31nbWimFzZwxu4hE/YAPWExzScruR1zw9Q==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.5.0.tgz", + "integrity": "sha512-Og3hdB1bjpVCXhmlhvpgVxUfCQGd0DCguXf5qhn2kX4a+D++dxJ8YqzVJ5JQCacI9bCKITV6W9JSGseWcBaXBg==", "dev": true, "funding": { "type": "opencollective", @@ -9086,9 +9083,9 @@ } }, "node_modules/@storybook/postinstall": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.4.6.tgz", - "integrity": "sha512-TqI5BucPAGRWrkh55BYiG2/gHLFtC0In4cuu0GsUzB/1jc4i51npLRorCwhmT7r7YliGl5F7JaP0Bni/qHN3Lg==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.5.0.tgz", + "integrity": "sha512-SHpBItwar7qDZO7BBSqTNQK0yNy+RUROZUhW6wlVvsgVhIGF1bgA4pgpW1iMyfPmmGyNekE1BJjN+v8rjq9s6A==", "dev": true, "funding": { "type": "opencollective", @@ -9096,9 +9093,9 @@ } }, "node_modules/@storybook/preview": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.4.6.tgz", - "integrity": "sha512-2RPXusJ4CTDrIipIKKvbotD7fP0+8VzoFjImunflIrzN9rni+2rq5eMjqlXAaB+77w064zIR4uDUzI9fxsMDeQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.5.0.tgz", + "integrity": "sha512-KPhx43pRgIb6UhqjsF0sUG5c3GG2dwzTzjN1/sj0QbPMghZ3b7xKGrCu6VSlsXoWQtcwisMHETFnowk0Ba/AMg==", "dev": true, "funding": { "type": "opencollective", @@ -9192,9 +9189,9 @@ } }, "node_modules/@storybook/react-dom-shim": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.4.6.tgz", - "integrity": "sha512-DSq8l9FDocUF1ooVI+TF83pddj1LynE/Hv0/y8XZhc3IgJ/HkuOQuUmfz29ezgfAi9gFYUR8raTIBi3/xdoRmw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.5.0.tgz", + "integrity": "sha512-OzJhXg1En/9D9vKvD2t0EcYcuHFzrLTA9kEUWt/eP3Ww41kndfJoZca33JZr17iuKksVAZ8ucETMnkL3yO+ybA==", "dev": true, "funding": { "type": "opencollective", @@ -9226,14 +9223,14 @@ } }, "node_modules/@storybook/telemetry": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.4.6.tgz", - "integrity": "sha512-c8p/C1NIH8EMBviZkBCx8MMDk6rrITJ+b29DEp5MaWSRlklIVyhGiC4RPIRv6sxJwlD41PnqWVFtfu2j2eXLdQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.5.0.tgz", + "integrity": "sha512-dvc1cjxHYGNfLEvh8eQI/R2KtMft0kUs6TJ2uXZdIX4+WqWG6mfn75sP8eyC1tcjkdslS6AmFWTfgt9EVcIPQA==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-common": "7.4.6", - "@storybook/csf-tools": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/core-common": "7.5.0", + "@storybook/csf-tools": "7.5.0", "chalk": "^4.1.0", "detect-package-manager": "^2.0.1", "fetch-retry": "^5.0.2", @@ -9246,9 +9243,9 @@ } }, "node_modules/@storybook/telemetry/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.5.0.tgz", + "integrity": "sha512-JV7J9vc69f9Il4uW62NIeweUU7O38VwFWxtCkhd0bcBA/9RG0go4M2avzxYYEAe9kIOX9IBBk8WGzMacwW4gKQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -9363,18 +9360,18 @@ } }, "node_modules/@storybook/web-components": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/web-components/-/web-components-7.4.6.tgz", - "integrity": "sha512-HWqkZtdkmNimkzMmE0mGRys2ee9qgEeDVCruiffySVquBRMQ6n1xgvHZYaO6OLlMeH0YHPg083ZqUasS5GsYVg==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/web-components/-/web-components-7.5.0.tgz", + "integrity": "sha512-fkEEfssthEgvf2DUlGBfj+mtpCgiuiC8BuZqf45ueMm8iYV34EZmPNzTopPHBsm2z8VM3WZDuIFQ1puhLy5+sg==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-client": "7.4.6", - "@storybook/docs-tools": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/core-client": "7.5.0", + "@storybook/docs-tools": "7.5.0", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.6", - "@storybook/preview-api": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/manager-api": "7.5.0", + "@storybook/preview-api": "7.5.0", + "@storybook/types": "7.5.0", "tiny-invariant": "^1.3.1", "ts-dedent": "^2.0.0" }, @@ -9386,19 +9383,19 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "lit": "^2.0.0" + "lit": "^2.0.0 || ^3.0.0" } }, "node_modules/@storybook/web-components-vite": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/web-components-vite/-/web-components-vite-7.4.6.tgz", - "integrity": "sha512-L/y6MTLbqfHaM0faK9Yl8n5PIyW4daZrtk7NfaOT6UjgNFjOx3o4CctYew6oj90cNk5HdZQX2OZny043GxDLZw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/web-components-vite/-/web-components-vite-7.5.0.tgz", + "integrity": "sha512-FZa5pbexnwqI0P2TFOa10vzzoABfsHBLRC0uEWntdxJYJso28xZPHdzuyNLTniOYsi+n5Eyifd3nJ+kmOS4OJg==", "dev": true, "dependencies": { - "@storybook/builder-vite": "7.4.6", - "@storybook/core-server": "7.4.6", - "@storybook/node-logger": "7.4.6", - "@storybook/web-components": "7.4.6", + "@storybook/builder-vite": "7.5.0", + "@storybook/core-server": "7.5.0", + "@storybook/node-logger": "7.5.0", + "@storybook/web-components": "7.5.0", "magic-string": "^0.30.0" }, "engines": { @@ -9414,13 +9411,13 @@ } }, "node_modules/@storybook/web-components/node_modules/@storybook/channels": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", - "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.5.0.tgz", + "integrity": "sha512-/7QJS1UA7TX3uhZqCpjv4Ib8nfMnDOJrBWvjiXiUONaRcSk/he5X+W1Zz/c7dgt+wkYuAh+evjc7glIaBhVNVQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.2.0", @@ -9432,9 +9429,9 @@ } }, "node_modules/@storybook/web-components/node_modules/@storybook/client-logger": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", - "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.5.0.tgz", + "integrity": "sha512-JV7J9vc69f9Il4uW62NIeweUU7O38VwFWxtCkhd0bcBA/9RG0go4M2avzxYYEAe9kIOX9IBBk8WGzMacwW4gKQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -9445,9 +9442,9 @@ } }, "node_modules/@storybook/web-components/node_modules/@storybook/core-events": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", - "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.5.0.tgz", + "integrity": "sha512-FsD+clTzayqprbVllnL8LLch+uCslJFDgsv7Zh99/zoi7OHtHyauoCZkdLBSiDzgc84qS41dY19HqX1/y7cnOw==", "dev": true, "dependencies": { "ts-dedent": "^2.0.0" @@ -9458,19 +9455,19 @@ } }, "node_modules/@storybook/web-components/node_modules/@storybook/manager-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", - "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.5.0.tgz", + "integrity": "sha512-n9EaJTThsuFiBDs+GcmNBHnvLhH0znJQprhIQqHNVnosCs/7sloYUzWZzZvPwfnfPvRR7ostEEMXvriaYXYdJQ==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.4.6", - "@storybook/theming": "7.4.6", - "@storybook/types": "7.4.6", + "@storybook/router": "7.5.0", + "@storybook/theming": "7.5.0", + "@storybook/types": "7.5.0", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -9489,17 +9486,17 @@ } }, "node_modules/@storybook/web-components/node_modules/@storybook/preview-api": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", - "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.5.0.tgz", + "integrity": "sha512-+DubgKwYFk532FKDB6sEGaG47wr0t137aIQSjbNwVmXXxj0QY0zIAThtERx7w6eHS7ZjOs6xlLEZhzC4FI525g==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", - "@storybook/client-logger": "7.4.6", - "@storybook/core-events": "7.4.6", + "@storybook/channels": "7.5.0", + "@storybook/client-logger": "7.5.0", + "@storybook/core-events": "7.5.0", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.6", + "@storybook/types": "7.5.0", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -9515,12 +9512,12 @@ } }, "node_modules/@storybook/web-components/node_modules/@storybook/router": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", - "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.5.0.tgz", + "integrity": "sha512-NzPwjndmOEOUL8jK5kUrSvRUIcN5Z+h+l0Z8g4I56RoEhNTcKeOW4jbcT4WKnR9H455dti8HAcTV/4x59GpgxQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.6", + "@storybook/client-logger": "7.5.0", "memoizerific": "^1.11.3", "qs": "^6.10.0" }, @@ -9534,13 +9531,13 @@ } }, "node_modules/@storybook/web-components/node_modules/@storybook/theming": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", - "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.5.0.tgz", + "integrity": "sha512-uTo97oh+pvmlfsZocFq5qae0zGo0VGk7oiBqNSSw6CiTqE1rIuSxoPrMAY+oCTWCUZV7DjONIGvpnGl2QALsAw==", "dev": true, "dependencies": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.6", + "@storybook/client-logger": "7.5.0", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" }, @@ -9554,12 +9551,12 @@ } }, "node_modules/@storybook/web-components/node_modules/@storybook/types": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", - "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.5.0.tgz", + "integrity": "sha512-fiOUnHKFi/UZSfvc53F0WEQCiquqcSqslL3f5EffwQRiXfeXlGavJb0kU03BO+CvOXcliRn6qKSF2dL0Rgb7Xw==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.6", + "@storybook/channels": "7.5.0", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -10134,9 +10131,9 @@ } }, "node_modules/@types/cross-spawn": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/cross-spawn/-/cross-spawn-6.0.3.tgz", - "integrity": "sha512-BDAkU7WHHRHnvBf5z89lcvACsvkz/n7Tv+HyD/uW76O29HoH1Tk/W6iQrepaZVbisvlEek4ygwT8IW7ow9XLAA==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@types/cross-spawn/-/cross-spawn-6.0.4.tgz", + "integrity": "sha512-GGLpeThc2Bu8FBGmVn76ZU3lix17qZensEI4/MPty0aZpm2CHfgEMis31pf5X5EiudYKcPAsWciAsCALoPo5dw==", "dev": true, "dependencies": { "@types/node": "*" @@ -10181,15 +10178,15 @@ "dev": true }, "node_modules/@types/ejs": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.3.tgz", - "integrity": "sha512-mv5T/JI/bu+pbfz1o+TLl1NF0NIBbjS0Vl6Ppz1YY9DkXfzZT0lelXpfS5i3ZS3U/p90it7uERQpBvLYoK8e4A==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.4.tgz", + "integrity": "sha512-fnM/NjByiWdSRJRrmGxgqOSAnmOnsvX1QcNYk5TVyIIj+7ZqOKMb9gQa4OIl/lil2w/8TiTWV+nz3q8yqxez/w==", "dev": true }, "node_modules/@types/emscripten": { - "version": "1.39.8", - "resolved": "https://registry.npmjs.org/@types/emscripten/-/emscripten-1.39.8.tgz", - "integrity": "sha512-Rk0HKcMXFUuqT32k1kXHZWgxiMvsyYsmlnjp0rLKa0MMoqXLE3T9dogDBTRfuc3SAsXu97KD3k4SKR1lHqd57w==", + "version": "1.39.9", + "resolved": "https://registry.npmjs.org/@types/emscripten/-/emscripten-1.39.9.tgz", + "integrity": "sha512-ILdWj4XYtNOqxJaW22NEQx2gJsLfV5ncxYhhGX1a1H1lXl2Ta0gUz7QOnOoF1xQbJwWDjImi8gXN9mKdIf6n9g==", "dev": true }, "node_modules/@types/estree": { @@ -10248,9 +10245,9 @@ } }, "node_modules/@types/graceful-fs": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.7.tgz", - "integrity": "sha512-MhzcwU8aUygZroVwL2jeYk6JisJrPl/oov/gsgGCue9mkgl9wjGbzReYQClxiUgFDnib9FuHqTndccKeZKxTRw==", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.8.tgz", + "integrity": "sha512-NhRH7YzWq8WiNKVavKPBmtLYZHxNY19Hh+az28O/phfp68CF45pMFud+ZzJ8ewnxnC5smIdF3dqFeiSUQ5I+pw==", "dev": true, "dependencies": { "@types/node": "*" @@ -10269,24 +10266,24 @@ "dev": true }, "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==", "dev": true }, "node_modules/@types/istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-gPQuzaPR5h/djlAv2apEG1HVOyj1IUs7GpfMZixU0/0KXT3pm64ylHuMUI1/Akh+sq/iikxg6Z2j+fcMDXaaTQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.2.tgz", + "integrity": "sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w==", "dev": true, "dependencies": { "@types/istanbul-lib-coverage": "*" } }, "node_modules/@types/istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-kv43F9eb3Lhj+lr/Hn6OcLCs/sSM8bt+fIaP11rCYngfV6NVjzWXJ17owQtDQTL9tQ8WSLUrGsSJ6rJz0F1w1A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.3.tgz", + "integrity": "sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg==", "dev": true, "dependencies": { "@types/istanbul-lib-report": "*" @@ -10325,9 +10322,9 @@ "dev": true }, "node_modules/@types/mime-types": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.2.tgz", - "integrity": "sha512-q9QGHMGCiBJCHEvd4ZLdasdqXv570agPsUW0CeIm/B8DzhxsYMerD0l3IlI+EQ1A2RWHY2mmM9x1YIuuWxisCg==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.3.tgz", + "integrity": "sha512-bvxCbHeeS7quxS7uOJShyoOQj/BfLabhF6mk9Rmr+2MRfW8W1yxyyL/0GTxLFTHen41GrIw4K3D4DrLouhb8vg==", "dev": true }, "node_modules/@types/minimatch": { @@ -10477,9 +10474,9 @@ "integrity": "sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==" }, "node_modules/@types/yargs": { - "version": "17.0.26", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.26.tgz", - "integrity": "sha512-Y3vDy2X6zw/ZCumcwLpdhM5L7jmyGpmBCTYMHDLqT2IKVMYRRLdv6ZakA+wxhra6Z/3bwhNbNl9bDGXaFU+6rw==", + "version": "17.0.28", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.28.tgz", + "integrity": "sha512-N3e3fkS86hNhtk6BEnc0rj3zcehaxx8QWhCROJkqpl5Zaoi7nAic3jH8q94jVD3zu5LGk+PUB6KAiDmimYOEQw==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -10922,15 +10919,15 @@ } }, "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", "dev": true, "dependencies": { - "debug": "4" + "debug": "^4.3.4" }, "engines": { - "node": ">= 6.0.0" + "node": ">= 14" } }, "node_modules/aggregate-error": { @@ -11822,9 +11819,9 @@ } }, "node_modules/ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "dev": true, "funding": [ { @@ -13521,9 +13518,9 @@ "dev": true }, "node_modules/esbuild-register": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.4.2.tgz", - "integrity": "sha512-kG/XyTDyz6+YDuyfB9ZoSIOOmgyFCH+xPRtsCa8W85HLRV5Csp+o3jWVbOSHgSLfyLc5DmP+KFDNwty4mEjC+Q==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.5.0.tgz", + "integrity": "sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==", "dev": true, "dependencies": { "debug": "^4.3.4" @@ -14736,9 +14733,9 @@ "dev": true }, "node_modules/flow-parser": { - "version": "0.217.2", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.217.2.tgz", - "integrity": "sha512-O+nt/FLXa1hTwtW0O9h36iZjbL84G8e1uByx5dDXMC97AJEbZXwJ4ohfaE8BNWrYFyYX0NGfz1o8AtLQvaaD/Q==", + "version": "0.219.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.219.0.tgz", + "integrity": "sha512-f1RKw+2QW4HCwCQ7qw8fTrlWmQnPIHmWDYbrMhXSSAuDbQbncY63I3Y/vwgimChGF2PT4qtXusu04R3wtCh4hw==", "dev": true, "engines": { "node": ">=0.4.0" @@ -15089,18 +15086,18 @@ } }, "node_modules/giget": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/giget/-/giget-1.1.2.tgz", - "integrity": "sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/giget/-/giget-1.1.3.tgz", + "integrity": "sha512-zHuCeqtfgqgDwvXlR84UNgnJDuUHQcNI5OqWqFxxuk2BshuKbYhJWdxBsEo4PvKqoGh23lUAIvBNpChMLv7/9Q==", "dev": true, "dependencies": { - "colorette": "^2.0.19", + "colorette": "^2.0.20", "defu": "^6.1.2", - "https-proxy-agent": "^5.0.1", + "https-proxy-agent": "^7.0.2", "mri": "^1.2.0", - "node-fetch-native": "^1.0.2", - "pathe": "^1.1.0", - "tar": "^6.1.13" + "node-fetch-native": "^1.4.0", + "pathe": "^1.1.1", + "tar": "^6.2.0" }, "bin": { "giget": "dist/cli.mjs" @@ -15505,16 +15502,16 @@ } }, "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", + "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", "dev": true, "dependencies": { - "agent-base": "6", + "agent-base": "^7.0.2", "debug": "4" }, "engines": { - "node": ">= 6" + "node": ">= 14" } }, "node_modules/human-signals": { @@ -21302,12 +21299,12 @@ "dev": true }, "node_modules/storybook": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/storybook/-/storybook-7.4.6.tgz", - "integrity": "sha512-YkFSpnR47j5zz7yElA+2axLjXN7K7TxDGJRHHlqXmG5iQ0PXzmjrj2RxMDKFz4Ybp/QjEUoJ4rx//ESEY0Nb5A==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/storybook/-/storybook-7.5.0.tgz", + "integrity": "sha512-dmvQNSuoHq1KrPcK8siApBi5n5reSf6RFAlLHYD+nhM+EP6SL2fXdVjP6ZynTUMRu1NQ5YR/oJhz/SsBzJNkcA==", "dev": true, "dependencies": { - "@storybook/cli": "7.4.6" + "@storybook/cli": "7.5.0" }, "bin": { "sb": "index.js", diff --git a/web/package.json b/web/package.json index d0b8f48cacd6..d82820d6ff69 100644 --- a/web/package.json +++ b/web/package.json @@ -82,11 +82,11 @@ "@rollup/plugin-replace": "^5.0.4", "@rollup/plugin-terser": "^0.4.4", "@rollup/plugin-typescript": "^11.1.5", - "@storybook/addon-essentials": "^7.4.6", - "@storybook/addon-links": "^7.4.6", + "@storybook/addon-essentials": "^7.5.0", + "@storybook/addon-links": "^7.5.0", "@storybook/blocks": "^7.1.1", - "@storybook/web-components": "^7.4.6", - "@storybook/web-components-vite": "^7.4.6", + "@storybook/web-components": "^7.5.0", + "@storybook/web-components-vite": "^7.5.0", "@trivago/prettier-plugin-sort-imports": "^4.2.0", "@types/chart.js": "^2.9.39", "@types/codemirror": "5.60.11", @@ -113,7 +113,7 @@ "rollup-plugin-copy": "^3.5.0", "rollup-plugin-cssimport": "^1.0.3", "rollup-plugin-postcss-lit": "^2.1.0", - "storybook": "^7.4.6", + "storybook": "^7.5.0", "storybook-addon-mock": "^4.3.0", "ts-lit-plugin": "^1.2.1", "tslib": "^2.6.2", From 6ba4f4df46f1bf1cb543e075f5ce402bc7377632 Mon Sep 17 00:00:00 2001 From: Jens L Date: Wed, 18 Oct 2023 14:57:35 +0200 Subject: [PATCH 43/57] enterprise: bump license usage task frequency (#7215) Signed-off-by: Jens Langhammer --- authentik/enterprise/models.py | 3 +++ authentik/enterprise/settings.py | 2 +- authentik/enterprise/tasks.py | 3 +-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/authentik/enterprise/models.py b/authentik/enterprise/models.py index aca8f0b02132..5def8ad37e35 100644 --- a/authentik/enterprise/models.py +++ b/authentik/enterprise/models.py @@ -136,6 +136,9 @@ def is_valid(self) -> bool: def record_usage(self): """Capture the current validity status and metrics and save them""" + threshold = now() - timedelta(hours=8) + if LicenseUsage.objects.filter(record_date__gte=threshold).exists(): + return LicenseUsage.objects.create( user_count=self.get_default_user_count(), external_user_count=self.get_external_user_count(), diff --git a/authentik/enterprise/settings.py b/authentik/enterprise/settings.py index af1da7294c6d..87aaea71bf02 100644 --- a/authentik/enterprise/settings.py +++ b/authentik/enterprise/settings.py @@ -6,7 +6,7 @@ CELERY_BEAT_SCHEDULE = { "enterprise_calculate_license": { "task": "authentik.enterprise.tasks.calculate_license", - "schedule": crontab(minute=fqdn_rand("calculate_license"), hour="*/8"), + "schedule": crontab(minute=fqdn_rand("calculate_license"), hour="*/2"), "options": {"queue": "authentik_scheduled"}, } } diff --git a/authentik/enterprise/tasks.py b/authentik/enterprise/tasks.py index 2931a726b082..2063cf07ac6d 100644 --- a/authentik/enterprise/tasks.py +++ b/authentik/enterprise/tasks.py @@ -6,5 +6,4 @@ @CELERY_APP.task() def calculate_license(): """Calculate licensing status""" - total = LicenseKey.get_total() - total.record_usage() + LicenseKey.get_total().record_usage() From 4262bd6ace63fcd34ecdef60a0be256aa7bd0b8e Mon Sep 17 00:00:00 2001 From: Samir Musali Date: Wed, 18 Oct 2023 18:11:47 +0300 Subject: [PATCH 44/57] docs: update full-dev-setup docs (#7205) --- .../setup/full-dev-environment.md | 48 ++++++++++++++----- 1 file changed, 37 insertions(+), 11 deletions(-) diff --git a/website/developer-docs/setup/full-dev-environment.md b/website/developer-docs/setup/full-dev-environment.md index baf9eeff1bdc..eb4888e8b6fd 100644 --- a/website/developer-docs/setup/full-dev-environment.md +++ b/website/developer-docs/setup/full-dev-environment.md @@ -30,39 +30,65 @@ Depending on your platform, some native dependencies might be required. On macOS As long as [this issue](https://github.com/xmlsec/python-xmlsec/issues/252) about `libxmlsec-1.3.0` is open, a workaround is required to install a compatible version of `libxmlsec1` with brew, see [this comment](https://github.com/xmlsec/python-xmlsec/issues/254#issuecomment-1612005910). ::: -First, you need to create an isolated Python environment. To create the environment and install dependencies, run the following commands in the same directory as your authentik git repository: +1. Create an isolated Python environment. To create the environment and install dependencies, run the following commands in the same directory as your local authentik git repository: ```shell poetry shell # Creates a python virtualenv, and activates it in a new shell -make install # Install all required dependencies for Python and Javascript, including development dependencies +make install # Installs all required dependencies for Python and Javascript, including development dependencies ``` -To configure authentik to use the local databases, we need a local config file. This file can be generated by running `make gen-dev-config`. +2. Configure authentik to use the local databases using a local config file. To generate this file, run the following command in the same directory as your local authentik git repository: -To apply database migrations, run `make migrate`. This is needed after the initial setup, and whenever you fetch new source from upstream. +```shell +make gen-dev-config # Generates a local config file +``` Generally speaking, authentik is a Django application, ran by gunicorn, proxied by a Go application. The Go application serves static files. Most functions and classes have type-hints and docstrings, so it is recommended to install a Python Type-checking Extension in your IDE to navigate around the code. -Before committing code, run `make lint` to ensure your code is formatted well. This also requires `pyright`, which is installed in the `web/` folder to make dependency management easier. +Before committing code, run the following commands in the same directory as your local authentik git repository: + +```shell +make lint # Ensures your code is well-formatted +make gen # Generates an updated OpenAPI Docs for any changes you make +``` -Run `make gen` to generate an updated OpenAPI document for any changes you made. +:::info +Linting also requires `pyright`, which is installed in the `web/` folder to make dependency management easier. +::: ## Frontend Setup By default, no compiled bundle of the frontend is included so this step is required even if you're not developing for the UI. -To build the UI once, run `make web-build`. +To build the UI once, run the following command in the same directory as your local authentik git repository: + +```shell +make web-build # Builds the UI once +``` + +If you want to live-edit the UI, you can run the following command in the same directory as your local authentik git repository instead, which will immediately update the UI with any changes you make so you can see the results in real time without needing to rebuild: -Alternatively, if you want to live-edit the UI, you can run `make web-watch` instead. -This will immediately update the UI with any changes you make so you can see the results in real time without needing to rebuild. +```shell +make web-watch # Updates the UI with any changes you make +``` -To format the frontend code, run `make web`. +To format the frontend code, run the following command in the same directory as your authentik git repository: + +```shell +make web # Formats the frontend code +``` ## Running authentik -Now that the backend and frontend have been setup and built, you can start authentik by running `ak server`. authentik should now be accessible at `http://localhost:9000`. +Now that the backend and frontend have been setup and built, you can start authentik by running the following command in the same directory as your local authentik git repository: + +```shell +ak server # Starts authentik server +``` + +And now, authentik should now be accessible at `http://localhost:9000`. :::info To define a password for the default admin (called **akadmin**), you can manually enter the `/if/flow/initial-setup/` path in the browser address bar to launch the initial flow. From a60f3b4b81f39f72d63482b0bb79b321d679a828 Mon Sep 17 00:00:00 2001 From: Samir Musali Date: Wed, 18 Oct 2023 18:13:33 +0300 Subject: [PATCH 45/57] stage/deny: add custom message (#7144) * stage/deny: add message * add migration, tests and schema update Signed-off-by: Jens Langhammer * add form Signed-off-by: Jens Langhammer --------- Signed-off-by: Jens Langhammer Co-authored-by: Jens Langhammer --- authentik/stages/deny/api.py | 2 +- .../migrations/0002_denystage_deny_message.py | 17 +++++++++ authentik/stages/deny/models.py | 4 ++- authentik/stages/deny/stage.py | 5 ++- authentik/stages/deny/tests.py | 35 +++++++++++++++++++ blueprints/schema.json | 4 +++ schema.yml | 10 ++++++ web/src/admin/stages/deny/DenyStageForm.ts | 22 ++++++++++-- website/docs/flow/context/index.md | 10 ++++++ 9 files changed, 104 insertions(+), 5 deletions(-) create mode 100644 authentik/stages/deny/migrations/0002_denystage_deny_message.py diff --git a/authentik/stages/deny/api.py b/authentik/stages/deny/api.py index 0cda5c2142be..bdadff7491de 100644 --- a/authentik/stages/deny/api.py +++ b/authentik/stages/deny/api.py @@ -11,7 +11,7 @@ class DenyStageSerializer(StageSerializer): class Meta: model = DenyStage - fields = StageSerializer.Meta.fields + fields = StageSerializer.Meta.fields + ["deny_message"] class DenyStageViewSet(UsedByMixin, ModelViewSet): diff --git a/authentik/stages/deny/migrations/0002_denystage_deny_message.py b/authentik/stages/deny/migrations/0002_denystage_deny_message.py new file mode 100644 index 000000000000..0709c1878cc6 --- /dev/null +++ b/authentik/stages/deny/migrations/0002_denystage_deny_message.py @@ -0,0 +1,17 @@ +# Generated by Django 4.2.6 on 2023-10-18 09:11 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("authentik_stages_deny", "0001_initial"), + ] + + operations = [ + migrations.AddField( + model_name="denystage", + name="deny_message", + field=models.TextField(blank=True, default=""), + ), + ] diff --git a/authentik/stages/deny/models.py b/authentik/stages/deny/models.py index 4aa2e692f3ca..c5ab2c2519ad 100644 --- a/authentik/stages/deny/models.py +++ b/authentik/stages/deny/models.py @@ -1,5 +1,5 @@ """deny stage models""" - +from django.db import models from django.utils.translation import gettext_lazy as _ from django.views import View from rest_framework.serializers import BaseSerializer @@ -10,6 +10,8 @@ class DenyStage(Stage): """Cancels the current flow.""" + deny_message = models.TextField(blank=True, default="") + @property def serializer(self) -> type[BaseSerializer]: from authentik.stages.deny.api import DenyStageSerializer diff --git a/authentik/stages/deny/stage.py b/authentik/stages/deny/stage.py index 2b38a299e4b7..606f504a1091 100644 --- a/authentik/stages/deny/stage.py +++ b/authentik/stages/deny/stage.py @@ -2,6 +2,7 @@ from django.http import HttpRequest, HttpResponse from authentik.flows.stage import StageView +from authentik.stages.deny.models import DenyStage class DenyStageView(StageView): @@ -9,4 +10,6 @@ class DenyStageView(StageView): def dispatch(self, request: HttpRequest) -> HttpResponse: """Cancels the current flow""" - return self.executor.stage_invalid() + stage: DenyStage = self.executor.current_stage + message = self.executor.plan.context.get("deny_message", stage.deny_message) + return self.executor.stage_invalid(message) diff --git a/authentik/stages/deny/tests.py b/authentik/stages/deny/tests.py index f72b097de1b2..17e9d49bb6bb 100644 --- a/authentik/stages/deny/tests.py +++ b/authentik/stages/deny/tests.py @@ -45,3 +45,38 @@ def test_valid_post(self): ) self.assertStageResponse(response, self.flow, component="ak-stage-access-denied") + + def test_message_static(self): + """Test with a static error message""" + self.stage.deny_message = "foo" + self.stage.save() + plan = FlowPlan(flow_pk=self.flow.pk.hex, bindings=[self.binding], markers=[StageMarker()]) + session = self.client.session + session[SESSION_KEY_PLAN] = plan + session.save() + + response = self.client.get( + reverse("authentik_api:flow-executor", kwargs={"flow_slug": self.flow.slug}) + ) + + self.assertStageResponse( + response, self.flow, component="ak-stage-access-denied", error_message="foo" + ) + + def test_message_overwrite(self): + """Test with an overwritten error message""" + self.stage.deny_message = "foo" + self.stage.save() + plan = FlowPlan(flow_pk=self.flow.pk.hex, bindings=[self.binding], markers=[StageMarker()]) + plan.context["deny_message"] = "bar" + session = self.client.session + session[SESSION_KEY_PLAN] = plan + session.save() + + response = self.client.get( + reverse("authentik_api:flow-executor", kwargs={"flow_slug": self.flow.slug}) + ) + + self.assertStageResponse( + response, self.flow, component="ak-stage-access-denied", error_message="bar" + ) diff --git a/blueprints/schema.json b/blueprints/schema.json index 57f62408785a..ca96a5e16497 100644 --- a/blueprints/schema.json +++ b/blueprints/schema.json @@ -7009,6 +7009,10 @@ ] }, "title": "Flow set" + }, + "deny_message": { + "type": "string", + "title": "Deny message" } }, "required": [] diff --git a/schema.yml b/schema.yml index 219633aa294b..a9edeb5648ac 100644 --- a/schema.yml +++ b/schema.yml @@ -23909,6 +23909,10 @@ paths: operationId: stages_deny_list description: DenyStage Viewset parameters: + - in: query + name: deny_message + schema: + type: string - in: query name: name schema: @@ -29786,6 +29790,8 @@ components: type: array items: $ref: '#/components/schemas/FlowSet' + deny_message: + type: string required: - component - meta_model_name @@ -29804,6 +29810,8 @@ components: type: array items: $ref: '#/components/schemas/FlowSetRequest' + deny_message: + type: string required: - name Device: @@ -35997,6 +36005,8 @@ components: type: array items: $ref: '#/components/schemas/FlowSetRequest' + deny_message: + type: string PatchedDockerServiceConnectionRequest: type: object description: DockerServiceConnection Serializer diff --git a/web/src/admin/stages/deny/DenyStageForm.ts b/web/src/admin/stages/deny/DenyStageForm.ts index 929496a789ba..340e911d26b7 100644 --- a/web/src/admin/stages/deny/DenyStageForm.ts +++ b/web/src/admin/stages/deny/DenyStageForm.ts @@ -39,7 +39,8 @@ export class DenyStageForm extends ModelForm { } renderForm(): TemplateResult { - return html` + return html` + ${msg( "Statically deny the flow. To use this stage effectively, disable *Evaluate when flow is planned* on the respective binding.", )} @@ -51,6 +52,23 @@ export class DenyStageForm extends ModelForm { class="pf-c-form-control" required /> - `; + + + ${msg("Stage-specific settings")} +
    + + +

    + ${msg("Message shown when this stage is run.")} +

    +
    +
    +
    + `; } } diff --git a/website/docs/flow/context/index.md b/website/docs/flow/context/index.md index 07b5840926bf..e98e4d30df2b 100644 --- a/website/docs/flow/context/index.md +++ b/website/docs/flow/context/index.md @@ -98,6 +98,16 @@ URL that the form will be submitted to. Key-value pairs of the data that is included in the form and will be submitted to `url`. +#### Deny stage + +##### `deny_message` (string) + +:::info +Requires authentik 2023.10 +::: + +Optionally overwrite the deny message shown, has a higher priority than the message configured in the stage. + #### User write stage ##### `groups` (List of [Group objects](../../user-group/group.md)) From 3c734da86ab1134c4080000f94b76e647395308a Mon Sep 17 00:00:00 2001 From: "authentik-automation[bot]" <135050075+authentik-automation[bot]@users.noreply.github.com> Date: Wed, 18 Oct 2023 15:32:21 +0000 Subject: [PATCH 46/57] web: bump API Client version (#7218) Signed-off-by: GitHub Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com> --- web/package-lock.json | 8 ++++---- web/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/web/package-lock.json b/web/package-lock.json index 7b97a607214c..a83c1facef78 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -17,7 +17,7 @@ "@codemirror/theme-one-dark": "^6.1.2", "@formatjs/intl-listformat": "^7.5.0", "@fortawesome/fontawesome-free": "^6.4.2", - "@goauthentik/api": "^2023.8.3-1697470337", + "@goauthentik/api": "^2023.8.3-1697642041", "@lit-labs/context": "^0.4.1", "@lit-labs/task": "^3.1.0", "@lit/localize": "^0.11.4", @@ -2883,9 +2883,9 @@ } }, "node_modules/@goauthentik/api": { - "version": "2023.8.3-1697470337", - "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2023.8.3-1697470337.tgz", - "integrity": "sha512-LHFqHXOR4dkVnI2EKRLLUyFQxdfHfxvYnbu/caFNlmrFeAQ2T/KYiOfTcWAvHIQ/unK9STF5EAzeFJ18m6RIdQ==" + "version": "2023.8.3-1697642041", + "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2023.8.3-1697642041.tgz", + "integrity": "sha512-+i3+6MAGb1hBeaHuEq2G+ykgMiz7t/gGvnDy2FiC/yXcYynCAcoKD8DRzU0CSbgETsYtAd7H0hgQ7TePitMXnA==" }, "node_modules/@hcaptcha/types": { "version": "1.0.3", diff --git a/web/package.json b/web/package.json index d82820d6ff69..29cb8dd1d41b 100644 --- a/web/package.json +++ b/web/package.json @@ -38,7 +38,7 @@ "@codemirror/theme-one-dark": "^6.1.2", "@formatjs/intl-listformat": "^7.5.0", "@fortawesome/fontawesome-free": "^6.4.2", - "@goauthentik/api": "^2023.8.3-1697470337", + "@goauthentik/api": "^2023.8.3-1697642041", "@lit-labs/context": "^0.4.1", "@lit-labs/task": "^3.1.0", "@lit/localize": "^0.11.4", From 8aafa0625991d8d075edccedbb277a85050bf3d6 Mon Sep 17 00:00:00 2001 From: Jens L Date: Wed, 18 Oct 2023 19:43:36 +0200 Subject: [PATCH 47/57] providers/radius: TOTP MFA support (#7217) * move CheckPasswordMFA to flow executor Signed-off-by: Jens Langhammer * add mfa support field to radius Signed-off-by: Jens Langhammer --------- Signed-off-by: Jens Langhammer --- authentik/providers/radius/api.py | 2 + .../0002_radiusprovider_mfa_support.py | 21 ++++++++ authentik/providers/radius/models.py | 11 +++++ blueprints/schema.json | 5 ++ internal/outpost/flow/solvers_mfa.go | 48 ++++++++++++++++++ internal/outpost/ldap/bind/direct/bind.go | 49 ++----------------- internal/outpost/radius/api.go | 7 ++- .../outpost/radius/handle_access_request.go | 3 ++ internal/outpost/radius/radius.go | 1 + schema.yml | 28 +++++++++++ .../providers/radius/RadiusProviderForm.ts | 20 ++++++++ 11 files changed, 145 insertions(+), 50 deletions(-) create mode 100644 authentik/providers/radius/migrations/0002_radiusprovider_mfa_support.py create mode 100644 internal/outpost/flow/solvers_mfa.go diff --git a/authentik/providers/radius/api.py b/authentik/providers/radius/api.py index d9a2578cee6d..af43424bfe15 100644 --- a/authentik/providers/radius/api.py +++ b/authentik/providers/radius/api.py @@ -21,6 +21,7 @@ class Meta: # an admin might have to view it "shared_secret", "outpost_set", + "mfa_support", ] extra_kwargs = ProviderSerializer.Meta.extra_kwargs @@ -55,6 +56,7 @@ class Meta: "auth_flow_slug", "client_networks", "shared_secret", + "mfa_support", ] diff --git a/authentik/providers/radius/migrations/0002_radiusprovider_mfa_support.py b/authentik/providers/radius/migrations/0002_radiusprovider_mfa_support.py new file mode 100644 index 000000000000..4a8af9e30041 --- /dev/null +++ b/authentik/providers/radius/migrations/0002_radiusprovider_mfa_support.py @@ -0,0 +1,21 @@ +# Generated by Django 4.2.6 on 2023-10-18 15:09 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("authentik_providers_radius", "0001_initial"), + ] + + operations = [ + migrations.AddField( + model_name="radiusprovider", + name="mfa_support", + field=models.BooleanField( + default=True, + help_text="When enabled, code-based multi-factor authentication can be used by appending a semicolon and the TOTP code to the password. This should only be enabled if all users that will bind to this provider have a TOTP device configured, as otherwise a password may incorrectly be rejected if it contains a semicolon.", + verbose_name="MFA Support", + ), + ), + ] diff --git a/authentik/providers/radius/models.py b/authentik/providers/radius/models.py index 7ba39b47e4cd..781023fd62b2 100644 --- a/authentik/providers/radius/models.py +++ b/authentik/providers/radius/models.py @@ -27,6 +27,17 @@ class RadiusProvider(OutpostModel, Provider): ), ) + mfa_support = models.BooleanField( + default=True, + verbose_name="MFA Support", + help_text=_( + "When enabled, code-based multi-factor authentication can be used by appending a " + "semicolon and the TOTP code to the password. This should only be enabled if all " + "users that will bind to this provider have a TOTP device configured, as otherwise " + "a password may incorrectly be rejected if it contains a semicolon." + ), + ) + @property def launch_url(self) -> Optional[str]: """Radius never has a launch URL""" diff --git a/blueprints/schema.json b/blueprints/schema.json index ca96a5e16497..deb177e4dd0a 100644 --- a/blueprints/schema.json +++ b/blueprints/schema.json @@ -4794,6 +4794,11 @@ "minLength": 1, "title": "Shared secret", "description": "Shared secret between clients and server to hash packets." + }, + "mfa_support": { + "type": "boolean", + "title": "MFA Support", + "description": "When enabled, code-based multi-factor authentication can be used by appending a semicolon and the TOTP code to the password. This should only be enabled if all users that will bind to this provider have a TOTP device configured, as otherwise a password may incorrectly be rejected if it contains a semicolon." } }, "required": [] diff --git a/internal/outpost/flow/solvers_mfa.go b/internal/outpost/flow/solvers_mfa.go new file mode 100644 index 000000000000..f2952eb3df05 --- /dev/null +++ b/internal/outpost/flow/solvers_mfa.go @@ -0,0 +1,48 @@ +package flow + +import ( + "regexp" + "strconv" + "strings" +) + +const CodePasswordSeparator = ";" + +var alphaNum = regexp.MustCompile(`^[a-zA-Z0-9]*$`) + +// CheckPasswordInlineMFA For protocols that only support username/password, check if the password +// contains the TOTP code +func (fe *FlowExecutor) CheckPasswordInlineMFA() { + password := fe.Answers[StagePassword] + // We already have an authenticator answer + if fe.Answers[StageAuthenticatorValidate] != "" { + return + } + // password doesn't contain the separator + if !strings.Contains(password, CodePasswordSeparator) { + return + } + // password ends with the separator, so it won't contain an answer + if strings.HasSuffix(password, CodePasswordSeparator) { + return + } + idx := strings.LastIndex(password, CodePasswordSeparator) + authenticator := password[idx+1:] + // Authenticator is either 6 chars (totp code) or 8 chars (long totp or static) + if len(authenticator) == 6 { + // authenticator answer isn't purely numerical, so won't be value + if _, err := strconv.Atoi(authenticator); err != nil { + return + } + } else if len(authenticator) == 8 { + // 8 chars can be a long totp or static token, so it needs to be alphanumerical + if !alphaNum.MatchString(authenticator) { + return + } + } else { + // Any other length, doesn't contain an answer + return + } + fe.Answers[StagePassword] = password[:idx] + fe.Answers[StageAuthenticatorValidate] = authenticator +} diff --git a/internal/outpost/ldap/bind/direct/bind.go b/internal/outpost/ldap/bind/direct/bind.go index ce74d18f87ca..f6e49ccfbbbf 100644 --- a/internal/outpost/ldap/bind/direct/bind.go +++ b/internal/outpost/ldap/bind/direct/bind.go @@ -2,9 +2,6 @@ package direct import ( "context" - "regexp" - "strconv" - "strings" "beryju.io/ldap" "github.com/getsentry/sentry-go" @@ -16,10 +13,6 @@ import ( "goauthentik.io/internal/outpost/ldap/metrics" ) -const CodePasswordSeparator = ";" - -var alphaNum = regexp.MustCompile(`^[a-zA-Z0-9]*$`) - func (db *DirectBinder) Bind(username string, req *bind.Request) (ldap.LDAPResultCode, error) { fe := flow.NewFlowExecutor(req.Context(), db.si.GetAuthenticationFlowSlug(), db.si.GetAPIClient().GetConfig(), log.Fields{ "bindDN": req.BindDN, @@ -31,7 +24,9 @@ func (db *DirectBinder) Bind(username string, req *bind.Request) (ldap.LDAPResul fe.Answers[flow.StageIdentification] = username fe.Answers[flow.StagePassword] = req.BindPW - db.CheckPasswordMFA(fe) + if db.si.GetMFASupport() { + fe.CheckPasswordInlineMFA() + } passed, err := fe.Execute() flags := flags.UserFlags{ @@ -141,41 +136,3 @@ func (db *DirectBinder) Bind(username string, req *bind.Request) (ldap.LDAPResul uisp.Finish() return ldap.LDAPResultSuccess, nil } - -func (db *DirectBinder) CheckPasswordMFA(fe *flow.FlowExecutor) { - if !db.si.GetMFASupport() { - return - } - password := fe.Answers[flow.StagePassword] - // We already have an authenticator answer - if fe.Answers[flow.StageAuthenticatorValidate] != "" { - return - } - // password doesn't contain the separator - if !strings.Contains(password, CodePasswordSeparator) { - return - } - // password ends with the separator, so it won't contain an answer - if strings.HasSuffix(password, CodePasswordSeparator) { - return - } - idx := strings.LastIndex(password, CodePasswordSeparator) - authenticator := password[idx+1:] - // Authenticator is either 6 chars (totp code) or 8 chars (long totp or static) - if len(authenticator) == 6 { - // authenticator answer isn't purely numerical, so won't be value - if _, err := strconv.Atoi(authenticator); err != nil { - return - } - } else if len(authenticator) == 8 { - // 8 chars can be a long totp or static token, so it needs to be alphanumerical - if !alphaNum.MatchString(authenticator) { - return - } - } else { - // Any other length, doesn't contain an answer - return - } - fe.Answers[flow.StagePassword] = password[:idx] - fe.Answers[flow.StageAuthenticatorValidate] = authenticator -} diff --git a/internal/outpost/radius/api.go b/internal/outpost/radius/api.go index 5092a9cfbfc7..ce35e7096179 100644 --- a/internal/outpost/radius/api.go +++ b/internal/outpost/radius/api.go @@ -40,11 +40,10 @@ func (rs *RadiusServer) Refresh() error { providers := make([]*ProviderInstance, len(outposts.Results)) for idx, provider := range outposts.Results { logger := log.WithField("logger", "authentik.outpost.radius").WithField("provider", provider.Name) - s := *provider.SharedSecret - c := *provider.ClientNetworks providers[idx] = &ProviderInstance{ - SharedSecret: []byte(s), - ClientNetworks: parseCIDRs(c), + SharedSecret: []byte(provider.GetSharedSecret()), + ClientNetworks: parseCIDRs(provider.GetClientNetworks()), + MFASupport: provider.GetMfaSupport(), appSlug: provider.ApplicationSlug, flowSlug: provider.AuthFlowSlug, s: rs, diff --git a/internal/outpost/radius/handle_access_request.go b/internal/outpost/radius/handle_access_request.go index 465f1d267e2b..6ea387f53ba7 100644 --- a/internal/outpost/radius/handle_access_request.go +++ b/internal/outpost/radius/handle_access_request.go @@ -22,6 +22,9 @@ func (rs *RadiusServer) Handle_AccessRequest(w radius.ResponseWriter, r *RadiusR fe.Answers[flow.StageIdentification] = username fe.Answers[flow.StagePassword] = rfc2865.UserPassword_GetString(r.Packet) + if r.pi.MFASupport { + fe.CheckPasswordInlineMFA() + } passed, err := fe.Execute() diff --git a/internal/outpost/radius/radius.go b/internal/outpost/radius/radius.go index d78854e4aa0d..808336e57526 100644 --- a/internal/outpost/radius/radius.go +++ b/internal/outpost/radius/radius.go @@ -17,6 +17,7 @@ import ( type ProviderInstance struct { ClientNetworks []*net.IPNet SharedSecret []byte + MFASupport bool appSlug string flowSlug string diff --git a/schema.yml b/schema.yml index a9edeb5648ac..a311785f0810 100644 --- a/schema.yml +++ b/schema.yml @@ -37484,6 +37484,13 @@ components: type: string minLength: 1 description: Shared secret between clients and server to hash packets. + mfa_support: + type: boolean + description: When enabled, code-based multi-factor authentication can be + used by appending a semicolon and the TOTP code to the password. This + should only be enabled if all users that will bind to this provider have + a TOTP device configured, as otherwise a password may incorrectly be rejected + if it contains a semicolon. PatchedReputationPolicyRequest: type: object description: Reputation Policy Serializer @@ -39379,6 +39386,13 @@ components: shared_secret: type: string description: Shared secret between clients and server to hash packets. + mfa_support: + type: boolean + description: When enabled, code-based multi-factor authentication can be + used by appending a semicolon and the TOTP code to the password. This + should only be enabled if all users that will bind to this provider have + a TOTP device configured, as otherwise a password may incorrectly be rejected + if it contains a semicolon. required: - application_slug - auth_flow_slug @@ -39454,6 +39468,13 @@ components: items: type: string readOnly: true + mfa_support: + type: boolean + description: When enabled, code-based multi-factor authentication can be + used by appending a semicolon and the TOTP code to the password. This + should only be enabled if all users that will bind to this provider have + a TOTP device configured, as otherwise a password may incorrectly be rejected + if it contains a semicolon. required: - assigned_application_name - assigned_application_slug @@ -39499,6 +39520,13 @@ components: type: string minLength: 1 description: Shared secret between clients and server to hash packets. + mfa_support: + type: boolean + description: When enabled, code-based multi-factor authentication can be + used by appending a semicolon and the TOTP code to the password. This + should only be enabled if all users that will bind to this provider have + a TOTP device configured, as otherwise a password may incorrectly be rejected + if it contains a semicolon. required: - authorization_flow - name diff --git a/web/src/admin/providers/radius/RadiusProviderForm.ts b/web/src/admin/providers/radius/RadiusProviderForm.ts index e383070743e2..3898ba048af4 100644 --- a/web/src/admin/providers/radius/RadiusProviderForm.ts +++ b/web/src/admin/providers/radius/RadiusProviderForm.ts @@ -70,6 +70,26 @@ export class RadiusProviderFormPage extends ModelForm { >

    ${msg("Flow used for users to authenticate.")}

    + + +

    + ${msg( + "When enabled, code-based multi-factor authentication can be used by appending a semicolon and the TOTP code to the password. This should only be enabled if all users that will bind to this provider have a TOTP device configured, as otherwise a password may incorrectly be rejected if it contains a semicolon.", + )} +

    +
    ${msg("Protocol settings")} From d0fca8272c4f8fb66b401572fd8f7f84187e9f0d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Oct 2023 20:01:35 +0200 Subject: [PATCH 48/57] core: bump goauthentik.io/api/v3 from 3.2023083.7 to 3.2023083.8 (#7221) * core: bump goauthentik.io/api/v3 from 3.2023083.7 to 3.2023083.8 Bumps [goauthentik.io/api/v3](https://github.com/goauthentik/client-go) from 3.2023083.7 to 3.2023083.8. - [Release notes](https://github.com/goauthentik/client-go/releases) - [Commits](https://github.com/goauthentik/client-go/compare/v3.2023083.7...v3.2023083.8) --- updated-dependencies: - dependency-name: goauthentik.io/api/v3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * bump even harder Signed-off-by: Jens Langhammer --------- Signed-off-by: dependabot[bot] Signed-off-by: Jens Langhammer Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jens Langhammer --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5f5394955912..cdde8da007fb 100644 --- a/go.mod +++ b/go.mod @@ -27,7 +27,7 @@ require ( github.com/sirupsen/logrus v1.9.3 github.com/spf13/cobra v1.7.0 github.com/stretchr/testify v1.8.4 - goauthentik.io/api/v3 v3.2023083.7 + goauthentik.io/api/v3 v3.2023083.9 golang.org/x/exp v0.0.0-20230210204819-062eb4c674ab golang.org/x/oauth2 v0.13.0 golang.org/x/sync v0.4.0 diff --git a/go.sum b/go.sum index 75d8b4a2d4fd..ee8889edb2e1 100644 --- a/go.sum +++ b/go.sum @@ -355,8 +355,8 @@ go.opentelemetry.io/otel/trace v1.14.0 h1:wp2Mmvj41tDsyAJXiWDWpfNsOiIyd38fy85pyK go.opentelemetry.io/otel/trace v1.14.0/go.mod h1:8avnQLK+CG77yNLUae4ea2JDQ6iT+gozhnZjy/rw9G8= go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= go.uber.org/goleak v1.2.1/go.mod h1:qlT2yGI9QafXHhZZLxlSuNsMw3FFLxBr+tBRlmO1xH4= -goauthentik.io/api/v3 v3.2023083.7 h1:/nS5Cgg+daTmsHVoFNxANLUQXVsJMAu4U8P7OyxeZf0= -goauthentik.io/api/v3 v3.2023083.7/go.mod h1:zz+mEZg8rY/7eEjkMGWJ2DnGqk+zqxuybGCGrR2O4Kw= +goauthentik.io/api/v3 v3.2023083.9 h1:23tCiPYFpxfElH7LQKiVL2zEigTefM8s4CJOlytgiAs= +goauthentik.io/api/v3 v3.2023083.9/go.mod h1:zz+mEZg8rY/7eEjkMGWJ2DnGqk+zqxuybGCGrR2O4Kw= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= From 3beb421e5049d1557f8bc7fce547d6c771b0579a Mon Sep 17 00:00:00 2001 From: "authentik-automation[bot]" <135050075+authentik-automation[bot]@users.noreply.github.com> Date: Wed, 18 Oct 2023 18:02:44 +0000 Subject: [PATCH 49/57] web: bump API Client version (#7220) Signed-off-by: GitHub Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com> --- web/package-lock.json | 8 ++++---- web/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/web/package-lock.json b/web/package-lock.json index a83c1facef78..c9fe7d4a59e6 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -17,7 +17,7 @@ "@codemirror/theme-one-dark": "^6.1.2", "@formatjs/intl-listformat": "^7.5.0", "@fortawesome/fontawesome-free": "^6.4.2", - "@goauthentik/api": "^2023.8.3-1697642041", + "@goauthentik/api": "^2023.8.3-1697651039", "@lit-labs/context": "^0.4.1", "@lit-labs/task": "^3.1.0", "@lit/localize": "^0.11.4", @@ -2883,9 +2883,9 @@ } }, "node_modules/@goauthentik/api": { - "version": "2023.8.3-1697642041", - "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2023.8.3-1697642041.tgz", - "integrity": "sha512-+i3+6MAGb1hBeaHuEq2G+ykgMiz7t/gGvnDy2FiC/yXcYynCAcoKD8DRzU0CSbgETsYtAd7H0hgQ7TePitMXnA==" + "version": "2023.8.3-1697651039", + "resolved": "https://registry.npmjs.org/@goauthentik/api/-/api-2023.8.3-1697651039.tgz", + "integrity": "sha512-ngpY7VocMkFlpfX3tX8U0KjmyZgzs5xcB3UiSDl+3A7/+j0IPv7eaYwYCeMsHj0//xUDEfiF5a/cTVweEAO5ew==" }, "node_modules/@hcaptcha/types": { "version": "1.0.3", diff --git a/web/package.json b/web/package.json index 29cb8dd1d41b..0fdf4eedf173 100644 --- a/web/package.json +++ b/web/package.json @@ -38,7 +38,7 @@ "@codemirror/theme-one-dark": "^6.1.2", "@formatjs/intl-listformat": "^7.5.0", "@fortawesome/fontawesome-free": "^6.4.2", - "@goauthentik/api": "^2023.8.3-1697642041", + "@goauthentik/api": "^2023.8.3-1697651039", "@lit-labs/context": "^0.4.1", "@lit-labs/task": "^3.1.0", "@lit/localize": "^0.11.4", From 3a7283c670d2d2e2cc391d43c3761b8a43c4177b Mon Sep 17 00:00:00 2001 From: Ken Sternberg <133134217+kensternberg-authentik@users.noreply.github.com> Date: Wed, 18 Oct 2023 12:43:37 -0700 Subject: [PATCH 50/57] web: Application wizard v2 with tests (#7004) * A lot of comments about forms. * Adding comments to the wizard. * Broke out the text input into a single renderer. Still works as required. * web: Legibility in the ApplicationForm. This is a pretty good result. By using the LightDOM setting, this provides the existing Authentik form manager with access to the ak-form-horizontal-element components without having to do any cross-border magic. It's not ideal, and it shows up just how badly we've got patternfly splattered everywhere, but the actual results are remarkable. The patterns for text, switch, radio, textarea, file, and even select are smaller and easier here. I'm still noodling on what an unspread search-select element would look like. It's just dependency injection, so it ought to be as straightforward as that. * web: Marking down the start of the 'components' library. * web: Baby steps I become frustrated with my inability to make any progress on this project, so I decided to reach for a tool that I consider highly reliable but also incredibly time-consuming and boring: test driven development. In this case, I wrote a story about how I wanted to see the first page rendered: just put the HTML tag, completely unadorned, that will handle the first page of the wizard. Then, add an event handler that will send the updated content to some parent object, since what we really want is to orchestrate the state of the user's input with a centralized location. Then, rather than fiddling with the attributes and properties of the various pages, I wanted them to be able to "look up" the values they want, much as we'd expect a standalone form to be able to pull its values from the server, so I added a context object that receives the update event and incorporates the new knowledge about the state of the process into itself. The result is surprisingly satisfying: the first page renders cleanly, displays the content that we want, and as we fiddle with, we can *watch in real time* as the results of the context are updated and retransmitted to all receiving objects. And the sending object gets the results so it re-renders, but it ends up looking the same as it was before the render. * Now, it's starting to look like a complete package. The LDAP method is working, but there is a bug: the radio is sending the wrong value !?!?!?. Track that down, dammit. The search wrappers now resend their events as standard `input` events, and that actually seems to work well; the browser is decorating it with the right target, with the right `name` attribute, and since we have good definitions of the `value` as a string (the real value of any search object is its UUID4), that works quite well. Added search wrappers for CoreGroup and CryptoCertificate (CertificateKeyPairs), and the latter has flags for "use the first one if it's the only one" and "allow the display of keyless certificates." Not sure why `state()` is blocking the transmission of typing information from the typed element to the context handler, but it's a bug in the typechecker, and it's not a problem so far. * Now, it's starting to look like a complete package. The LDAP method is working, but there is a bug: the radio is sending the wrong value !?!?!?. Track that down, dammit. The search wrappers now resend their events as standard `input` events, and that actually seems to work well; the browser is decorating it with the right target, with the right `name` attribute, and since we have good definitions of the `value` as a string (the real value of any search object is its UUID4), that works quite well. Added search wrappers for CoreGroup and CryptoCertificate (CertificateKeyPairs), and the latter has flags for "use the first one if it's the only one" and "allow the display of keyless certificates." Not sure why `state()` is blocking the transmission of typing information from the typed element to the context handler, but it's a bug in the typechecker, and it's not a problem so far. * web: tracked down that weirld bug with the radio. Because radio inputs are actually multiples, the events handling for radio is... wonky. If we want our `` component to be a unitary event dispatcher, saying "This is the element selected," we needed to do more than what was currently being handled. I've intercepted the events that we care about and have placed them into a controller that dictates both the setting and the re-render of the component. This makes it "controlled" (to use the Angular/React/Vue) language and depends on Lit's reactiveElement lifecycle to work, rather than trust the browser, but the browser's experience with respect to the ` * separate blueprint importer from yaml parsing Signed-off-by: Jens Langhammer * cleanup Signed-off-by: Jens Langhammer * web: Replace ad-hoc toggle control with ak-toggle-group This commit replaces various ad-hoc implementations of the Patternfly Toggle Group HTML with a web component that encapsulates all of the needed behavior and exposes a single API with a single event handler, return the value of the option clicked. The results are: Lots of visual clutter is eliminated. A single link of: ```
    ``` Now looks like: ``` ``` This also means that the three pages that used the Patternfly Toggle Group could eliminate all of their Patternfly PFToggleGroup needs, as well as the `justify-content: center` extension, which also eliminated the `css` import. The savings aren't as spectacular as I'd hoped: removed 178 lines, but added 123; total savings 55 lines of code. I still count this a win: we need never write another toggle component again, and any bugs, extensions or features we may want to add can be centralized or forked without risking the whole edifice. * web: minor code formatting issue. * add new "must_created" state to blueprints to prevent overwriting objects Signed-off-by: Jens Langhammer * web: adding a storybook for the ak-toggle-group component * Bugs found by CI/CD. * web: Replace ad-hoc search for CryptoCertificateKeyPairs with ak-crypto-certeficate-search This commit replaces various ad-hoc implementations of `search-select` for CryptoCertificateKeyPairs with a web component that encapsulates all of the needed behavior and exposes a single API. The results are: Lots of visual clutter is eliminated. A single search of: ```HTML => { const args: CryptoCertificatekeypairsListRequest = { ordering: "name", hasKey: true, includeDetails: false, }; if (query !== undefined) { args.search = query; } const certificates = await new CryptoApi( DEFAULT_CONFIG, ).cryptoCertificatekeypairsList(args); return certificates.results; }} .renderElement=${(item: CertificateKeyPair): string => { return item.name; }} .value=${(item: CertificateKeyPair | undefined): string | undefined => { return item?.pk; }} .selected=${(item: CertificateKeyPair): boolean => { return this.instance?.tlsVerification === item.pk; }} ?blankable=${true} > ``` Now looks like: ```HTML ``` There are three searches that do not require there to be a valid key with the certificate; these are supported with the boolean property `nokey`; likewise, there is one search (in SAMLProviderForm) that states that if there is no current certificate in the SAMLProvider and only one certificate can be found in the Authentik database, use that one; this is supported with the boolean property `singleton`. These changes replace 382 lines of object-oriented invocations with 36 lines of declarative configuration, and 98 lines for the class. Overall, the code for "find a crypto certificate" has been reduced by 46%. Suggestions for a better word than `singleton` are welcome! * web: display tests for CryptoCertificateKeypair search This adds a Storybook for the CryptoCertificateKeypair search, including a mock fetch of the data. In the course of running the tests, we discovered that including the SearchSelect _class_ won't include the customElement declaration unless you include the whole file! Other bugs found: including the CSS from Storybook is different from that of LitElement native, so much so that the adapter needed to be included. FlowSearch had a similar bug. The problem only manifests when building via Webpack (which Storybook uses) and not Rollup, but we should support both in distribution. * Fixed behavioral problem with the radio; the `if` there was preventing the radio from reflecting the default correctly. The observed behavior was that the radio wouldn't "activate" until the item selected during the render pass was clicked on first. * Proxy Provider done. * web: Tactical change. Put all the variants on the second page; it's a longer list, but it's also easier to manage than all those required sub-options. * Rounding out the catalog. * web: SAML Manual Configuration Added a 'design document' that just kinda describes what I'm trying to do, in case I don't get this done by Friday Aug 11, 2023. I had two tables doing the same thing, so I merged them and then wrote a few map/filters to specialize them for those two use cases. Along the way I had to fiddle with the ESLint settings so that underscore-prefixed unused variables would be ignored. I cleaned up the visual appeal of the forms in the LDAP application. I was copy/pasting the "handleProviderEvent" function, so I pulled it out into ApplicationWizardProviderPageBase. Not so much a matter of abstraction as just disliking that kind of duplication; it served no purpose. * Added SAML Story to Storybook. * Web: This is coming together amazingly well. Like, almost too well. * web: 80% of the way there This commit includes the first three pages of the wizard, the completion of the wizard framework with evented handling, and control over progression. Some shortcomings of this design have become evident: it isn't possible to communicate between the steps' wrappers, as they are POJOs without access to the context. An imperative decision-making process has to be inserted in the orchestration layer, which is kinda annoying. But it looks good and it behaves correctly, to the extent that I've given it behavior. It's an excellent foundation. * Linting. * web: application wizard Found where the hook for form validity should go. Excellent! Now I just need to incorporate that basic validation into the business logic and we're good to go. * Turns out that was one layer too many; the topmost component was fine for maintaining the context. * It looks like my brilliant strategy has hit a snag. The idea is simple. Let's start with this picture: ``` ``` - ApplicationWizard has a Context for the ApplicationProviderPair (or whatever it's going to be). This context does not know about the steps; it just knows about: the "application" object, the "provider" object, and a discriminator to know *which* provider the user has selected. - ApplicationWizard has Steps that, among other things, provides Panels for: - Application - Pick Provider - Configure Provider - Submit ApplicationProviderPair to the back-end - The WizardFrame renders the CurrentPanel for the CurrentStep The CurrentPanel gets its data from the ApplicationWizard in the form of a Context. It then sends messages (events) to ApplicationWizard about the contents of each field as the user is filling out the form, so that the ApplicationWizard can record those in the ApplicationProviderPair for later submission. When a CurrentForm is valid, the ApplicationWizard updates the Steps object to show that the "Next button" on the Wizard is now available. In this way, the user can progress through the system. When they get to the last page, we can provide in the ApplicationWizard with the means to submit the form and/or send the user back to the page with the validation failure. Problem: The context is being updated in real-time, which is triggering re-renders of the form. This leads to focus problems as the fields that are not yet valid are triggering "focus grab" behavior. This is a classic problem with "controlled" inputs. What we really want is for the CurrentPanel to not re-render at all, but to behave like a normal, uncontrolled form, and let the browser do most of the work. We still want the [Next] button to enable when the form is valid enough to permit that. --- Other details: I've ripped out a lot of Jen's work, which is probably a mistake. It's still preserved elsewhere. I've also cleaned up the various wizardly things to try and look organized. It *looks* like it should work, it just... doesn't. Not yet. * Late addition: I had an inspiration about how to reduce the way reactivity broke focus by, basically, removing the reactivity and managing the first-time-through lifecycle to prevent the update from causing refocus. It works well! Now I just need to test it. * This application fixes the bug with respect to the wizard-level context being updated incorrectly. Understandings: - To use uncontrolled inputs, which I prefer, the context object should not be a state or property at the level of consumers; it should not automatically re-render with every keystroke, i.e. "The React Way." We're using Web Components, [client-side validation](https://developer.mozilla.org/en-US/docs/Learn/Forms/Form_validation) exists on the platform already, and live-validation is problematic for any number of reasons. - The trade-off is that it is now necessary to re-render the target page of the wizard de-novo, but that's not really as big a deal as it sounds. Lit is ready to do that... and then nothing else until we request a change-of-page. Excellent. - The top level context *must* be a state, but it's better if it's a state never actually used by the top-level context container. The debate about whether or not to make that container a dumb one (``) or to merge it with the top-level object continues; here, I've merged it with the top-level wizard object, but that object does not refer to the state variable being managed in its render pass, so changes to it do not cause a re-render of the whole wizard. The purpose of the top-level page is to manage the *steps*, not the *content of any step*. A step may change dynamically based on the content of a step, but that's the same thing as *which step*. Lesson: always know what your state is *about*. - Deep merging is a complex subject, but here it's appropriate to our needs. * web: Application Wizard This commit combines a working (but very unpolished) version of the Application Wizard with Jen's code for the CoreTransactionApplicationRequest, resulting in a successful round trip. It fixes a number of bugs with the way ContextProducer decorators were being processed, such that they just weren't working with our current configuration (although they did work fine in Storybook); consumers didn't need to be fixed. It also *removes* the steps-aware context from the Wizard. That *may* be a mistake. To re-iterate, the `WizardFrame` provides the chrome for a Wizard: the button bar div, the breadcrumbs div, the header div, and it takes the steps object as its source of truth for all of the content. The `WizardContent` part of the application has two parts: The `WizardMain`, which wraps the frame and supplies the context for all the `WizardPanels`, and the `WizardPanels` themselves, which are dependent on a context from `WizardMain` for the data that populates each panel. YAGNI right now that the panels need to know anything about the steps, and the `WizardMain` can just pass a fresh `.steps` object to the `WizardFrame` when they need updating. Using props drilling may make more sense here. It certainy does *not* make sense for the panels. They need to be renderable on-demand, and they need to make sense of what they're rendering on-demand, so the function is ``` (panel code) => (context) => (rendered panel) ``` (Yes, that's curried notation. Deal.) * This commit includes the first WDIO test for the ApplicationWizard. It doesn't do much right now, but it does log in and navigate to the wizard successfully. * web: completed test for single application, provided new programming language to make it easier to write tests. * Almost there. Missing: The validation is currently not working as expected, and I cannot get the backend to give me meaningful data helping us "go back" to the field that wasn't valid. I really don't want to put all the meaningful validation on the front-end; that's the road to - perdition, the back-end must be usable by people less assiduous than we are. Also: Need to make the button bar work better; maybe each panel can provide a custom button bar if one is needed? * web: Test harness We have an end-to-end test harness that includes a trivially correct DSL for "This is what a user would do, do this": ``` const deleteProvider = (theSlug) => ([ ["button", '>>>ak-sidebar-item a[href="#/core/providers"]'], ["deletebox", `>>>a[href="#/core/applications/${theSlug}"]`], ["button", '>>>ak-forms-delete-bulk button[slot="trigger"]'], ["button", '>>>ak-forms-delete-bulk div[role="dialog"] ak-spinner-button'], ]); ``` It's now possible to target individual sequences of events this way. With a little creativity, we could have standalone functions that take parameters for our calls and just do them, without too much struggle. * web: Revised navigation After working with the navigation for awhile, I realized that it's a poor map; what I really wanted was a controller/view pair, where events flow up to the controller and then messages on "what to draw" flow down to the view. It work quite well, and the wizard frame is smaller and smarter for it. I've also moved the WDIO-driven tests into the 'tests' folder, because it (a) makes more sense to put them there, and (b) it prevents any confusion about who's in charge of node_modules. * web: Simplify, simplify, simplify Sort-of. This commit changes the way the "wizard step coordinator" layer works, giving the wizard writer much more power over button bar. It still assumes there are only three actions the wizard frame wants to commit: next, back, and close. This empowers the steps themselves to re-arrange their buttons and describe the rules through which transitions occur. * web: resetting the form is not working yet... I vehemently dislike the object-oriented "reset" command; every wizard should start with an absolutely fresh copy of the data upon entry. Refactoring the wizard to re-build its content from the inside is the correct way to go, but I don't have a good mental image of how to make the ModalButton and the component it invokes interact cleanly, which frustrates the hell out of me. * web: reset As I said, I greatly dislike having to be dependent upon "resets"; I prefer my data to be de novo going into a "new" transaction. That said, we work with what we've got; I've created an event generated by the wizard that says the modal just closed; anything wrapping and implementing the wizard can then capture that event and reset the data. I've also added a pair of functions that create the two states (what step, what form data) anew, so that resetting is as trivial as initializing (and is exactly the same, code-wise). * web: Without error handling, this is complete, but I still need @BeryJu (Jens) for help with the SAML Upload (it doesn't appear to be correctly handled?) and the error handling. * web: revise tests for wizard This commit replaces the previous WDIO instance with a more formal and straightforward process using the [pageobjects](https://martinfowler.com/bliki/PageObject.html). In this form, every major component has its own test suite, and a test is a sequence of exercises of those components. A test then becomes something as straightforward as: ``` await LoginPage.open(); await LoginPage.login("ken@goauthentik.io", "eat10bugs"); expect(await UserLibraryPage.pageHeader).toHaveText("My Applications"); await UserLibraryPage.goToAdmin(); expect(await AdminOverviewPage.pageHeader).toHaveText("Welcome, "); await AdminOverviewPage.openApplicationsListPage(); expect(await ApplicationsListPage.pageHeader).toHaveText("Applications"); ApplicationsListPage.startCreateApplicationWizard(); await ApplicationWizard.app.name.setValue(`Test application ${newId}`); await ApplicationWizard.nextButton.click(); await (await ApplicationWizard.getProviderType("ldapprovider")).click(); await ApplicationWizard.nextButton.click(); await ApplicationWizard.ldap.setBindFlow("default-authentication-flow"); await ApplicationWizard.nextButton.click(); await expect(await ApplicationWizard.commitMessage).toHaveText( "Your application has been saved" ); ``` Whether or not there's another layer of DSL in there or not, this is a pretty nice idiom for maintaining tests. * web: updating with forms and fixes for eslint complaints. * web/add webdriverIO testing layer This commit adds WebdriverIO as an end-to-end solution to unit testing. WebdriverIO can be run both locally and remotely, supports strong integration with web components, and is generally robust for use in pipelines. I'll confess to working through a tutorial on how to do this for web components, and this is just chapter 2 (I think there are 5 or so chapters...). There's a makefile, with help! If you just run `make` it tells you: ``` Specify a command. The choices are: help Show this help node_modules Runs `npm install` to prepare this feature precommit Run the precommit: spell check all comments, eslint with sonarJS, prettier-write test-good-login Test that we can log into the server. Requires a running instance of the server. test-bad-login Test that bad usernames and passwords create appropriate error messages ``` ... because Makefiles are documentation, and documentation belongs in Makefiles. I've chosen to go with a PageObject-oriented low-level DSL; what that means is that for each major components (a page, a form, a wizard), there's a class that provides human-readable names for human-interactable and human-viewable objects on the page. The LoginPage object, for example, has selectors for the username, password, submit button, and the failure alert; accessing those allows us to test for items as expected., and to write a DSL for "a good login" that's as straightforward as: ``` await LoginPage.open(); await LoginPage.login("ken@goauthentik.io", "eat10bugs"); await expect(UserLibraryPage.pageHeader).toHaveText("My applications"); ``` There was a *lot* of messing around with the LoginPage to get the username and password into the system. For example, I had to do this with all the `waitForClickable` and `waitForEnable` because we both keep the buttons inaccessible until the form has something and we "black out" the page (put a darkening filter over it) while accessing the flow, meaning there was a race condition such that the test would attempt to interact with the username or password field before it was accessible. But this works now, which is very nice. ``` JavaScript get inputUsername() { return $('>>>input[name="uidField"]'); } get btnSubmit() { return $('>>>button[type="submit"]'); } async username(username: string) { await this.inputUsername.waitForClickable(); await this.inputUsername.setValue(username); await this.btnSubmit.waitForEnabled(); await this.btnSubmit.click(); } ``` The bells & whistles of *Prettier*, *Eslint*, and *Codespell* have also been enabled. I do like my guardrails. * web/adding tests: added comments and cleaned up some administrative features. * web/test: changed the name of one test to reflect it's 'good' status * core/allow alternative postgres credentials This commit allows the `dev-reset` command in the Makefile to pick up and use credentials from the `.env` file if they are present, or fallback to the defaults provided if they are not. This is the only place in the Makefile where the database credentials are used directly against postgresql binaries. The syntax was tested with bash, zsh, and csh, and did not fail under those. The `$${:-}` syntax is a combination of a Makefile idiom for "Pass a single `$` to the environment where this command will be executed," and the shell expresion `${VARIABLE:-default}` means "dereference the environment variable; if it is undefined, used the default value provided." * Re-arrange sequence to avoid recursive make. Nothing wrong with recursive make; it just wasn't essential here. `migrate` is just a build target, not a task. * Cleanup according to the Usage: checkmake [options] ... checkmake -h | --help checkmake --version checkmake --list-rules Makefile linting tool. * core: added 'help' to the Makefile * get postgres config from authentik config loader Signed-off-by: Jens Langhammer * don't set -x by default Signed-off-by: Jens Langhammer * sort help Signed-off-by: Jens Langhammer * update help strings Signed-off-by: Jens Langhammer * web: test LDAP wizard sequence * web: improve testing by adding test admin user via blueprint * This commit continues the application wizard buildout. In this commit are the following changes: - Added SCIM to the list of available providers - Fixed ForwardProxy so that its mode is set correctly. (This is a special case in the committer; I'm unhappy with that.) - Fixed the commit messages so that: - icons are set correctly (Success, Danger, Working) - icons are colored correctly according to state - commit message includes a `data-commit-state` field so tests can find it! - Merged the application wizard tests into a single test pass - Isolated common parts of the application wizard tests to reduce unnecessary repetition. All application tests are the same until you reach the provider section anyway. - Fixed the unit tests so they're finding the right error messages and are enabled to display them correctly. - Moved the test Form handlers into their own folder so they're not cluttering up the Pages folder. * web: add radius to application wizard This commit continues the application wizard buildout. In this commit are the following changes: - Fixed a width-setting bug in the Makefile `make help` feature (i.e "automate that stuff!") - Added Radius to the list of providers we can offer via the wizard - Added `launchUrl` and `UI Settings` to features of the application page the wizard can find - Changed 'SAML Manual Configuration' to just say "SAML Configuration" - Modified `ak-form-group` to take and honor the `aria-label` property (which in turn makes it easier to target specific forms with unit testing) - Reduced the log level for wdio to 'warn'; 'info' was super-spammy and not helpful. It can be put back with `--logLevel info` from the command line. * fix blueprints Signed-off-by: Jens Langhammer * update package name Signed-off-by: Jens Langhammer * add dependabot Signed-off-by: Jens Langhammer * prettier run Signed-off-by: Jens Langhammer * add basic CI Signed-off-by: Jens Langhammer * remove hooks Signed-off-by: Jens Langhammer * web: application wizard refactor & completion This commit refactors the various components of the Wizard and ApplicationWizard, creating a much more maintainable and satisfying Wizard experience for both developers (i.e, *me* and *Jens* so far), and for the customer. The Wizard base has been refactored into three components: **AkWizardController** The `AkWizardController` provides the event listenters for the wizard; it hooks them up, recevies the events, and forwards them to the wizard. It unwraps the event objects and forwards the relevant messages contained in the events. It knows of three event categories: - Navigation requests (move to a different step) - Update requests (the current step has updated the business content) - Close requests (close or cancel the wizard). **ak-wizard-frame** The `ak-wizard-frame` is the ModalButton interface. It provides the Header, Breadcrumbs (nee` "navigation block"), Buttons, and a DIV into which the main content is rendered. **AkWizard** `AkWizard` is an *incomplete* implementation of the wizard. It's meant to be inherited by a child class, which will implement the rest. It extends `AKElement`. It provides the basic content needed, such as steps, currentStep (as an index), an accessor for the step itself, an accessor for the frame, and the interface to the `AkWizardController`. **ApplicationWizard** The `ApplicationWizard` itself has been refactored to accommodate these changes. It inherits from `AkWizard` and provides the business logic for what to do when a form updates, some custom logic for preventing moving through the wizard when the forms are incomplete, and a persistence layer for filling out different providers in the same session. It's simplified a *lot*. The types specified for `AkWizard` are pretty nifty, I think. I could wish the types being passed via the custom events were more robust, but [strongly typed custom events](https://github.com/lit/lit-element/issues/808) turn out to be quite the pain in the, er, neck. As it is, the `precommit` pass did very good at preventing the worst disasters. The steps themselves were re-written as objects so that they could take advantage of their `valid` and `disabled` states and provide more meaningful buttons and labels. I think it's a solid compromise, and it moved a lot of display logic out of the core `handleUpdate()` business method. The tests, such as they are, are passing. * Added comment describing new test. * web: ensuring copy from `main` is canon * web: fixes after merge * web: laying the groundwork for future expansion This commit is a hodge-podge of updates and changes to the web. Functional changes: - Makefile: Fixed a bug in the `help` section that prevented the WIDTH from being accurately calculated if `help` was included rather than in-lined. - ESLint: Modified the "unused vars" rule so that variables starting with an underline are not considered by the rule. This allows for elided variables in event handlers. It's not a perfect solution-- a better one would be to use Typescript's function-specialization typing, but there are too many places where we elide or ignore some variables in a function's usage that switching over to specialization would be a huge lift. - locale: It turns out, lit-locale does its own context management. We don't need to have a context at all in this space, and that's one less listener we need to attach t othe DOM. - ModalButton: A small thing, but using `nothing` instead of "html``" allows lit better control over rendering and reduces the number of actual renders of the page. - FormGroup: Provided a means to modify the aria-label, rather than stick with the just the word "Details." Specializing this field will both help users of screen readers in the future, and will allow test suites to find specific form groups now. - RadioButton: provide a more consistent interface to the RadioButton. First, we dispatch the events to the outside world, and we set the value locally so that the current `Form.ts` continues to behave as expected. We also prevent the "button lost value" event from propagating; this presents a unified select-like interface to users of the RadioButtonGroup. The current value semantics are preserved; other clients of the RadioButton do not see a change in behavior. - EventEmitter: If the custom event detail is *not* an object, do not use the object-like semantics for forwarding it; just send it as-is. - Comments: In the course of laying the groundwork for the application wizard, I throw a LOT of comments into the code, describing APIs, interfaces, class and function signatures, to better document the behavior inside and as signposts for future work. * web: permit arrays to be sent in custom events without interpolation. * actually use assignValue or rather serializeFieldRecursive Signed-off-by: Jens Langhammer * web: eslint & prettier fixes, plus small aesthetic differences. * Restoring this file. Not sure where it disappears to. * fix label in dark mode Signed-off-by: Jens Langhammer * SCIM Manuel -> SCIM Signed-off-by: Jens Langhammer * fix lint errors Signed-off-by: Jens Langhammer * web: better converter configuration, CSS repair, and forward-domain-proxy 1. Forward Domain Proxy. I wasn't sure if this method was appropriate for the wizard, but Jens says it is. I've added it. 2. In the process of doing so, I decided that the Provider.converter field was overly complexified; I tried too hard to reduce the number of functions I needed to define, but in the process outsourced some of the logic of converting the Wizard's dataset into a property typed request to the `commit` phase, which was inappropriate. All of the logic about a provider, aside from its display, should be here with the code that distinguishes between providers. This commit makes it so. 3. Small CSS fix: the fields inherited from the Proxy provider forms had some unexpected CSS which was causing a bit of a weird indent. That has been rectified. * web: running pre-commit after merge. * web: ensure the applications wizard tests finish after current changes * prettier has opinions. * web: application wizard spit & polish The "ApplicationWizardHint" now correctly uses the localstorage and allows the user to navigate back and see the message after it's been hidden, so that it will always be available during the test phase. The ApplicationList's old "Create Application Form" button has been restored for the purposes of the test phase. The ApplicationWizard is now available on both the ApplicationList and ProviderList pages. Tana and I discussed the microcopy, putting a stronger second-person "You can do..." twist onto the language, to give the user the sense of empowerment. The ShowHintController now has both "hide" and "show" operations, to support the hint restoration. * web: updated storybook stories for the wizard, illustration how "a simple wizard" is configured in source code and tested with storybook. * web: I hate getting spanked by prettier. * web: sometimes I wish I had lower standards Anyway, this was a very stupid bug, because by definition function definition arguments don't have uses, they're being defined, not implemented. Fixed, conf fixed to compensate, and consequences conquered. * move context from labs to main Signed-off-by: Jens Langhammer * Revert "move context from labs to main" This reverts commit 3718ee69048966d26b1c357a7d2653fbb3ab613b. * web: reify the data loop I was very unhappy with the "update this dot-path" mechanism I was using earlier; it was hard for me to read and understand what was happening, and I wrote the darned thing. I decided instead to go with a hard substitution model; each phase of the wizard is responsible for updating the *entire* payload, mostly by creating a new payload and substituting the field value associated with the event. On the receiver, we have to do that *again* to handle the swapping of providers when the user chooses one and then another. It looks clunky, and it is, but it's *legible*; a junior dev could understand what it's doing, and that's the goal. * Revert "web: reify the data loop" This reverts commit 09fedcacf02a90a021ce9e18c0eb4bec1ef48302. * web: revert the 'lit' to 'lit-labs' for task and context. --------- Signed-off-by: Jens Langhammer Co-authored-by: Jens Langhammer --- tests/wdio/.eslintrc.json | 11 +- tests/wdio/Makefile | 3 + .../pageobjects/application-wizard.page.ts | 75 ++++ .../pageobjects/applications-list.page.ts | 21 + .../pageobjects/forms/application.form.ts | 18 + .../pageobjects/forms/forward-proxy.form.ts | 18 + .../wdio/test/pageobjects/forms/ldap.form.ts | 13 + .../test/pageobjects/forms/radius.form.ts | 13 + .../wdio/test/pageobjects/forms/saml.form.ts | 18 + .../wdio/test/pageobjects/forms/scim.form.ts | 13 + .../forms/transparent-proxy.form.ts | 22 + .../test/specs/new-application-by-wizard.ts | 167 ++++++++ tests/wdio/wdio.conf.ts | 147 ++++++- web/src/admin/applications/ApplicationForm.ts | 369 +++++++---------- .../admin/applications/ApplicationListPage.ts | 29 +- .../applications/ApplicationWizardHint.ts | 84 +++- .../components/ak-backchannel-input.ts | 80 ++++ .../components/ak-provider-search-input.ts | 80 ++++ .../applications/wizard/ApplicationWizard.ts | 64 --- .../applications/wizard/BasePanel.css.ts | 28 ++ .../admin/applications/wizard/BasePanel.ts | 35 ++ .../applications/wizard/ContextIdentity.ts | 9 + .../wizard/InitialApplicationWizardPage.ts | 75 ---- .../wizard/TypeApplicationWizardPage.ts | 85 ---- .../wizard/ak-application-wizard.ts | 124 ++++++ ...-application-wizard-application-details.ts | 101 +++++ ...rd-authentication-method-choice.choices.ts | 161 ++++++++ ...ion-wizard-authentication-method-choice.ts | 68 ++++ ...k-application-wizard-commit-application.ts | 202 ++++++++++ .../ldap/TypeLDAPApplicationWizardPage.ts | 73 ---- .../link/TypeLinkApplicationWizardPage.ts | 30 -- .../wizard/methods/BaseProviderPanel.ts | 26 ++ ...pplication-wizard-authentication-method.ts | 29 ++ .../wizard/methods/ldap/LDAPOptionsAndHelp.ts | 64 +++ ...plication-wizard-authentication-by-ldap.ts | 146 +++++++ ...lication-wizard-authentication-by-oauth.ts | 301 ++++++++++++++ .../proxy/AuthenticationByProxyPage.ts | 255 ++++++++++++ ...authentication-for-forward-domain-proxy.ts | 55 +++ ...wizard-authentication-for-reverse-proxy.ts | 49 +++ ...authentication-for-single-forward-proxy.ts | 36 ++ ...ication-wizard-authentication-by-radius.ts | 73 ++++ .../methods/saml/SamlProviderOptions.ts | 33 ++ ...rd-authentication-by-saml-configuration.ts | 250 ++++++++++++ ...on-wizard-authentication-by-saml-import.ts | 81 ++++ .../saml/saml-property-mappings-search.ts | 112 ++++++ ...plication-wizard-authentication-by-scim.ts | 189 +++++++++ .../TypeOAuthAPIApplicationWizardPage.ts | 35 -- .../oauth/TypeOAuthApplicationWizardPage.ts | 84 ---- .../TypeOAuthCodeApplicationWizardPage.ts | 57 --- .../TypeOAuthImplicitApplicationWizardPage.ts | 15 - .../proxy/TypeProxyApplicationWizardPage.ts | 64 --- .../saml/TypeSAMLApplicationWizardPage.ts | 66 --- .../TypeSAMLConfigApplicationWizardPage.ts | 57 --- .../TypeSAMLImportApplicationWizardPage.ts | 57 --- web/src/admin/applications/wizard/steps.ts | 82 ++++ ...ak-application-context-display-for-test.ts | 18 + .../ak-application-wizard-main.stories.ts | 54 +++ .../applications/wizard/stories/mockData.ts | 62 +++ .../applications/wizard/stories/samples.ts | 375 ++++++++++++++++++ web/src/admin/applications/wizard/types.ts | 39 ++ web/src/admin/providers/ProviderListPage.ts | 5 + web/src/common/merge.ts | 120 ++++++ .../components/ak-hint/ShowHintController.ts | 19 +- web/src/components/ak-wizard-main/AkWizard.ts | 121 ++++++ .../ak-wizard-main/AkWizardController.ts | 104 +++++ .../ak-wizard-main/ak-wizard-frame.ts | 201 ++++++++++ .../ak-wizard-main/commonWizardButtons.ts | 15 + .../ak-wizard-main/stories/ak-demo-wizard.ts | 47 +++ .../stories/ak-wizard-main.stories.ts | 40 ++ web/src/components/ak-wizard-main/types.ts | 79 ++++ web/xliff/de.xlf | 205 ++++------ web/xliff/en.xlf | 237 ++++------- web/xliff/es.xlf | 198 ++++----- web/xliff/fr.xlf | 342 +++++----------- web/xliff/pl.xlf | 229 ++++------- web/xliff/pseudo-LOCALE.xlf | 335 ++++++---------- web/xliff/tr.xlf | 198 ++++----- web/xliff/zh-Hans.xlf | 278 ++++--------- web/xliff/zh-Hant.xlf | 202 ++++------ web/xliff/zh_TW.xlf | 202 ++++------ 80 files changed, 5552 insertions(+), 2625 deletions(-) create mode 100644 tests/wdio/test/pageobjects/application-wizard.page.ts create mode 100644 tests/wdio/test/pageobjects/applications-list.page.ts create mode 100644 tests/wdio/test/pageobjects/forms/application.form.ts create mode 100644 tests/wdio/test/pageobjects/forms/forward-proxy.form.ts create mode 100644 tests/wdio/test/pageobjects/forms/ldap.form.ts create mode 100644 tests/wdio/test/pageobjects/forms/radius.form.ts create mode 100644 tests/wdio/test/pageobjects/forms/saml.form.ts create mode 100644 tests/wdio/test/pageobjects/forms/scim.form.ts create mode 100644 tests/wdio/test/pageobjects/forms/transparent-proxy.form.ts create mode 100644 tests/wdio/test/specs/new-application-by-wizard.ts create mode 100644 web/src/admin/applications/components/ak-backchannel-input.ts create mode 100644 web/src/admin/applications/components/ak-provider-search-input.ts delete mode 100644 web/src/admin/applications/wizard/ApplicationWizard.ts create mode 100644 web/src/admin/applications/wizard/BasePanel.css.ts create mode 100644 web/src/admin/applications/wizard/BasePanel.ts create mode 100644 web/src/admin/applications/wizard/ContextIdentity.ts delete mode 100644 web/src/admin/applications/wizard/InitialApplicationWizardPage.ts delete mode 100644 web/src/admin/applications/wizard/TypeApplicationWizardPage.ts create mode 100644 web/src/admin/applications/wizard/ak-application-wizard.ts create mode 100644 web/src/admin/applications/wizard/application/ak-application-wizard-application-details.ts create mode 100644 web/src/admin/applications/wizard/auth-method-choice/ak-application-wizard-authentication-method-choice.choices.ts create mode 100644 web/src/admin/applications/wizard/auth-method-choice/ak-application-wizard-authentication-method-choice.ts create mode 100644 web/src/admin/applications/wizard/commit/ak-application-wizard-commit-application.ts delete mode 100644 web/src/admin/applications/wizard/ldap/TypeLDAPApplicationWizardPage.ts delete mode 100644 web/src/admin/applications/wizard/link/TypeLinkApplicationWizardPage.ts create mode 100644 web/src/admin/applications/wizard/methods/BaseProviderPanel.ts create mode 100644 web/src/admin/applications/wizard/methods/ak-application-wizard-authentication-method.ts create mode 100644 web/src/admin/applications/wizard/methods/ldap/LDAPOptionsAndHelp.ts create mode 100644 web/src/admin/applications/wizard/methods/ldap/ak-application-wizard-authentication-by-ldap.ts create mode 100644 web/src/admin/applications/wizard/methods/oauth/ak-application-wizard-authentication-by-oauth.ts create mode 100644 web/src/admin/applications/wizard/methods/proxy/AuthenticationByProxyPage.ts create mode 100644 web/src/admin/applications/wizard/methods/proxy/ak-application-wizard-authentication-for-forward-domain-proxy.ts create mode 100644 web/src/admin/applications/wizard/methods/proxy/ak-application-wizard-authentication-for-reverse-proxy.ts create mode 100644 web/src/admin/applications/wizard/methods/proxy/ak-application-wizard-authentication-for-single-forward-proxy.ts create mode 100644 web/src/admin/applications/wizard/methods/radius/ak-application-wizard-authentication-by-radius.ts create mode 100644 web/src/admin/applications/wizard/methods/saml/SamlProviderOptions.ts create mode 100644 web/src/admin/applications/wizard/methods/saml/ak-application-wizard-authentication-by-saml-configuration.ts create mode 100644 web/src/admin/applications/wizard/methods/saml/ak-application-wizard-authentication-by-saml-import.ts create mode 100644 web/src/admin/applications/wizard/methods/saml/saml-property-mappings-search.ts create mode 100644 web/src/admin/applications/wizard/methods/scim/ak-application-wizard-authentication-by-scim.ts delete mode 100644 web/src/admin/applications/wizard/oauth/TypeOAuthAPIApplicationWizardPage.ts delete mode 100644 web/src/admin/applications/wizard/oauth/TypeOAuthApplicationWizardPage.ts delete mode 100644 web/src/admin/applications/wizard/oauth/TypeOAuthCodeApplicationWizardPage.ts delete mode 100644 web/src/admin/applications/wizard/oauth/TypeOAuthImplicitApplicationWizardPage.ts delete mode 100644 web/src/admin/applications/wizard/proxy/TypeProxyApplicationWizardPage.ts delete mode 100644 web/src/admin/applications/wizard/saml/TypeSAMLApplicationWizardPage.ts delete mode 100644 web/src/admin/applications/wizard/saml/TypeSAMLConfigApplicationWizardPage.ts delete mode 100644 web/src/admin/applications/wizard/saml/TypeSAMLImportApplicationWizardPage.ts create mode 100644 web/src/admin/applications/wizard/steps.ts create mode 100644 web/src/admin/applications/wizard/stories/ak-application-context-display-for-test.ts create mode 100644 web/src/admin/applications/wizard/stories/ak-application-wizard-main.stories.ts create mode 100644 web/src/admin/applications/wizard/stories/mockData.ts create mode 100644 web/src/admin/applications/wizard/stories/samples.ts create mode 100644 web/src/admin/applications/wizard/types.ts create mode 100644 web/src/common/merge.ts create mode 100644 web/src/components/ak-wizard-main/AkWizard.ts create mode 100644 web/src/components/ak-wizard-main/AkWizardController.ts create mode 100644 web/src/components/ak-wizard-main/ak-wizard-frame.ts create mode 100644 web/src/components/ak-wizard-main/commonWizardButtons.ts create mode 100644 web/src/components/ak-wizard-main/stories/ak-demo-wizard.ts create mode 100644 web/src/components/ak-wizard-main/stories/ak-wizard-main.stories.ts create mode 100644 web/src/components/ak-wizard-main/types.ts diff --git a/tests/wdio/.eslintrc.json b/tests/wdio/.eslintrc.json index 68900693d6b6..d4095a2a30d9 100644 --- a/tests/wdio/.eslintrc.json +++ b/tests/wdio/.eslintrc.json @@ -15,6 +15,15 @@ "linebreak-style": ["error", "unix"], "quotes": ["error", "double", { "avoidEscape": true }], "semi": ["error", "always"], - "@typescript-eslint/ban-ts-comment": "off" + "@typescript-eslint/ban-ts-comment": "off", + "no-unused-vars": "off", + "@typescript-eslint/no-unused-vars": [ + "error", + { + "argsIgnorePattern": "^_", + "varsIgnorePattern": "^_", + "caughtErrorsIgnorePattern": "^_" + } + ] } } diff --git a/tests/wdio/Makefile b/tests/wdio/Makefile index f5bdb069696f..f45847bbe619 100644 --- a/tests/wdio/Makefile +++ b/tests/wdio/Makefile @@ -36,3 +36,6 @@ test-good-login: node_modules admin-user ## Test that we can log into the serve test-bad-login: node_modules admin-user ## Test that bad usernames and passwords create appropriate error messages $(SPEC)/bad-logins.ts + +test-application-wizard: node_modules admin-user ## Test that the application wizard works as expected + $(SPEC)/new-application-by-wizard.ts diff --git a/tests/wdio/test/pageobjects/application-wizard.page.ts b/tests/wdio/test/pageobjects/application-wizard.page.ts new file mode 100644 index 000000000000..2533a1abf883 --- /dev/null +++ b/tests/wdio/test/pageobjects/application-wizard.page.ts @@ -0,0 +1,75 @@ +import AdminPage from "./admin.page.js"; +import ApplicationForm from "./forms/application.form.js"; +import ForwardProxyForm from "./forms/forward-proxy.form.js"; +import LdapForm from "./forms/ldap.form.js"; +import OauthForm from "./forms/oauth.form.js"; +import RadiusForm from "./forms/radius.form.js"; +import SamlForm from "./forms/saml.form.js"; +import ScimForm from "./forms/scim.form.js"; +import TransparentProxyForm from "./forms/transparent-proxy.form.js"; +import { $ } from "@wdio/globals"; + +/** + * sub page containing specific selectors and methods for a specific page + */ + +class ApplicationWizardView extends AdminPage { + /** + * define selectors using getter methods + */ + + ldap = LdapForm; + oauth = OauthForm; + transparentProxy = TransparentProxyForm; + forwardProxy = ForwardProxyForm; + saml = SamlForm; + scim = ScimForm; + radius = RadiusForm; + app = ApplicationForm; + + get wizardTitle() { + return $(">>>ak-wizard-frame .pf-c-wizard__header h1.pf-c-title"); + } + + get providerList() { + return $(">>>ak-application-wizard-authentication-method-choice"); + } + + get nextButton() { + return $(">>>ak-wizard-frame footer button.pf-m-primary"); + } + + async getProviderType(type: string) { + return await this.providerList.$(`>>>input[value="${type}"]`); + } + + get successMessage() { + return $('>>>[data-commit-state="success"]'); + } +} + +type Pair = [string, string]; + +// Define a getter for each provider type in the radio button collection. + +const providerValues: Pair[] = [ + ["oauth2provider", "oauth2Provider"], + ["ldapprovider", "ldapProvider"], + ["proxyprovider-proxy", "proxyProviderProxy"], + ["proxyprovider-forwardsingle", "proxyProviderForwardsingle"], + ["radiusprovider", "radiusProvider"], + ["samlprovider", "samlProvider"], + ["scimprovider", "scimProvider"], +]; + +providerValues.forEach(([value, name]: Pair) => { + Object.defineProperties(ApplicationWizardView.prototype, { + [name]: { + get: function () { + return this.providerList.$(`>>>input[value="${value}"]`); + }, + }, + }); +}); + +export default new ApplicationWizardView(); diff --git a/tests/wdio/test/pageobjects/applications-list.page.ts b/tests/wdio/test/pageobjects/applications-list.page.ts new file mode 100644 index 000000000000..0f3d93e038ed --- /dev/null +++ b/tests/wdio/test/pageobjects/applications-list.page.ts @@ -0,0 +1,21 @@ +import AdminPage from "./admin.page.js"; +import { $ } from "@wdio/globals"; + +/** + * sub page containing specific selectors and methods for a specific page + */ +class ApplicationsListPage extends AdminPage { + /** + * define selectors using getter methods + */ + + get startWizardButton() { + return $('>>>ak-wizard-frame button[slot="trigger"]'); + } + + async open() { + return await super.open("if/admin/#/core/applications"); + } +} + +export default new ApplicationsListPage(); diff --git a/tests/wdio/test/pageobjects/forms/application.form.ts b/tests/wdio/test/pageobjects/forms/application.form.ts new file mode 100644 index 000000000000..6f0d33217986 --- /dev/null +++ b/tests/wdio/test/pageobjects/forms/application.form.ts @@ -0,0 +1,18 @@ +import Page from "../page.js"; +import { $ } from "@wdio/globals"; + +export class ApplicationForm extends Page { + get name() { + return $('>>>ak-form-element-horizontal input[name="name"]'); + } + + get uiSettings() { + return $('>>>ak-form-group button[aria-label="UI Settings"]'); + } + + get launchUrl() { + return $('>>>input[name="metaLaunchUrl"]'); + } +} + +export default new ApplicationForm(); diff --git a/tests/wdio/test/pageobjects/forms/forward-proxy.form.ts b/tests/wdio/test/pageobjects/forms/forward-proxy.form.ts new file mode 100644 index 000000000000..9d9a8bb502db --- /dev/null +++ b/tests/wdio/test/pageobjects/forms/forward-proxy.form.ts @@ -0,0 +1,18 @@ +import Page from "../page.js"; +import { $ } from "@wdio/globals"; + +export class ForwardProxyForm extends Page { + async setAuthorizationFlow(selector: string) { + await this.searchSelect( + '>>>ak-flow-search[name="authorizationFlow"] input[type="text"]', + "authorizationFlow", + `button*=${selector}`, + ); + } + + get externalHost() { + return $('>>>input[name="externalHost"]'); + } +} + +export default new ForwardProxyForm(); diff --git a/tests/wdio/test/pageobjects/forms/ldap.form.ts b/tests/wdio/test/pageobjects/forms/ldap.form.ts new file mode 100644 index 000000000000..343fe583c4ea --- /dev/null +++ b/tests/wdio/test/pageobjects/forms/ldap.form.ts @@ -0,0 +1,13 @@ +import Page from "../page.js"; + +export class LdapForm extends Page { + async setBindFlow(selector: string) { + await this.searchSelect( + '>>>ak-tenanted-flow-search[name="authorizationFlow"] input[type="text"]', + "authorizationFlow", + `button*=${selector}`, + ); + } +} + +export default new LdapForm(); diff --git a/tests/wdio/test/pageobjects/forms/radius.form.ts b/tests/wdio/test/pageobjects/forms/radius.form.ts new file mode 100644 index 000000000000..591459866597 --- /dev/null +++ b/tests/wdio/test/pageobjects/forms/radius.form.ts @@ -0,0 +1,13 @@ +import Page from "../page.js"; + +export class RadiusForm extends Page { + async setAuthenticationFlow(selector: string) { + await this.searchSelect( + '>>>ak-tenanted-flow-search[name="authorizationFlow"] input[type="text"]', + "authorizationFlow", + `button*=${selector}`, + ); + } +} + +export default new RadiusForm(); diff --git a/tests/wdio/test/pageobjects/forms/saml.form.ts b/tests/wdio/test/pageobjects/forms/saml.form.ts new file mode 100644 index 000000000000..4419e1cb53fa --- /dev/null +++ b/tests/wdio/test/pageobjects/forms/saml.form.ts @@ -0,0 +1,18 @@ +import Page from "../page.js"; +import { $ } from "@wdio/globals"; + +export class SamlForm extends Page { + async setAuthorizationFlow(selector: string) { + await this.searchSelect( + '>>>ak-flow-search[name="authorizationFlow"] input[type="text"]', + "authorizationFlow", + `button*=${selector}`, + ); + } + + get acsUrl() { + return $('>>>input[name="acsUrl"]'); + } +} + +export default new SamlForm(); diff --git a/tests/wdio/test/pageobjects/forms/scim.form.ts b/tests/wdio/test/pageobjects/forms/scim.form.ts new file mode 100644 index 000000000000..41a11356cdb7 --- /dev/null +++ b/tests/wdio/test/pageobjects/forms/scim.form.ts @@ -0,0 +1,13 @@ +import Page from "../page.js"; + +export class ScimForm extends Page { + get url() { + return $('>>>input[name="url"]'); + } + + get token() { + return $('>>>input[name="token"]'); + } +} + +export default new ScimForm(); diff --git a/tests/wdio/test/pageobjects/forms/transparent-proxy.form.ts b/tests/wdio/test/pageobjects/forms/transparent-proxy.form.ts new file mode 100644 index 000000000000..5050169463b7 --- /dev/null +++ b/tests/wdio/test/pageobjects/forms/transparent-proxy.form.ts @@ -0,0 +1,22 @@ +import Page from "../page.js"; +import { $ } from "@wdio/globals"; + +export class TransparentProxyForm extends Page { + async setAuthorizationFlow(selector: string) { + await this.searchSelect( + '>>>ak-flow-search[name="authorizationFlow"] input[type="text"]', + "authorizationFlow", + `button*=${selector}`, + ); + } + + get externalHost() { + return $('>>>input[name="externalHost"]'); + } + + get internalHost() { + return $('>>>input[name="internalHost"]'); + } +} + +export default new TransparentProxyForm(); diff --git a/tests/wdio/test/specs/new-application-by-wizard.ts b/tests/wdio/test/specs/new-application-by-wizard.ts new file mode 100644 index 000000000000..6e49657794ee --- /dev/null +++ b/tests/wdio/test/specs/new-application-by-wizard.ts @@ -0,0 +1,167 @@ +import ApplicationWizardView from "../pageobjects/application-wizard.page.js"; +import ApplicationsListPage from "../pageobjects/applications-list.page.js"; +import { randomId } from "../utils/index.js"; +import { login } from "../utils/login.js"; +import { expect } from "@wdio/globals"; + +async function reachTheProvider(title: string) { + const newPrefix = randomId(); + + await ApplicationsListPage.logout(); + await login(); + await ApplicationsListPage.open(); + await expect(await ApplicationsListPage.pageHeader).toHaveText("Applications"); + + await ApplicationsListPage.startWizardButton.click(); + await ApplicationWizardView.wizardTitle.waitForDisplayed(); + await expect(await ApplicationWizardView.wizardTitle).toHaveText("New application"); + + await ApplicationWizardView.app.name.setValue(`${title} - ${newPrefix}`); + await ApplicationWizardView.app.uiSettings.scrollIntoView(); + await ApplicationWizardView.app.uiSettings.click(); + await ApplicationWizardView.app.launchUrl.scrollIntoView(); + await ApplicationWizardView.app.launchUrl.setValue("http://example.goauthentik.io"); + + await ApplicationWizardView.nextButton.click(); + return await ApplicationWizardView.pause(); +} + +async function getCommitMessage() { + await ApplicationWizardView.successMessage.waitForDisplayed(); + return await ApplicationWizardView.successMessage; +} + +const SUCCESS_MESSAGE = "Your application has been saved"; +const EXPLICIT_CONSENT = "default-provider-authorization-explicit-consent"; + +describe("Configure Applications with the Application Wizard", () => { + it("Should configure a simple LDAP Application", async () => { + await reachTheProvider("New LDAP Application"); + + await ApplicationWizardView.providerList.waitForDisplayed(); + await ApplicationWizardView.ldapProvider.scrollIntoView(); + await ApplicationWizardView.ldapProvider.click(); + + await ApplicationWizardView.nextButton.click(); + await ApplicationWizardView.pause(); + + await ApplicationWizardView.ldap.setBindFlow("default-authentication-flow"); + await ApplicationWizardView.nextButton.click(); + await ApplicationWizardView.pause(); + + await expect(getCommitMessage()).toHaveText(SUCCESS_MESSAGE); + }); + + it("Should configure a simple Oauth2 Application", async () => { + await reachTheProvider("New Oauth2 Application"); + + await ApplicationWizardView.providerList.waitForDisplayed(); + await ApplicationWizardView.oauth2Provider.scrollIntoView(); + await ApplicationWizardView.oauth2Provider.click(); + + await ApplicationWizardView.nextButton.click(); + await ApplicationWizardView.pause(); + + await ApplicationWizardView.oauth.setAuthorizationFlow(EXPLICIT_CONSENT); + await ApplicationWizardView.nextButton.click(); + await ApplicationWizardView.pause(); + + await expect(getCommitMessage()).toHaveText(SUCCESS_MESSAGE); + }); + + it("Should configure a simple SAML Application", async () => { + await reachTheProvider("New SAML Application"); + + await ApplicationWizardView.providerList.waitForDisplayed(); + await ApplicationWizardView.samlProvider.scrollIntoView(); + await ApplicationWizardView.samlProvider.click(); + + await ApplicationWizardView.nextButton.click(); + await ApplicationWizardView.pause(); + + await ApplicationWizardView.saml.setAuthorizationFlow(EXPLICIT_CONSENT); + await ApplicationWizardView.saml.acsUrl.setValue("http://example.com:8000/"); + await ApplicationWizardView.nextButton.click(); + await ApplicationWizardView.pause(); + + await expect(getCommitMessage()).toHaveText(SUCCESS_MESSAGE); + }); + + it("Should configure a simple SCIM Application", async () => { + await reachTheProvider("New SCIM Application"); + + await ApplicationWizardView.providerList.waitForDisplayed(); + await ApplicationWizardView.scimProvider.scrollIntoView(); + await ApplicationWizardView.scimProvider.click(); + + await ApplicationWizardView.nextButton.click(); + await ApplicationWizardView.pause(); + + await ApplicationWizardView.scim.url.setValue("http://example.com:8000/"); + await ApplicationWizardView.scim.token.setValue("a-very-basic-token"); + await ApplicationWizardView.nextButton.click(); + await ApplicationWizardView.pause(); + + await expect(getCommitMessage()).toHaveText(SUCCESS_MESSAGE); + }); + + it("Should configure a simple Radius Application", async () => { + await reachTheProvider("New Radius Application"); + + await ApplicationWizardView.providerList.waitForDisplayed(); + await ApplicationWizardView.radiusProvider.scrollIntoView(); + await ApplicationWizardView.radiusProvider.click(); + + await ApplicationWizardView.nextButton.click(); + await ApplicationWizardView.pause(); + + await ApplicationWizardView.radius.setAuthenticationFlow("default-authentication-flow"); + await ApplicationWizardView.nextButton.click(); + await ApplicationWizardView.pause(); + + await expect(getCommitMessage()).toHaveText(SUCCESS_MESSAGE); + }); + + it("Should configure a simple Transparent Proxy Application", async () => { + await reachTheProvider("New Transparent Proxy Application"); + + await ApplicationWizardView.providerList.waitForDisplayed(); + await ApplicationWizardView.proxyProviderProxy.scrollIntoView(); + await ApplicationWizardView.proxyProviderProxy.click(); + await ApplicationWizardView.nextButton.click(); + await ApplicationWizardView.pause(); + + await ApplicationWizardView.transparentProxy.setAuthorizationFlow(EXPLICIT_CONSENT); + await ApplicationWizardView.transparentProxy.externalHost.setValue( + "http://external.example.com", + ); + await ApplicationWizardView.transparentProxy.internalHost.setValue( + "http://internal.example.com", + ); + + await ApplicationWizardView.nextButton.click(); + await ApplicationWizardView.pause(); + + await expect(getCommitMessage()).toHaveText(SUCCESS_MESSAGE); + }); + + it("Should configure a simple Forward Proxy Application", async () => { + await reachTheProvider("New Forward Proxy Application"); + + await ApplicationWizardView.providerList.waitForDisplayed(); + await ApplicationWizardView.proxyProviderForwardsingle.scrollIntoView(); + await ApplicationWizardView.proxyProviderForwardsingle.click(); + await ApplicationWizardView.nextButton.click(); + await ApplicationWizardView.pause(); + + await ApplicationWizardView.forwardProxy.setAuthorizationFlow(EXPLICIT_CONSENT); + await ApplicationWizardView.forwardProxy.externalHost.setValue( + "http://external.example.com", + ); + + await ApplicationWizardView.nextButton.click(); + await ApplicationWizardView.pause(); + + await expect(getCommitMessage()).toHaveText(SUCCESS_MESSAGE); + }); +}); diff --git a/tests/wdio/wdio.conf.ts b/tests/wdio/wdio.conf.ts index bb74206369e8..525cfb00d399 100644 --- a/tests/wdio/wdio.conf.ts +++ b/tests/wdio/wdio.conf.ts @@ -86,7 +86,7 @@ export const config: Options.Testrunner = { // Define all options that are relevant for the WebdriverIO instance here // // Level of logging verbosity: trace | debug | info | warn | error | silent - logLevel: "info", + logLevel: "warn", // // Set specific log levels per logger // loggers: @@ -157,4 +157,149 @@ export const config: Options.Testrunner = { ui: "bdd", timeout: 60000, }, + // + // ===== + // Hooks + // ===== + // WebdriverIO provides several hooks you can use to interfere with the test process in order to enhance + // it and to build services around it. You can either apply a single function or an array of + // methods to it. If one of them returns with a promise, WebdriverIO will wait until that promise got + // resolved to continue. + /** + * Gets executed once before all workers get launched. + * @param {object} config wdio configuration object + * @param {Array.} capabilities list of capabilities details + */ + // onPrepare: function (config, capabilities) { + // }, + /** + * Gets executed before a worker process is spawned and can be used to initialise specific service + * for that worker as well as modify runtime environments in an async fashion. + * @param {string} cid capability id (e.g 0-0) + * @param {object} caps object containing capabilities for session that will be spawn in the worker + * @param {object} specs specs to be run in the worker process + * @param {object} args object that will be merged with the main configuration once worker is initialized + * @param {object} execArgv list of string arguments passed to the worker process + */ + // onWorkerStart: function (cid, caps, specs, args, execArgv) { + // }, + /** + * Gets executed just after a worker process has exited. + * @param {string} cid capability id (e.g 0-0) + * @param {number} exitCode 0 - success, 1 - fail + * @param {object} specs specs to be run in the worker process + * @param {number} retries number of retries used + */ + // onWorkerEnd: function (cid, exitCode, specs, retries) { + // }, + /** + * Gets executed just before initialising the webdriver session and test framework. It allows you + * to manipulate configurations depending on the capability or spec. + * @param {object} config wdio configuration object + * @param {Array.} capabilities list of capabilities details + * @param {Array.} specs List of spec file paths that are to be run + * @param {string} cid worker id (e.g. 0-0) + */ + // beforeSession: function (config, capabilities, specs, cid) { + // }, + /** + * Gets executed before test execution begins. At this point you can access to all global + * variables like `browser`. It is the perfect place to define custom commands. + * @param {Array.} capabilities list of capabilities details + * @param {Array.} specs List of spec file paths that are to be run + * @param {object} browser instance of created browser/device session + */ + before: function (_capabilities, _specs) {}, + /** + * Runs before a WebdriverIO command gets executed. + * @param {string} commandName hook command name + * @param {Array} args arguments that command would receive + */ + // beforeCommand: function (commandName, args) { + // }, + /** + * Hook that gets executed before the suite starts + * @param {object} suite suite details + */ + // beforeSuite: function (suite) { + // }, + /** + * Function to be executed before a test (in Mocha/Jasmine) starts. + */ + // beforeTest: function (test, context) { + // }, + /** + * Hook that gets executed _before_ a hook within the suite starts (e.g. runs before calling + * beforeEach in Mocha) + */ + // beforeHook: function (test, context) { + // }, + /** + * Hook that gets executed _after_ a hook within the suite starts (e.g. runs after calling + * afterEach in Mocha) + */ + // afterHook: function (test, context, { error, result, duration, passed, retries }) { + // }, + /** + * Function to be executed after a test (in Mocha/Jasmine only) + * @param {object} test test object + * @param {object} context scope object the test was executed with + * @param {Error} result.error error object in case the test fails, otherwise `undefined` + * @param {*} result.result return object of test function + * @param {number} result.duration duration of test + * @param {boolean} result.passed true if test has passed, otherwise false + * @param {object} result.retries information about spec related retries, e.g. `{ attempts: 0, limit: 0 }` + */ + // afterTest: function(test, context, { error, result, duration, passed, retries }) { + // }, + + /** + * Hook that gets executed after the suite has ended + * @param {object} suite suite details + */ + // afterSuite: function (suite) { + // }, + /** + * Runs after a WebdriverIO command gets executed + * @param {string} commandName hook command name + * @param {Array} args arguments that command would receive + * @param {number} result 0 - command success, 1 - command error + * @param {object} error error object if any + */ + // afterCommand: function (commandName, args, result, error) { + // }, + /** + * Gets executed after all tests are done. You still have access to all global variables from + * the test. + * @param {number} result 0 - test pass, 1 - test fail + * @param {Array.} capabilities list of capabilities details + * @param {Array.} specs List of spec file paths that ran + */ + // after: function (result, capabilities, specs) { + // }, + /** + * Gets executed right after terminating the webdriver session. + * @param {object} config wdio configuration object + * @param {Array.} capabilities list of capabilities details + * @param {Array.} specs List of spec file paths that ran + */ + // afterSession: function (config, capabilities, specs) { + // }, + /** + * Gets executed after all workers got shut down and the process is about to exit. An error + * thrown in the onComplete hook will result in the test run failing. + * @param {object} exitCode 0 - success, 1 - fail + * @param {object} config wdio configuration object + * @param {Array.} capabilities list of capabilities details + * @param {} results object containing test results + */ + // onComplete: function(exitCode, config, capabilities, results) { + // }, + /** + * Gets executed when a refresh happens. + * @param {string} oldSessionId session ID of the old session + * @param {string} newSessionId session ID of the new session + */ + // onReload: function(oldSessionId, newSessionId) { + // } }; diff --git a/web/src/admin/applications/ApplicationForm.ts b/web/src/admin/applications/ApplicationForm.ts index e6f5fae93b3a..42489f9f3d15 100644 --- a/web/src/admin/applications/ApplicationForm.ts +++ b/web/src/admin/applications/ApplicationForm.ts @@ -1,7 +1,12 @@ import "@goauthentik/admin/applications/ProviderSelectModal"; import { iconHelperText } from "@goauthentik/admin/helperText"; import { DEFAULT_CONFIG, config } from "@goauthentik/common/api/config"; -import { first, groupBy } from "@goauthentik/common/utils"; +import { first } from "@goauthentik/common/utils"; +import "@goauthentik/components/ak-file-input"; +import "@goauthentik/components/ak-radio-input"; +import "@goauthentik/components/ak-switch-input"; +import "@goauthentik/components/ak-text-input"; +import "@goauthentik/components/ak-textarea-input"; import { rootInterface } from "@goauthentik/elements/Base"; import "@goauthentik/elements/forms/FormGroup"; import "@goauthentik/elements/forms/HorizontalFormElement"; @@ -23,12 +28,34 @@ import { CoreApi, PolicyEngineMode, Provider, - ProvidersAllListRequest, - ProvidersApi, } from "@goauthentik/api"; +import "./components/ak-backchannel-input"; +import "./components/ak-provider-search-input"; + +export const policyOptions = [ + { + label: "any", + value: PolicyEngineMode.Any, + default: true, + description: html`${msg("Any policy must match to grant access")}`, + }, + { + label: "all", + value: PolicyEngineMode.All, + description: html`${msg("All policies must match to grant access")}`, + }, +]; + @customElement("ak-application-form") export class ApplicationForm extends ModelForm { + constructor() { + super(); + this.handleConfirmBackchannelProviders = this.handleConfirmBackchannelProviders.bind(this); + this.makeRemoveBackchannelProviderHandler = + this.makeRemoveBackchannelProviderHandler.bind(this); + } + async loadInstance(pk: string): Promise { const app = await new CoreApi(DEFAULT_CONFIG).coreApplicationsRetrieve({ slug: pk, @@ -89,237 +116,137 @@ export class ApplicationForm extends ModelForm { return app; } - renderForm(): TemplateResult { - return html` - -

    ${msg("Application's display Name.")}

    -
    - - -

    - ${msg("Internal application name, used in URLs.")} -

    -
    - - -

    - ${msg( - "Optionally enter a group name. Applications with identical groups are shown grouped together.", - )} -

    -
    - - => { - const args: ProvidersAllListRequest = { - ordering: "name", - }; - if (query !== undefined) { - args.search = query; - } - const items = await new ProvidersApi(DEFAULT_CONFIG).providersAllList(args); - return items.results; - }} - .renderElement=${(item: Provider): string => { - return item.name; - }} - .value=${(item: Provider | undefined): number | undefined => { - return item?.pk; - }} - .groupBy=${(items: Provider[]) => { - return groupBy(items, (item) => item.verboseName); - }} - .selected=${(item: Provider): boolean => { - return this.instance?.provider === item.pk; - }} - ?blankable=${true} - > - -

    - ${msg("Select a provider that this application should use.")} -

    -
    + handleConfirmBackchannelProviders({ items }: { items: Provider[] }) { + this.backchannelProviders = items; + this.requestUpdate(); + return Promise.resolve(); + } + + makeRemoveBackchannelProviderHandler(provider: Provider) { + return () => { + const idx = this.backchannelProviders.indexOf(provider); + this.backchannelProviders.splice(idx, 1); + this.requestUpdate(); + }; + } - + + + + + `} > -
    - { - this.backchannelProviders = items; - this.requestUpdate(); - return Promise.resolve(); - }} - > - - -
    - - ${this.backchannelProviders.map((provider) => { - return html` { - const idx = this.backchannelProviders.indexOf(provider); - this.backchannelProviders.splice(idx, 1); - this.requestUpdate(); - }} - > - ${provider.name} - `; - })} - -
    -
    -

    - ${msg( - "Select backchannel providers which augment the functionality of the main provider.", - )} -

    -
    - - + - - - + .options=${policyOptions} + .value=${this.instance?.policyEngineMode} + > ${msg("UI settings")}
    - - -

    - ${msg( - "If left empty, authentik will try to extract the launch URL based on the selected provider.", - )} -

    -
    - - -

    - ${msg( - "If checked, the launch URL will open in a new browser tab or window from the user's application library.", - )} -

    -
    + + + ${rootInterface()?.config?.capabilities.includes(CapabilitiesEnum.CanSaveMedia) - ? html` - - ${this.instance?.metaIcon - ? html` -

    - ${msg("Currently set to:")} - ${this.instance?.metaIcon} -

    - ` - : html``} -
    + ? html` ${this.instance?.metaIcon ? html` - - -

    - ${msg("Delete currently set icon.")} -

    -
    + ` : html``}` - : html` - -

    ${iconHelperText}

    -
    `} - - - - - - + : html` + `} + +
    -
    `; + + `; } } diff --git a/web/src/admin/applications/ApplicationListPage.ts b/web/src/admin/applications/ApplicationListPage.ts index b29ac0df5f0d..c062367506ea 100644 --- a/web/src/admin/applications/ApplicationListPage.ts +++ b/web/src/admin/applications/ApplicationListPage.ts @@ -1,5 +1,4 @@ import "@goauthentik/admin/applications/ApplicationForm"; -import "@goauthentik/admin/applications/wizard/ApplicationWizard"; import { PFSize } from "@goauthentik/app/elements/Spinner"; import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; import { uiConfig } from "@goauthentik/common/ui/config"; @@ -10,6 +9,7 @@ import "@goauthentik/elements/buttons/SpinnerButton"; import "@goauthentik/elements/forms/DeleteBulkForm"; import "@goauthentik/elements/forms/ModalForm"; import { getURLParam } from "@goauthentik/elements/router/RouteMatch"; +// import { getURLParam } from "@goauthentik/elements/router/RouteMatch"; import { PaginatedResponse } from "@goauthentik/elements/table/Table"; import { TableColumn } from "@goauthentik/elements/table/Table"; import { TablePage } from "@goauthentik/elements/table/TablePage"; @@ -23,6 +23,8 @@ import PFCard from "@patternfly/patternfly/components/Card/card.css"; import { Application, CoreApi } from "@goauthentik/api"; +import "./ApplicationWizardHint"; + @customElement("ak-application-list") export class ApplicationListPage extends TablePage { searchEnabled(): boolean { @@ -33,7 +35,7 @@ export class ApplicationListPage extends TablePage { } pageDescription(): string { return msg( - "External Applications which use authentik as Identity-Provider, utilizing protocols like OAuth2 and SAML. All applications are shown here, even ones you cannot access.", + "External applications that use authentik as an identity provider via protocols like OAuth2 and SAML. All applications are shown here, even ones you cannot access.", ); } pageIcon(): string { @@ -87,20 +89,27 @@ export class ApplicationListPage extends TablePage { ]; } + renderSectionBefore(): TemplateResult { + return html``; + } + renderSidebarAfter(): TemplateResult { // Rendering the wizard with .open here, as if we set the attribute in // renderObjectCreate() it'll open two wizards, since that function gets called twice - return html` -
    -
    -
    - -
    + >*/ + + return html`
    +
    +
    +
    -
    `; +
    +
    `; } renderToolbarSelected(): TemplateResult { diff --git a/web/src/admin/applications/ApplicationWizardHint.ts b/web/src/admin/applications/ApplicationWizardHint.ts index 9f0a22e887a0..288e18dbd4a5 100644 --- a/web/src/admin/applications/ApplicationWizardHint.ts +++ b/web/src/admin/applications/ApplicationWizardHint.ts @@ -1,4 +1,4 @@ -import { MessageLevel } from "@goauthentik/common/messages"; +import "@goauthentik/admin/applications/wizard/ak-application-wizard"; import { ShowHintController, ShowHintControllerHost, @@ -6,18 +6,37 @@ import { import "@goauthentik/components/ak-hint/ak-hint"; import "@goauthentik/components/ak-hint/ak-hint-body"; import { AKElement } from "@goauthentik/elements/Base"; +import "@goauthentik/elements/Label"; import "@goauthentik/elements/buttons/ActionButton/ak-action-button"; -import { showMessage } from "@goauthentik/elements/messages/MessageContainer"; +import { getURLParam } from "@goauthentik/elements/router/RouteMatch"; -import { html, nothing } from "lit"; +import { msg } from "@lit/localize"; +import { html } from "lit"; import { customElement, property, state } from "lit/decorators.js"; +import { styleMap } from "lit/directives/style-map.js"; +import PFButton from "@patternfly/patternfly/components/Button/button.css"; +import PFLabel from "@patternfly/patternfly/components/Label/label.css"; import PFPage from "@patternfly/patternfly/components/Page/page.css"; +const closeButtonIcon = html``; + @customElement("ak-application-wizard-hint") export class AkApplicationWizardHint extends AKElement implements ShowHintControllerHost { static get styles() { - return [PFPage]; + return [PFButton, PFPage, PFLabel]; } @property({ type: Boolean, attribute: "show-hint" }) @@ -36,33 +55,60 @@ export class AkApplicationWizardHint extends AKElement implements ShowHintContro ); } + renderReminder() { + const sectionStyles = { + paddingBottom: "0", + marginBottom: "-0.5rem", + marginRight: "0.0625rem", + textAlign: "right", + }; + const textStyle = { maxWidth: "60ch" }; + + return html`
    + + + + ${msg("One hint, 'New Application Wizard', is currently hidden")} + + + + +
    `; + } + renderHint() { return html`

    - Authentik has a new Application Wizard that can configure both an - application and its authentication provider at the same time. - Learn more about the wizard here. + You can now configure both an application and its authentication provider at + the same time with our new Application Wizard. +

    - { - showMessage({ - message: "This would have shown the wizard", - level: MessageLevel.success, - }); - }} - >Create with Wizard
    + + + ${this.showHintController.render()}
    `; } render() { - return this.showHint || this.forceHint ? this.renderHint() : nothing; + return this.showHint || this.forceHint ? this.renderHint() : this.renderReminder(); } } diff --git a/web/src/admin/applications/components/ak-backchannel-input.ts b/web/src/admin/applications/components/ak-backchannel-input.ts new file mode 100644 index 000000000000..2130ba10b984 --- /dev/null +++ b/web/src/admin/applications/components/ak-backchannel-input.ts @@ -0,0 +1,80 @@ +import "@goauthentik/admin/applications/ProviderSelectModal"; +import { AKElement } from "@goauthentik/elements/Base"; + +import { TemplateResult, html, nothing } from "lit"; +import { customElement, property } from "lit/decorators.js"; +import { ifDefined } from "lit/directives/if-defined.js"; +import { map } from "lit/directives/map.js"; + +import { Provider } from "@goauthentik/api"; + +@customElement("ak-backchannel-providers-input") +export class AkBackchannelProvidersInput extends AKElement { + // Render into the lightDOM. This effectively erases the shadowDOM nature of this component, but + // we're not actually using that and, for the meantime, we need the form handlers to be able to + // find the children of this component. + // + // This field is so highly specialized that it would make more sense if we put the API and the + // fetcher here. + // + // TODO: This abstraction is wrong; it's putting *more* layers in as a way of managing the + // visual clutter and legibility issues of ak-form-elemental-horizontal and patternfly in + // general. + protected createRenderRoot() { + return this; + } + + @property({ type: String }) + name!: string; + + @property({ type: String }) + label = ""; + + @property({ type: Array }) + providers: Provider[] = []; + + @property({ type: Object }) + tooltip?: TemplateResult; + + @property({ attribute: false, type: Object }) + confirm!: ({ items }: { items: Provider[] }) => Promise; + + @property({ attribute: false, type: Object }) + remover!: (provider: Provider) => () => void; + + @property({ type: String }) + value = ""; + + @property({ type: Boolean }) + required = false; + + @property({ type: String }) + help = ""; + + render() { + const renderOneChip = (provider: Provider) => + html`${provider.name}`; + + return html` + +
    + + + +
    + ${map(this.providers, renderOneChip)} +
    +
    + ${this.help ? html`

    ${this.help}

    ` : nothing} +
    + `; + } +} diff --git a/web/src/admin/applications/components/ak-provider-search-input.ts b/web/src/admin/applications/components/ak-provider-search-input.ts new file mode 100644 index 000000000000..552cb0764a8c --- /dev/null +++ b/web/src/admin/applications/components/ak-provider-search-input.ts @@ -0,0 +1,80 @@ +import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; +import { groupBy } from "@goauthentik/common/utils"; +import { AKElement } from "@goauthentik/elements/Base"; +import "@goauthentik/elements/forms/SearchSelect"; + +import { html, nothing } from "lit"; +import { customElement, property } from "lit/decorators.js"; + +import { Provider, ProvidersAllListRequest, ProvidersApi } from "@goauthentik/api"; + +const renderElement = (item: Provider) => item.name; +const renderValue = (item: Provider | undefined) => item?.pk; +const doGroupBy = (items: Provider[]) => groupBy(items, (item) => item.verboseName); + +async function fetch(query?: string) { + const args: ProvidersAllListRequest = { + ordering: "name", + }; + if (query !== undefined) { + args.search = query; + } + const items = await new ProvidersApi(DEFAULT_CONFIG).providersAllList(args); + return items.results; +} + +@customElement("ak-provider-search-input") +export class AkProviderInput extends AKElement { + // Render into the lightDOM. This effectively erases the shadowDOM nature of this component, but + // we're not actually using that and, for the meantime, we need the form handlers to be able to + // find the children of this component. + // + // TODO: This abstraction is wrong; it's putting *more* layers in as a way of managing the + // visual clutter and legibility issues of ak-form-elemental-horizontal and patternfly in + // general. + protected createRenderRoot() { + return this; + } + + @property({ type: String }) + name!: string; + + @property({ type: String }) + label = ""; + + @property({ type: Number }) + value?: number; + + @property({ type: Boolean }) + required = false; + + @property({ type: Boolean }) + blankable = false; + + @property({ type: String }) + help = ""; + + constructor() { + super(); + this.selected = this.selected.bind(this); + } + + selected(item: Provider) { + return this.value !== undefined && this.value === item.pk; + } + + render() { + return html` + + + ${this.help ? html`

    ${this.help}

    ` : nothing} +
    `; + } +} diff --git a/web/src/admin/applications/wizard/ApplicationWizard.ts b/web/src/admin/applications/wizard/ApplicationWizard.ts deleted file mode 100644 index d8ceb9749e4f..000000000000 --- a/web/src/admin/applications/wizard/ApplicationWizard.ts +++ /dev/null @@ -1,64 +0,0 @@ -import "@goauthentik/admin/applications/wizard/InitialApplicationWizardPage"; -import "@goauthentik/admin/applications/wizard/TypeApplicationWizardPage"; -import "@goauthentik/admin/applications/wizard/ldap/TypeLDAPApplicationWizardPage"; -import "@goauthentik/admin/applications/wizard/link/TypeLinkApplicationWizardPage"; -import "@goauthentik/admin/applications/wizard/oauth/TypeOAuthAPIApplicationWizardPage"; -import "@goauthentik/admin/applications/wizard/oauth/TypeOAuthApplicationWizardPage"; -import "@goauthentik/admin/applications/wizard/oauth/TypeOAuthCodeApplicationWizardPage"; -import "@goauthentik/admin/applications/wizard/oauth/TypeOAuthImplicitApplicationWizardPage"; -import "@goauthentik/admin/applications/wizard/proxy/TypeProxyApplicationWizardPage"; -import "@goauthentik/admin/applications/wizard/saml/TypeSAMLApplicationWizardPage"; -import "@goauthentik/admin/applications/wizard/saml/TypeSAMLConfigApplicationWizardPage"; -import "@goauthentik/admin/applications/wizard/saml/TypeSAMLImportApplicationWizardPage"; -import { AKElement } from "@goauthentik/elements/Base"; -import "@goauthentik/elements/wizard/Wizard"; - -import { msg } from "@lit/localize"; -import { customElement } from "@lit/reactive-element/decorators/custom-element.js"; -import { CSSResult, TemplateResult, html } from "lit"; -import { property } from "lit/decorators.js"; - -import PFButton from "@patternfly/patternfly/components/Button/button.css"; -import PFRadio from "@patternfly/patternfly/components/Radio/radio.css"; -import PFBase from "@patternfly/patternfly/patternfly-base.css"; - -@customElement("ak-application-wizard") -export class ApplicationWizard extends AKElement { - static get styles(): CSSResult[] { - return [PFBase, PFButton, PFRadio]; - } - - @property({ type: Boolean }) - open = false; - - @property() - createText = msg("Create"); - - @property({ type: Boolean }) - showButton = true; - - @property({ attribute: false }) - finalHandler: () => Promise = () => { - return Promise.resolve(); - }; - - render(): TemplateResult { - return html` - { - return this.finalHandler(); - }} - > - ${this.showButton - ? html`` - : html``} - - `; - } -} diff --git a/web/src/admin/applications/wizard/BasePanel.css.ts b/web/src/admin/applications/wizard/BasePanel.css.ts new file mode 100644 index 000000000000..31479ed80f5d --- /dev/null +++ b/web/src/admin/applications/wizard/BasePanel.css.ts @@ -0,0 +1,28 @@ +import { css } from "lit"; + +import PFAlert from "@patternfly/patternfly/components/Alert/alert.css"; +import PFButton from "@patternfly/patternfly/components/Button/button.css"; +import PFCard from "@patternfly/patternfly/components/Card/card.css"; +import PFForm from "@patternfly/patternfly/components/Form/form.css"; +import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css"; +import PFInputGroup from "@patternfly/patternfly/components/InputGroup/input-group.css"; +import PFRadio from "@patternfly/patternfly/components/Radio/radio.css"; +import PFSwitch from "@patternfly/patternfly/components/Switch/switch.css"; +import PFBase from "@patternfly/patternfly/patternfly-base.css"; + +export const styles = [ + PFBase, + PFCard, + PFButton, + PFForm, + PFAlert, + PFRadio, + PFInputGroup, + PFFormControl, + PFSwitch, + css` + select[multiple] { + height: 15em; + } + `, +]; diff --git a/web/src/admin/applications/wizard/BasePanel.ts b/web/src/admin/applications/wizard/BasePanel.ts new file mode 100644 index 000000000000..a395fc4b30ce --- /dev/null +++ b/web/src/admin/applications/wizard/BasePanel.ts @@ -0,0 +1,35 @@ +import { WizardPanel } from "@goauthentik/components/ak-wizard-main/types"; +import { AKElement } from "@goauthentik/elements/Base"; +import { CustomEmitterElement } from "@goauthentik/elements/utils/eventEmitter"; + +import { consume } from "@lit-labs/context"; +import { query } from "@lit/reactive-element/decorators.js"; + +import { styles as AwadStyles } from "./BasePanel.css"; + +import { applicationWizardContext } from "./ContextIdentity"; +import type { ApplicationWizardState, ApplicationWizardStateUpdate } from "./types"; + +export class ApplicationWizardPageBase + extends CustomEmitterElement(AKElement) + implements WizardPanel +{ + static get styles() { + return AwadStyles; + } + + @query("form") + form!: HTMLFormElement; + + rendered = false; + + @consume({ context: applicationWizardContext }) + public wizard!: ApplicationWizardState; + + // This used to be more complex; now it just establishes the event name. + dispatchWizardUpdate(update: ApplicationWizardStateUpdate) { + this.dispatchCustomEvent("ak-wizard-update", update); + } +} + +export default ApplicationWizardPageBase; diff --git a/web/src/admin/applications/wizard/ContextIdentity.ts b/web/src/admin/applications/wizard/ContextIdentity.ts new file mode 100644 index 000000000000..f03f147a6df5 --- /dev/null +++ b/web/src/admin/applications/wizard/ContextIdentity.ts @@ -0,0 +1,9 @@ +import { createContext } from "@lit-labs/context"; + +import { ApplicationWizardState } from "./types"; + +export const applicationWizardContext = createContext( + Symbol("ak-application-wizard-state-context"), +); + +export default applicationWizardContext; diff --git a/web/src/admin/applications/wizard/InitialApplicationWizardPage.ts b/web/src/admin/applications/wizard/InitialApplicationWizardPage.ts deleted file mode 100644 index 1e4388e70e51..000000000000 --- a/web/src/admin/applications/wizard/InitialApplicationWizardPage.ts +++ /dev/null @@ -1,75 +0,0 @@ -import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; -import { convertToSlug } from "@goauthentik/common/utils"; -import { KeyUnknown } from "@goauthentik/elements/forms/Form"; -import "@goauthentik/elements/forms/FormGroup"; -import "@goauthentik/elements/forms/HorizontalFormElement"; -import { WizardFormPage } from "@goauthentik/elements/wizard/WizardFormPage"; - -import { msg } from "@lit/localize"; -import { customElement } from "@lit/reactive-element/decorators/custom-element.js"; -import { TemplateResult, html } from "lit"; - -import { ApplicationRequest, CoreApi, Provider } from "@goauthentik/api"; - -@customElement("ak-application-wizard-initial") -export class InitialApplicationWizardPage extends WizardFormPage { - sidebarLabel = () => msg("Application details"); - - nextDataCallback = async (data: KeyUnknown): Promise => { - const name = data.name as string; - let slug = convertToSlug(name || ""); - // Check if an application with the generated slug already exists - const apps = await new CoreApi(DEFAULT_CONFIG).coreApplicationsList({ - search: slug, - }); - if (apps.results.filter((app) => app.slug == slug)) { - slug += "-1"; - } - this.host.state["slug"] = slug; - this.host.state["name"] = name; - this.host.addActionBefore(msg("Create application"), async (): Promise => { - const req: ApplicationRequest = { - name: name || "", - slug: slug, - metaPublisher: data.metaPublisher as string, - metaDescription: data.metaDescription as string, - }; - if ("provider" in this.host.state) { - req.provider = (this.host.state["provider"] as Provider).pk; - } - if ("link" in this.host.state) { - req.metaLaunchUrl = this.host.state["link"] as string; - } - this.host.state["app"] = await new CoreApi(DEFAULT_CONFIG).coreApplicationsCreate({ - applicationRequest: req, - }); - return true; - }); - return true; - }; - - renderForm(): TemplateResult { - return html` -
    - - -

    ${msg("Application's display Name.")}

    -
    - - ${msg("Additional UI settings")} -
    - - - - - - -
    -
    -
    - `; - } -} diff --git a/web/src/admin/applications/wizard/TypeApplicationWizardPage.ts b/web/src/admin/applications/wizard/TypeApplicationWizardPage.ts deleted file mode 100644 index ff55cb67c6a8..000000000000 --- a/web/src/admin/applications/wizard/TypeApplicationWizardPage.ts +++ /dev/null @@ -1,85 +0,0 @@ -import { WizardPage } from "@goauthentik/elements/wizard/WizardPage"; - -import { msg } from "@lit/localize"; -import { customElement } from "@lit/reactive-element/decorators/custom-element.js"; -import { CSSResult, TemplateResult, html } from "lit"; - -import PFButton from "@patternfly/patternfly/components/Button/button.css"; -import PFForm from "@patternfly/patternfly/components/Form/form.css"; -import PFRadio from "@patternfly/patternfly/components/Radio/radio.css"; -import PFBase from "@patternfly/patternfly/patternfly-base.css"; - -import { TypeCreate } from "@goauthentik/api"; - -@customElement("ak-application-wizard-type") -export class TypeApplicationWizardPage extends WizardPage { - applicationTypes: TypeCreate[] = [ - { - component: "ak-application-wizard-type-oauth", - name: msg("OAuth2/OIDC"), - description: msg("Modern applications, APIs and Single-page applications."), - modelName: "", - }, - { - component: "ak-application-wizard-type-saml", - name: msg("SAML"), - description: msg( - "XML-based SSO standard. Use this if your application only supports SAML.", - ), - modelName: "", - }, - { - component: "ak-application-wizard-type-proxy", - name: msg("Proxy"), - description: msg("Legacy applications which don't natively support SSO."), - modelName: "", - }, - { - component: "ak-application-wizard-type-ldap", - name: msg("LDAP"), - description: msg( - "Provide an LDAP interface for applications and users to authenticate against.", - ), - modelName: "", - }, - { - component: "ak-application-wizard-type-link", - name: msg("Link"), - description: msg( - "Provide an LDAP interface for applications and users to authenticate against.", - ), - modelName: "", - }, - ]; - - sidebarLabel = () => msg("Authentication method"); - - static get styles(): CSSResult[] { - return [PFBase, PFButton, PFForm, PFRadio]; - } - - render(): TemplateResult { - return html`
    - ${this.applicationTypes.map((type) => { - return html`
    - { - this.host.steps = [ - "ak-application-wizard-initial", - "ak-application-wizard-type", - type.component, - ]; - this.host.isValid = true; - }} - /> - - ${type.description} -
    `; - })} -
    `; - } -} diff --git a/web/src/admin/applications/wizard/ak-application-wizard.ts b/web/src/admin/applications/wizard/ak-application-wizard.ts new file mode 100644 index 000000000000..d15570f137eb --- /dev/null +++ b/web/src/admin/applications/wizard/ak-application-wizard.ts @@ -0,0 +1,124 @@ +import { merge } from "@goauthentik/common/merge"; +import { AkWizard } from "@goauthentik/components/ak-wizard-main/AkWizard"; +import { CustomListenerElement } from "@goauthentik/elements/utils/eventEmitter"; + +import { ContextProvider } from "@lit-labs/context"; +import { msg } from "@lit/localize"; +import { customElement, state } from "lit/decorators.js"; + +import applicationWizardContext from "./ContextIdentity"; +import { newSteps } from "./steps"; +import { + ApplicationStep, + ApplicationWizardState, + ApplicationWizardStateUpdate, + OneOfProvider, +} from "./types"; + +const freshWizardState = () => ({ + providerModel: "", + app: {}, + provider: {}, +}); + +@customElement("ak-application-wizard") +export class ApplicationWizard extends CustomListenerElement( + AkWizard, +) { + constructor() { + super(msg("Create With Wizard"), msg("New application"), msg("Create a new application")); + this.steps = newSteps(); + } + + /** + * We're going to be managing the content of the forms by percolating all of the data up to this + * class, which will ultimately transmit all of it to the server as a transaction. The + * WizardFramework doesn't know anything about the nature of the data itself; it just forwards + * valid updates to us. So here we maintain a state object *and* update it so all child + * components can access the wizard state. + * + */ + @state() + wizardState: ApplicationWizardState = freshWizardState(); + + wizardStateProvider = new ContextProvider(this, { + context: applicationWizardContext, + initialValue: this.wizardState, + }); + + /** + * One of our steps has multiple display variants, one for each type of service provider. We + * want to *preserve* a customer's decisions about different providers; never make someone "go + * back and type it all back in," even if it's probably rare that someone will chose one + * provider, realize it's the wrong one, and go back to chose a different one, *and then go + * back*. Nonetheless, strive to *never* lose customer input. + * + */ + providerCache: Map = new Map(); + + maybeProviderSwap(providerModel: string | undefined): boolean { + if ( + providerModel === undefined || + typeof providerModel !== "string" || + providerModel === this.wizardState.providerModel + ) { + return false; + } + + this.providerCache.set(this.wizardState.providerModel, this.wizardState.provider); + const prevProvider = this.providerCache.get(providerModel); + this.wizardState.provider = prevProvider ?? { + name: `Provider for ${this.wizardState.app.name}`, + }; + const method = this.steps.find(({ id }) => id === "provider-details"); + if (!method) { + throw new Error("Could not find Authentication Method page?"); + } + method.disabled = false; + return true; + } + + // And this is where all the special cases go... + handleUpdate(detail: ApplicationWizardStateUpdate) { + if (detail.status === "submitted") { + this.step.valid = true; + this.requestUpdate(); + return; + } + + this.step.valid = this.step.valid || detail.status === "valid"; + + const update = detail.update; + if (!update) { + return; + } + + if (this.maybeProviderSwap(update.providerModel)) { + this.requestUpdate(); + } + + this.wizardState = merge(this.wizardState, update) as ApplicationWizardState; + this.wizardStateProvider.setValue(this.wizardState); + this.requestUpdate(); + } + + close() { + this.steps = newSteps(); + this.currentStep = 0; + this.wizardState = freshWizardState(); + this.providerCache = new Map(); + this.wizardStateProvider.setValue(this.wizardState); + this.frame.value!.open = false; + } + + handleNav(stepId: number | undefined) { + if (stepId === undefined || this.steps[stepId] === undefined) { + throw new Error(`Attempt to navigate to undefined step: ${stepId}`); + } + if (stepId > this.currentStep && !this.step.valid) { + return; + } + this.currentStep = stepId; + this.requestUpdate(); + } +} diff --git a/web/src/admin/applications/wizard/application/ak-application-wizard-application-details.ts b/web/src/admin/applications/wizard/application/ak-application-wizard-application-details.ts new file mode 100644 index 000000000000..13e439d76576 --- /dev/null +++ b/web/src/admin/applications/wizard/application/ak-application-wizard-application-details.ts @@ -0,0 +1,101 @@ +import { policyOptions } from "@goauthentik/admin/applications/ApplicationForm"; +import { first } from "@goauthentik/common/utils"; +import "@goauthentik/components/ak-radio-input"; +import "@goauthentik/components/ak-slug-input"; +import "@goauthentik/components/ak-switch-input"; +import "@goauthentik/components/ak-text-input"; +import "@goauthentik/elements/forms/FormGroup"; +import "@goauthentik/elements/forms/FormGroup"; +import "@goauthentik/elements/forms/HorizontalFormElement"; + +import { msg } from "@lit/localize"; +import { customElement } from "@lit/reactive-element/decorators/custom-element.js"; +import { TemplateResult, html } from "lit"; +import { ifDefined } from "lit/directives/if-defined.js"; + +import BasePanel from "../BasePanel"; + +@customElement("ak-application-wizard-application-details") +export class ApplicationWizardApplicationDetails extends BasePanel { + handleChange(ev: Event) { + if (!ev.target) { + console.warn(`Received event with no target: ${ev}`); + return; + } + + const target = ev.target as HTMLInputElement; + const value = target.type === "checkbox" ? target.checked : target.value; + this.dispatchWizardUpdate({ + update: { + app: { + [target.name]: value, + }, + }, + status: this.form.checkValidity() ? "valid" : "invalid", + }); + } + + validator() { + return this.form.reportValidity(); + } + + render(): TemplateResult { + return html`
    + + + + + + ${msg("UI Settings")} +
    + + + +
    +
    +
    `; + } +} + +export default ApplicationWizardApplicationDetails; diff --git a/web/src/admin/applications/wizard/auth-method-choice/ak-application-wizard-authentication-method-choice.choices.ts b/web/src/admin/applications/wizard/auth-method-choice/ak-application-wizard-authentication-method-choice.choices.ts new file mode 100644 index 000000000000..16b3ce01af9e --- /dev/null +++ b/web/src/admin/applications/wizard/auth-method-choice/ak-application-wizard-authentication-method-choice.choices.ts @@ -0,0 +1,161 @@ +import { msg } from "@lit/localize"; +import { TemplateResult, html } from "lit"; + +import type { ProviderModelEnum as ProviderModelEnumType, TypeCreate } from "@goauthentik/api"; +import { ProviderModelEnum, ProxyMode } from "@goauthentik/api"; +import type { + LDAPProviderRequest, + ModelRequest, + OAuth2ProviderRequest, + ProxyProviderRequest, + RadiusProviderRequest, + SAMLProviderRequest, + SCIMProviderRequest, +} from "@goauthentik/api"; + +import { OneOfProvider } from "../types"; + +type ProviderRenderer = () => TemplateResult; + +type ModelConverter = (provider: OneOfProvider) => ModelRequest; + +type ProviderType = [ + string, + string, + string, + ProviderRenderer, + ProviderModelEnumType, + ModelConverter, +]; + +export type LocalTypeCreate = TypeCreate & { + formName: string; + modelName: ProviderModelEnumType; + converter: ModelConverter; +}; + +// prettier-ignore +const _providerModelsTable: ProviderType[] = [ + [ + "oauth2provider", + msg("OAuth2/OpenID"), + msg("Modern applications, APIs and Single-page applications."), + () => html``, + ProviderModelEnum.Oauth2Oauth2provider, + (provider: OneOfProvider) => ({ + providerModel: ProviderModelEnum.Oauth2Oauth2provider, + ...(provider as OAuth2ProviderRequest), + }), + ], + [ + "ldapprovider", + msg("LDAP"), + msg("Provide an LDAP interface for applications and users to authenticate against."), + () => html``, + ProviderModelEnum.LdapLdapprovider, + (provider: OneOfProvider) => ({ + providerModel: ProviderModelEnum.LdapLdapprovider, + ...(provider as LDAPProviderRequest), + }), + + ], + [ + "proxyprovider-proxy", + msg("Transparent Reverse Proxy"), + msg("For transparent reverse proxies with required authentication"), + () => html``, + ProviderModelEnum.ProxyProxyprovider, + (provider: OneOfProvider) => ({ + providerModel: ProviderModelEnum.ProxyProxyprovider, + ...(provider as ProxyProviderRequest), + mode: ProxyMode.Proxy, + }), + ], + [ + "proxyprovider-forwardsingle", + msg("Forward Auth Single Application"), + msg("For nginx's auth_request or traefix's forwardAuth"), + () => html``, + ProviderModelEnum.ProxyProxyprovider , + (provider: OneOfProvider) => ({ + providerModel: ProviderModelEnum.ProxyProxyprovider, + ...(provider as ProxyProviderRequest), + mode: ProxyMode.ForwardSingle, + }), + + ], + [ + "proxyprovider-forwarddomain", + msg("Forward Auth Domain Level"), + msg("For nginx's auth_request or traefix's forwardAuth per root domain"), + () => html``, + ProviderModelEnum.ProxyProxyprovider , + (provider: OneOfProvider) => ({ + providerModel: ProviderModelEnum.ProxyProxyprovider, + ...(provider as ProxyProviderRequest), + mode: ProxyMode.ForwardDomain, + }), + ], + [ + "samlprovider", + msg("SAML Configuration"), + msg("Configure SAML provider manually"), + () => html``, + ProviderModelEnum.SamlSamlprovider, + (provider: OneOfProvider) => ({ + providerModel: ProviderModelEnum.SamlSamlprovider, + ...(provider as SAMLProviderRequest), + }), + + ], + [ + "radiusprovider", + msg("RADIUS Configuration"), + msg("Configure RADIUS provider manually"), + () => html``, + ProviderModelEnum.RadiusRadiusprovider, + (provider: OneOfProvider) => ({ + providerModel: ProviderModelEnum.RadiusRadiusprovider, + ...(provider as RadiusProviderRequest), + }), + + ], + [ + "scimprovider", + msg("SCIM configuration"), + msg("Configure SCIM provider manually"), + () => html``, + ProviderModelEnum.ScimScimprovider, + (provider: OneOfProvider) => ({ + providerModel: ProviderModelEnum.ScimScimprovider, + ...(provider as SCIMProviderRequest), + }), + + ], +]; + +function mapProviders([ + formName, + name, + description, + _, + modelName, + converter, +]: ProviderType): LocalTypeCreate { + return { + formName, + name, + description, + component: "", + modelName, + converter, + }; +} + +export const providerModelsList = _providerModelsTable.map(mapProviders); + +export const providerRendererList = new Map( + _providerModelsTable.map(([modelName, _0, _1, renderer]) => [modelName, renderer]), +); + +export default providerModelsList; diff --git a/web/src/admin/applications/wizard/auth-method-choice/ak-application-wizard-authentication-method-choice.ts b/web/src/admin/applications/wizard/auth-method-choice/ak-application-wizard-authentication-method-choice.ts new file mode 100644 index 000000000000..593406d66a30 --- /dev/null +++ b/web/src/admin/applications/wizard/auth-method-choice/ak-application-wizard-authentication-method-choice.ts @@ -0,0 +1,68 @@ +import "@goauthentik/components/ak-radio-input"; +import "@goauthentik/components/ak-switch-input"; +import "@goauthentik/components/ak-text-input"; +import "@goauthentik/elements/forms/FormGroup"; +import "@goauthentik/elements/forms/FormGroup"; +import "@goauthentik/elements/forms/HorizontalFormElement"; + +import { msg } from "@lit/localize"; +import { customElement } from "@lit/reactive-element/decorators/custom-element.js"; +import { html } from "lit"; +import { map } from "lit/directives/map.js"; + +import BasePanel from "../BasePanel"; +import providerModelsList from "./ak-application-wizard-authentication-method-choice.choices"; +import type { LocalTypeCreate } from "./ak-application-wizard-authentication-method-choice.choices"; + +@customElement("ak-application-wizard-authentication-method-choice") +export class ApplicationWizardAuthenticationMethodChoice extends BasePanel { + constructor() { + super(); + this.handleChoice = this.handleChoice.bind(this); + this.renderProvider = this.renderProvider.bind(this); + } + + handleChoice(ev: InputEvent) { + const target = ev.target as HTMLInputElement; + this.dispatchWizardUpdate({ + update: { providerModel: target.value }, + status: this.validator() ? "valid" : "invalid", + }); + } + + validator() { + const radios = Array.from(this.form.querySelectorAll('input[type="radio"]')); + const chosen = radios.find( + (radio: Element) => radio instanceof HTMLInputElement && radio.checked, + ); + return !!chosen; + } + + renderProvider(type: LocalTypeCreate) { + const method = this.wizard.providerModel; + + return html`
    + + + ${type.description} +
    `; + } + + render() { + return providerModelsList.length > 0 + ? html`
    + ${map(providerModelsList, this.renderProvider)} +
    ` + : html``; + } +} + +export default ApplicationWizardAuthenticationMethodChoice; diff --git a/web/src/admin/applications/wizard/commit/ak-application-wizard-commit-application.ts b/web/src/admin/applications/wizard/commit/ak-application-wizard-commit-application.ts new file mode 100644 index 000000000000..aa21bd073767 --- /dev/null +++ b/web/src/admin/applications/wizard/commit/ak-application-wizard-commit-application.ts @@ -0,0 +1,202 @@ +import { EVENT_REFRESH } from "@goauthentik/app/common/constants"; +import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; +import "@goauthentik/components/ak-radio-input"; +import "@goauthentik/components/ak-switch-input"; +import "@goauthentik/components/ak-text-input"; +import "@goauthentik/elements/forms/FormGroup"; +import "@goauthentik/elements/forms/FormGroup"; +import "@goauthentik/elements/forms/HorizontalFormElement"; + +import { msg } from "@lit/localize"; +import { customElement, state } from "@lit/reactive-element/decorators.js"; +import { TemplateResult, css, html, nothing } from "lit"; +import { classMap } from "lit/directives/class-map.js"; + +import PFEmptyState from "@patternfly/patternfly/components/EmptyState/empty-state.css"; +import PFProgressStepper from "@patternfly/patternfly/components/ProgressStepper/progress-stepper.css"; +import PFTitle from "@patternfly/patternfly/components/Title/title.css"; +import PFBullseye from "@patternfly/patternfly/layouts/Bullseye/bullseye.css"; + +import { + ApplicationRequest, + CoreApi, + TransactionApplicationRequest, + TransactionApplicationResponse, +} from "@goauthentik/api"; +import type { ModelRequest } from "@goauthentik/api"; + +import BasePanel from "../BasePanel"; +import providerModelsList from "../auth-method-choice/ak-application-wizard-authentication-method-choice.choices"; + +function cleanApplication(app: Partial): ApplicationRequest { + return { + name: "", + slug: "", + ...app, + }; +} + +type ProviderModelType = Exclude; + +type State = { + state: "idle" | "running" | "error" | "success"; + label: string | TemplateResult; + icon: string[]; +}; + +const idleState: State = { + state: "idle", + label: "", + icon: ["fa-cogs", "pf-m-pending"], +}; + +const runningState: State = { + state: "running", + label: msg("Saving Application..."), + icon: ["fa-cogs", "pf-m-info"], +}; +const errorState: State = { + state: "error", + label: msg("Authentik was unable to save this application:"), + icon: ["fa-times-circle", "pf-m-danger"], +}; + +const successState: State = { + state: "success", + label: msg("Your application has been saved"), + icon: ["fa-check-circle", "pf-m-success"], +}; + +@customElement("ak-application-wizard-commit-application") +export class ApplicationWizardCommitApplication extends BasePanel { + static get styles() { + return [ + ...super.styles, + PFBullseye, + PFEmptyState, + PFTitle, + PFProgressStepper, + css` + .pf-c-title { + padding-bottom: var(--pf-global--spacer--md); + } + `, + ]; + } + + @state() + commitState: State = idleState; + + @state() + errors: string[] = []; + + response?: TransactionApplicationResponse; + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + willUpdate(_changedProperties: Map) { + if (this.commitState === idleState) { + this.response = undefined; + this.commitState = runningState; + const providerModel = providerModelsList.find( + ({ formName }) => formName === this.wizard.providerModel, + ); + if (!providerModel) { + throw new Error( + `Could not determine provider model from user request: ${JSON.stringify( + this.wizard, + null, + 2, + )}`, + ); + } + + const request: TransactionApplicationRequest = { + providerModel: providerModel.modelName as ProviderModelType, + app: cleanApplication(this.wizard.app), + provider: providerModel.converter(this.wizard.provider), + }; + + this.send(request); + return; + } + } + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + decodeErrors(body: Record) { + const spaceify = (src: Record) => + Object.values(src).map((msg) => `\u00a0\u00a0\u00a0\u00a0${msg}`); + + let errs: string[] = []; + if (body["app"] !== undefined) { + errs = [...errs, msg("In the Application:"), ...spaceify(body["app"])]; + } + if (body["provider"] !== undefined) { + errs = [...errs, msg("In the Provider:"), ...spaceify(body["provider"])]; + } + console.log(body, errs); + return errs; + } + + async send( + data: TransactionApplicationRequest, + ): Promise { + this.errors = []; + + new CoreApi(DEFAULT_CONFIG) + .coreTransactionalApplicationsUpdate({ + transactionApplicationRequest: data, + }) + .then((response: TransactionApplicationResponse) => { + this.response = response; + this.dispatchCustomEvent(EVENT_REFRESH); + this.dispatchWizardUpdate({ status: "submitted" }); + this.commitState = successState; + }) + // eslint-disable-next-line @typescript-eslint/no-explicit-any + .catch((resolution: any) => { + resolution.response.json().then( + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (body: Record) => { + this.errors = this.decodeErrors(body); + }, + ); + this.commitState = errorState; + }); + } + + render(): TemplateResult { + const icon = classMap( + this.commitState.icon.reduce((acc, icon) => ({ ...acc, [icon]: true }), {}), + ); + + return html` +
    +
    +
    +
    + +

    + ${this.commitState.label} +

    + ${this.errors.length > 0 + ? html`
      + ${this.errors.map( + (msg) => html`
    • ${msg}
    • `, + )} +
    ` + : nothing} +
    +
    +
    +
    + `; + } +} + +export default ApplicationWizardCommitApplication; diff --git a/web/src/admin/applications/wizard/ldap/TypeLDAPApplicationWizardPage.ts b/web/src/admin/applications/wizard/ldap/TypeLDAPApplicationWizardPage.ts deleted file mode 100644 index 89c4a5ec899c..000000000000 --- a/web/src/admin/applications/wizard/ldap/TypeLDAPApplicationWizardPage.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; -import { KeyUnknown } from "@goauthentik/elements/forms/Form"; -import "@goauthentik/elements/forms/HorizontalFormElement"; -import { WizardFormPage } from "@goauthentik/elements/wizard/WizardFormPage"; - -import { msg } from "@lit/localize"; -import { customElement } from "@lit/reactive-element/decorators/custom-element.js"; -import { TemplateResult, html } from "lit"; - -import { - CoreApi, - FlowDesignationEnum, - FlowsApi, - LDAPProviderRequest, - ProvidersApi, - UserServiceAccountResponse, -} from "@goauthentik/api"; - -@customElement("ak-application-wizard-type-ldap") -export class TypeLDAPApplicationWizardPage extends WizardFormPage { - sidebarLabel = () => msg("LDAP details"); - - nextDataCallback = async (data: KeyUnknown): Promise => { - let name = this.host.state["name"] as string; - // Check if a provider with the name already exists - const providers = await new ProvidersApi(DEFAULT_CONFIG).providersAllList({ - search: name, - }); - if (providers.results.filter((provider) => provider.name == name)) { - name += "-1"; - } - this.host.addActionBefore(msg("Create service account"), async (): Promise => { - const serviceAccount = await new CoreApi(DEFAULT_CONFIG).coreUsersServiceAccountCreate({ - userServiceAccountRequest: { - name: name, - createGroup: true, - }, - }); - this.host.state["serviceAccount"] = serviceAccount; - return true; - }); - this.host.addActionBefore(msg("Create provider"), async (): Promise => { - // Get all flows and default to the implicit authorization - const flows = await new FlowsApi(DEFAULT_CONFIG).flowsInstancesList({ - designation: FlowDesignationEnum.Authorization, - ordering: "slug", - }); - const serviceAccount = this.host.state["serviceAccount"] as UserServiceAccountResponse; - const req: LDAPProviderRequest = { - name: name, - authorizationFlow: flows.results[0].pk, - baseDn: data.baseDN as string, - searchGroup: serviceAccount.groupPk, - }; - const provider = await new ProvidersApi(DEFAULT_CONFIG).providersLdapCreate({ - lDAPProviderRequest: req, - }); - this.host.state["provider"] = provider; - return true; - }); - return true; - }; - - renderForm(): TemplateResult { - const domainParts = window.location.hostname.split("."); - const defaultBaseDN = domainParts.map((part) => `dc=${part}`).join(","); - return html`
    - - - -
    `; - } -} diff --git a/web/src/admin/applications/wizard/link/TypeLinkApplicationWizardPage.ts b/web/src/admin/applications/wizard/link/TypeLinkApplicationWizardPage.ts deleted file mode 100644 index c91133a456d7..000000000000 --- a/web/src/admin/applications/wizard/link/TypeLinkApplicationWizardPage.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { KeyUnknown } from "@goauthentik/elements/forms/Form"; -import "@goauthentik/elements/forms/HorizontalFormElement"; -import { WizardFormPage } from "@goauthentik/elements/wizard/WizardFormPage"; - -import { msg } from "@lit/localize"; -import { customElement } from "@lit/reactive-element/decorators/custom-element.js"; -import { TemplateResult, html } from "lit"; - -@customElement("ak-application-wizard-type-link") -export class TypeLinkApplicationWizardPage extends WizardFormPage { - sidebarLabel = () => msg("Application Link"); - - nextDataCallback = async (data: KeyUnknown): Promise => { - this.host.state["link"] = data.link; - return true; - }; - - renderForm(): TemplateResult { - return html` -
    - - -

    - ${msg("URL which will be opened when a user clicks on the application.")} -

    -
    -
    - `; - } -} diff --git a/web/src/admin/applications/wizard/methods/BaseProviderPanel.ts b/web/src/admin/applications/wizard/methods/BaseProviderPanel.ts new file mode 100644 index 000000000000..ce60213e12c6 --- /dev/null +++ b/web/src/admin/applications/wizard/methods/BaseProviderPanel.ts @@ -0,0 +1,26 @@ +import BasePanel from "../BasePanel"; + +export class ApplicationWizardProviderPageBase extends BasePanel { + handleChange(ev: InputEvent) { + if (!ev.target) { + console.warn(`Received event with no target: ${ev}`); + return; + } + const target = ev.target as HTMLInputElement; + const value = target.type === "checkbox" ? target.checked : target.value; + this.dispatchWizardUpdate({ + update: { + provider: { + [target.name]: value, + }, + }, + status: this.form.checkValidity() ? "valid" : "invalid", + }); + } + + validator() { + return this.form.reportValidity(); + } +} + +export default ApplicationWizardProviderPageBase; diff --git a/web/src/admin/applications/wizard/methods/ak-application-wizard-authentication-method.ts b/web/src/admin/applications/wizard/methods/ak-application-wizard-authentication-method.ts new file mode 100644 index 000000000000..9b7e813bfc56 --- /dev/null +++ b/web/src/admin/applications/wizard/methods/ak-application-wizard-authentication-method.ts @@ -0,0 +1,29 @@ +import { customElement } from "@lit/reactive-element/decorators/custom-element.js"; + +import BasePanel from "../BasePanel"; +import { providerRendererList } from "../auth-method-choice/ak-application-wizard-authentication-method-choice.choices"; +import "./ldap/ak-application-wizard-authentication-by-ldap"; +import "./oauth/ak-application-wizard-authentication-by-oauth"; +import "./proxy/ak-application-wizard-authentication-for-forward-domain-proxy"; +import "./proxy/ak-application-wizard-authentication-for-reverse-proxy"; +import "./proxy/ak-application-wizard-authentication-for-single-forward-proxy"; +import "./radius/ak-application-wizard-authentication-by-radius"; +import "./saml/ak-application-wizard-authentication-by-saml-configuration"; +import "./scim/ak-application-wizard-authentication-by-scim"; + +// prettier-ignore + +@customElement("ak-application-wizard-authentication-method") +export class ApplicationWizardApplicationDetails extends BasePanel { + render() { + const handler = providerRendererList.get(this.wizard.providerModel); + if (!handler) { + throw new Error( + "Unrecognized authentication method in ak-application-wizard-authentication-method", + ); + } + return handler(); + } +} + +export default ApplicationWizardApplicationDetails; diff --git a/web/src/admin/applications/wizard/methods/ldap/LDAPOptionsAndHelp.ts b/web/src/admin/applications/wizard/methods/ldap/LDAPOptionsAndHelp.ts new file mode 100644 index 000000000000..5b2f1f4830c2 --- /dev/null +++ b/web/src/admin/applications/wizard/methods/ldap/LDAPOptionsAndHelp.ts @@ -0,0 +1,64 @@ +import { msg } from "@lit/localize"; +import { html } from "lit"; + +import { LDAPAPIAccessMode } from "@goauthentik/api"; + +export const bindModeOptions = [ + { + label: msg("Cached binding"), + value: LDAPAPIAccessMode.Cached, + default: true, + description: html`${msg( + "Flow is executed and session is cached in memory. Flow is executed when session expires", + )}`, + }, + { + label: msg("Direct binding"), + value: LDAPAPIAccessMode.Direct, + description: html`${msg( + "Always execute the configured bind flow to authenticate the user", + )}`, + }, +]; + +export const searchModeOptions = [ + { + label: msg("Cached querying"), + value: LDAPAPIAccessMode.Cached, + default: true, + description: html`${msg( + "The outpost holds all users and groups in-memory and will refresh every 5 Minutes", + )}`, + }, + { + label: msg("Direct querying"), + value: LDAPAPIAccessMode.Direct, + description: html`${msg( + "Always returns the latest data, but slower than cached querying", + )}`, + }, +]; + +export const mfaSupportHelp = msg( + "When enabled, code-based multi-factor authentication can be used by appending a semicolon and the TOTP code to the password. This should only be enabled if all users that will bind to this provider have a TOTP device configured, as otherwise a password may incorrectly be rejected if it contains a semicolon.", +); + +export const groupHelp = msg( + "The start for gidNumbers, this number is added to a number generated from the group.Pk to make sure that the numbers aren't too low for POSIX groups. Default is 4000 to ensure that we don't collide with local groups or users primary groups gidNumber", +); + +export const cryptoCertificateHelp = msg( + "The certificate for the above configured Base DN. As a fallback, the provider uses a self-signed certificate.", +); + +export const tlsServerNameHelp = msg( + "DNS name for which the above configured certificate should be used. The certificate cannot be detected based on the base DN, as the SSL/TLS negotiation happens before such data is exchanged.", +); + +export const uidStartNumberHelp = msg( + "The start for uidNumbers, this number is added to the user.Pk to make sure that the numbers aren't too low for POSIX users. Default is 2000 to ensure that we don't collide with local users uidNumber", +); + +export const gidStartNumberHelp = msg( + "The start for gidNumbers, this number is added to a number generated from the group.Pk to make sure that the numbers aren't too low for POSIX groups. Default is 4000 to ensure that we don't collide with local groups or users primary groups gidNumber", +); diff --git a/web/src/admin/applications/wizard/methods/ldap/ak-application-wizard-authentication-by-ldap.ts b/web/src/admin/applications/wizard/methods/ldap/ak-application-wizard-authentication-by-ldap.ts new file mode 100644 index 000000000000..2349af45b520 --- /dev/null +++ b/web/src/admin/applications/wizard/methods/ldap/ak-application-wizard-authentication-by-ldap.ts @@ -0,0 +1,146 @@ +import "@goauthentik/admin/common/ak-core-group-search"; +import "@goauthentik/admin/common/ak-crypto-certificate-search"; +import "@goauthentik/admin/common/ak-flow-search/ak-tenanted-flow-search"; +import { first } from "@goauthentik/common/utils"; +import "@goauthentik/components/ak-number-input"; +import "@goauthentik/components/ak-radio-input"; +import "@goauthentik/components/ak-switch-input"; +import "@goauthentik/components/ak-text-input"; +import { rootInterface } from "@goauthentik/elements/Base"; +import "@goauthentik/elements/forms/FormGroup"; +import "@goauthentik/elements/forms/HorizontalFormElement"; + +import { msg } from "@lit/localize"; +import { customElement } from "@lit/reactive-element/decorators/custom-element.js"; +import { html, nothing } from "lit"; +import { ifDefined } from "lit/directives/if-defined.js"; + +import { FlowsInstancesListDesignationEnum } from "@goauthentik/api"; +import type { LDAPProvider } from "@goauthentik/api"; + +import BaseProviderPanel from "../BaseProviderPanel"; +import { + bindModeOptions, + cryptoCertificateHelp, + gidStartNumberHelp, + groupHelp, + mfaSupportHelp, + searchModeOptions, + tlsServerNameHelp, + uidStartNumberHelp, +} from "./LDAPOptionsAndHelp"; + +@customElement("ak-application-wizard-authentication-by-ldap") +export class ApplicationWizardApplicationDetails extends BaseProviderPanel { + render() { + const provider = this.wizard.provider as LDAPProvider | undefined; + + return html`
    + + + + +

    ${msg("Flow used for users to authenticate.")}

    +
    + + + +

    ${groupHelp}

    +
    + + + + + + + + + + + + ${msg("Protocol settings")} +
    + + + + + + +

    ${cryptoCertificateHelp}

    +
    + + + + + + +
    +
    +
    `; + } +} + +export default ApplicationWizardApplicationDetails; diff --git a/web/src/admin/applications/wizard/methods/oauth/ak-application-wizard-authentication-by-oauth.ts b/web/src/admin/applications/wizard/methods/oauth/ak-application-wizard-authentication-by-oauth.ts new file mode 100644 index 000000000000..cf6ceb9de93c --- /dev/null +++ b/web/src/admin/applications/wizard/methods/oauth/ak-application-wizard-authentication-by-oauth.ts @@ -0,0 +1,301 @@ +import "@goauthentik/admin/common/ak-crypto-certificate-search"; +import "@goauthentik/admin/common/ak-flow-search/ak-tenanted-flow-search"; +import { + clientTypeOptions, + issuerModeOptions, + redirectUriHelp, + subjectModeOptions, +} from "@goauthentik/admin/providers/oauth2/OAuth2ProviderForm"; +import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; +import { ascii_letters, digits, first, randomString } from "@goauthentik/common/utils"; +import "@goauthentik/components/ak-number-input"; +import "@goauthentik/components/ak-radio-input"; +import "@goauthentik/components/ak-switch-input"; +import "@goauthentik/components/ak-text-input"; +import "@goauthentik/components/ak-textarea-input"; +import "@goauthentik/elements/forms/FormGroup"; +import "@goauthentik/elements/forms/HorizontalFormElement"; + +import { msg } from "@lit/localize"; +import { customElement, state } from "@lit/reactive-element/decorators.js"; +import { html, nothing } from "lit"; +import { ifDefined } from "lit/directives/if-defined.js"; + +import { + ClientTypeEnum, + FlowsInstancesListDesignationEnum, + PropertymappingsApi, + SourcesApi, +} from "@goauthentik/api"; +import type { + OAuth2Provider, + PaginatedOAuthSourceList, + PaginatedScopeMappingList, +} from "@goauthentik/api"; + +import BaseProviderPanel from "../BaseProviderPanel"; + +@customElement("ak-application-wizard-authentication-by-oauth") +export class ApplicationWizardAuthenticationByOauth extends BaseProviderPanel { + @state() + showClientSecret = false; + + @state() + propertyMappings?: PaginatedScopeMappingList; + + @state() + oauthSources?: PaginatedOAuthSourceList; + + constructor() { + super(); + new PropertymappingsApi(DEFAULT_CONFIG) + .propertymappingsScopeList({ + ordering: "scope_name", + }) + .then((propertyMappings: PaginatedScopeMappingList) => { + this.propertyMappings = propertyMappings; + }); + + new SourcesApi(DEFAULT_CONFIG) + .sourcesOauthList({ + ordering: "name", + hasJwks: true, + }) + .then((oauthSources: PaginatedOAuthSourceList) => { + this.oauthSources = oauthSources; + }); + } + + render() { + const provider = this.wizard.provider as OAuth2Provider | undefined; + + return html`
    + + + + +

    + ${msg("Flow used when a user access this provider and is not authenticated.")} +

    +
    + + + +

    + ${msg("Flow used when authorizing this provider.")} +

    +
    + + + ${msg("Protocol settings")} +
    + ) => { + this.showClientSecret = ev.detail !== ClientTypeEnum.Public; + }} + .options=${clientTypeOptions} + > + + + + + + + + + + + + + + +

    ${msg("Key used to sign the tokens.")}

    +
    +
    +
    + + + ${msg("Advanced protocol settings")} +
    + + ${msg("Configure how long access codes are valid for.")} +

    + `} + > +
    + + + ${msg("Configure how long access tokens are valid for.")} +

    + `} + > +
    + + + ${msg("Configure how long refresh tokens are valid for.")} +

    + `} + > +
    + + + +

    + ${msg( + "Select which scopes can be used by the client. The client still has to specify the scope to access the data.", + )} +

    +

    + ${msg("Hold control/command to select multiple items.")} +

    +
    + + + + + label=${msg("Include claims in id_token")} + ?checked=${first(provider?.includeClaimsInIdToken, true)} + help=${msg( + "Include User claims from scopes in the id_token, for applications that don't access the userinfo endpoint.", + )}> + + +
    +
    + + + ${msg("Machine-to-Machine authentication settings")} +
    + + +

    + ${msg( + "JWTs signed by certificates configured in the selected sources can be used to authenticate to this provider.", + )} +

    +

    + ${msg("Hold control/command to select multiple items.")} +

    +
    +
    +
    +
    `; + } +} + +export default ApplicationWizardAuthenticationByOauth; diff --git a/web/src/admin/applications/wizard/methods/proxy/AuthenticationByProxyPage.ts b/web/src/admin/applications/wizard/methods/proxy/AuthenticationByProxyPage.ts new file mode 100644 index 000000000000..4b32fe2d7b1e --- /dev/null +++ b/web/src/admin/applications/wizard/methods/proxy/AuthenticationByProxyPage.ts @@ -0,0 +1,255 @@ +import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; +import { first } from "@goauthentik/common/utils"; +import "@goauthentik/components/ak-switch-input"; +import "@goauthentik/components/ak-text-input"; +import "@goauthentik/components/ak-textarea-input"; +import "@goauthentik/components/ak-toggle-group"; +import "@goauthentik/elements/forms/HorizontalFormElement"; + +import { msg } from "@lit/localize"; +import { state } from "@lit/reactive-element/decorators.js"; +import { TemplateResult, html, nothing } from "lit"; +import { ifDefined } from "lit/directives/if-defined.js"; + +import { + FlowsInstancesListDesignationEnum, + PaginatedOAuthSourceList, + PaginatedScopeMappingList, + PropertymappingsApi, + ProxyMode, + ProxyProvider, + SourcesApi, +} from "@goauthentik/api"; + +import BaseProviderPanel from "../BaseProviderPanel"; + +type MaybeTemplateResult = TemplateResult | typeof nothing; + +export class AkTypeProxyApplicationWizardPage extends BaseProviderPanel { + constructor() { + super(); + new PropertymappingsApi(DEFAULT_CONFIG) + .propertymappingsScopeList({ ordering: "scope_name" }) + .then((propertyMappings: PaginatedScopeMappingList) => { + this.propertyMappings = propertyMappings; + }); + + new SourcesApi(DEFAULT_CONFIG) + .sourcesOauthList({ + ordering: "name", + hasJwks: true, + }) + .then((oauthSources: PaginatedOAuthSourceList) => { + this.oauthSources = oauthSources; + }); + } + + propertyMappings?: PaginatedScopeMappingList; + oauthSources?: PaginatedOAuthSourceList; + + @state() + showHttpBasic = true; + + @state() + mode: ProxyMode = ProxyMode.Proxy; + + get instance(): ProxyProvider | undefined { + return this.wizard.provider as ProxyProvider; + } + + renderModeDescription(): MaybeTemplateResult { + return nothing; + } + + renderProxyMode() { + return html`

    This space intentionally left blank

    `; + } + + renderHttpBasic(): TemplateResult { + return html` + + + + `; + } + + render() { + return html`
    + ${this.renderModeDescription()} + + + + +

    + ${msg("Flow used when a user access this provider and is not authenticated.")} +

    +
    + + + +

    + ${msg("Flow used when authorizing this provider.")} +

    +
    + + ${this.renderProxyMode()} + + + + + ${msg("Advanced protocol settings")} +
    + + + + + + +

    + ${msg("Additional scope mappings, which are passed to the proxy.")} +

    +

    + ${msg("Hold control/command to select multiple items.")} +

    +
    + + + ${msg( + "Regular expressions for which authentication is not required. Each new line is interpreted as a new expression.", + )} +

    +

    + ${msg( + "When using proxy or forward auth (single application) mode, the requested URL Path is checked against the regular expressions. When using forward auth (domain mode), the full requested URL including scheme and host is matched against the regular expressions.", + )} +

    `} + > +
    +
    +
    + + ${msg("Authentication settings")} +
    + + + { + const el = ev.target as HTMLInputElement; + this.showHttpBasic = el.checked; + }} + label=${msg("Send HTTP-Basic Authentication")} + help=${msg( + "Send a custom HTTP-Basic Authentication header based on values from authentik.", + )} + > + + ${this.showHttpBasic ? this.renderHttpBasic() : html``} + + + +

    + ${msg( + "JWTs signed by certificates configured in the selected sources can be used to authenticate to this provider.", + )} +

    +

    + ${msg("Hold control/command to select multiple items.")} +

    +
    +
    +
    +
    `; + } +} + +export default AkTypeProxyApplicationWizardPage; diff --git a/web/src/admin/applications/wizard/methods/proxy/ak-application-wizard-authentication-for-forward-domain-proxy.ts b/web/src/admin/applications/wizard/methods/proxy/ak-application-wizard-authentication-for-forward-domain-proxy.ts new file mode 100644 index 000000000000..e794cd7d4689 --- /dev/null +++ b/web/src/admin/applications/wizard/methods/proxy/ak-application-wizard-authentication-for-forward-domain-proxy.ts @@ -0,0 +1,55 @@ +import "@goauthentik/components/ak-text-input"; + +import { msg } from "@lit/localize"; +import { customElement } from "@lit/reactive-element/decorators.js"; +import { html } from "lit"; +import { ifDefined } from "lit/directives/if-defined.js"; + +import AkTypeProxyApplicationWizardPage from "./AuthenticationByProxyPage"; + +@customElement("ak-application-wizard-authentication-for-forward-proxy-domain") +export class AkForwardDomainProxyApplicationWizardPage extends AkTypeProxyApplicationWizardPage { + renderModeDescription() { + return html`

    + ${msg( + "Use this provider with nginx's auth_request or traefik's forwardAuth. Only a single provider is required per root domain. You can't do per-application authorization, but you don't have to create a provider for each application.", + )} +

    +
    + ${msg("An example setup can look like this:")} +
      +
    • ${msg("authentik running on auth.example.com")}
    • +
    • ${msg("app1 running on app1.example.com")}
    • +
    + ${msg( + "In this case, you'd set the Authentication URL to auth.example.com and Cookie domain to example.com.", + )} +
    `; + } + + renderProxyMode() { + return html` + + + + `; + } +} + +export default AkForwardDomainProxyApplicationWizardPage; diff --git a/web/src/admin/applications/wizard/methods/proxy/ak-application-wizard-authentication-for-reverse-proxy.ts b/web/src/admin/applications/wizard/methods/proxy/ak-application-wizard-authentication-for-reverse-proxy.ts new file mode 100644 index 000000000000..b82d1e5380c9 --- /dev/null +++ b/web/src/admin/applications/wizard/methods/proxy/ak-application-wizard-authentication-for-reverse-proxy.ts @@ -0,0 +1,49 @@ +import { first } from "@goauthentik/common/utils"; +import "@goauthentik/components/ak-switch-input"; +import "@goauthentik/components/ak-text-input"; + +import { msg } from "@lit/localize"; +import { customElement } from "@lit/reactive-element/decorators.js"; +import { html } from "lit"; +import { ifDefined } from "lit/directives/if-defined.js"; + +import AkTypeProxyApplicationWizardPage from "./AuthenticationByProxyPage"; + +@customElement("ak-application-wizard-authentication-for-reverse-proxy") +export class AkReverseProxyApplicationWizardPage extends AkTypeProxyApplicationWizardPage { + renderModeDescription() { + return html`

    + ${msg( + "This provider will behave like a transparent reverse-proxy, except requests must be authenticated. If your upstream application uses HTTPS, make sure to connect to the outpost using HTTPS as well.", + )} +

    `; + } + + renderProxyMode() { + return html` + + + `; + } +} + +export default AkReverseProxyApplicationWizardPage; diff --git a/web/src/admin/applications/wizard/methods/proxy/ak-application-wizard-authentication-for-single-forward-proxy.ts b/web/src/admin/applications/wizard/methods/proxy/ak-application-wizard-authentication-for-single-forward-proxy.ts new file mode 100644 index 000000000000..0840c698f9dc --- /dev/null +++ b/web/src/admin/applications/wizard/methods/proxy/ak-application-wizard-authentication-for-single-forward-proxy.ts @@ -0,0 +1,36 @@ +import "@goauthentik/components/ak-text-input"; + +import { msg } from "@lit/localize"; +import { customElement } from "@lit/reactive-element/decorators.js"; +import { html } from "lit"; +import { ifDefined } from "lit/directives/if-defined.js"; + +import AkTypeProxyApplicationWizardPage from "./AuthenticationByProxyPage"; + +@customElement("ak-application-wizard-authentication-for-single-forward-proxy") +export class AkForwardSingleProxyApplicationWizardPage extends AkTypeProxyApplicationWizardPage { + renderModeDescription() { + return html`

    + ${msg( + html`Use this provider with nginx's auth_request or traefik's + forwardAuth. Each application/domain needs its own provider. + Additionally, on each domain, /outpost.goauthentik.io must be + routed to the outpost (when using a managed outpost, this is done for you).`, + )} +

    `; + } + + renderProxyMode() { + return html``; + } +} + +export default AkForwardSingleProxyApplicationWizardPage; diff --git a/web/src/admin/applications/wizard/methods/radius/ak-application-wizard-authentication-by-radius.ts b/web/src/admin/applications/wizard/methods/radius/ak-application-wizard-authentication-by-radius.ts new file mode 100644 index 000000000000..d107eab0f880 --- /dev/null +++ b/web/src/admin/applications/wizard/methods/radius/ak-application-wizard-authentication-by-radius.ts @@ -0,0 +1,73 @@ +import "@goauthentik/admin/common/ak-crypto-certificate-search"; +import "@goauthentik/admin/common/ak-flow-search/ak-tenanted-flow-search"; +import { ascii_letters, digits, first, randomString } from "@goauthentik/common/utils"; +import "@goauthentik/components/ak-text-input"; +import { rootInterface } from "@goauthentik/elements/Base"; +import "@goauthentik/elements/forms/FormGroup"; +import "@goauthentik/elements/forms/HorizontalFormElement"; + +import { msg } from "@lit/localize"; +import { customElement } from "@lit/reactive-element/decorators.js"; +import { html } from "lit"; +import { ifDefined } from "lit/directives/if-defined.js"; + +import { FlowsInstancesListDesignationEnum, RadiusProvider } from "@goauthentik/api"; + +import BaseProviderPanel from "../BaseProviderPanel"; + +@customElement("ak-application-wizard-authentication-by-radius") +export class ApplicationWizardAuthenticationByRadius extends BaseProviderPanel { + render() { + const provider = this.wizard.provider as RadiusProvider | undefined; + + return html`
    + + + + + +

    ${msg("Flow used for users to authenticate.")}

    +
    + + + ${msg("Protocol settings")} +
    + + +
    +
    +
    `; + } +} + +export default ApplicationWizardAuthenticationByRadius; diff --git a/web/src/admin/applications/wizard/methods/saml/SamlProviderOptions.ts b/web/src/admin/applications/wizard/methods/saml/SamlProviderOptions.ts new file mode 100644 index 000000000000..a1b6d44a2717 --- /dev/null +++ b/web/src/admin/applications/wizard/methods/saml/SamlProviderOptions.ts @@ -0,0 +1,33 @@ +import { msg } from "@lit/localize"; + +import { DigestAlgorithmEnum, SignatureAlgorithmEnum, SpBindingEnum } from "@goauthentik/api"; + +type Option = [string, T, boolean?]; + +function toOptions(options: Option[]) { + return options.map(([label, value, isDefault]: Option) => ({ + label, + value, + default: isDefault ?? false, + })); +} + +export const spBindingOptions = toOptions([ + [msg("Redirect"), SpBindingEnum.Redirect, true], + [msg("Post"), SpBindingEnum.Post], +]); + +export const digestAlgorithmOptions = toOptions([ + ["SHA1", DigestAlgorithmEnum._200009Xmldsigsha1], + ["SHA256", DigestAlgorithmEnum._200104Xmlencsha256, true], + ["SHA384", DigestAlgorithmEnum._200104XmldsigMoresha384], + ["SHA512", DigestAlgorithmEnum._200104Xmlencsha512], +]); + +export const signatureAlgorithmOptions = toOptions([ + ["RSA-SHA1", SignatureAlgorithmEnum._200009XmldsigrsaSha1], + ["RSA-SHA256", SignatureAlgorithmEnum._200104XmldsigMorersaSha256, true], + ["RSA-SHA384", SignatureAlgorithmEnum._200104XmldsigMorersaSha384], + ["RSA-SHA512", SignatureAlgorithmEnum._200104XmldsigMorersaSha512], + ["DSA-SHA1", SignatureAlgorithmEnum._200009XmldsigdsaSha1], +]); diff --git a/web/src/admin/applications/wizard/methods/saml/ak-application-wizard-authentication-by-saml-configuration.ts b/web/src/admin/applications/wizard/methods/saml/ak-application-wizard-authentication-by-saml-configuration.ts new file mode 100644 index 000000000000..f25c995ef152 --- /dev/null +++ b/web/src/admin/applications/wizard/methods/saml/ak-application-wizard-authentication-by-saml-configuration.ts @@ -0,0 +1,250 @@ +import "@goauthentik/admin/common/ak-core-group-search"; +import "@goauthentik/admin/common/ak-crypto-certificate-search"; +import "@goauthentik/admin/common/ak-flow-search/ak-tenanted-flow-search"; +import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; +import "@goauthentik/components/ak-number-input"; +import "@goauthentik/components/ak-radio-input"; +import "@goauthentik/components/ak-switch-input"; +import "@goauthentik/components/ak-text-input"; +import "@goauthentik/elements/forms/FormGroup"; +import "@goauthentik/elements/forms/HorizontalFormElement"; + +import { msg } from "@lit/localize"; +import { customElement } from "@lit/reactive-element/decorators/custom-element.js"; +import { html } from "lit"; +import { ifDefined } from "lit/directives/if-defined.js"; + +import { + FlowsInstancesListDesignationEnum, + PaginatedSAMLPropertyMappingList, + PropertymappingsApi, + SAMLProvider, +} from "@goauthentik/api"; + +import BaseProviderPanel from "../BaseProviderPanel"; +import { + digestAlgorithmOptions, + signatureAlgorithmOptions, + spBindingOptions, +} from "./SamlProviderOptions"; + +@customElement("ak-application-wizard-authentication-by-saml-configuration") +export class ApplicationWizardProviderSamlConfiguration extends BaseProviderPanel { + propertyMappings?: PaginatedSAMLPropertyMappingList; + + constructor() { + super(); + new PropertymappingsApi(DEFAULT_CONFIG) + .propertymappingsSamlList({ + ordering: "saml_name", + }) + .then((propertyMappings: PaginatedSAMLPropertyMappingList) => { + this.propertyMappings = propertyMappings; + }); + } + + render() { + const provider = this.wizard.provider as SAMLProvider | undefined; + + return html`
    + + + + +

    + ${msg("Flow used when a user access this provider and is not authenticated.")} +

    +
    + + + +

    + ${msg("Flow used when authorizing this provider.")} +

    +
    + + + ${msg("Protocol settings")} +
    + + + + + + + + +
    +
    + + + ${msg("Advanced protocol settings")} +
    + + +

    + ${msg( + "Certificate used to sign outgoing Responses going to the Service Provider.", + )} +

    +
    + + + +

    + ${msg( + "When selected, incoming assertion's Signatures will be validated against this certificate. To allow unsigned Requests, leave on default.", + )} +

    +
    + + + +

    + ${msg("Hold control/command to select multiple items.")} +

    +
    + + + +

    + ${msg( + "Configure how the NameID value will be created. When left empty, the NameIDPolicy of the incoming request will be respected.", + )} +

    +
    + + + + + + + + + + + + +
    +
    +
    `; + } +} + +export default ApplicationWizardProviderSamlConfiguration; diff --git a/web/src/admin/applications/wizard/methods/saml/ak-application-wizard-authentication-by-saml-import.ts b/web/src/admin/applications/wizard/methods/saml/ak-application-wizard-authentication-by-saml-import.ts new file mode 100644 index 000000000000..924aead76a1e --- /dev/null +++ b/web/src/admin/applications/wizard/methods/saml/ak-application-wizard-authentication-by-saml-import.ts @@ -0,0 +1,81 @@ +import "@goauthentik/admin/common/ak-flow-search/ak-flow-search-no-default"; +import "@goauthentik/components/ak-file-input"; +import { AkFileInput } from "@goauthentik/components/ak-file-input"; +import "@goauthentik/components/ak-text-input"; +import "@goauthentik/elements/forms/HorizontalFormElement"; + +import { msg } from "@lit/localize"; +import { customElement } from "@lit/reactive-element/decorators/custom-element.js"; +import { html } from "lit"; +import { query } from "lit/decorators.js"; +import { ifDefined } from "lit/directives/if-defined.js"; + +import { + FlowsInstancesListDesignationEnum, + ProvidersSamlImportMetadataCreateRequest, +} from "@goauthentik/api"; + +import BaseProviderPanel from "../BaseProviderPanel"; + +@customElement("ak-application-wizard-authentication-by-saml-import") +export class ApplicationWizardProviderSamlImport extends BaseProviderPanel { + @query('ak-file-input[name="metadata"]') + fileInput!: AkFileInput; + + handleChange(ev: InputEvent) { + if (!ev.target) { + console.warn(`Received event with no target: ${ev}`); + return; + } + const target = ev.target as HTMLInputElement; + if (target.type === "file") { + const file = this.fileInput.files?.[0] ?? null; + if (file) { + this.dispatchWizardUpdate({ + update: { + provider: { + file, + }, + }, + status: this.form.checkValidity() ? "valid" : "invalid", + }); + } + return; + } + super.handleChange(ev); + } + + render() { + const provider = this.wizard.provider as + | ProvidersSamlImportMetadataCreateRequest + | undefined; + + return html`
    + + + + +

    + ${msg("Flow used when authorizing this provider.")} +

    +
    + + +
    `; + } +} + +export default ApplicationWizardProviderSamlImport; diff --git a/web/src/admin/applications/wizard/methods/saml/saml-property-mappings-search.ts b/web/src/admin/applications/wizard/methods/saml/saml-property-mappings-search.ts new file mode 100644 index 000000000000..27b1d53abc65 --- /dev/null +++ b/web/src/admin/applications/wizard/methods/saml/saml-property-mappings-search.ts @@ -0,0 +1,112 @@ +import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; +import { AKElement } from "@goauthentik/elements/Base"; +import { SearchSelect } from "@goauthentik/elements/forms/SearchSelect"; +import { CustomListenerElement } from "@goauthentik/elements/utils/eventEmitter"; + +import { html } from "lit"; +import { customElement } from "lit/decorators.js"; +import { property, query } from "lit/decorators.js"; + +import { + PropertymappingsApi, + PropertymappingsSamlListRequest, + SAMLPropertyMapping, +} from "@goauthentik/api"; + +async function fetchObjects(query?: string): Promise { + const args: PropertymappingsSamlListRequest = { + ordering: "saml_name", + }; + if (query !== undefined) { + args.search = query; + } + const items = await new PropertymappingsApi(DEFAULT_CONFIG).propertymappingsSamlList(args); + return items.results; +} + +function renderElement(item: SAMLPropertyMapping): string { + return item.name; +} + +function renderValue(item: SAMLPropertyMapping | undefined): string | undefined { + return item?.pk; +} + +/** + * SAML Property Mapping Search + * + * @element ak-saml-property-mapping-search + * + * A wrapper around SearchSelect for the SAML Property Search. It's a unique search, but for the + * purpose of the form all you need to know is that it is being searched and selected. Let's put the + * how somewhere else. + * + */ + +@customElement("ak-saml-property-mapping-search") +export class SAMLPropertyMappingSearch extends CustomListenerElement(AKElement) { + /** + * The current property mapping known to the caller. + * + * @attr + */ + @property({ type: String, reflect: true, attribute: "propertymapping" }) + propertyMapping?: string; + + @query("ak-search-select") + search!: SearchSelect; + + @property({ type: String }) + name: string | null | undefined; + + selectedPropertyMapping?: SAMLPropertyMapping; + + constructor() { + super(); + this.selected = this.selected.bind(this); + this.handleSearchUpdate = this.handleSearchUpdate.bind(this); + this.addCustomListener("ak-change", this.handleSearchUpdate); + } + + get value() { + return this.selectedPropertyMapping ? renderValue(this.selectedPropertyMapping) : undefined; + } + + connectedCallback() { + super.connectedCallback(); + const horizontalContainer = this.closest("ak-form-element-horizontal[name]"); + if (!horizontalContainer) { + throw new Error("This search can only be used in a named ak-form-element-horizontal"); + } + const name = horizontalContainer.getAttribute("name"); + const myName = this.getAttribute("name"); + if (name !== null && name !== myName) { + this.setAttribute("name", name); + } + } + + handleSearchUpdate(ev: CustomEvent) { + ev.stopPropagation(); + this.selectedPropertyMapping = ev.detail.value; + this.dispatchEvent(new InputEvent("input", { bubbles: true, composed: true })); + } + + selected(item: SAMLPropertyMapping): boolean { + return this.propertyMapping === item.pk; + } + + render() { + return html` + + + `; + } +} + +export default SAMLPropertyMappingSearch; diff --git a/web/src/admin/applications/wizard/methods/scim/ak-application-wizard-authentication-by-scim.ts b/web/src/admin/applications/wizard/methods/scim/ak-application-wizard-authentication-by-scim.ts new file mode 100644 index 000000000000..493c740d1fec --- /dev/null +++ b/web/src/admin/applications/wizard/methods/scim/ak-application-wizard-authentication-by-scim.ts @@ -0,0 +1,189 @@ +import "@goauthentik/admin/common/ak-crypto-certificate-search"; +import "@goauthentik/admin/common/ak-flow-search/ak-tenanted-flow-search"; +import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; +import { first } from "@goauthentik/common/utils"; +import "@goauthentik/components/ak-switch-input"; +import "@goauthentik/components/ak-text-input"; +import "@goauthentik/elements/forms/FormGroup"; +import "@goauthentik/elements/forms/HorizontalFormElement"; + +import { msg } from "@lit/localize"; +import { customElement, state } from "@lit/reactive-element/decorators.js"; +import { html } from "lit"; +import { ifDefined } from "lit/directives/if-defined.js"; + +import { + CoreApi, + CoreGroupsListRequest, + type Group, + PaginatedSCIMMappingList, + PropertymappingsApi, + type SCIMProvider, +} from "@goauthentik/api"; + +import BaseProviderPanel from "../BaseProviderPanel"; + +@customElement("ak-application-wizard-authentication-by-scim") +export class ApplicationWizardAuthenticationBySCIM extends BaseProviderPanel { + @state() + propertyMappings?: PaginatedSCIMMappingList; + + constructor() { + super(); + new PropertymappingsApi(DEFAULT_CONFIG) + .propertymappingsScopeList({ + ordering: "scope_name", + }) + .then((propertyMappings: PaginatedSCIMMappingList) => { + this.propertyMappings = propertyMappings; + }); + } + + render() { + const provider = this.wizard.provider as SCIMProvider | undefined; + + return html`
    + + + ${msg("Protocol settings")} +
    + + + + +
    +
    + + ${msg("User filtering")} +
    + + + => { + const args: CoreGroupsListRequest = { + ordering: "name", + }; + if (query !== undefined) { + args.search = query; + } + const groups = await new CoreApi(DEFAULT_CONFIG).coreGroupsList( + args, + ); + return groups.results; + }} + .renderElement=${(group: Group): string => { + return group.name; + }} + .value=${(group: Group | undefined): string | undefined => { + return group ? group.pk : undefined; + }} + .selected=${(group: Group): boolean => { + return group.pk === provider?.filterGroup; + }} + ?blankable=${true} + > + +

    + ${msg("Only sync users within the selected group.")} +

    +
    +
    +
    + + ${msg("Attribute mapping")} +
    + + +

    + ${msg("Property mappings used to user mapping.")} +

    +

    + ${msg("Hold control/command to select multiple items.")} +

    +
    + + +

    + ${msg("Property mappings used to group creation.")} +

    +

    + ${msg("Hold control/command to select multiple items.")} +

    +
    +
    +
    +
    `; + } +} + +export default ApplicationWizardAuthenticationBySCIM; diff --git a/web/src/admin/applications/wizard/oauth/TypeOAuthAPIApplicationWizardPage.ts b/web/src/admin/applications/wizard/oauth/TypeOAuthAPIApplicationWizardPage.ts deleted file mode 100644 index a2e08c2aafd1..000000000000 --- a/web/src/admin/applications/wizard/oauth/TypeOAuthAPIApplicationWizardPage.ts +++ /dev/null @@ -1,35 +0,0 @@ -import "@goauthentik/elements/forms/HorizontalFormElement"; -import { WizardPage } from "@goauthentik/elements/wizard/WizardPage"; - -import { msg } from "@lit/localize"; -import { customElement } from "@lit/reactive-element/decorators/custom-element.js"; -import { CSSResult, TemplateResult, html } from "lit"; - -import PFButton from "@patternfly/patternfly/components/Button/button.css"; -import PFForm from "@patternfly/patternfly/components/Form/form.css"; -import PFRadio from "@patternfly/patternfly/components/Radio/radio.css"; -import PFBase from "@patternfly/patternfly/patternfly-base.css"; - -@customElement("ak-application-wizard-type-oauth-api") -export class TypeOAuthAPIApplicationWizardPage extends WizardPage { - static get styles(): CSSResult[] { - return [PFBase, PFButton, PFForm, PFRadio]; - } - - sidebarLabel = () => msg("Method details"); - - render(): TemplateResult { - return html`
    -

    - ${msg( - "This configuration can be used to authenticate to authentik with other APIs other otherwise programmatically.", - )} -

    -

    - ${msg( - "By default, all service accounts can authenticate as this application, as long as they have a valid token of the type app-password.", - )} -

    -
    `; - } -} diff --git a/web/src/admin/applications/wizard/oauth/TypeOAuthApplicationWizardPage.ts b/web/src/admin/applications/wizard/oauth/TypeOAuthApplicationWizardPage.ts deleted file mode 100644 index bb19272e9a6e..000000000000 --- a/web/src/admin/applications/wizard/oauth/TypeOAuthApplicationWizardPage.ts +++ /dev/null @@ -1,84 +0,0 @@ -import "@goauthentik/elements/forms/HorizontalFormElement"; -import { WizardPage } from "@goauthentik/elements/wizard/WizardPage"; - -import { msg } from "@lit/localize"; -import { customElement } from "@lit/reactive-element/decorators/custom-element.js"; -import { CSSResult, TemplateResult, html } from "lit"; - -import PFButton from "@patternfly/patternfly/components/Button/button.css"; -import PFForm from "@patternfly/patternfly/components/Form/form.css"; -import PFRadio from "@patternfly/patternfly/components/Radio/radio.css"; -import PFBase from "@patternfly/patternfly/patternfly-base.css"; - -import { TypeCreate } from "@goauthentik/api"; - -@customElement("ak-application-wizard-type-oauth") -export class TypeOAuthApplicationWizardPage extends WizardPage { - applicationTypes: TypeCreate[] = [ - { - component: "ak-application-wizard-type-oauth-code", - name: msg("Web application"), - description: msg( - "Applications which handle the authentication server-side (for example, Python, Go, Rust, Java, PHP)", - ), - modelName: "", - }, - { - component: "ak-application-wizard-type-oauth-implicit", - name: msg("Single-page applications"), - description: msg( - "Single-page applications which handle authentication in the browser (for example, Javascript, Angular, React, Vue)", - ), - modelName: "", - }, - { - component: "ak-application-wizard-type-oauth-implicit", - name: msg("Native application"), - description: msg( - "Applications which redirect users to a non-web callback (for example, Android, iOS)", - ), - modelName: "", - }, - { - component: "ak-application-wizard-type-oauth-api", - name: msg("API"), - description: msg( - "Authentication without user interaction, or machine-to-machine authentication.", - ), - modelName: "", - }, - ]; - - static get styles(): CSSResult[] { - return [PFBase, PFButton, PFForm, PFRadio]; - } - - sidebarLabel = () => msg("Application type"); - - render(): TemplateResult { - return html`
    - ${this.applicationTypes.map((type) => { - return html`
    - { - this.host.steps = [ - "ak-application-wizard-initial", - "ak-application-wizard-type", - "ak-application-wizard-type-oauth", - type.component, - ]; - this.host.state["oauth-type"] = type.component; - this.host.isValid = true; - }} - /> - - ${type.description} -
    `; - })} -
    `; - } -} diff --git a/web/src/admin/applications/wizard/oauth/TypeOAuthCodeApplicationWizardPage.ts b/web/src/admin/applications/wizard/oauth/TypeOAuthCodeApplicationWizardPage.ts deleted file mode 100644 index 458def24bc5c..000000000000 --- a/web/src/admin/applications/wizard/oauth/TypeOAuthCodeApplicationWizardPage.ts +++ /dev/null @@ -1,57 +0,0 @@ -import "@goauthentik/admin/common/ak-flow-search/ak-flow-search-no-default"; -import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; -import { KeyUnknown } from "@goauthentik/elements/forms/Form"; -import "@goauthentik/elements/forms/HorizontalFormElement"; -import "@goauthentik/elements/forms/SearchSelect"; -import { WizardFormPage } from "@goauthentik/elements/wizard/WizardFormPage"; -import "@goauthentik/elements/wizard/WizardFormPage"; - -import { msg } from "@lit/localize"; -import { customElement } from "@lit/reactive-element/decorators/custom-element.js"; -import { TemplateResult, html } from "lit"; - -import { - ClientTypeEnum, - FlowsInstancesListDesignationEnum, - OAuth2ProviderRequest, - ProvidersApi, -} from "@goauthentik/api"; - -@customElement("ak-application-wizard-type-oauth-code") -export class TypeOAuthCodeApplicationWizardPage extends WizardFormPage { - sidebarLabel = () => msg("Method details"); - - nextDataCallback = async (data: KeyUnknown): Promise => { - this.host.addActionBefore(msg("Create provider"), async (): Promise => { - const req: OAuth2ProviderRequest = { - name: this.host.state["name"] as string, - clientType: ClientTypeEnum.Confidential, - authorizationFlow: data.authorizationFlow as string, - }; - const provider = await new ProvidersApi(DEFAULT_CONFIG).providersOauth2Create({ - oAuth2ProviderRequest: req, - }); - this.host.state["provider"] = provider; - return true; - }); - return true; - }; - - renderForm(): TemplateResult { - return html`
    - - -

    - ${msg("Flow used when users access this application.")} -

    -
    -
    `; - } -} diff --git a/web/src/admin/applications/wizard/oauth/TypeOAuthImplicitApplicationWizardPage.ts b/web/src/admin/applications/wizard/oauth/TypeOAuthImplicitApplicationWizardPage.ts deleted file mode 100644 index c1fa0f3cf6c8..000000000000 --- a/web/src/admin/applications/wizard/oauth/TypeOAuthImplicitApplicationWizardPage.ts +++ /dev/null @@ -1,15 +0,0 @@ -import "@goauthentik/elements/forms/HorizontalFormElement"; -import { WizardFormPage } from "@goauthentik/elements/wizard/WizardFormPage"; - -import { msg } from "@lit/localize"; -import { customElement } from "@lit/reactive-element/decorators/custom-element.js"; -import { TemplateResult, html } from "lit"; - -@customElement("ak-application-wizard-type-oauth-implicit") -export class TypeOAuthImplicitApplicationWizardPage extends WizardFormPage { - sidebarLabel = () => msg("Method details"); - - render(): TemplateResult { - return html`
    some stuff idk
    `; - } -} diff --git a/web/src/admin/applications/wizard/proxy/TypeProxyApplicationWizardPage.ts b/web/src/admin/applications/wizard/proxy/TypeProxyApplicationWizardPage.ts deleted file mode 100644 index 43db7c56cd33..000000000000 --- a/web/src/admin/applications/wizard/proxy/TypeProxyApplicationWizardPage.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; -import { KeyUnknown } from "@goauthentik/elements/forms/Form"; -import "@goauthentik/elements/forms/HorizontalFormElement"; -import { WizardFormPage } from "@goauthentik/elements/wizard/WizardFormPage"; - -import { msg } from "@lit/localize"; -import { customElement } from "@lit/reactive-element/decorators/custom-element.js"; -import { TemplateResult, html } from "lit"; - -import { - FlowDesignationEnum, - FlowsApi, - ProvidersApi, - ProxyProviderRequest, -} from "@goauthentik/api"; - -@customElement("ak-application-wizard-type-proxy") -export class TypeProxyApplicationWizardPage extends WizardFormPage { - sidebarLabel = () => msg("Proxy details"); - - nextDataCallback = async (data: KeyUnknown): Promise => { - let name = this.host.state["name"] as string; - // Check if a provider with the name already exists - const providers = await new ProvidersApi(DEFAULT_CONFIG).providersAllList({ - search: name, - }); - if (providers.results.filter((provider) => provider.name == name)) { - name += "-1"; - } - this.host.addActionBefore(msg("Create provider"), async (): Promise => { - // Get all flows and default to the implicit authorization - const flows = await new FlowsApi(DEFAULT_CONFIG).flowsInstancesList({ - designation: FlowDesignationEnum.Authorization, - ordering: "slug", - }); - const req: ProxyProviderRequest = { - name: name, - authorizationFlow: flows.results[0].pk, - externalHost: data.externalHost as string, - }; - const provider = await new ProvidersApi(DEFAULT_CONFIG).providersProxyCreate({ - proxyProviderRequest: req, - }); - this.host.state["provider"] = provider; - return true; - }); - return true; - }; - - renderForm(): TemplateResult { - return html`
    - - -

    - ${msg("External domain you will be accessing the domain from.")} -

    -
    -
    `; - } -} diff --git a/web/src/admin/applications/wizard/saml/TypeSAMLApplicationWizardPage.ts b/web/src/admin/applications/wizard/saml/TypeSAMLApplicationWizardPage.ts deleted file mode 100644 index 2ef4d69722d0..000000000000 --- a/web/src/admin/applications/wizard/saml/TypeSAMLApplicationWizardPage.ts +++ /dev/null @@ -1,66 +0,0 @@ -import "@goauthentik/elements/forms/HorizontalFormElement"; -import { WizardPage } from "@goauthentik/elements/wizard/WizardPage"; - -import { msg } from "@lit/localize"; -import { customElement } from "@lit/reactive-element/decorators/custom-element.js"; -import { CSSResult, TemplateResult, html } from "lit"; - -import PFButton from "@patternfly/patternfly/components/Button/button.css"; -import PFForm from "@patternfly/patternfly/components/Form/form.css"; -import PFRadio from "@patternfly/patternfly/components/Radio/radio.css"; -import PFBase from "@patternfly/patternfly/patternfly-base.css"; - -import { TypeCreate } from "@goauthentik/api"; - -@customElement("ak-application-wizard-type-saml") -export class TypeOAuthApplicationWizardPage extends WizardPage { - applicationTypes: TypeCreate[] = [ - { - component: "ak-application-wizard-type-saml-import", - name: msg("Import SAML Metadata"), - description: msg( - "Import the metadata document of the applicaation you want to configure.", - ), - modelName: "", - }, - { - component: "ak-application-wizard-type-saml-config", - name: msg("Manual configuration"), - description: msg("Manually configure SAML"), - modelName: "", - }, - ]; - - static get styles(): CSSResult[] { - return [PFBase, PFButton, PFForm, PFRadio]; - } - - sidebarLabel = () => msg("Application type"); - - render(): TemplateResult { - return html`
    - ${this.applicationTypes.map((type) => { - return html`
    - { - this.host.steps = [ - "ak-application-wizard-initial", - "ak-application-wizard-type", - "ak-application-wizard-type-saml", - type.component, - ]; - this.host.state["saml-type"] = type.component; - this.host.isValid = true; - }} - /> - - ${type.description} -
    `; - })} -
    `; - } -} diff --git a/web/src/admin/applications/wizard/saml/TypeSAMLConfigApplicationWizardPage.ts b/web/src/admin/applications/wizard/saml/TypeSAMLConfigApplicationWizardPage.ts deleted file mode 100644 index ad269ac633b3..000000000000 --- a/web/src/admin/applications/wizard/saml/TypeSAMLConfigApplicationWizardPage.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; -import { KeyUnknown } from "@goauthentik/elements/forms/Form"; -import "@goauthentik/elements/forms/HorizontalFormElement"; -import { WizardFormPage } from "@goauthentik/elements/wizard/WizardFormPage"; - -import { msg } from "@lit/localize"; -import { customElement } from "@lit/reactive-element/decorators/custom-element.js"; -import { TemplateResult, html } from "lit"; - -import { FlowDesignationEnum, FlowsApi, ProvidersApi, SAMLProviderRequest } from "@goauthentik/api"; - -@customElement("ak-application-wizard-type-saml-config") -export class TypeSAMLApplicationWizardPage extends WizardFormPage { - sidebarLabel = () => msg("SAML details"); - - nextDataCallback = async (data: KeyUnknown): Promise => { - let name = this.host.state["name"] as string; - // Check if a provider with the name already exists - const providers = await new ProvidersApi(DEFAULT_CONFIG).providersAllList({ - search: name, - }); - if (providers.results.filter((provider) => provider.name == name)) { - name += "-1"; - } - this.host.addActionBefore(msg("Create provider"), async (): Promise => { - // Get all flows and default to the implicit authorization - const flows = await new FlowsApi(DEFAULT_CONFIG).flowsInstancesList({ - designation: FlowDesignationEnum.Authorization, - ordering: "slug", - }); - const req: SAMLProviderRequest = { - name: name, - authorizationFlow: flows.results[0].pk, - acsUrl: data.acsUrl as string, - }; - const provider = await new ProvidersApi(DEFAULT_CONFIG).providersSamlCreate({ - sAMLProviderRequest: req, - }); - this.host.state["provider"] = provider; - return true; - }); - return true; - }; - - renderForm(): TemplateResult { - return html`
    - - -

    - ${msg( - "URL that authentik will redirect back to after successful authentication.", - )} -

    -
    -
    `; - } -} diff --git a/web/src/admin/applications/wizard/saml/TypeSAMLImportApplicationWizardPage.ts b/web/src/admin/applications/wizard/saml/TypeSAMLImportApplicationWizardPage.ts deleted file mode 100644 index c3ddfda79589..000000000000 --- a/web/src/admin/applications/wizard/saml/TypeSAMLImportApplicationWizardPage.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { DEFAULT_CONFIG } from "@goauthentik/common/api/config"; -import { KeyUnknown } from "@goauthentik/elements/forms/Form"; -import "@goauthentik/elements/forms/HorizontalFormElement"; -import { WizardFormPage } from "@goauthentik/elements/wizard/WizardFormPage"; - -import { msg } from "@lit/localize"; -import { customElement } from "@lit/reactive-element/decorators/custom-element.js"; -import { TemplateResult, html } from "lit"; - -import { - FlowDesignationEnum, - FlowsApi, - ProvidersApi, - ProvidersSamlImportMetadataCreateRequest, -} from "@goauthentik/api"; - -@customElement("ak-application-wizard-type-saml-import") -export class TypeSAMLImportApplicationWizardPage extends WizardFormPage { - sidebarLabel = () => msg("Import SAML metadata"); - - nextDataCallback = async (data: KeyUnknown): Promise => { - let name = this.host.state["name"] as string; - // Check if a provider with the name already exists - const providers = await new ProvidersApi(DEFAULT_CONFIG).providersAllList({ - search: name, - }); - if (providers.results.filter((provider) => provider.name == name)) { - name += "-1"; - } - this.host.addActionBefore(msg("Create provider"), async (): Promise => { - // Get all flows and default to the implicit authorization - const flows = await new FlowsApi(DEFAULT_CONFIG).flowsInstancesList({ - designation: FlowDesignationEnum.Authorization, - ordering: "slug", - }); - const req: ProvidersSamlImportMetadataCreateRequest = { - name: name, - authorizationFlow: flows.results[0].slug, - file: data["metadata"] as Blob, - }; - const provider = await new ProvidersApi( - DEFAULT_CONFIG, - ).providersSamlImportMetadataCreate(req); - this.host.state["provider"] = provider; - return true; - }); - return true; - }; - - renderForm(): TemplateResult { - return html`
    - - - -
    `; - } -} diff --git a/web/src/admin/applications/wizard/steps.ts b/web/src/admin/applications/wizard/steps.ts new file mode 100644 index 000000000000..451367bf8a12 --- /dev/null +++ b/web/src/admin/applications/wizard/steps.ts @@ -0,0 +1,82 @@ +import { + BackStep, + CancelWizard, + CloseWizard, + DisabledNextStep, + NextStep, + SubmitStep, +} from "@goauthentik/components/ak-wizard-main/commonWizardButtons"; + +import { html } from "lit"; + +import "./application/ak-application-wizard-application-details"; +import "./auth-method-choice/ak-application-wizard-authentication-method-choice"; +import "./commit/ak-application-wizard-commit-application"; +import "./methods/ak-application-wizard-authentication-method"; +import { ApplicationStep as ApplicationStepType } from "./types"; + +class ApplicationStep implements ApplicationStepType { + id = "application"; + label = "Application Details"; + disabled = false; + valid = false; + get buttons() { + return [this.valid ? NextStep : DisabledNextStep, CancelWizard]; + } + render() { + return html``; + } +} + +class ProviderMethodStep implements ApplicationStepType { + id = "provider-method"; + label = "Provider Type"; + disabled = false; + valid = false; + + get buttons() { + return [BackStep, this.valid ? NextStep : DisabledNextStep, CancelWizard]; + } + + render() { + // prettier-ignore + return html` `; + } +} + +class ProviderStepDetails implements ApplicationStepType { + id = "provider-details"; + label = "Provider Configuration"; + disabled = true; + valid = false; + get buttons() { + return [BackStep, this.valid ? SubmitStep : DisabledNextStep, CancelWizard]; + } + + render() { + return html``; + } +} + +class SubmitApplicationStep implements ApplicationStepType { + id = "submit"; + label = "Submit Application"; + disabled = true; + valid = false; + + get buttons() { + return this.valid ? [CloseWizard] : [BackStep, CancelWizard]; + } + + render() { + return html``; + } +} + +export const newSteps = (): ApplicationStep[] => [ + new ApplicationStep(), + new ProviderMethodStep(), + new ProviderStepDetails(), + new SubmitApplicationStep(), +]; diff --git a/web/src/admin/applications/wizard/stories/ak-application-context-display-for-test.ts b/web/src/admin/applications/wizard/stories/ak-application-context-display-for-test.ts new file mode 100644 index 000000000000..fa418199e71f --- /dev/null +++ b/web/src/admin/applications/wizard/stories/ak-application-context-display-for-test.ts @@ -0,0 +1,18 @@ +import { consume } from "@lit-labs/context"; +import { customElement } from "@lit/reactive-element/decorators/custom-element.js"; +import { state } from "@lit/reactive-element/decorators/state.js"; +import { LitElement, html } from "lit"; + +import applicationWizardContext from "../ContextIdentity"; +import type { ApplicationWizardState } from "../types"; + +@customElement("ak-application-context-display-for-test") +export class ApplicationContextDisplayForTest extends LitElement { + @consume({ context: applicationWizardContext, subscribe: true }) + @state() + private wizard!: ApplicationWizardState; + + render() { + return html`
    ${JSON.stringify(this.wizard, null, 2)}
    `; + } +} diff --git a/web/src/admin/applications/wizard/stories/ak-application-wizard-main.stories.ts b/web/src/admin/applications/wizard/stories/ak-application-wizard-main.stories.ts new file mode 100644 index 000000000000..d0e7d8aec1bb --- /dev/null +++ b/web/src/admin/applications/wizard/stories/ak-application-wizard-main.stories.ts @@ -0,0 +1,54 @@ +import { Meta } from "@storybook/web-components"; + +import { TemplateResult, html } from "lit"; + +import { ApplicationWizard } from "../ak-application-wizard"; +import "../ak-application-wizard"; +import { mockData } from "./mockData"; + +const metadata: Meta = { + title: "Elements / Application Wizard Implementation / Main", + component: "ak-application-wizard", + parameters: { + docs: { + description: { + component: "The first page of the application wizard", + }, + }, + mockData, + }, +}; + +const LIGHT = "pf-t-light"; +function injectTheme() { + setTimeout(() => { + if (!document.body.classList.contains(LIGHT)) { + document.body.classList.add(LIGHT); + } + }); +} + +export default metadata; + +const container = (testItem: TemplateResult) => { + injectTheme(); + return html`
    + + ${testItem} +
    `; +}; + +export const MainPage = () => { + return container(html` + +
    + + `); +}; diff --git a/web/src/admin/applications/wizard/stories/mockData.ts b/web/src/admin/applications/wizard/stories/mockData.ts new file mode 100644 index 000000000000..3bd5be0877a0 --- /dev/null +++ b/web/src/admin/applications/wizard/stories/mockData.ts @@ -0,0 +1,62 @@ +import { + dummyAuthenticationFlowsSearch, + dummyAuthorizationFlowsSearch, + dummyCoreGroupsSearch, + dummyCryptoCertsSearch, + dummyHasJwks, + dummyPropertyMappings, + dummyProviderTypesList, + dummySAMLProviderMappings, +} from "./samples"; + +export const mockData = [ + { + url: "/api/v3/providers/all/types/", + method: "GET", + status: 200, + response: dummyProviderTypesList, + }, + { + url: "/api/v3/core/groups/?ordering=name", + method: "GET", + status: 200, + response: dummyCoreGroupsSearch, + }, + + { + url: "/api/v3/crypto/certificatekeypairs/?has_key=true&include_details=false&ordering=name", + method: "GET", + status: 200, + response: dummyCryptoCertsSearch, + }, + { + url: "/api/v3/flows/instances/?designation=authentication&ordering=slug", + method: "GET", + status: 200, + response: dummyAuthenticationFlowsSearch, + }, + { + url: "/api/v3/flows/instances/?designation=authorization&ordering=slug", + method: "GET", + status: 200, + response: dummyAuthorizationFlowsSearch, + }, + { + url: "/api/v3/propertymappings/scope/?ordering=scope_name", + method: "GET", + status: 200, + response: dummyPropertyMappings, + }, + { + url: "/api/v3/sources/oauth/?has_jwks=true&ordering=name", + method: "GET", + status: 200, + response: dummyHasJwks, + }, + { + url: "/api/v3/propertymappings/saml/?ordering=saml_name", + method: "GET", + status: 200, + response: dummySAMLProviderMappings, + }, +]; diff --git a/web/src/admin/applications/wizard/stories/samples.ts b/web/src/admin/applications/wizard/stories/samples.ts new file mode 100644 index 000000000000..27b5867aaf0c --- /dev/null +++ b/web/src/admin/applications/wizard/stories/samples.ts @@ -0,0 +1,375 @@ +export const dummyCryptoCertsSearch = { + pagination: { + next: 0, + previous: 0, + count: 1, + current: 1, + total_pages: 1, + start_index: 1, + end_index: 1, + }, + results: [ + { + pk: "63efd1b8-6c39-4f65-8157-9a406cb37447", + name: "authentik Self-signed Certificate", + fingerprint_sha256: null, + fingerprint_sha1: null, + cert_expiry: null, + cert_subject: null, + private_key_available: true, + private_key_type: null, + certificate_download_url: + "/api/v3/crypto/certificatekeypairs/63efd1b8-6c39-4f65-8157-9a406cb37447/view_certificate/?download", + private_key_download_url: + "/api/v3/crypto/certificatekeypairs/63efd1b8-6c39-4f65-8157-9a406cb37447/view_private_key/?download", + managed: null, + }, + ], +}; + +export const dummyAuthenticationFlowsSearch = { + pagination: { + next: 0, + previous: 0, + count: 2, + current: 1, + total_pages: 1, + start_index: 1, + end_index: 2, + }, + results: [ + { + pk: "2594b1a0-f234-4965-8b93-a8631a55bd5c", + policybindingmodel_ptr_id: "0bc529a6-dcd0-4ba8-8fef-5702348832f9", + name: "Welcome to authentik!", + slug: "default-authentication-flow", + title: "Welcome to authentik!", + designation: "authentication", + background: "/static/dist/assets/images/flow_background.jpg", + stages: [ + "bad9fbce-fb86-4ba4-8124-e7a1d8c147f3", + "1da1f272-a76e-4112-be95-f02421fca1d4", + "945cd956-6670-4dfa-ab3a-2a72dd3051a7", + "0fc1fc5c-b928-4d99-a892-9ae48de089f5", + ], + policies: [], + cache_count: 0, + policy_engine_mode: "any", + compatibility_mode: false, + export_url: "/api/v3/flows/instances/default-authentication-flow/export/", + layout: "stacked", + denied_action: "message_continue", + authentication: "none", + }, + { + pk: "3526dbd1-b50e-4553-bada-fbe7b3c2f660", + policybindingmodel_ptr_id: "cde67954-b78a-4fe9-830e-c2aba07a724a", + name: "Welcome to authentik!", + slug: "default-source-authentication", + title: "Welcome to authentik!", + designation: "authentication", + background: "/static/dist/assets/images/flow_background.jpg", + stages: ["3713b252-cee3-4acb-a02f-083f26459fff"], + policies: ["f42a4c7f-6586-4b14-9325-a832127ba295"], + cache_count: 0, + policy_engine_mode: "any", + compatibility_mode: false, + export_url: "/api/v3/flows/instances/default-source-authentication/export/", + layout: "stacked", + denied_action: "message_continue", + authentication: "require_unauthenticated", + }, + ], +}; + +export const dummyAuthorizationFlowsSearch = { + pagination: { + next: 0, + previous: 0, + count: 2, + current: 1, + total_pages: 1, + start_index: 1, + end_index: 2, + }, + results: [ + { + pk: "9e01f011-8b3f-43d6-bedf-c29be5f3a428", + policybindingmodel_ptr_id: "14179ef8-2726-4027-9e2f-dc99185199bf", + name: "Authorize Application", + slug: "default-provider-authorization-explicit-consent", + title: "Redirecting to %(app)s", + designation: "authorization", + background: "/static/dist/assets/images/flow_background.jpg", + stages: ["ed5f015f-82b9-450f-addf-1e9d21d8dda3"], + policies: [], + cache_count: 0, + policy_engine_mode: "any", + compatibility_mode: false, + export_url: + "/api/v3/flows/instances/default-provider-authorization-explicit-consent/export/", + layout: "stacked", + denied_action: "message_continue", + authentication: "require_authenticated", + }, + { + pk: "06f11ee3-cbe3-456d-81df-fae4c0a62951", + policybindingmodel_ptr_id: "686e6539-8b9f-473e-9f54-e05cc207dd2a", + name: "Authorize Application", + slug: "default-provider-authorization-implicit-consent", + title: "Redirecting to %(app)s", + designation: "authorization", + background: "/static/dist/assets/images/flow_background.jpg", + stages: [], + policies: [], + cache_count: 0, + policy_engine_mode: "any", + compatibility_mode: false, + export_url: + "/api/v3/flows/instances/default-provider-authorization-implicit-consent/export/", + layout: "stacked", + denied_action: "message_continue", + authentication: "require_authenticated", + }, + ], +}; + +export const dummyCoreGroupsSearch = { + pagination: { + next: 0, + previous: 0, + count: 1, + current: 1, + total_pages: 1, + start_index: 1, + end_index: 1, + }, + results: [ + { + pk: "67543d37-0ee2-4a4c-b020-9e735a8b5178", + num_pk: 13734, + name: "authentik Admins", + is_superuser: true, + parent: null, + users: [1], + attributes: {}, + users_obj: [ + { + pk: 1, + username: "akadmin", + name: "authentik Default Admin", + is_active: true, + last_login: "2023-07-03T16:08:11.196942Z", + email: "ken@goauthentik.io", + attributes: { + settings: { + locale: "en", + }, + }, + uid: "6dedc98b3fdd0f9afdc705e9d577d61127d89f1d91ea2f90f0b9a353615fb8f2", + }, + ], + }, + ], +}; + +export const dummyPropertyMappings = { + pagination: { + next: 0, + previous: 0, + count: 4, + current: 1, + total_pages: 1, + start_index: 1, + end_index: 4, + }, + results: [ + { + pk: "30d87af7-9d9d-4292-873e-a52145ba4bcb", + managed: "goauthentik.io/providers/proxy/scope-proxy", + name: "authentik default OAuth Mapping: Proxy outpost", + expression: + '# This mapping is used by the authentik proxy. It passes extra user attributes,\n# which are used for example for the HTTP-Basic Authentication mapping.\nreturn {\n "ak_proxy": {\n "user_attributes": request.user.group_attributes(request),\n "is_superuser": request.user.is_superuser,\n }\n}', + component: "ak-property-mapping-scope-form", + verbose_name: "Scope Mapping", + verbose_name_plural: "Scope Mappings", + meta_model_name: "authentik_providers_oauth2.scopemapping", + scope_name: "ak_proxy", + description: "authentik Proxy - User information", + }, + { + pk: "3e3751ed-a24c-4f47-a051-e2e05b5cd306", + managed: "goauthentik.io/providers/oauth2/scope-email", + name: "authentik default OAuth Mapping: OpenID 'email'", + expression: 'return {\n "email": request.user.email,\n "email_verified": True\n}', + component: "ak-property-mapping-scope-form", + verbose_name: "Scope Mapping", + verbose_name_plural: "Scope Mappings", + meta_model_name: "authentik_providers_oauth2.scopemapping", + scope_name: "email", + description: "Email address", + }, + { + pk: "81c5e330-d8a0-45cd-9cad-e6a49a9c428f", + managed: "goauthentik.io/providers/oauth2/scope-openid", + name: "authentik default OAuth Mapping: OpenID 'openid'", + expression: + "# This scope is required by the OpenID-spec, and must as such exist in authentik.\n# The scope by itself does not grant any information\nreturn {}", + component: "ak-property-mapping-scope-form", + verbose_name: "Scope Mapping", + verbose_name_plural: "Scope Mappings", + meta_model_name: "authentik_providers_oauth2.scopemapping", + scope_name: "openid", + description: "", + }, + { + pk: "7ad9cd6f-bcc8-425d-b7c2-c7c4592a1b36", + managed: "goauthentik.io/providers/oauth2/scope-profile", + name: "authentik default OAuth Mapping: OpenID 'profile'", + expression: + 'return {\n # Because authentik only saves the user\'s full name, and has no concept of first and last names,\n # the full name is used as given name.\n # You can override this behaviour in custom mappings, i.e. `request.user.name.split(" ")`\n "name": request.user.name,\n "given_name": request.user.name,\n "preferred_username": request.user.username,\n "nickname": request.user.username,\n # groups is not part of the official userinfo schema, but is a quasi-standard\n "groups": [group.name for group in request.user.ak_groups.all()],\n}', + component: "ak-property-mapping-scope-form", + verbose_name: "Scope Mapping", + verbose_name_plural: "Scope Mappings", + meta_model_name: "authentik_providers_oauth2.scopemapping", + scope_name: "profile", + description: "General Profile Information", + }, + ], +}; + +export const dummyHasJwks = { + pagination: { + next: 0, + previous: 0, + count: 0, + current: 1, + total_pages: 1, + start_index: 0, + end_index: 0, + }, + results: [], +}; + +export const dummySAMLProviderMappings = { + pagination: { + next: 0, + previous: 0, + count: 7, + current: 1, + total_pages: 1, + start_index: 1, + end_index: 7, + }, + results: [ + { + pk: "9f1f23b7-1956-4daa-b08b-338cab9b3953", + managed: "goauthentik.io/providers/saml/uid", + name: "authentik default SAML Mapping: User ID", + expression: "return request.user.pk", + component: "ak-property-mapping-saml-form", + verbose_name: "SAML Property Mapping", + verbose_name_plural: "SAML Property Mappings", + meta_model_name: "authentik_providers_saml.samlpropertymapping", + saml_name: "http://schemas.goauthentik.io/2021/02/saml/uid", + friendly_name: null, + }, + { + pk: "801b6328-bb0b-4ec6-b52c-f3dc7bb6ec7f", + managed: "goauthentik.io/providers/saml/username", + name: "authentik default SAML Mapping: Username", + expression: "return request.user.username", + component: "ak-property-mapping-saml-form", + verbose_name: "SAML Property Mapping", + verbose_name_plural: "SAML Property Mappings", + meta_model_name: "authentik_providers_saml.samlpropertymapping", + saml_name: "http://schemas.goauthentik.io/2021/02/saml/username", + friendly_name: null, + }, + { + pk: "27c4d370-658d-4acf-9f61-cfa6dd020b11", + managed: "goauthentik.io/providers/saml/ms-windowsaccountname", + name: "authentik default SAML Mapping: WindowsAccountname (Username)", + expression: "return request.user.username", + component: "ak-property-mapping-saml-form", + verbose_name: "SAML Property Mapping", + verbose_name_plural: "SAML Property Mappings", + meta_model_name: "authentik_providers_saml.samlpropertymapping", + saml_name: "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", + friendly_name: null, + }, + { + pk: "757b185b-1c21-42b4-a2ee-04d6f7b655b3", + managed: "goauthentik.io/providers/saml/groups", + name: "authentik default SAML Mapping: Groups", + expression: "for group in request.user.ak_groups.all():\n yield group.name", + component: "ak-property-mapping-saml-form", + verbose_name: "SAML Property Mapping", + verbose_name_plural: "SAML Property Mappings", + meta_model_name: "authentik_providers_saml.samlpropertymapping", + saml_name: "http://schemas.xmlsoap.org/claims/Group", + friendly_name: null, + }, + { + pk: "de67cee7-7c56-4c1d-9466-9ad0e0105092", + managed: "goauthentik.io/providers/saml/email", + name: "authentik default SAML Mapping: Email", + expression: "return request.user.email", + component: "ak-property-mapping-saml-form", + verbose_name: "SAML Property Mapping", + verbose_name_plural: "SAML Property Mappings", + meta_model_name: "authentik_providers_saml.samlpropertymapping", + saml_name: "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", + friendly_name: null, + }, + { + pk: "42a936a5-11a9-4442-8748-ec27a8ab9546", + managed: "goauthentik.io/providers/saml/name", + name: "authentik default SAML Mapping: Name", + expression: "return request.user.name", + component: "ak-property-mapping-saml-form", + verbose_name: "SAML Property Mapping", + verbose_name_plural: "SAML Property Mappings", + meta_model_name: "authentik_providers_saml.samlpropertymapping", + saml_name: "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name", + friendly_name: null, + }, + { + pk: "06bee8f0-e5b4-4ce8-959a-308ba0769917", + managed: "goauthentik.io/providers/saml/upn", + name: "authentik default SAML Mapping: UPN", + expression: "return request.user.attributes.get('upn', request.user.email)", + component: "ak-property-mapping-saml-form", + verbose_name: "SAML Property Mapping", + verbose_name_plural: "SAML Property Mappings", + meta_model_name: "authentik_providers_saml.samlpropertymapping", + saml_name: "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", + friendly_name: null, + }, + ], +}; + +// prettier-ignore +export const dummyProviderTypesList = [ + ["LDAP Provider", "ldapprovider", + "Allow applications to authenticate against authentik's users using LDAP.", + ], + ["OAuth2/OpenID Provider", "oauth2provider", + "OAuth2 Provider for generic OAuth and OpenID Connect Applications.", + ], + ["Proxy Provider", "proxyprovider", + "Protect applications that don't support any of the other\n Protocols by using a Reverse-Proxy.", + ], + ["Radius Provider", "radiusprovider", + "Allow applications to authenticate against authentik's users using Radius.", + ], + ["SAML Provider", "samlprovider", + "SAML 2.0 Endpoint for applications which support SAML.", + ], + ["SCIM Provider", "scimprovider", + "SCIM 2.0 provider to create users and groups in external applications", + ], + ["SAML Provider from Metadata", "", + "Create a SAML Provider by importing its Metadata.", + ], +].map(([name, model_name, description]) => ({ name, description, model_name })); diff --git a/web/src/admin/applications/wizard/types.ts b/web/src/admin/applications/wizard/types.ts new file mode 100644 index 000000000000..0ebe7aa8aece --- /dev/null +++ b/web/src/admin/applications/wizard/types.ts @@ -0,0 +1,39 @@ +import { type WizardStep } from "@goauthentik/components/ak-wizard-main/types"; + +import { + type ApplicationRequest, + type LDAPProviderRequest, + type OAuth2ProviderRequest, + type ProvidersSamlImportMetadataCreateRequest, + type ProxyProviderRequest, + type RadiusProviderRequest, + type SAMLProviderRequest, + type SCIMProviderRequest, +} from "@goauthentik/api"; + +export type OneOfProvider = + | Partial + | Partial + | Partial + | Partial + | Partial + | Partial + | Partial; + +export interface ApplicationWizardState { + providerModel: string; + app: Partial; + provider: OneOfProvider; +} + +type StatusType = "invalid" | "valid" | "submitted" | "failed"; + +export type ApplicationWizardStateUpdate = { + update?: Partial; + status?: StatusType; +}; + +export type ApplicationStep = WizardStep & { + id: string; + valid: boolean; +}; diff --git a/web/src/admin/providers/ProviderListPage.ts b/web/src/admin/providers/ProviderListPage.ts index c82985815a6a..7dbab4f164b2 100644 --- a/web/src/admin/providers/ProviderListPage.ts +++ b/web/src/admin/providers/ProviderListPage.ts @@ -1,3 +1,4 @@ +import "@goauthentik/admin/applications/ApplicationWizardHint"; import "@goauthentik/admin/providers/ProviderWizard"; import "@goauthentik/admin/providers/ldap/LDAPProviderForm"; import "@goauthentik/admin/providers/oauth2/OAuth2ProviderForm"; @@ -60,6 +61,10 @@ export class ProviderListPage extends TablePage { ]; } + renderSectionBefore(): TemplateResult { + return html``; + } + renderToolbarSelected(): TemplateResult { const disabled = this.selectedElements.length < 1; return html`(value: T) { + return Object.prototype.toString.call(value); +} + +// Creates a deep clone for each value +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function cloneDescriptorValue(value: any) { + // Arrays + if (objectType(value) === "[object Array]") { + const array = []; + for (let v of value) { + v = cloneDescriptorValue(v); + array.push(v); + } + return array; + } + + // Objects + if (objectType(value) === "[object Object]") { + const obj = {}; + const props = Object.keys(value); + for (const prop of props) { + const descriptor = Object.getOwnPropertyDescriptor(value, prop); + if (!descriptor) { + continue; + } + + if (descriptor.value) { + descriptor.value = cloneDescriptorValue(descriptor.value); + } + Object.defineProperty(obj, prop, descriptor); + } + return obj; + } + + // Other Types of Objects + if (objectType(value) === "[object Date]") { + return new Date(value.getTime()); + } + + if (objectType(value) === "[object Map]") { + const map = new Map(); + for (const entry of value) { + map.set(entry[0], cloneDescriptorValue(entry[1])); + } + return map; + } + + if (objectType(value) === "[object Set]") { + const set = new Set(); + for (const entry of value.entries()) { + set.add(cloneDescriptorValue(entry[0])); + } + return set; + } + + // Types we don't need to clone or cannot clone. + // Examples: + // - Primitives don't need to clone + // - Functions cannot clone + return value; +} + +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function _merge(output: Record, input: Record) { + const props = Object.keys(input); + + for (const prop of props) { + // Prevents Prototype Pollution + if (prop === "__proto__") continue; + + const descriptor = Object.getOwnPropertyDescriptor(input, prop); + if (!descriptor) { + continue; + } + + const value = descriptor.value; + if (value) descriptor.value = cloneDescriptorValue(value); + + // If don't have prop => Define property + // [ken@goauthentik] Using `hasOwn` is preferable over + // the basic identity test, according to Typescript. + if (!Object.hasOwn(output, prop)) { + Object.defineProperty(output, prop, descriptor); + continue; + } + + // If have prop, but type is not object => Overwrite by redefining property + if (typeof output[prop] !== "object") { + Object.defineProperty(output, prop, descriptor); + continue; + } + + // If have prop, but type is Object => Concat the arrays together. + if (objectType(descriptor.value) === "[object Array]") { + output[prop] = output[prop].concat(descriptor.value); + continue; + } + + // If have prop, but type is Object => Merge. + _merge(output[prop], descriptor.value); + } +} + +export function merge(...sources: Array) { + const result = {}; + for (const source of sources) { + _merge(result, source); + } + return result; +} + +export default merge; diff --git a/web/src/components/ak-hint/ShowHintController.ts b/web/src/components/ak-hint/ShowHintController.ts index b3eb1393c422..d4f4ed0ae304 100644 --- a/web/src/components/ak-hint/ShowHintController.ts +++ b/web/src/components/ak-hint/ShowHintController.ts @@ -27,18 +27,27 @@ export class ShowHintController implements ReactiveController { constructor(host: ShowHintControllerHost, hintToken: string) { (this.host = host).addController(this); this.hintToken = hintToken; - this.hideTheHint = this.hideTheHint.bind(this); + this.hide = this.hide.bind(this); + this.show = this.show.bind(this); } - hideTheHint() { + setTheHint(state: boolean = false) { window?.localStorage.setItem( LOCALSTORAGE_AUTHENTIK_KEY, JSON.stringify({ ...getCurrentStorageValue(), - [this.hintToken]: false, + [this.hintToken]: state, }), ); - this.host.showHint = false; + this.host.showHint = state; + } + + hide() { + this.setTheHint(false); + } + + show() { + this.setTheHint(true); } hostConnected() { @@ -54,7 +63,7 @@ export class ShowHintController implements ReactiveController { render() { return html`
    - ${msg( + ${msg( "Don't show this message again.", )}
    + extends AKElement + implements ReactiveControllerHost +{ + // prettier-ignore + static get styles() { return [PFBase, PFButton]; } + + @state() + steps: Step[] = []; + + @state() + currentStep = 0; + + /** + * A reference to the frame. Since the frame implements and inherits from ModalButton, + * you will need either a reference to or query to the frame in order to call + * `.close()` on it. + */ + frame: Ref = createRef(); + + get step() { + return this.steps[this.currentStep]; + } + + prompt = msg("Create"); + + header: string; + + description?: string; + + wizard: AkWizardController; + + constructor(prompt: string, header: string, description?: string) { + super(); + this.header = header; + this.prompt = prompt; + this.description = description; + this.wizard = new AkWizardController(this); + } + + /** + * Derive the labels used by the frame's Breadcrumbs display. + */ + get stepLabels(): WizardStepLabel[] { + let disabled = false; + return this.steps.map((step, index) => { + disabled = disabled || step.disabled; + return { + label: step.label, + active: index === this.currentStep, + index, + disabled, + }; + }); + } + + /** + * You should still consider overriding this if you need to consider details like "Is the step + * requested valid?" + */ + handleNav(stepId: number | undefined) { + if (stepId === undefined || this.steps[stepId] === undefined) { + throw new Error(`Attempt to navigate to undefined step: ${stepId}`); + } + this.currentStep = stepId; + this.requestUpdate(); + } + + close() { + throw new Error("This function must be overridden in the child class."); + } + + /** + * This is where all the business logic and special cases go. The Wizard Controller intercepts + * updates tagged `ak-wizard-update` and forwards the event content here. Business logic about + * "is the current step valid?" and "should the Next button be made enabled" are controlled + * here. (Any step implementing WizardStep can do it anyhow it pleases, putting "is the current + * form valid" and so forth into the step object itself.) + */ + handleUpdate(_detail: D) { + throw new Error("This function must be overridden in the child class."); + } + + render() { + return html` + + + + `; + } +} diff --git a/web/src/components/ak-wizard-main/AkWizardController.ts b/web/src/components/ak-wizard-main/AkWizardController.ts new file mode 100644 index 000000000000..f5c2a23d3c0d --- /dev/null +++ b/web/src/components/ak-wizard-main/AkWizardController.ts @@ -0,0 +1,104 @@ +import { type ReactiveController } from "lit"; + +import { type AkWizard, type WizardNavCommand } from "./types"; + +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export const isCustomEvent = (v: any): v is CustomEvent => + v instanceof CustomEvent && "detail" in v; + +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export const isNavEvent = (v: any): v is CustomEvent => + isCustomEvent(v) && "command" in v.detail; + +/** + * AkWizardController + * + * A ReactiveController that plugs into any wizard and provides a somewhat more convenient API for + * interacting with that wizard. It expects three different events from the wizard frame, each of + * which has a corresponding method that then forwards the necessary information to the host: + * + * - nav: A request to navigate to different step. Calls the host's `handleNav()` with the requested + step number. + * - update: A request to update the content of the current step. Forwarded to the host's + * `handleUpdate()` method. + * - close: A request to end the wizard interaction. Forwarded to the host's `close()` method. + * + */ + +export class AkWizardController implements ReactiveController { + private host: AkWizard; + + constructor(host: AkWizard) { + this.host = host; + this.handleNavRequest = this.handleNavRequest.bind(this); + this.handleUpdateRequest = this.handleUpdateRequest.bind(this); + host.addController(this); + } + + get maxStep() { + return this.host.steps.length - 1; + } + + get nextStep() { + return this.host.currentStep < this.maxStep ? this.host.currentStep + 1 : undefined; + } + + get backStep() { + return this.host.currentStep > 0 ? this.host.currentStep - 1 : undefined; + } + + get step() { + return this.host.steps[this.host.currentStep]; + } + + hostConnected() { + this.host.addEventListener("ak-wizard-nav", this.handleNavRequest); + this.host.addEventListener("ak-wizard-update", this.handleUpdateRequest); + this.host.addEventListener("ak-wizard-closed", this.handleCloseRequest); + } + + hostDisconnected() { + this.host.removeEventListener("ak-wizard-nav", this.handleNavRequest); + this.host.removeEventListener("ak-wizard-update", this.handleUpdateRequest); + this.host.removeEventListener("ak-wizard-closed", this.handleCloseRequest); + } + + handleNavRequest(event: Event) { + if (!isNavEvent(event)) { + throw new Error(`Unexpected event received by nav handler: ${event}`); + } + + if (event.detail.command === "close") { + this.host.close(); + return; + } + + const navigate = (): number | undefined => { + switch (event.detail.command) { + case "next": + return this.nextStep; + case "back": + return this.backStep; + case "goto": + return event.detail.step; + default: + throw new Error( + `Unrecognized command passed to ak-wizard-controller:handleNavRequest: ${event.detail.command}`, + ); + } + }; + + this.host.handleNav(navigate()); + } + + handleUpdateRequest(event: Event) { + if (!isCustomEvent(event)) { + throw new Error(`Unexpected event received by nav handler: ${event}`); + } + this.host.handleUpdate(event.detail); + } + + handleCloseRequest() { + this.host.close(); + } +} diff --git a/web/src/components/ak-wizard-main/ak-wizard-frame.ts b/web/src/components/ak-wizard-main/ak-wizard-frame.ts new file mode 100644 index 000000000000..a0f32009581a --- /dev/null +++ b/web/src/components/ak-wizard-main/ak-wizard-frame.ts @@ -0,0 +1,201 @@ +import { ModalButton } from "@goauthentik/elements/buttons/ModalButton"; +import { CustomEmitterElement } from "@goauthentik/elements/utils/eventEmitter"; + +import { msg } from "@lit/localize"; +import { customElement, property, query } from "@lit/reactive-element/decorators.js"; +import { TemplateResult, html, nothing } from "lit"; +import { classMap } from "lit/directives/class-map.js"; +import { map } from "lit/directives/map.js"; + +import PFWizard from "@patternfly/patternfly/components/Wizard/wizard.css"; + +import { type WizardButton, WizardStepLabel } from "./types"; + +/** + * AKWizardFrame is the main container for displaying Wizard pages. + * + * AKWizardFrame is one component of a Wizard development environment. It provides the header, + * titled navigation sidebar, and bottom row button bar. It takes its cues about what to render from + * two data structure, `this.steps: WizardStep[]`, which lists all the current steps *in order* and + * doesn't care otherwise about their structure, and `this.currentStep: WizardStep` which must be a + * _reference_ to a member of `this.steps`. + * + * @element ak-wizard-frame + * + * @slot - Where the form itself should go + * + * @fires ak-wizard-nav - Tell the orchestrator what page the user wishes to move to. + * + */ + +@customElement("ak-wizard-frame") +export class AkWizardFrame extends CustomEmitterElement(ModalButton) { + static get styles() { + return [...super.styles, PFWizard]; + } + + /** + * The text for the title of the wizard + */ + @property() + header?: string; + + /** + * The text for a descriptive subtitle for the wizard + */ + @property() + description?: string; + + /** + * The labels for all current steps, including their availability + */ + @property({ attribute: false, type: Array }) + stepLabels!: WizardStepLabel[]; + + /** + * What buttons to Show + */ + @property({ attribute: false, type: Array }) + buttons: WizardButton[] = []; + + /** + * Show the [Cancel] icon and offer the [Cancel] button + */ + @property({ type: Boolean, attribute: "can-cancel" }) + canCancel = false; + + /** + * The form renderer, passed as a function + */ + @property({ type: Object }) + form!: () => TemplateResult; + + @query("#main-content *:first-child") + content!: HTMLElement; + + constructor() { + super(); + this.renderButtons = this.renderButtons.bind(this); + } + + renderModalInner() { + // prettier-ignore + return html`
    + ${this.renderHeader()} +
    +
    + ${this.renderNavigation()} + ${this.renderMainSection()} +
    + ${this.renderFooter()} +
    +
    `; + } + + renderHeader() { + return html`
    + ${this.canCancel ? this.renderHeaderCancelIcon() : nothing} +

    ${this.header}

    +

    ${this.description}

    +
    `; + } + + renderHeaderCancelIcon() { + return html``; + } + + renderNavigation() { + return html``; + } + + renderNavigationStep(step: WizardStepLabel) { + const buttonClasses = { + "pf-c-wizard__nav-link": true, + "pf-m-current": step.active, + }; + + return html` +
  • + +
  • + `; + } + + // This is where the panel is shown. We expect the panel to get its information from an + // independent context. + renderMainSection() { + return html`
    +
    ${this.form()}
    +
    `; + } + + renderFooter() { + return html` +
    ${map(this.buttons, this.renderButtons)}
    + `; + } + + renderButtons([label, command]: WizardButton) { + switch (command.command) { + case "next": + return this.renderButton(label, "pf-m-primary", command.command); + case "back": + return this.renderButton(label, "pf-m-secondary", command.command); + case "close": + return this.renderLink(label, "pf-m-link"); + default: + throw new Error(`Button type not understood: ${command} for ${label}`); + } + } + + renderButton(label: string, classname: string, command: string) { + const buttonClasses = { "pf-c-button": true, [classname]: true }; + return html``; + } + + renderLink(label: string, classname: string) { + const buttonClasses = { "pf-c-button": true, [classname]: true }; + return html``; + } +} + +export default AkWizardFrame; diff --git a/web/src/components/ak-wizard-main/commonWizardButtons.ts b/web/src/components/ak-wizard-main/commonWizardButtons.ts new file mode 100644 index 000000000000..e9b531f36965 --- /dev/null +++ b/web/src/components/ak-wizard-main/commonWizardButtons.ts @@ -0,0 +1,15 @@ +import { msg } from "@lit/localize"; + +import { WizardButton } from "./types"; + +export const NextStep: WizardButton = [msg("Next"), { command: "next" }]; + +export const BackStep: WizardButton = [msg("Back"), { command: "back" }]; + +export const SubmitStep: WizardButton = [msg("Submit"), { command: "next" }]; + +export const CancelWizard: WizardButton = [msg("Cancel"), { command: "close" }]; + +export const CloseWizard: WizardButton = [msg("Close"), { command: "close" }]; + +export const DisabledNextStep: WizardButton = [msg("Next"), { command: "next" }, true]; diff --git a/web/src/components/ak-wizard-main/stories/ak-demo-wizard.ts b/web/src/components/ak-wizard-main/stories/ak-demo-wizard.ts new file mode 100644 index 000000000000..30322d66652b --- /dev/null +++ b/web/src/components/ak-wizard-main/stories/ak-demo-wizard.ts @@ -0,0 +1,47 @@ +import type { WizardStep } from "@goauthentik/components/ak-wizard-main/types"; + +import { msg } from "@lit/localize"; +import { customElement } from "@lit/reactive-element/decorators/custom-element.js"; +import { html } from "lit"; + +import PFButton from "@patternfly/patternfly/components/Button/button.css"; +import PFRadio from "@patternfly/patternfly/components/Radio/radio.css"; +import PFBase from "@patternfly/patternfly/patternfly-base.css"; + +import { AkWizard } from "../AkWizard"; +import { BackStep, CancelWizard, CloseWizard, NextStep } from "../commonWizardButtons"; + +type WizardStateUpdate = { + message: string; +}; + +const dummySteps: WizardStep[] = [ + { + label: "Test Step1", + render: () => html`

    This space intentionally left blank today

    `, + disabled: false, + buttons: [NextStep, CancelWizard], + }, + { + label: "Test Step 2", + render: () => html`

    This space also intentionally left blank

    `, + disabled: false, + buttons: [BackStep, CloseWizard], + }, +]; + +@customElement("ak-demo-wizard") +export class ApplicationWizard extends AkWizard { + static get styles() { + return [PFBase, PFButton, PFRadio]; + } + + constructor() { + super(msg("Open Wizard"), msg("Demo Wizard"), msg("Run the demo wizard")); + this.steps = [...dummySteps]; + } + + close() { + this.frame.value!.open = false; + } +} diff --git a/web/src/components/ak-wizard-main/stories/ak-wizard-main.stories.ts b/web/src/components/ak-wizard-main/stories/ak-wizard-main.stories.ts new file mode 100644 index 000000000000..0de141dc2ced --- /dev/null +++ b/web/src/components/ak-wizard-main/stories/ak-wizard-main.stories.ts @@ -0,0 +1,40 @@ +import type { WizardStep } from "@goauthentik/components/ak-wizard-main/types"; +import "@goauthentik/elements/messages/MessageContainer"; +import { Meta } from "@storybook/web-components"; + +import { TemplateResult, html } from "lit"; + +import { AkWizard } from "../AkWizard"; +import "./ak-demo-wizard"; + +const metadata: Meta> = { + title: "Components / Wizard / Basic", + component: "ak-wizard-main", + parameters: { + docs: { + description: { + component: "A container for our wizard.", + }, + }, + }, +}; + +export default metadata; + +const container = (testItem: TemplateResult) => + html`
    + + + ${testItem} +
    `; + +export const OnePageWizard = () => { + return container(html` `); +}; diff --git a/web/src/components/ak-wizard-main/types.ts b/web/src/components/ak-wizard-main/types.ts new file mode 100644 index 000000000000..bd29ca89bbc3 --- /dev/null +++ b/web/src/components/ak-wizard-main/types.ts @@ -0,0 +1,79 @@ +import { type LitElement, type ReactiveControllerHost, type TemplateResult } from "lit"; + +/** These are the navigation commands that the frame will send up to the controller. In the + * accompanying file, `./commonWizardButtons.ts`, you'll find a variety of Next, Back, Close, + * Cancel, and Submit buttons that can be used to send these, but these commands are also + * used by the breadcrumbs to hop around the wizard (if the wizard client so chooses to allow), + */ + +export type WizardNavCommand = + | { command: "next" } + | { command: "back" } + | { command: "close" } + | { command: "goto"; step: number }; + +/** + * The pattern for buttons being passed to the wizard. See `./commonWizardButtons.ts` for + * example implementations. The details are: Label, Command, and Disabled. + */ +export type WizardButton = [string, WizardNavCommand, boolean?]; + +/** + * Objects of this type are produced by the Controller, and are used in the Breadcrumbs to + * indicate the name of the step, whether or not it is the current step ("active"), and + * whether or not it is disabled. It is up to WizardClients to ensure that a step is + * not both "active" and "disabled". + */ + +export type WizardStepLabel = { + label: string; + index: number; + active: boolean; + disabled: boolean; +}; + +type LitControllerHost = ReactiveControllerHost & LitElement; + +export interface AkWizard extends LitControllerHost { + // Every wizard must provide a list of the steps to show. This list can change, but if it does, + // note that the *first* page must never change, and it's the responsibility of the developer to + // ensure that if the list changes that the currentStep points to the right place. + steps: WizardStep[]; + + // The index of the current step; + currentStep: number; + + // An accessor to the current step; + step: WizardStep; + + // Handle pressing the "close," "cancel," or "done" buttons. + close: () => void; + + // When a navigation event such as "next," "back," or "go to" (from the breadcrumbs) occurs. + handleNav: (_1: number | undefined) => void; + + // When a notification that the data on the live form has changed. + handleUpdate: (_1: D) => void; +} + +export interface WizardStep { + // The name of the step, as shown in the navigation. + label: string; + + // A function which returns the html for rendering the actual content of the step, its form and + // such. + render: () => TemplateResult; + + // A collection of buttons, in render order, that are to be shown in the button bar. If you can, + // always lead with the [Back] button and ensure it's in the same place every time. The + // controller's current behavior is to call the host's `handleNav()` command with the index of + // the requested step, or undefined if the command is nonsensical. + buttons: WizardButton[]; + + // If this step is "disabled," the prior step's next button will be disabled. + disabled: boolean; +} + +export interface WizardPanel extends HTMLElement { + validator?: () => boolean; +} diff --git a/web/xliff/de.xlf b/web/xliff/de.xlf index 6efa19454ce5..732e38e11e53 100644 --- a/web/xliff/de.xlf +++ b/web/xliff/de.xlf @@ -1404,10 +1404,6 @@ Slug Slug - - Internal application name, used in URLs. - Interner Applikationsname, wird in URLs verwendet. - Optionally enter a group name. Applications with identical groups are shown grouped together. Geben Sie optional einen Gruppennamen ein. Anwendungen in gleicher Gruppe werden gruppiert angezeigt. @@ -1419,9 +1415,6 @@ Select a provider that this application should use. - - Backchannel providers - Select backchannel providers which augment the functionality of the main provider. @@ -1696,9 +1689,6 @@ NameID attribute - - SCIM provider is in preview. - Warning: Provider is not assigned to an application as backchannel provider. @@ -1712,32 +1702,9 @@ Run sync again Synchronisation erneut ausführen - - Application details - - - Create application - - - Additional UI settings - Weitere UI-Einstellungen - - - OAuth2/OIDC - Modern applications, APIs and Single-page applications. - - SAML - SAML - - - XML-based SSO standard. Use this if your application only supports SAML. - - - Legacy applications which don't natively support SSO. - LDAP LDAP @@ -1745,108 +1712,9 @@ Provide an LDAP interface for applications and users to authenticate against. - - Link - Link - - - Authentication method - - - LDAP details - LDAP-Details - - - Create service account - - - Create provider - Anbieter erstellen - - - Application Link - - - URL which will be opened when a user clicks on the application. - - - Method details - - - This configuration can be used to authenticate to authentik with other APIs other otherwise programmatically. - - - By default, all service accounts can authenticate as this application, as long as they have a valid token of the type app-password. - - - Web application - - - Applications which handle the authentication server-side (for example, Python, Go, Rust, Java, PHP) - - - Single-page applications - - - Single-page applications which handle authentication in the browser (for example, Javascript, Angular, React, Vue) - - - Native application - - - Applications which redirect users to a non-web callback (for example, Android, iOS) - - - API - API - - - Authentication without user interaction, or machine-to-machine authentication. - - - Application type - - - Flow used when users access this application. - - - Proxy details - Proxy-Details - - - External domain - - - External domain you will be accessing the domain from. - - - Import SAML Metadata - - - Import the metadata document of the applicaation you want to configure. - - - Manual configuration - - - Manually configure SAML - - - SAML details - SAML-Details - - - URL that authentik will redirect back to after successful authentication. - - - Import SAML metadata - New application - - Create a new application. - Applications Anwendungen @@ -5933,6 +5801,76 @@ Bindings to groups/users are checked against the user of the event. Stage used to configure a WebAuthn authenticator (i.e. Yubikey, FaceID/Windows Hello). +<<<<<<< HEAD + + Internal application name used in URLs. + + + Submit + + + UI Settings + + + OAuth2/OpenID + + + Transparent Reverse Proxy + + + For transparent reverse proxies with required authentication + + + Forward Auth Single Application + + + For nginx's auth_request or traefix's forwardAuth + + + Forward Auth Domain Level + + + For nginx's auth_request or traefix's forwardAuth per root domain + + + Configure SAML provider manually + + + RADIUS Configuration + + + Configure RADIUS provider manually + + + SCIM configuration + + + Configure SCIM provider manually + + + Saving Application... + + + Authentik was unable to save this application: + + + Your application has been saved + + + In the Application: + + + In the Provider: + + + Method's display Name. + + + Use this provider with nginx's auth_request or traefik's + forwardAuth. Each application/domain needs its own provider. + Additionally, on each domain, /outpost.goauthentik.io must be + routed to the outpost (when using a managed outpost, this is done for you). + Custom attributes @@ -6043,6 +5981,9 @@ Bindings to groups/users are checked against the user of the event. Role Info + + + Pseudolocale (for testing) diff --git a/web/xliff/en.xlf b/web/xliff/en.xlf index 0e80e8b12412..7cf38b6b7699 100644 --- a/web/xliff/en.xlf +++ b/web/xliff/en.xlf @@ -1475,10 +1475,6 @@ Slug Slug - - Internal application name, used in URLs. - Internal application name, used in URLs. - Optionally enter a group name. Applications with identical groups are shown grouped together. Optionally enter a group name. Applications with identical groups are shown grouped together. @@ -1491,10 +1487,6 @@ Select a provider that this application should use. Select a provider that this application should use. - - Backchannel providers - Backchannel providers - Select backchannel providers which augment the functionality of the main provider. Select backchannel providers which augment the functionality of the main provider. @@ -1787,10 +1779,6 @@ NameID attribute NameID attribute - - SCIM provider is in preview. - SCIM provider is in preview. - Warning: Provider is not assigned to an application as backchannel provider. Warning: Provider is not assigned to an application as backchannel provider. @@ -1807,38 +1795,10 @@ Run sync again Run sync again - - Application details - Application details - - - Create application - Create application - - - Additional UI settings - Additional UI settings - - - OAuth2/OIDC - OAuth2/OIDC - Modern applications, APIs and Single-page applications. Modern applications, APIs and Single-page applications. - - SAML - SAML - - - XML-based SSO standard. Use this if your application only supports SAML. - XML-based SSO standard. Use this if your application only supports SAML. - - - Legacy applications which don't natively support SSO. - Legacy applications which don't natively support SSO. - LDAP LDAP @@ -1847,134 +1807,10 @@ Provide an LDAP interface for applications and users to authenticate against. Provide an LDAP interface for applications and users to authenticate against. - - Link - Link - - - Authentication method - Authentication method - - - LDAP details - LDAP details - - - Create service account - Create service account - - - Create provider - Create provider - - - Application Link - Application Link - - - URL which will be opened when a user clicks on the application. - URL which will be opened when a user clicks on the application. - - - Method details - Method details - - - This configuration can be used to authenticate to authentik with other APIs other otherwise programmatically. - This configuration can be used to authenticate to authentik with other APIs other otherwise programmatically. - - - By default, all service accounts can authenticate as this application, as long as they have a valid token of the type app-password. - By default, all service accounts can authenticate as this application, as long as they have a valid token of the type app-password. - - - Web application - Web application - - - Applications which handle the authentication server-side (for example, Python, Go, Rust, Java, PHP) - Applications which handle the authentication server-side (for example, Python, Go, Rust, Java, PHP) - - - Single-page applications - Single-page applications - - - Single-page applications which handle authentication in the browser (for example, Javascript, Angular, React, Vue) - Single-page applications which handle authentication in the browser (for example, Javascript, Angular, React, Vue) - - - Native application - Native application - - - Applications which redirect users to a non-web callback (for example, Android, iOS) - Applications which redirect users to a non-web callback (for example, Android, iOS) - - - API - API - - - Authentication without user interaction, or machine-to-machine authentication. - Authentication without user interaction, or machine-to-machine authentication. - - - Application type - Application type - - - Flow used when users access this application. - Flow used when users access this application. - - - Proxy details - Proxy details - - - External domain - External domain - - - External domain you will be accessing the domain from. - External domain you will be accessing the domain from. - - - Import SAML Metadata - Import SAML Metadata - - - Import the metadata document of the applicaation you want to configure. - Import the metadata document of the applicaation you want to configure. - - - Manual configuration - Manual configuration - - - Manually configure SAML - Manually configure SAML - - - SAML details - SAML details - - - URL that authentik will redirect back to after successful authentication. - URL that authentik will redirect back to after successful authentication. - - - Import SAML metadata - Import SAML metadata - New application New application - - Create a new application. - Create a new application. - Applications Applications @@ -6247,6 +6083,76 @@ Bindings to groups/users are checked against the user of the event. Stage used to configure a WebAuthn authenticator (i.e. Yubikey, FaceID/Windows Hello). +<<<<<<< HEAD + + Internal application name used in URLs. + + + Submit + + + UI Settings + + + OAuth2/OpenID + + + Transparent Reverse Proxy + + + For transparent reverse proxies with required authentication + + + Forward Auth Single Application + + + For nginx's auth_request or traefix's forwardAuth + + + Forward Auth Domain Level + + + For nginx's auth_request or traefix's forwardAuth per root domain + + + Configure SAML provider manually + + + RADIUS Configuration + + + Configure RADIUS provider manually + + + SCIM configuration + + + Configure SCIM provider manually + + + Saving Application... + + + Authentik was unable to save this application: + + + Your application has been saved + + + In the Application: + + + In the Provider: + + + Method's display Name. + + + Use this provider with nginx's auth_request or traefik's + forwardAuth. Each application/domain needs its own provider. + Additionally, on each domain, /outpost.goauthentik.io must be + routed to the outpost (when using a managed outpost, this is done for you). + Custom attributes @@ -6357,6 +6263,9 @@ Bindings to groups/users are checked against the user of the event. Role Info + + + Pseudolocale (for testing) diff --git a/web/xliff/es.xlf b/web/xliff/es.xlf index d9fc1401329c..308666c0a294 100644 --- a/web/xliff/es.xlf +++ b/web/xliff/es.xlf @@ -1378,10 +1378,6 @@ Slug babosa - - Internal application name, used in URLs. - Nombre de la aplicación interna, utilizado en las URL. - Optionally enter a group name. Applications with identical groups are shown grouped together. @@ -1392,9 +1388,6 @@ Select a provider that this application should use. - - Backchannel providers - Select backchannel providers which augment the functionality of the main provider. @@ -1668,9 +1661,6 @@ NameID attribute - - SCIM provider is in preview. - Warning: Provider is not assigned to an application as backchannel provider. @@ -1684,30 +1674,9 @@ Run sync again Vuelve a ejecutar la sincronización - - Application details - - - Create application - - - Additional UI settings - - - OAuth2/OIDC - Modern applications, APIs and Single-page applications. - - SAML - - - XML-based SSO standard. Use this if your application only supports SAML. - - - Legacy applications which don't natively support SSO. - LDAP LDAP @@ -1715,103 +1684,9 @@ Provide an LDAP interface for applications and users to authenticate against. - - Link - - - Authentication method - - - LDAP details - - - Create service account - - - Create provider - Crear proveedor - - - Application Link - - - URL which will be opened when a user clicks on the application. - - - Method details - - - This configuration can be used to authenticate to authentik with other APIs other otherwise programmatically. - - - By default, all service accounts can authenticate as this application, as long as they have a valid token of the type app-password. - - - Web application - - - Applications which handle the authentication server-side (for example, Python, Go, Rust, Java, PHP) - - - Single-page applications - - - Single-page applications which handle authentication in the browser (for example, Javascript, Angular, React, Vue) - - - Native application - - - Applications which redirect users to a non-web callback (for example, Android, iOS) - - - API - - - Authentication without user interaction, or machine-to-machine authentication. - - - Application type - - - Flow used when users access this application. - - - Proxy details - - - External domain - - - External domain you will be accessing the domain from. - - - Import SAML Metadata - - - Import the metadata document of the applicaation you want to configure. - - - Manual configuration - - - Manually configure SAML - - - SAML details - - - URL that authentik will redirect back to after successful authentication. - - - Import SAML metadata - New application - - Create a new application. - Applications Aplicaciones @@ -5841,6 +5716,76 @@ Bindings to groups/users are checked against the user of the event. Stage used to configure a WebAuthn authenticator (i.e. Yubikey, FaceID/Windows Hello). +<<<<<<< HEAD + + Internal application name used in URLs. + + + Submit + + + UI Settings + + + OAuth2/OpenID + + + Transparent Reverse Proxy + + + For transparent reverse proxies with required authentication + + + Forward Auth Single Application + + + For nginx's auth_request or traefix's forwardAuth + + + Forward Auth Domain Level + + + For nginx's auth_request or traefix's forwardAuth per root domain + + + Configure SAML provider manually + + + RADIUS Configuration + + + Configure RADIUS provider manually + + + SCIM configuration + + + Configure SCIM provider manually + + + Saving Application... + + + Authentik was unable to save this application: + + + Your application has been saved + + + In the Application: + + + In the Provider: + + + Method's display Name. + + + Use this provider with nginx's auth_request or traefik's + forwardAuth. Each application/domain needs its own provider. + Additionally, on each domain, /outpost.goauthentik.io must be + routed to the outpost (when using a managed outpost, this is done for you). + Custom attributes @@ -5951,6 +5896,9 @@ Bindings to groups/users are checked against the user of the event. Role Info + + + Pseudolocale (for testing) diff --git a/web/xliff/fr.xlf b/web/xliff/fr.xlf index d4f94ea4c7ff..15eb5b863494 100644 --- a/web/xliff/fr.xlf +++ b/web/xliff/fr.xlf @@ -1,4 +1,4 @@ - + @@ -613,9 +613,9 @@ Il y a jour(s) - The URL "" was not found. - L'URL " - " n'a pas été trouvée. + The URL "" was not found. + L'URL " + " n'a pas été trouvée. @@ -1067,8 +1067,8 @@ Il y a jour(s) - To allow any redirect URI, set this value to ".*". Be aware of the possible security implications this can have. - Pour permettre n'importe quelle URI de redirection, définissez cette valeur sur ".*". Soyez conscient des possibles implications de sécurité que cela peut avoir. + To allow any redirect URI, set this value to ".*". Be aware of the possible security implications this can have. + Pour permettre n'importe quelle URI de redirection, définissez cette valeur sur ".*". Soyez conscient des possibles implications de sécurité que cela peut avoir. @@ -1640,7 +1640,7 @@ Il y a jour(s) Token to authenticate with. Currently only bearer authentication is supported. - Jeton d'authentification à utiliser. Actuellement, seule l'authentification "bearer authentication" est prise en charge. + Jeton d'authentification à utiliser. Actuellement, seule l'authentification "bearer authentication" est prise en charge. @@ -1808,8 +1808,8 @@ Il y a jour(s) - Either input a full URL, a relative path, or use 'fa://fa-test' to use the Font Awesome icon "fa-test". - Entrez une URL complète, un chemin relatif ou utilisez 'fa://fa-test' pour utiliser l'icône Font Awesome "fa-test". + Either input a full URL, a relative path, or use 'fa://fa-test' to use the Font Awesome icon "fa-test". + Entrez une URL complète, un chemin relatif ou utilisez 'fa://fa-test' pour utiliser l'icône Font Awesome "fa-test". @@ -1836,11 +1836,6 @@ Il y a jour(s) Slug Slug - - - Internal application name, used in URLs. - Nom de l'application interne, utilisé dans les URLs. - Optionally enter a group name. Applications with identical groups are shown grouped together. @@ -1856,11 +1851,6 @@ Il y a jour(s) Select a provider that this application should use. Sélectionnez un fournisseur que cette application doit utiliser. - - - Backchannel providers - Fournisseurs backchannel - Select backchannel providers which augment the functionality of the main provider. @@ -2226,11 +2216,6 @@ Il y a jour(s) NameID attribute Attribut NameID - - - SCIM provider is in preview. - Le fournisseur SCIM est en aperçu. - Warning: Provider is not assigned to an application as backchannel provider. @@ -2251,46 +2236,11 @@ Il y a jour(s) Run sync again Relancer la synchro - - - Application details - Détails de l'application - - - - Create application - Créer une application - - - - Additional UI settings - Paramètres d'interface additionnels - - - - OAuth2/OIDC - OAuth2/OIDC - Modern applications, APIs and Single-page applications. Applications modernes, API et applications à page unique. - - - SAML - SAML - - - - XML-based SSO standard. Use this if your application only supports SAML. - Norme SSO basée sur XML. Utilisez cette option si votre application ne soutient que SAML. - - - - Legacy applications which don't natively support SSO. - Les applications anciennes qui ne supportent pas nativement un SSO. - LDAP @@ -2301,166 +2251,11 @@ Il y a jour(s) Provide an LDAP interface for applications and users to authenticate against. Fournir une interface LDAP permettant aux applications et aux utilisateurs de s'authentifier. - - - Link - Lien - - - - Authentication method - Méthode d'authentification - - - - LDAP details - Détails LDAP - - - - Create service account - Créer un compte de service - - - - Create provider - Créer un fournisseur - - - - Application Link - Lien de l’application - - - - URL which will be opened when a user clicks on the application. - URL qui sera ouverte lorsqu'un utilisateur clique sur l'application. - - - - Method details - Détails de la méthode - - - - This configuration can be used to authenticate to authentik with other APIs other otherwise programmatically. - Cette configuration peut être utilisée pour s'authentifier auprès d'authentik avec d'autres API ou de manière programmatique. - - - - By default, all service accounts can authenticate as this application, as long as they have a valid token of the type app-password. - Par défaut, tous les comptes de services peuvent se connecter à cette application, tant qu'ils ont un jeton valide du type app-password. - - - - Web application - Application Web - - - - Applications which handle the authentication server-side (for example, Python, Go, Rust, Java, PHP) - Applications qui s’occupent de l’authentification côté serveur (par exemple Python, Go, Rust, Java, PHP) - - - - Single-page applications - Applications à page unique - - - - Single-page applications which handle authentication in the browser (for example, Javascript, Angular, React, Vue) - Applications à page unique qui gèrent l'authentification dans le navigateur (par exemple, Javascript, Angular, React, Vue). - - - - Native application - Application native - - - - Applications which redirect users to a non-web callback (for example, Android, iOS) - Applications qui redirigent les utilisateurs vers un callback non web (par exemple, Android, iOS) - - - - API - API - - - - Authentication without user interaction, or machine-to-machine authentication. - Authentification sans interaction avec l'utilisateur, ou authentification de machine à machine. - - - - Application type - Type d’application - - - - Flow used when users access this application. - Flux utilisé lorsque les utilisateurs accèdent à cette application. - - - - Proxy details - Détails du Proxy - - - - External domain - Domaine externe - - - - External domain you will be accessing the domain from. - Domaine externe à partir duquel vous accéderez au domaine. - - - - Import SAML Metadata - Importer des métadonnées SAML - - - - Import the metadata document of the applicaation you want to configure. - Importez le document de métadonnées de l'application que vous souhaitez configurer. - - - - Manual configuration - Configuration manuelle - - - - Manually configure SAML - Configurer SAML manuellement - - - - SAML details - Détails SAML - - - - URL that authentik will redirect back to after successful authentication. - URL vers laquelle authentik redirigera après une authentification réussie. - - - - Import SAML metadata - Importer des métadonnées SAML - New application Nouvelle application - - - Create a new application. - Créer une nouvelle application. - Applications @@ -3142,7 +2937,7 @@ doesn't pass when either or both of the selected options are equal or above the To use SSL instead, use 'ldaps://' and disable this option. - Pour utiliser SSL à la base, utilisez "ldaps://" et désactviez cette option. + Pour utiliser SSL à la base, utilisez "ldaps://" et désactviez cette option. @@ -3231,8 +3026,8 @@ doesn't pass when either or both of the selected options are equal or above the - Field which contains members of a group. Note that if using the "memberUid" field, the value is assumed to contain a relative distinguished name. e.g. 'memberUid=some-user' instead of 'memberUid=cn=some-user,ou=groups,...' - Champ qui contient les membres d'un groupe. Si vous utilisez le champ "memberUid", la valeur est censée contenir un nom distinctif relatif, par exemple 'memberUid=un-utilisateur' au lieu de 'memberUid=cn=un-utilisateur,ou=groups,...' + Field which contains members of a group. Note that if using the "memberUid" field, the value is assumed to contain a relative distinguished name. e.g. 'memberUid=some-user' instead of 'memberUid=cn=some-user,ou=groups,...' + Champ qui contient les membres d'un groupe. Si vous utilisez le champ "memberUid", la valeur est censée contenir un nom distinctif relatif, par exemple 'memberUid=un-utilisateur' au lieu de 'memberUid=cn=un-utilisateur,ou=groups,...' @@ -3527,7 +3322,7 @@ doesn't pass when either or both of the selected options are equal or above the Time offset when temporary users should be deleted. This only applies if your IDP uses the NameID Format 'transient', and the user doesn't log out manually. - Moment où les utilisateurs temporaires doivent être supprimés. Cela ne s'applique que si votre IDP utilise le format NameID "transient" et que l'utilisateur ne se déconnecte pas manuellement. + Moment où les utilisateurs temporaires doivent être supprimés. Cela ne s'applique que si votre IDP utilise le format NameID "transient" et que l'utilisateur ne se déconnecte pas manuellement. @@ -3695,7 +3490,7 @@ doesn't pass when either or both of the selected options are equal or above the Optionally set the 'FriendlyName' value of the Assertion attribute. - Indiquer la valeur "FriendlyName" de l'attribut d'assertion (optionnel) + Indiquer la valeur "FriendlyName" de l'attribut d'assertion (optionnel) @@ -4024,8 +3819,8 @@ doesn't pass when either or both of the selected options are equal or above the - When using an external logging solution for archiving, this can be set to "minutes=5". - En cas d'utilisation d'une solution de journalisation externe pour l'archivage, cette valeur peut être fixée à "minutes=5". + When using an external logging solution for archiving, this can be set to "minutes=5". + En cas d'utilisation d'une solution de journalisation externe pour l'archivage, cette valeur peut être fixée à "minutes=5". @@ -4034,8 +3829,8 @@ doesn't pass when either or both of the selected options are equal or above the - Format: "weeks=3;days=2;hours=3,seconds=2". - Format : "weeks=3;days=2;hours=3,seconds=2". + Format: "weeks=3;days=2;hours=3,seconds=2". + Format : "weeks=3;days=2;hours=3,seconds=2". @@ -4231,10 +4026,10 @@ doesn't pass when either or both of the selected options are equal or above the - Are you sure you want to update ""? + Are you sure you want to update ""? Êtes-vous sûr de vouloir mettre à jour - " - " ? + " + " ? @@ -5330,8 +5125,8 @@ doesn't pass when either or both of the selected options are equal or above the - A "roaming" authenticator, like a YubiKey - Un authentificateur "itinérant", comme une YubiKey + A "roaming" authenticator, like a YubiKey + Un authentificateur "itinérant", comme une YubiKey @@ -5656,7 +5451,7 @@ doesn't pass when either or both of the selected options are equal or above the Show arbitrary input fields to the user, for example during enrollment. Data is saved in the flow context under the 'prompt_data' variable. - Afficher des champs de saisie arbitraires à l'utilisateur, par exemple pendant l'inscription. Les données sont enregistrées dans le contexte du flux sous la variable "prompt_data". + Afficher des champs de saisie arbitraires à l'utilisateur, par exemple pendant l'inscription. Les données sont enregistrées dans le contexte du flux sous la variable "prompt_data". @@ -5665,10 +5460,10 @@ doesn't pass when either or both of the selected options are equal or above the - ("", of type ) + ("", of type ) - (" - ", de type + (" + ", de type ) @@ -5717,8 +5512,8 @@ doesn't pass when either or both of the selected options are equal or above the - If set to a duration above 0, the user will have the option to choose to "stay signed in", which will extend their session by the time specified here. - Si défini à une durée supérieure à 0, l'utilisateur aura la possibilité de choisir de "rester connecté", ce qui prolongera sa session jusqu'à la durée spécifiée ici. + If set to a duration above 0, the user will have the option to choose to "stay signed in", which will extend their session by the time specified here. + Si défini à une durée supérieure à 0, l'utilisateur aura la possibilité de choisir de "rester connecté", ce qui prolongera sa session jusqu'à la durée spécifiée ici. @@ -6502,7 +6297,7 @@ Les liaisons avec les groupes/utilisateurs sont vérifiées par rapport à l'uti Can be in the format of 'unix://' when connecting to a local docker daemon, using 'ssh://' to connect via SSH, or 'https://:2376' when connecting to a remote system. - Peut être au format "unix://" pour une connexion à un service docker local, "ssh://" pour une connexion via SSH, ou "https://:2376" pour une connexion à un système distant. + Peut être au format "unix://" pour une connexion à un service docker local, "ssh://" pour une connexion via SSH, ou "https://:2376" pour une connexion à un système distant. @@ -7809,7 +7604,7 @@ Les liaisons avec les groupes/utilisateurs sont vérifiées par rapport à l'uti Use this provider with nginx's auth_request or traefik's forwardAuth. Each application/domain needs its own provider. Additionally, on each domain, /outpost.goauthentik.io must be routed to the outpost (when using a managed outpost, this is done for you). - Utilisez ce fournisseur avec l'option "auth_request" de Nginx ou "forwardAuth" de Traefik. Chaque application/domaine a besoin de son propre fournisseur. De plus, sur chaque domaine, "/outpost.goauthentik.io" doit être routé vers le poste avancé (lorsque vous utilisez un poste avancé géré, cela est fait pour vous). + Utilisez ce fournisseur avec l'option "auth_request" de Nginx ou "forwardAuth" de Traefik. Chaque application/domaine a besoin de son propre fournisseur. De plus, sur chaque domaine, "/outpost.goauthentik.io" doit être routé vers le poste avancé (lorsque vous utilisez un poste avancé géré, cela est fait pour vous). Default relay state @@ -7827,6 +7622,76 @@ Les liaisons avec les groupes/utilisateurs sont vérifiées par rapport à l'uti Stage used to configure a WebAuthn authenticator (i.e. Yubikey, FaceID/Windows Hello). Étape de configuration d'un authentificateur WebAuthn (Yubikey, FaceID/Windows Hello). +<<<<<<< HEAD + + Internal application name used in URLs. + + + Submit + + + UI Settings + + + OAuth2/OpenID + + + Transparent Reverse Proxy + + + For transparent reverse proxies with required authentication + + + Forward Auth Single Application + + + For nginx's auth_request or traefix's forwardAuth + + + Forward Auth Domain Level + + + For nginx's auth_request or traefix's forwardAuth per root domain + + + Configure SAML provider manually + + + RADIUS Configuration + + + Configure RADIUS provider manually + + + SCIM configuration + + + Configure SCIM provider manually + + + Saving Application... + + + Authentik was unable to save this application: + + + Your application has been saved + + + In the Application: + + + In the Provider: + + + Method's display Name. + + + Use this provider with nginx's auth_request or traefik's + forwardAuth. Each application/domain needs its own provider. + Additionally, on each domain, /outpost.goauthentik.io must be + routed to the outpost (when using a managed outpost, this is done for you). + Custom attributes Attributs personnalisés @@ -7974,7 +7839,10 @@ Les liaisons avec les groupes/utilisateurs sont vérifiées par rapport à l'uti Role Info Informations du rôle + + + Pseudolocale (for testing) - \ No newline at end of file + diff --git a/web/xliff/pl.xlf b/web/xliff/pl.xlf index 0f43daabe6ee..62823319b2f0 100644 --- a/web/xliff/pl.xlf +++ b/web/xliff/pl.xlf @@ -1418,10 +1418,6 @@ Slug Ślimak - - Internal application name, used in URLs. - Wewnętrzna nazwa aplikacji, używana w adresach URL. - Optionally enter a group name. Applications with identical groups are shown grouped together. Opcjonalnie wprowadź nazwę grupy. Aplikacje z identycznymi grupami są wyświetlane razem. @@ -1433,9 +1429,6 @@ Select a provider that this application should use. - - Backchannel providers - Select backchannel providers which augment the functionality of the main provider. @@ -1722,9 +1715,6 @@ NameID attribute Atrybut NameID - - SCIM provider is in preview. - Warning: Provider is not assigned to an application as backchannel provider. @@ -1738,38 +1728,10 @@ Run sync again Uruchom ponownie synchronizację - - Application details - Szczegóły aplikacji - - - Create application - Utwórz aplikację - - - Additional UI settings - Dodatkowe ustawienia interfejsu użytkownika - - - OAuth2/OIDC - OAuth2/OIDC - Modern applications, APIs and Single-page applications. Nowoczesne aplikacje, API i aplikacje jednostronicowe. - - SAML - SAML - - - XML-based SSO standard. Use this if your application only supports SAML. - Standard SSO oparty na XML. Użyj tego, jeśli Twoja aplikacja obsługuje tylko SAML. - - - Legacy applications which don't natively support SSO. - Starsze aplikacje, które nie obsługują natywnego logowania jednokrotnego. - LDAP LDAP @@ -1777,128 +1739,10 @@ Provide an LDAP interface for applications and users to authenticate against. - - Link - Link - - - Authentication method - Metoda Uwierzytelnienia - - - LDAP details - Szczegóły LDAP - - - Create service account - Utwórz konto usługi - - - Create provider - Utwórz dostawcę - - - Application Link - Link do aplikacji - - - URL which will be opened when a user clicks on the application. - - - Method details - Szczegóły metody - - - This configuration can be used to authenticate to authentik with other APIs other otherwise programmatically. - - - By default, all service accounts can authenticate as this application, as long as they have a valid token of the type app-password. - - - Web application - Aplikacja internetowa - - - Applications which handle the authentication server-side (for example, Python, Go, Rust, Java, PHP) - Aplikacje obsługujące uwierzytelnianie po stronie serwera (na przykład Python, Go, Rust, Java, PHP) - - - Single-page applications - Aplikacje jednostronicowe - - - Single-page applications which handle authentication in the browser (for example, Javascript, Angular, React, Vue) - - - Native application - Natywna aplikacja - - - Applications which redirect users to a non-web callback (for example, Android, iOS) - Aplikacje, które przekierowują użytkowników do nie internetowych callback (na przykład Android, iOS) - - - API - API - - - Authentication without user interaction, or machine-to-machine authentication. - Uwierzytelnianie bez interakcji użytkownika lub uwierzytelnianie między maszynami. - - - Application type - Typ aplikacji - - - Flow used when users access this application. - Przepływ używany, gdy użytkownicy uzyskują dostęp do tej aplikacji. - - - Proxy details - Dane proxy - - - External domain - Zewnętrzna domena - - - External domain you will be accessing the domain from. - Domena zewnętrzna, z której będziesz uzyskiwać dostęp do domeny. - - - Import SAML Metadata - Importuj Metadane SAML - - - Import the metadata document of the applicaation you want to configure. - - - Manual configuration - Ręczna konfiguracja - - - Manually configure SAML - Ręcznie skonfiguruj SAML - - - SAML details - Szczegóły SAML - - - URL that authentik will redirect back to after successful authentication. - - - Import SAML metadata - Importuj metadane SAML - New application Nowa aplikacja - - Create a new application. - Utwórz nową aplikację - Applications Aplikacje @@ -6080,6 +5924,76 @@ Bindings to groups/users are checked against the user of the event. Stage used to configure a WebAuthn authenticator (i.e. Yubikey, FaceID/Windows Hello). +<<<<<<< HEAD + + Internal application name used in URLs. + + + Submit + + + UI Settings + + + OAuth2/OpenID + + + Transparent Reverse Proxy + + + For transparent reverse proxies with required authentication + + + Forward Auth Single Application + + + For nginx's auth_request or traefix's forwardAuth + + + Forward Auth Domain Level + + + For nginx's auth_request or traefix's forwardAuth per root domain + + + Configure SAML provider manually + + + RADIUS Configuration + + + Configure RADIUS provider manually + + + SCIM configuration + + + Configure SCIM provider manually + + + Saving Application... + + + Authentik was unable to save this application: + + + Your application has been saved + + + In the Application: + + + In the Provider: + + + Method's display Name. + + + Use this provider with nginx's auth_request or traefik's + forwardAuth. Each application/domain needs its own provider. + Additionally, on each domain, /outpost.goauthentik.io must be + routed to the outpost (when using a managed outpost, this is done for you). + Custom attributes @@ -6190,6 +6104,9 @@ Bindings to groups/users are checked against the user of the event. Role Info + + + Pseudolocale (for testing) diff --git a/web/xliff/pseudo-LOCALE.xlf b/web/xliff/pseudo-LOCALE.xlf index c4fa2d82f0c4..3c033e526c4e 100644 --- a/web/xliff/pseudo-LOCALE.xlf +++ b/web/xliff/pseudo-LOCALE.xlf @@ -1817,11 +1817,6 @@ Slug Śĺũĝ - - - Internal application name, used in URLs. - Ĩńţēŕńàĺ àƥƥĺĩćàţĩōń ńàmē, ũśēď ĩń ŨŔĹś. - Optionally enter a group name. Applications with identical groups are shown grouped together. @@ -1837,11 +1832,6 @@ Select a provider that this application should use. Śēĺēćţ à ƥŕōvĩďēŕ ţĥàţ ţĥĩś àƥƥĺĩćàţĩōń śĥōũĺď ũśē. - - - Backchannel providers - ßàćķćĥàńńēĺ ƥŕōvĩďēŕś - Select backchannel providers which augment the functionality of the main provider. @@ -2206,7 +2196,6 @@ NameID attribute ŃàmēĨĎ àţţŕĩƀũţē - Warning: Provider is not assigned to an application as backchannel provider. @@ -2227,46 +2216,11 @@ Run sync again Ŕũń śŷńć àĝàĩń - - - Application details - Àƥƥĺĩćàţĩōń ďēţàĩĺś - - - - Create application - Ćŕēàţē àƥƥĺĩćàţĩōń - - - - Additional UI settings - Àďďĩţĩōńàĺ ŨĨ śēţţĩńĝś - - - - OAuth2/OIDC - ŌÀũţĥ2/ŌĨĎĆ - Modern applications, APIs and Single-page applications. Mōďēŕń àƥƥĺĩćàţĩōńś, ÀƤĨś àńď Śĩńĝĺē-ƥàĝē àƥƥĺĩćàţĩōńś. - - - SAML - ŚÀMĹ - - - - XML-based SSO standard. Use this if your application only supports SAML. - XMĹ-ƀàśēď ŚŚŌ śţàńďàŕď. Ũśē ţĥĩś ĩƒ ŷōũŕ àƥƥĺĩćàţĩōń ōńĺŷ śũƥƥōŕţś ŚÀMĹ. - - - - Legacy applications which don't natively support SSO. - Ĺēĝàćŷ àƥƥĺĩćàţĩōńś ŵĥĩćĥ ďōń'ţ ńàţĩvēĺŷ śũƥƥōŕţ ŚŚŌ. - LDAP @@ -2277,166 +2231,11 @@ Provide an LDAP interface for applications and users to authenticate against. Ƥŕōvĩďē àń ĹĎÀƤ ĩńţēŕƒàćē ƒōŕ àƥƥĺĩćàţĩōńś àńď ũśēŕś ţō àũţĥēńţĩćàţē àĝàĩńśţ. - - - Link - Ĺĩńķ - - - - Authentication method - Àũţĥēńţĩćàţĩōń mēţĥōď - - - - LDAP details - ĹĎÀƤ ďēţàĩĺś - - - - Create service account - Ćŕēàţē śēŕvĩćē àććōũńţ - - - - Create provider - Ćŕēàţē ƥŕōvĩďēŕ - - - - Application Link - Àƥƥĺĩćàţĩōń Ĺĩńķ - - - - URL which will be opened when a user clicks on the application. - ŨŔĹ ŵĥĩćĥ ŵĩĺĺ ƀē ōƥēńēď ŵĥēń à ũśēŕ ćĺĩćķś ōń ţĥē àƥƥĺĩćàţĩōń. - - - - Method details - Mēţĥōď ďēţàĩĺś - - - - This configuration can be used to authenticate to authentik with other APIs other otherwise programmatically. - Ţĥĩś ćōńƒĩĝũŕàţĩōń ćàń ƀē ũśēď ţō àũţĥēńţĩćàţē ţō àũţĥēńţĩķ ŵĩţĥ ōţĥēŕ ÀƤĨś ōţĥēŕ ōţĥēŕŵĩśē ƥŕōĝŕàmmàţĩćàĺĺŷ. - - - - By default, all service accounts can authenticate as this application, as long as they have a valid token of the type app-password. - ßŷ ďēƒàũĺţ, àĺĺ śēŕvĩćē àććōũńţś ćàń àũţĥēńţĩćàţē àś ţĥĩś àƥƥĺĩćàţĩōń, àś ĺōńĝ àś ţĥēŷ ĥàvē à vàĺĩď ţōķēń ōƒ ţĥē ţŷƥē àƥƥ-ƥàśśŵōŕď. - - - - Web application - Ŵēƀ àƥƥĺĩćàţĩōń - - - - Applications which handle the authentication server-side (for example, Python, Go, Rust, Java, PHP) - Àƥƥĺĩćàţĩōńś ŵĥĩćĥ ĥàńďĺē ţĥē àũţĥēńţĩćàţĩōń śēŕvēŕ-śĩďē (ƒōŕ ēxàmƥĺē, Ƥŷţĥōń, Ĝō, Ŕũśţ, ĵàvà, ƤĤƤ) - - - - Single-page applications - Śĩńĝĺē-ƥàĝē àƥƥĺĩćàţĩōńś - - - - Single-page applications which handle authentication in the browser (for example, Javascript, Angular, React, Vue) - Śĩńĝĺē-ƥàĝē àƥƥĺĩćàţĩōńś ŵĥĩćĥ ĥàńďĺē àũţĥēńţĩćàţĩōń ĩń ţĥē ƀŕōŵśēŕ (ƒōŕ ēxàmƥĺē, ĵàvàśćŕĩƥţ, Àńĝũĺàŕ, Ŕēàćţ, Vũē) - - - - Native application - Ńàţĩvē àƥƥĺĩćàţĩōń - - - - Applications which redirect users to a non-web callback (for example, Android, iOS) - Àƥƥĺĩćàţĩōńś ŵĥĩćĥ ŕēďĩŕēćţ ũśēŕś ţō à ńōń-ŵēƀ ćàĺĺƀàćķ (ƒōŕ ēxàmƥĺē, Àńďŕōĩď, ĩŌŚ) - - - - API - ÀƤĨ - - - - Authentication without user interaction, or machine-to-machine authentication. - Àũţĥēńţĩćàţĩōń ŵĩţĥōũţ ũśēŕ ĩńţēŕàćţĩōń, ōŕ màćĥĩńē-ţō-màćĥĩńē àũţĥēńţĩćàţĩōń. - - - - Application type - Àƥƥĺĩćàţĩōń ţŷƥē - - - - Flow used when users access this application. - Ƒĺōŵ ũśēď ŵĥēń ũśēŕś àććēśś ţĥĩś àƥƥĺĩćàţĩōń. - - - - Proxy details - Ƥŕōxŷ ďēţàĩĺś - - - - External domain - Ēxţēŕńàĺ ďōmàĩń - - - - External domain you will be accessing the domain from. - Ēxţēŕńàĺ ďōmàĩń ŷōũ ŵĩĺĺ ƀē àććēśśĩńĝ ţĥē ďōmàĩń ƒŕōm. - - - - Import SAML Metadata - Ĩmƥōŕţ ŚÀMĹ Mēţàďàţà - - - - Import the metadata document of the applicaation you want to configure. - Ĩmƥōŕţ ţĥē mēţàďàţà ďōćũmēńţ ōƒ ţĥē àƥƥĺĩćààţĩōń ŷōũ ŵàńţ ţō ćōńƒĩĝũŕē. - - - - Manual configuration - Màńũàĺ ćōńƒĩĝũŕàţĩōń - - - - Manually configure SAML - Màńũàĺĺŷ ćōńƒĩĝũŕē ŚÀMĹ - - - - SAML details - ŚÀMĹ ďēţàĩĺś - - - - URL that authentik will redirect back to after successful authentication. - ŨŔĹ ţĥàţ àũţĥēńţĩķ ŵĩĺĺ ŕēďĩŕēćţ ƀàćķ ţō àƒţēŕ śũććēśśƒũĺ àũţĥēńţĩćàţĩōń. - - - - Import SAML metadata - Ĩmƥōŕţ ŚÀMĹ mēţàďàţà - New application Ńēŵ àƥƥĺĩćàţĩōń - - - Create a new application. - Ćŕēàţē à ńēŵ àƥƥĺĩćàţĩōń. - Applications @@ -7762,6 +7561,101 @@ Bindings to groups/users are checked against the user of the event. Stage used to configure a WebAuthn authenticator (i.e. Yubikey, FaceID/Windows Hello). Śţàĝē ũśēď ţō ćōńƒĩĝũŕē à ŴēƀÀũţĥń àũţĥēńţĩćàţōŕ (ĩ.ē. Ŷũƀĩķēŷ, ƑàćēĨĎ/Ŵĩńďōŵś Ĥēĺĺō). +<<<<<<< HEAD + + Internal application name used in URLs. + Ĩńţēŕńàĺ àƥƥĺĩćàţĩōń ńàmē ũśēď ĩń ŨŔĹś. + + + Submit + Śũƀmĩţ + + + UI Settings + ŨĨ Śēţţĩńĝś + + + OAuth2/OpenID + ŌÀũţĥ2/ŌƥēńĨĎ + + + Transparent Reverse Proxy + Ţŕàńśƥàŕēńţ Ŕēvēŕśē Ƥŕōxŷ + + + For transparent reverse proxies with required authentication + Ƒōŕ ţŕàńśƥàŕēńţ ŕēvēŕśē ƥŕōxĩēś ŵĩţĥ ŕēǫũĩŕēď àũţĥēńţĩćàţĩōń + + + Forward Auth Single Application + Ƒōŕŵàŕď Àũţĥ Śĩńĝĺē Àƥƥĺĩćàţĩōń + + + For nginx's auth_request or traefix's forwardAuth + Ƒōŕ ńĝĩńx'ś àũţĥ_ŕēǫũēśţ ōŕ ţŕàēƒĩx'ś ƒōŕŵàŕďÀũţĥ + + + Forward Auth Domain Level + Ƒōŕŵàŕď Àũţĥ Ďōmàĩń Ĺēvēĺ + + + For nginx's auth_request or traefix's forwardAuth per root domain + Ƒōŕ ńĝĩńx'ś àũţĥ_ŕēǫũēśţ ōŕ ţŕàēƒĩx'ś ƒōŕŵàŕďÀũţĥ ƥēŕ ŕōōţ ďōmàĩń + + + Configure SAML provider manually + Ćōńƒĩĝũŕē ŚÀMĹ ƥŕōvĩďēŕ màńũàĺĺŷ + + + RADIUS Configuration + ŔÀĎĨŨŚ Ćōńƒĩĝũŕàţĩōń + + + Configure RADIUS provider manually + Ćōńƒĩĝũŕē ŔÀĎĨŨŚ ƥŕōvĩďēŕ màńũàĺĺŷ + + + SCIM configuration + ŚĆĨM ćōńƒĩĝũŕàţĩōń + + + Configure SCIM provider manually + Ćōńƒĩĝũŕē ŚĆĨM ƥŕōvĩďēŕ màńũàĺĺŷ + + + Saving Application... + Śàvĩńĝ Àƥƥĺĩćàţĩōń... + + + Authentik was unable to save this application: + Àũţĥēńţĩķ ŵàś ũńàƀĺē ţō śàvē ţĥĩś àƥƥĺĩćàţĩōń: + + + Your application has been saved + Ŷōũŕ àƥƥĺĩćàţĩōń ĥàś ƀēēń śàvēď + + + In the Application: + Ĩń ţĥē Àƥƥĺĩćàţĩōń: + + + In the Provider: + Ĩń ţĥē Ƥŕōvĩďēŕ: + + + Method's display Name. + Mēţĥōď'ś ďĩśƥĺàŷ Ńàmē. + + + Use this provider with nginx's auth_request or traefik's + forwardAuth. Each application/domain needs its own provider. + Additionally, on each domain, /outpost.goauthentik.io must be + routed to the outpost (when using a managed outpost, this is done for you). + Ũśē ţĥĩś ƥŕōvĩďēŕ ŵĩţĥ ńĝĩńx'ś àũţĥ_ŕēǫũēśţ ōŕ ţŕàēƒĩķ'ś + ƒōŕŵàŕďÀũţĥ. Ēàćĥ àƥƥĺĩćàţĩōń/ďōmàĩń ńēēďś ĩţś ōŵń ƥŕōvĩďēŕ. + Àďďĩţĩōńàĺĺŷ, ōń ēàćĥ ďōmàĩń, /ōũţƥōśţ.ĝōàũţĥēńţĩķ.ĩō mũśţ ƀē + ŕōũţēď ţō ţĥē ōũţƥōśţ (ŵĥēń ũśĩńĝ à màńàĝēď ōũţƥōśţ, ţĥĩś ĩś ďōńē ƒōŕ ŷōũ). + Custom attributes Ćũśţōm àţţŕĩƀũţēś @@ -7776,109 +7670,142 @@ Bindings to groups/users are checked against the user of the event. Failed to fetch + Ƒàĩĺēď ţō ƒēţćĥ Failed to fetch data. + Ƒàĩĺēď ţō ƒēţćĥ ďàţà. Successfully assigned permission. + Śũććēśśƒũĺĺŷ àśśĩĝńēď ƥēŕmĩśśĩōń. Role + Ŕōĺē Assign + Àśśĩĝń Assign permission to role + Àśśĩĝń ƥēŕmĩśśĩōń ţō ŕōĺē Assign to new role + Àśśĩĝń ţō ńēŵ ŕōĺē Directly assigned + Ďĩŕēćţĺŷ àśśĩĝńēď Assign permission to user + Àśśĩĝń ƥēŕmĩśśĩōń ţō ũśēŕ Assign to new user + Àśśĩĝń ţō ńēŵ ũśēŕ User Object Permissions + Ũśēŕ ŌƀĴēćţ Ƥēŕmĩśśĩōńś Role Object Permissions + Ŕōĺē ŌƀĴēćţ Ƥēŕmĩśśĩōńś Roles + Ŕōĺēś Select roles to grant this groups' users' permissions from the selected roles. + Śēĺēćţ ŕōĺēś ţō ĝŕàńţ ţĥĩś ĝŕōũƥś' ũśēŕś' ƥēŕmĩśśĩōńś ƒŕōm ţĥē śēĺēćţēď ŕōĺēś. Update Permissions + Ũƥďàţē Ƥēŕmĩśśĩōńś Editing is disabled for managed tokens + Ēďĩţĩńĝ ĩś ďĩśàƀĺēď ƒōŕ màńàĝēď ţōķēńś Select permissions to grant + Śēĺēćţ ƥēŕmĩśśĩōńś ţō ĝŕàńţ Permissions to add + Ƥēŕmĩśśĩōńś ţō àďď Select permissions + Śēĺēćţ ƥēŕmĩśśĩōńś Assign permission + Àśśĩĝń ƥēŕmĩśśĩōń Permission(s) + Ƥēŕmĩśśĩōń(ś) Permission + Ƥēŕmĩśśĩōń User doesn't have view permission so description cannot be retrieved. + Ũśēŕ ďōēśń'ţ ĥàvē vĩēŵ ƥēŕmĩśśĩōń śō ďēśćŕĩƥţĩōń ćàńńōţ ƀē ŕēţŕĩēvēď. Assigned permissions + Àśśĩĝńēď ƥēŕmĩśśĩōńś Assigned global permissions + Àśśĩĝńēď ĝĺōƀàĺ ƥēŕmĩśśĩōńś Assigned object permissions + Àśśĩĝńēď ōƀĴēćţ ƥēŕmĩśśĩōńś Successfully updated role. + Śũććēśśƒũĺĺŷ ũƥďàţēď ŕōĺē. Successfully created role. + Śũććēśśƒũĺĺŷ ćŕēàţēď ŕōĺē. Manage roles which grant permissions to objects within authentik. + Màńàĝē ŕōĺēś ŵĥĩćĥ ĝŕàńţ ƥēŕmĩśśĩōńś ţō ōƀĴēćţś ŵĩţĥĩń àũţĥēńţĩķ. Role(s) + Ŕōĺē(ś) Update Role + Ũƥďàţē Ŕōĺē Create Role + Ćŕēàţē Ŕōĺē Role doesn't have view permission so description cannot be retrieved. + Ŕōĺē ďōēśń'ţ ĥàvē vĩēŵ ƥēŕmĩśśĩōń śō ďēśćŕĩƥţĩōń ćàńńōţ ƀē ŕēţŕĩēvēď. Role + Ŕōĺē Role Info + Ŕōĺē Ĩńƒō - - - + diff --git a/web/xliff/tr.xlf b/web/xliff/tr.xlf index a2d79415f7b3..0d8e200a7ce6 100644 --- a/web/xliff/tr.xlf +++ b/web/xliff/tr.xlf @@ -1377,10 +1377,6 @@ Slug Kısa İsim - - Internal application name, used in URLs. - URL'lerde kullanılan dahili uygulama adı. - Optionally enter a group name. Applications with identical groups are shown grouped together. @@ -1391,9 +1387,6 @@ Select a provider that this application should use. - - Backchannel providers - Select backchannel providers which augment the functionality of the main provider. @@ -1667,9 +1660,6 @@ NameID attribute - - SCIM provider is in preview. - Warning: Provider is not assigned to an application as backchannel provider. @@ -1683,30 +1673,9 @@ Run sync again Eşzamanlamayı tekrar çalıştır - - Application details - - - Create application - - - Additional UI settings - - - OAuth2/OIDC - Modern applications, APIs and Single-page applications. - - SAML - - - XML-based SSO standard. Use this if your application only supports SAML. - - - Legacy applications which don't natively support SSO. - LDAP LDAP @@ -1714,103 +1683,9 @@ Provide an LDAP interface for applications and users to authenticate against. - - Link - - - Authentication method - - - LDAP details - - - Create service account - - - Create provider - Sağlayıcı oluştur - - - Application Link - - - URL which will be opened when a user clicks on the application. - - - Method details - - - This configuration can be used to authenticate to authentik with other APIs other otherwise programmatically. - - - By default, all service accounts can authenticate as this application, as long as they have a valid token of the type app-password. - - - Web application - - - Applications which handle the authentication server-side (for example, Python, Go, Rust, Java, PHP) - - - Single-page applications - - - Single-page applications which handle authentication in the browser (for example, Javascript, Angular, React, Vue) - - - Native application - - - Applications which redirect users to a non-web callback (for example, Android, iOS) - - - API - - - Authentication without user interaction, or machine-to-machine authentication. - - - Application type - - - Flow used when users access this application. - - - Proxy details - - - External domain - - - External domain you will be accessing the domain from. - - - Import SAML Metadata - - - Import the metadata document of the applicaation you want to configure. - - - Manual configuration - - - Manually configure SAML - - - SAML details - - - URL that authentik will redirect back to after successful authentication. - - - Import SAML metadata - New application - - Create a new application. - Applications Uygulamalar @@ -5834,6 +5709,76 @@ Bindings to groups/users are checked against the user of the event. Stage used to configure a WebAuthn authenticator (i.e. Yubikey, FaceID/Windows Hello). +<<<<<<< HEAD + + Internal application name used in URLs. + + + Submit + + + UI Settings + + + OAuth2/OpenID + + + Transparent Reverse Proxy + + + For transparent reverse proxies with required authentication + + + Forward Auth Single Application + + + For nginx's auth_request or traefix's forwardAuth + + + Forward Auth Domain Level + + + For nginx's auth_request or traefix's forwardAuth per root domain + + + Configure SAML provider manually + + + RADIUS Configuration + + + Configure RADIUS provider manually + + + SCIM configuration + + + Configure SCIM provider manually + + + Saving Application... + + + Authentik was unable to save this application: + + + Your application has been saved + + + In the Application: + + + In the Provider: + + + Method's display Name. + + + Use this provider with nginx's auth_request or traefik's + forwardAuth. Each application/domain needs its own provider. + Additionally, on each domain, /outpost.goauthentik.io must be + routed to the outpost (when using a managed outpost, this is done for you). + Custom attributes @@ -5944,6 +5889,9 @@ Bindings to groups/users are checked against the user of the event. Role Info + + + Pseudolocale (for testing) diff --git a/web/xliff/zh-Hans.xlf b/web/xliff/zh-Hans.xlf index cf3cfab8d8e2..7c0e0c445273 100644 --- a/web/xliff/zh-Hans.xlf +++ b/web/xliff/zh-Hans.xlf @@ -1837,11 +1837,6 @@ Slug Slug - - - Internal application name, used in URLs. - 应用的内部名称,在 URL 中使用。 - Optionally enter a group name. Applications with identical groups are shown grouped together. @@ -1857,11 +1852,6 @@ Select a provider that this application should use. 选择此应用应该使用的提供程序。 - - - Backchannel providers - 反向通道提供程序 - Select backchannel providers which augment the functionality of the main provider. @@ -2227,11 +2217,6 @@ NameID attribute NameID 属性 - - - SCIM provider is in preview. - SCIM 提供程序处于预览状态。 - Warning: Provider is not assigned to an application as backchannel provider. @@ -2252,46 +2237,11 @@ Run sync again 再次运行同步 - - - Application details - 应用程序详情 - - - - Create application - 创建应用程序 - - - - Additional UI settings - 其他界面设置 - - - - OAuth2/OIDC - OAuth2/OIDC - Modern applications, APIs and Single-page applications. 现代应用程序、API 与单页应用程序。 - - - SAML - SAML - - - - XML-based SSO standard. Use this if your application only supports SAML. - 基于 XML 的 SSO 标准。如果您的应用程序仅支持 SAML 则应使用。 - - - - Legacy applications which don't natively support SSO. - 不原生支持 SSO 的传统应用程序。 - LDAP @@ -2302,166 +2252,11 @@ Provide an LDAP interface for applications and users to authenticate against. 为应用程序和用户提供 LDAP 接口以进行身份​​验证。 - - - Link - 链接 - - - - Authentication method - 身份验证方法 - - - - LDAP details - LDAP 详情 - - - - Create service account - 创建服务账户 - - - - Create provider - 创建提供程序 - - - - Application Link - 应用程序链接 - - - - URL which will be opened when a user clicks on the application. - 用户点击应用程序时将打开的 URL。 - - - - Method details - 方法详情 - - - - This configuration can be used to authenticate to authentik with other APIs other otherwise programmatically. - 此配置可用于通过其他 API 或以编程方式处理 authentik 身份验证。 - - - - By default, all service accounts can authenticate as this application, as long as they have a valid token of the type app-password. - 默认情况下,所有服务账户都可以作为此应用程序进行身份验证,只要它们拥有 app-password 类型的有效令牌。 - - - - Web application - Web 应用程序 - - - - Applications which handle the authentication server-side (for example, Python, Go, Rust, Java, PHP) - 在服务端处理身份验证的应用程序(例如 Python、Go、Rust、Java、PHP) - - - - Single-page applications - 单页应用程序 - - - - Single-page applications which handle authentication in the browser (for example, Javascript, Angular, React, Vue) - 在浏览器内处理身份验证的单页应用程序(例如 Javascript、Angular、React、Vue) - - - - Native application - 原生应用程序 - - - - Applications which redirect users to a non-web callback (for example, Android, iOS) - 重定向用户到非 Web 回调的应用程序(例如 Android、iOS) - - - - API - API - - - - Authentication without user interaction, or machine-to-machine authentication. - 无需用户操作的身份验证,或 M2M(机器到机器)身份验证。 - - - - Application type - 应用程序类型 - - - - Flow used when users access this application. - 用户访问此应用程序时使用的流程。 - - - - Proxy details - 代理详情 - - - - External domain - 外部域名 - - - - External domain you will be accessing the domain from. - 您将从此外部域名访问域名。 - - - - Import SAML Metadata - 导入 SAML 元数据 - - - - Import the metadata document of the applicaation you want to configure. - 导入您要配置的应用程序的元数据文档。 - - - - Manual configuration - 手动配置 - - - - Manually configure SAML - 手动配置 SAML - - - - SAML details - SAML 详情 - - - - URL that authentik will redirect back to after successful authentication. - 身份验证成功后,authentik 将重定向回的 URL。 - - - - Import SAML metadata - 导入 SAML 元数据 - New application 新应用程序 - - - Create a new application. - 创建一个新应用程序。 - Applications @@ -7829,6 +7624,76 @@ Bindings to groups/users are checked against the user of the event. Stage used to configure a WebAuthn authenticator (i.e. Yubikey, FaceID/Windows Hello). 用来配置 WebAuthn 身份验证器(即 Yubikey、FaceID/Windows Hello)的阶段。 +<<<<<<< HEAD + + Internal application name used in URLs. + + + Submit + + + UI Settings + + + OAuth2/OpenID + + + Transparent Reverse Proxy + + + For transparent reverse proxies with required authentication + + + Forward Auth Single Application + + + For nginx's auth_request or traefix's forwardAuth + + + Forward Auth Domain Level + + + For nginx's auth_request or traefix's forwardAuth per root domain + + + Configure SAML provider manually + + + RADIUS Configuration + + + Configure RADIUS provider manually + + + SCIM configuration + + + Configure SCIM provider manually + + + Saving Application... + + + Authentik was unable to save this application: + + + Your application has been saved + + + In the Application: + + + In the Provider: + + + Method's display Name. + + + Use this provider with nginx's auth_request or traefik's + forwardAuth. Each application/domain needs its own provider. + Additionally, on each domain, /outpost.goauthentik.io must be + routed to the outpost (when using a managed outpost, this is done for you). + Custom attributes 自定义属性 @@ -7941,6 +7806,9 @@ Bindings to groups/users are checked against the user of the event. Role Info + + + Pseudolocale (for testing) diff --git a/web/xliff/zh-Hant.xlf b/web/xliff/zh-Hant.xlf index 8cfcc6044ffc..9db16c2f6766 100644 --- a/web/xliff/zh-Hant.xlf +++ b/web/xliff/zh-Hant.xlf @@ -1390,10 +1390,6 @@ Slug Slug - - Internal application name, used in URLs. - 应用的内部名称,在URL中使用。 - Optionally enter a group name. Applications with identical groups are shown grouped together. 输入可选的分组名称。分组相同的应用程序会显示在一起。 @@ -1405,9 +1401,6 @@ Select a provider that this application should use. - - Backchannel providers - Select backchannel providers which augment the functionality of the main provider. @@ -1681,9 +1674,6 @@ NameID attribute - - SCIM provider is in preview. - Warning: Provider is not assigned to an application as backchannel provider. @@ -1697,31 +1687,9 @@ Run sync again 再次运行同步 - - Application details - - - Create application - - - Additional UI settings - - - OAuth2/OIDC - Modern applications, APIs and Single-page applications. - - SAML - SAML - - - XML-based SSO standard. Use this if your application only supports SAML. - - - Legacy applications which don't natively support SSO. - LDAP LDAP @@ -1729,106 +1697,9 @@ Provide an LDAP interface for applications and users to authenticate against. - - Link - - - Authentication method - - - LDAP details - LDAP 详情 - - - Create service account - - - Create provider - 创建提供商 - - - Application Link - - - URL which will be opened when a user clicks on the application. - - - Method details - - - This configuration can be used to authenticate to authentik with other APIs other otherwise programmatically. - - - By default, all service accounts can authenticate as this application, as long as they have a valid token of the type app-password. - - - Web application - - - Applications which handle the authentication server-side (for example, Python, Go, Rust, Java, PHP) - - - Single-page applications - - - Single-page applications which handle authentication in the browser (for example, Javascript, Angular, React, Vue) - - - Native application - - - Applications which redirect users to a non-web callback (for example, Android, iOS) - - - API - - - Authentication without user interaction, or machine-to-machine authentication. - - - Application type - - - Flow used when users access this application. - - - Proxy details - 代理详情 - - - External domain - - - External domain you will be accessing the domain from. - - - Import SAML Metadata - - - Import the metadata document of the applicaation you want to configure. - - - Manual configuration - - - Manually configure SAML - - - SAML details - SAML 详情 - - - URL that authentik will redirect back to after successful authentication. - - - Import SAML metadata - New application - - Create a new application. - Applications 应用程序 @@ -5886,6 +5757,76 @@ Bindings to groups/users are checked against the user of the event. Stage used to configure a WebAuthn authenticator (i.e. Yubikey, FaceID/Windows Hello). +<<<<<<< HEAD + + Internal application name used in URLs. + + + Submit + + + UI Settings + + + OAuth2/OpenID + + + Transparent Reverse Proxy + + + For transparent reverse proxies with required authentication + + + Forward Auth Single Application + + + For nginx's auth_request or traefix's forwardAuth + + + Forward Auth Domain Level + + + For nginx's auth_request or traefix's forwardAuth per root domain + + + Configure SAML provider manually + + + RADIUS Configuration + + + Configure RADIUS provider manually + + + SCIM configuration + + + Configure SCIM provider manually + + + Saving Application... + + + Authentik was unable to save this application: + + + Your application has been saved + + + In the Application: + + + In the Provider: + + + Method's display Name. + + + Use this provider with nginx's auth_request or traefik's + forwardAuth. Each application/domain needs its own provider. + Additionally, on each domain, /outpost.goauthentik.io must be + routed to the outpost (when using a managed outpost, this is done for you). + Custom attributes @@ -5996,6 +5937,9 @@ Bindings to groups/users are checked against the user of the event. Role Info + + + Pseudolocale (for testing) diff --git a/web/xliff/zh_TW.xlf b/web/xliff/zh_TW.xlf index 8f95191e6a52..52e66eca3a9d 100644 --- a/web/xliff/zh_TW.xlf +++ b/web/xliff/zh_TW.xlf @@ -1390,10 +1390,6 @@ Slug Slug - - Internal application name, used in URLs. - 应用的内部名称,在URL中使用。 - Optionally enter a group name. Applications with identical groups are shown grouped together. 输入可选的分组名称。分组相同的应用程序会显示在一起。 @@ -1405,9 +1401,6 @@ Select a provider that this application should use. - - Backchannel providers - Select backchannel providers which augment the functionality of the main provider. @@ -1681,9 +1674,6 @@ NameID attribute - - SCIM provider is in preview. - Warning: Provider is not assigned to an application as backchannel provider. @@ -1697,31 +1687,9 @@ Run sync again 再次运行同步 - - Application details - - - Create application - - - Additional UI settings - - - OAuth2/OIDC - Modern applications, APIs and Single-page applications. - - SAML - SAML - - - XML-based SSO standard. Use this if your application only supports SAML. - - - Legacy applications which don't natively support SSO. - LDAP LDAP @@ -1729,106 +1697,9 @@ Provide an LDAP interface for applications and users to authenticate against. - - Link - - - Authentication method - - - LDAP details - LDAP 详情 - - - Create service account - - - Create provider - 创建提供商 - - - Application Link - - - URL which will be opened when a user clicks on the application. - - - Method details - - - This configuration can be used to authenticate to authentik with other APIs other otherwise programmatically. - - - By default, all service accounts can authenticate as this application, as long as they have a valid token of the type app-password. - - - Web application - - - Applications which handle the authentication server-side (for example, Python, Go, Rust, Java, PHP) - - - Single-page applications - - - Single-page applications which handle authentication in the browser (for example, Javascript, Angular, React, Vue) - - - Native application - - - Applications which redirect users to a non-web callback (for example, Android, iOS) - - - API - - - Authentication without user interaction, or machine-to-machine authentication. - - - Application type - - - Flow used when users access this application. - - - Proxy details - 代理详情 - - - External domain - - - External domain you will be accessing the domain from. - - - Import SAML Metadata - - - Import the metadata document of the applicaation you want to configure. - - - Manual configuration - - - Manually configure SAML - - - SAML details - SAML 详情 - - - URL that authentik will redirect back to after successful authentication. - - - Import SAML metadata - New application - - Create a new application. - Applications 应用程序 @@ -5885,6 +5756,76 @@ Bindings to groups/users are checked against the user of the event. Stage used to configure a WebAuthn authenticator (i.e. Yubikey, FaceID/Windows Hello). +<<<<<<< HEAD + + Internal application name used in URLs. + + + Submit + + + UI Settings + + + OAuth2/OpenID + + + Transparent Reverse Proxy + + + For transparent reverse proxies with required authentication + + + Forward Auth Single Application + + + For nginx's auth_request or traefix's forwardAuth + + + Forward Auth Domain Level + + + For nginx's auth_request or traefix's forwardAuth per root domain + + + Configure SAML provider manually + + + RADIUS Configuration + + + Configure RADIUS provider manually + + + SCIM configuration + + + Configure SCIM provider manually + + + Saving Application... + + + Authentik was unable to save this application: + + + Your application has been saved + + + In the Application: + + + In the Provider: + + + Method's display Name. + + + Use this provider with nginx's auth_request or traefik's + forwardAuth. Each application/domain needs its own provider. + Additionally, on each domain, /outpost.goauthentik.io must be + routed to the outpost (when using a managed outpost, this is done for you). + Custom attributes @@ -5995,6 +5936,9 @@ Bindings to groups/users are checked against the user of the event. Role Info + + + Pseudolocale (for testing) From d48342f90b614a608624c16f835374ea60a08338 Mon Sep 17 00:00:00 2001 From: Tana M Berry Date: Wed, 18 Oct 2023 18:13:32 -0500 Subject: [PATCH 51/57] website/blogs: blog about sso tax (#7202) * blog on SSO tax * edits * Optimised images with calibre/image-actions * Update website/blog/2023-10-18-taxed-out-of-security/item.md Signed-off-by: Tana M Berry --------- Signed-off-by: Tana M Berry Co-authored-by: Tana Berry Co-authored-by: authentik-automation[bot] <135050075+authentik-automation[bot]@users.noreply.github.com> --- .../image1.png | Bin 0 -> 704326 bytes .../image2.png | Bin 0 -> 1321991 bytes .../image3.png | Bin 0 -> 74117 bytes .../image4.png | Bin 0 -> 376874 bytes .../2023-10-18-taxed-out-of-security/item.md | 172 ++++++++++++++++++ 5 files changed, 172 insertions(+) create mode 100644 website/blog/2023-10-18-taxed-out-of-security/image1.png create mode 100644 website/blog/2023-10-18-taxed-out-of-security/image2.png create mode 100644 website/blog/2023-10-18-taxed-out-of-security/image3.png create mode 100644 website/blog/2023-10-18-taxed-out-of-security/image4.png create mode 100644 website/blog/2023-10-18-taxed-out-of-security/item.md diff --git a/website/blog/2023-10-18-taxed-out-of-security/image1.png b/website/blog/2023-10-18-taxed-out-of-security/image1.png new file mode 100644 index 0000000000000000000000000000000000000000..e3a329d2fb8883ac827775f9aa7c71788dd30cf8 GIT binary patch literal 704326 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%0DQoMlHy2P>wCt3Q* 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
  • $0ZSaJDYU;L~oD9-pmnZA7QRIvG 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

    6zab?C)JRmN$uQmhLq6uKj!qXKu*xPFwd7 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

    ;x{?mx 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 (cM^%#4< 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 Sn3L--G8JXj-d9SSe*J&RN3q8M literal 0 HcmV?d00001 diff --git a/website/blog/2023-10-18-taxed-out-of-security/image3.png b/website/blog/2023-10-18-taxed-out-of-security/image3.png new file mode 100644 index 0000000000000000000000000000000000000000..6af01b46997521f9f1ee87741f79e4dbe806c66b GIT binary patch literal 74117 zcmbTdWmIEPm;{KsySuw<AbjfatV2?jaONCr}9ZmAKsISM2KifB^` z1S*EeXsT6%9}FJ(WybW;#t`#zo}R6r{sae9F8AHOSH3HcAFr>1)tFEiIwao#R zxy^rOFc4s%g2gHR$IAy7LMQD1IP#yLzq#ju(Ei^iQ(%m4L*M`@|M&UN#6cm#|NH6` zfzYZ>5&y3t!2|3&LLgoK@2dpAp^EpB{;wJ-5_%vR+NAzx;s5dOh93gf^Z)Cn;Qs#> zKl+IS4ITRa4jt6jC*j5ae-F7YhWLNo_=l&J;~4`Z(`VY>XGZRx7C=pFEB+Ste-`p{ zegk?B24O!it}nQ+drQ=d{6ptIt4ZKIK0V$N@U6`p6Vk^199neG)H<(WC?|4lv9s5F zUz5__JcdM$eM?n^@^~hlnP4O#Ab4WduC26hbJ_hJu>_~B9_U-B=~*M$iy*EVh{yw_N3c76l+!Se{4Q)(;l{ z_^O+sceNQXY+RFJ+c~^u92c>7n07pJQGL)M&yur=tAy!%LB zNprKu#{ff2Hryyz~k+s3OOwXR+_y19_4J+l2L1*7YIgQY2Bn996SV zhCV~@2a*^&gn19iw#rWO8B}nFu|*It#!)jUQ!vEQPl_x4rN@XXU7yZrf4LbFHXkyl zw(PjOfAn;B_iSgnAry+TF)fhnMmAz*M$OkICY#Yz6m z$#-}6aMbBg@W#@_ngf54p89Djz_)U|@^k47?;!Ps74?t!oy2GbvqQK2!pCyT!)Fo5 z@UPKs4~wEtCnZ8!vU!?ie=YAa|2v-|D$0Y~BLw;8+!o^7y-}7tbnshR!|u3d477&8 z=zL`N4SH8Tlqph(UKR%PZf`Ll1JL8O`4PZFVlO)|H=R?H)At!*LX>7>sGQTdK&0b< zUG5B5;)CY6yXE2OJ|OxK|6l*x*yI2nPmEH5au-bAuu)wq9M^&NF-LBn5g*QKfu2dn ze-`d&6-4Z6QVILg26&&l_C{AmSU?4ZaVfvYogso#Ng5cn?XEKoDgSr!FAu9b>Smh4 zg3?CGp-n&&`;StprDxjp5Od47+ zG|jOfB^Hl=93jirYHKf{k?R?4q-CWM`QCD_ZjF>KYOQ=)t^-$AjC2f19|d-{rbdjx zMcBQ+xBtQz{VZ5RgF4$F$5U2KL+r%;nihgt0HGa|oVQbaV#G%%q?K4g8yx`Sksyl_ zSE^&b-BjCBK?a7u(QUa;@xa3oJ7RNf6m$;$L?LuFqt(-?iARwhb*tj4w)sEp(lPPT z*hORih!sJLvF*=Aja|1!T@KC?Izh5&SokJHrsAqiYwh>O3b%oG@5w7F*gvFO5hJ5Z zFkmJ2yMV3xmbhqv>vLP_iD@23H}9{lIfI6QDB&!tniQX+xjziQpIkMoY5yu7SDO7} z4nbc=`^{W;j+*u}RTWV!eg@^>D5(D$kF&bib_e9|#D5Fkk)lh(rrs=X zRs}&y-?xaBS3$kltZbq~*gh~~L1THf>NKlpiKZ}OUHJIm`ETqqyD9*NTIiWSi(L&)+X7p zhzMZB!l9e@3pC$%cSO4e-VQA#^O}6X$L_OM#~xy8*e78vm}m#Tz1r0kG`U<R9|7*1$1_eqxrh~IVb|<3bNKV9zc%7Z5WkIU@vCDnl_`?PkE?F#1A8CG8Aq+G zjK7$5EI58bq?|g3Ao53+e`4zU^^JvRYws(r#|oP5k=z(RKfUw4+rzF^5T65S*?9PQ zj6_MB$KAUci$_d-b7>p>@YbsuW^-%BmK0^f%b6$Uv5Mz7(2%RN*wVX*&OxRJ?epH7 z=|5A6&ocADtmduD&C_!P=wp_@TQDBgOqFxce@-qtXrA6PY!@v{2b`p?&`#C%VeuU+SxX`<(u<-b0Gnb>>Bg(0y-`KMEOrz zHA?WN2m9Ea(;eJRF2fBTk4?iV-pcNcYsSh6g5;wxDIN4f=j9z_XqT$1@}V})Epb1{gfsJn%ey#w@+{7S54hkPq?{cqC>`y=6c&a&?- z?XSGZG#>$2nqm6SI~V^h|G=8XR}ckY7Km?MSb5Y}ZK?H@?X=U(>7+MoLm_(NqnANu-<@jB8rs zjvN#Cf#(O~A@@!0{YkX2EwAZO_z_95;nT=(RD^?Lb>-D^-fOs_1Gd-{_Y@w09(xQXoSJ$Hp7X(zdxe$75-}V;(j3% zb+Qaf+4${zBG<4-OlWQ(3Cd?>h;ZGS7-u%@k2Un)HWjwh%2Nv7nQFSKTbuVv3Hpgf zr@Nq;;If~;$`K0g-iF{;RVY5`z9L>`NNSKmR<07qi*~EP|3>%fy=u__5rQY~)hA$g zG)Un^;uC&FDIn89MZaiRYJR`;g=JMk-QZQWf9^x9LyNFZ*6AFCzG6f0c8lhduvr%z z92~x0a=r+>Ltk4uXzp3j#lS}&S_%z(nz?Ilg-3e)B>L~UM?t>SEdwdHa=9xjOkZA+ z516FlYFD{$R}4L4_mRRt#>FYggbkgP6QW;<`akoCQnMCzR&}K^U0fa9dx6k$6wNBv~ed4I^RNwdF`Q(g_AhNJfSZH)Q1 zo2L?41suM4{pM+h8hQm&rEP@`n1{-KJpxm7RMa?F*s!Z@IsaAstWm#zoK#_LnTQEWVQjWIj%7TNx_%xvsm! z+H+JbI=YLAACrCPudJd6JQ=wrb4h#o^L%;c3l^S$Gn@sIj6y>FIBi>TySLdaf(0=g{k5QGb8I3n2Uow@Hkljh~MP4?nfYUor3nbg&TNOlX~Mbq#z=it4JK zsxIzb^{tWt3n6bIFtY)Z-M&c}C z_)(grLeUgt%O@FN7X*ezO;N7!l>(Zcb96E^D4E&dTbDUdV;Mvm@$u1nFL8(Nn!$9f%afcz&T>(j9&6>LI4`5wr_EVzLg{vV~%qKhfqr9>a znFpdM>D;TisH~{E8P#muo!7lLsoUq@p~*S7@r}9p!No`(!jEtP9Fc?xM(w;XPP464=&#w*!dtJ1nwj;^c$A4ms zQ12d7akT6V0-Y`@W|y}5B!V~CbK@$iYsd+}yktN3Xt@1HMn%#(4V7U=Iit9TiT75U zS8KtW?3lf+?Q3_oCI9oKOY;MdRztr$M_qv%GxSmOB_%vx?iaxOdBosf6Hd}1RC&bm zKM}PKhK;txXF~WB$uXACUhHdi!uzX*!t7@i#9vF+DA2_M5654EE^?Up9Z-Po7r+ZQ z<0skLTHOZccD>%Ht|RbjmxI&;u+WL5ULs}wy7K4i1Za|uZELsVRnBTKENR8H5&7#E zf+yho;?3dEYoYHn+|#e>w5u!A9Y{s5!mH_@8#7&T3S{?8&dvdAV?QlBwW<*HNe?dw z-=01yTWb@k``K#^$vUkLD`Y(ln_4}3(V(BrPpr+=DdbA@cHhq>O zpr*x;`LKGk!NJjPaSxF3l5)8G_>WQ6Q~Jr*&d}~%yNnla~{D=g?+ z^*gi43v<1L!z|_tD;vmFCx=4>#^=3EeNP~pz4meYcerg*di0z?;?%`A_m*$gCPV4! zss5cId@onm|8zh1`zBga9>M{`X~gjl5jjrvH$3SMakwSH?3G`FG3o^Ft{=Ed(F~&l zKln~}vq5>Yyp?=U)$8Z27V7gGO=`oL={c@_4(emAPKSBYEi>Xe%OnsZY<<1-N79NTOfbOnsdp0fRCOXchUsgg~io^r3Cbo~{t1hSgV`Ym)lRG*@ z6nmBBH8H+_y{yj4gO*Gbj%swwT5X2jnu*^%b3~mu87Zra%iYa znSLHyk)25xj~{kV=G)1c2CQA|q#cNMb)7|Ae%t8~J@(AnFkxXNihl28X5;h^M%Q{R zYnyZUFdL$m#GW-`E}z5dbw{Hn`3$xDqnGLdwk;vz{BC<6nfO;BCa0?p++;D(BKpv5 z*`0#3VygP8F2;{1yp@v6FX3?2+u46o78XKvtpWoB-8C=XGgVsQ$sY_!_ARbNwt+v_ zvUqK^!%5bikpy<<3vT|z)Ap9zRGyM;`#T%Imb)9~Gao(+>v?&xp#YnFR?6S;)wha0 zn+Dom=>Hovul3{!5y7l=dfpx2d*Q6C8xY_zRvO#Su4iGQX1Ep;fk>u&<|L^Yi=e4s z)&xS6{FQRpV)`lUN%(MPLOdze! z548+Be(&;kqMn1yAK}xTku59*=v>&0(keckkUDFkEXU$nx|gG^Cu)5LONNk~eNmh# ztFLfg4$X6h457#J6h0KPi4rJ-m?D!n;UjNBzf#EoLLKn%aAKXx&Y1_?WPKEo85jk^ z+OC>?rTshY5EN;VaXw4~66vv4)R7@YWn?LD(9}OlR7=&3>}*&c0h5>1OHSP zpkUckCV?XtGDHy{n*$c^xRGI0e9?xafR0vT9k1@wXWyO{)>c_sJt?%GO`}>Eybm`n zbNz#hSwQMMm-Omx=GN1M3z?2jk& zgiUylwujA!V&*eKKV#4_l%C;XL!ajyTqg-KN#(RG0MEIj3zZHo!D#iOrAd~otG{2! z`dUr3FPl7j=i~jn<)izf05~5itejCfl^acfKrPe|xx+Jv@ua@k5m)%yX7Bg!N$EE7 zt)~{9Ro$24uBg3FA5&U|pie~xC73!z;w}v1i&l8M&(3h_<2H(z^ySG}m;2$4+pobm z;}Oc!Hft?p*3R>&7&8nhP)HvI#7D9uid=>V{%=_sBS4SMmQOPxjheJ98YfgPlq@^% z^s3|YVQlLV4SToy)D)em-$;0{-C$e zqJU9-t1h@Zc>}_fQ<#G4zK}9x&H-8+I5Bk5-`+d@cN)Yh^M6c30?r&R9{DJvE+B$u zn8ul-Prcqpe^7k-XjC&tSz(QDoGj& zf@#ECE#;FA(HwtD%RfDU;6It0GWfA<(oJ%#@2$0B(nFJp;+wQ}-)2#Ma)?3 z8$its$?Jq&Ma6bK$SKK?OVH3!o?_FFULXr=>Ai1s@b*R-3A!#o@MBAq1dpa8&k6cc zRa9cX7>!0#;QuE;J5tK7Zey+{gzDaKFdS@>>{&wKh>z3Yx&;LA21c&+F(9zs zQY_j?&f@=DMH+wWLAvxJ)QDe5;~!$UTCH5?L4nwS@a$P1v1e$K@?uEQNX-nEQ5VN46n+g(pq_LxE@&mO-O-h zZ3sqRuz(s}cmz^^VY!q}7fwMbr8J~B&ezC_QTe)g_h*cFI78HC)KWBk)q{eH+oTc| z9=b8%Er6Tj6Jnsbx6<)Cv<(T4JLFC5KQMDRY8!F<(03LATVJIOokV6ma9nsq`Z!rI zQYtB7m?cvnp5!AcVKwc`HJlF`z8XM-$G(d^thYHZseTuMj9C%>@LI+x)zlQG%q23P zgnp<07y!LaOb^a8F|l#65&ajL0qMvt8D zQnGt+x1L+rlxAC`fOU8a2K0aubU3?+vbK6wv;AhULTSOG#gBi~KS-n4C3`M4@RSqt zxuPJx!s!*9CHXp^uZ2+fZrAUCP;^oTX{cwFlcQ+Nf0ZE-g<>oUM6K_l;3^kzNv>b| zyFH!ea@~+z_zzQ8P|MIO9f#`=DsoPS^#^H08cvnQEt6n>oFnR-mJ|?+nuZTbwipSUo zE0WD=+a_sDh^u#xyZNd72O0MpjVmkK3yQ|vETq)0WgI3$xch1K5#oqyVb!$w8a=cx zhXWfbOH1})0&Z?J>3M%_vdnm4c(!mz3i?#=WZX!PCvrC9LpLFA(C63InkOEAtqXt@ zt=9`sI&q-ycE;yz9!ld-<6il)W^tQmvGT2v)uNbMe5Lv)6e_!gmiwm+eVx@O7wHoF z(8l)=dTBH<=6MDQSmjuUaWWz`HF-PS87+P=zXgM~=I4oU38hjzH4bS^q|17Rp{bL< zq6DEbxun^|%<_blBV|bgGJc-lmkxwc^w$4l$2!t|j--TJ4{@_c1kA&z8#hwCfK{)E zj6RHvvdRKe|JT!ZNRG7q$K&w^wsZ?Gb$VL;`a zej1oCrA&PSP48~%QWN8AXG>o4#tUiEhWnsrPDcMW)Mj4y7{xaY`h>rw7=H!ii2Vj! z8j+2!Lf(R|@RZC?jIaY;1s1oG5A3&Vtv@z9-#MELUB{VcsdZHH8|%Vb+~)noMqFx;yU-WBNKtqW-k zvQuHsht{q7;*eX_CWzkj^)#>eJuC6h)zdSBuq}fUum}pFBvmC5GD3{2@+K5{crB864u*$DM_Hl@ja;KNjDyoZb)|@!xULOvpWKF)&qE$L4vbdW> zw+Lh$*|>yI0Od%sf0yu+a`t`Wa4Sk%Xp37KBp?>?aPyz~qb_E~mT^)n8ifJ}*~x>= zJlU&Q04c^6e0)6qgA7S94Cyjmu(2tXnTl@wOUY?cy0Z%Q%j@g<#zrk!k3G+tmMfR0 zUKX4~OoT~8%7148hRu+i290BhY|;?hf|dUs(1sZ?J?~rK**$DfPg_=uszCkeM1n{3 zbFLF>gFa0fBQU8zg8x&+!Thq@)w1ld8WD*8pWeAy)nwogr&Nm|0X^C9uq0#Cq1kzC zYQAeDI5ZfT`N@33hFG-_Ulnb~{+LGv(&aK`s!A2ga%YTtn8{5GpNOZ6HBi@7RJVp~ zG%OV{Z2**30%jWxiwJGfdjm+W&%m)FJsd*DI*ZYIz3P5zLvs1zKCLx{!V*3JdYx{@ zvS@5VpzYteQ}@42kSMPGyoPixh3!!ngVn@(S8z@~QNLn)R5(Z+RidFECaEhkzA<$~ z-Y>_DV@)?Ew?Zi0n8E@V&k3SP#E3exDvWO{jZq^OLnbL6FgV!*=p@1eBMKGRW)0SO z0JW%>MDyM3#V(46vrH{w&{bYz*HfWj%L^07$#mcHiveDn>hq)g<*e0c3D4v-nxP51 zKQtQi$7~g$y^*7bS%`-F^hX3wT~J0J`f{x0*Cvi?@TISJ5w?_l)m8!TuOS1_+Tpr{ zGw`zI$cb}=oHsEG*xed&wKY|GJ#>TOgWp}TWCAk?wX$k>rlsAf`kX2bB!#aQ;Mt^& z09T{>`Sgw^1y-oTs9+1DaFE|R+pCIIObtDn2Z$Q}gS>t~_H_XOm*@W`09YyG>XA%97-&QVkjbM1!gebo z&^7=<$+e{fLMA!4Y)IDVtc90XFzKR#h&Ti6jQyC!gfUyz#P}*t20hOOU znNX7$`&$HP0BU>rJngiOPh4}nN zyiq}4k)lcm>No-<{g~E+u%|TuN(M&s-YE*w$E!`?zsOkp*dI~hpr=VbSM8**}UMk9)^J+;PlHOQeZr5%!QWi?VN-F(lp(S$>5;yNRJ{!#Gr`s4?fH6 z4-{r&AHa7CJeedNYHx*-7HUmbzH4(%wRj)j7q}Prn(TPG8K*SP=^x4QWux||ribnJ z7kyIsrEmC-oH-_O*oC$Te`p2n(&-#d#?sGW)xg;7J&Bkgg(C5S5@G^k2=0TjZJy0J z5_jwI+tspl)l>c|ir{l!G+9r@IBnUxsLaA}e*e~y&%X7u zmPB1o-Sb2PN6Pj$6}d!msu_#pfnB%h2tW$HHS11~WU^nN{9l5&4;mCi?eiJ--cIy* z5AuJeinz26#azOLncBE{pX8bJOU6lzsr@!*KP&!WIDfwbV>30(V?L}I(?n(bMdTuO zv-kj}D3|lPVh?O)uBe|*f>By#rsu88bKq`4;voN(1d&t@r(Repf+13cSd(WEK3n)5x1%v6NZ|`vn*Ey~cy|AOLYhaRyezl65ocs%Hchb~k^Atw zHqKFM;McRQhpmo}zZ7EF%wM$+=rTsvE>XU42|#E^1;0rKEp{>V><6xYg>*4U#tiLA58Wa|pJR951xuxxH=GKgvOe*qQqUiN7y`P#cRkWEdy znT)P?;j3)5c|0gv*r0W|xLL|t&TsrZU?c82=a5s0{+nlqJP%z( z5Qp9e?0DXdArhczJB#^YrAQUZ3CY|)i^;FI*Kly2&y4OUrsSXdCp*RSXnf$EawJvg z>Ev5}Xm|?;DGCvMzp}m{w*S$~K%(U0&$ z)?umChO#=2W$>b0SdyGtP8ai&+mubitB75sWx?A`V~I@ zU;myuT$mf=_RUt{nEP zmjPT>?kDL!4l8WHlNa4QM6adW(t^Xf&fiz@iV9%wG=E+n;qffnlHH;HwEXf;Og@vh~CtTK>%`Cazm4opFAa1n~#qdvI9ZSGe}^G zY(Sw8LA^e)s`AK@m$v}Q&3R`v#Mf5gtPg}>pr)WihNP8X!Sb`q!sI$M%@UjgoA3nREr5exXIf#&8Ft9e&2MzE~i?uyAWx z+0#X4(I#;`mZpVpLh9G-j)|7L&h!4_#+4XquPhvJ3P!Zy$`1_Lu0JOhUct^mtWJj= zvZi^vr%MHobd|UJ&1}KuuJHG0kK#;me&dM9=4R)*(7Rpf6FH(sJaX(QWpF6Tu zA1r2DM*cZf*(?)#(A%XuQbzy}%#E)fd)wJ)o%nh&&z#wQ$+!ej1cFJOPcm*HtmpV& z!L%_7>*75c!WXWT?wF9Djv~|J;{pGk+(C)<>-uFLV#x!lff@FT%~lD(WSkU{?%UnF zz8J_HN*gE~Fz2e_vBh&9n=`;nRhAtBdi~8bfM8S8-URVYz*GO~hOTD)#-Gyc>%v}B z0VruNre(fZ$N@QdLnfxc*b_xye(itT-;ryfo5llzdCBo479pNi*6^&;dY#!(a-^PT zA=#k?uA8TaW$9tN@XP79bQ2kCn_V1CGH80@s}6qhP&Zz&TF_ddHZ$qU3`Q{{0_Nhc zvHm^OhhHSsl`_cuU_hEQW3ob5&I-mZ;a0Q4Fp3ntwj*os{eFHaCM!Iw9Bnn`~S3H7RV01OIhE zv7TnToR>44VeE-R&!NL&XvO$xc=&MB-&oQ!^m!hV=3mxeRvnJTx3e+b>e;I;Hv;#c z(N#j`+s~Gw*cy}x)!}||;CG|_%qj83??(NSD$90?eImSq3nShOZi58Bh;-k0X4=oT zJ3p#Bef4}t20CVrGJQe62**iasC6piDm|7p3T~$&U_I?QGvLJ1YxZ&KA6@ib9c6YK z=3V)GF4Kb3LR7yJ%{B76bak(r7B&}FR(b*_5UbL{zLeI3gGNTco28^yXlQ8EdnMTcDqPHv-#F0H%8hZU zBEP*MJK*>6i@Lhr=dvv?*@&H@8{^E*?*>_C5hZqyiBJeAkvOnr`x`QkOxKX(9_}B& zQ9&aC_s#WH9e*tO?9fi&+~?ZB3OGmw-hBIu_)~MG_bvX7eT*6t)bTD3!v&i?wK?4e zJxsAxHu0EwHVO-v(wA@T$1_p~xw1%?x&=I%%HuXGpsG7ya37@8^hYV7z@k&f^`Xt53mx1SrmeIi7uk{{rmF5#>T>?FoL#V_}i|- zqh*M%rS{SNf+sHq&&V=}mb+egga7jLNfevF!d%|n$K~Ol|55s?;5jZD;*AG5IpYAf z=35RjD%RmWa}Le%|Ke)m93%(4B{)AXDq%|q+hYROX|S%ZBm(r9CsaMxHeNG9HGJtX zii|u~Mmo;0uV4PLZ?k5el!jmgC28hLdr$z31U<2NK5l1;;#b&#=`y-i!!rE{s>iy& zEzt}vPtQ*;FV{M4@U?=9drhDuVF#>Jn2%s{(Bpl`KkEg0np$e`PMs5seog=WeOu}% zuOxXUSmuI-=mM^l)UM1H=7V|Fx3;FOT?ifV&IA>0Ja~$Jt(j4Lkofbwx*`Pi(<|#Y z0km*B<}qOg#$$eGQ3Y7urzjP8(Tz=hfr=Z$ahJGpL+fureT_y|vj;Sl`6>2wanyRX z`zH_-a5wQ(mUnb*$Bg_tcTvfWFeLLQxb=(bV%No&{2PvM>7diqT2R$cS~;@f&ipkY zf7Ct%wFdsA}S_U$&eddBmZ%dGq}r?rlZ zBaXs8mKJMFw&@>d*hTE6ai@+!M!tn7k>*gz8AcUP!0vt*6Znkx*4rX@;hJkupsaVBxL+GDF;R48jn(j!>QXVlL~Ll1IG=^E8EK%PfzWg9rjLu!#-RV zIkzD4Cy)bZd2P!W~y9+2qth})D>$^Op@+sIR-df)rWUP5PE_OTTBU*D6ZZR}| z$?2+>0jOAV4}#Beqtw45T-x~2gv?LY1-*ks=grN{^TeX}_xE&gs>xX&mC8g(v>_2g zM{|nr#NeiP#hWtETjyjAr=N<^@TWZ_QFv0r;F$0gwr&O^>vIg~H*O)bD<%r99h#l6 zp|&182|ol7&&kf>>jOg{DKO$DG1?$lc8Ok9{8tsNVt(10?=*U++l|(EN9=BY!^?X3 zWo-;cXqw=|VWHrnIX4D21{}etPSxXT3PGxdu7-}5MtY{2)8&&U{o!{Ma(AnjjQZT4 zR?g0Z=fgjt{xg;zoBSMz3v`}$>*N{m3Qsj+q3d+imgSl42ZN!9Gc}hWdJROIwtyj}(1|REvPxc$ucRrdSYO}< z*v)DhtWq<&`1yUEs1Ms4mi}Q{b^KBN% zG3KQEA3OG%x39MBWAp7CA04uWpj-vQ*Z?EMK7HXdT){)i@bW(Y$qLogCD6%hD63hE zZd%%&*x#GmN%_5;rHThyV(~Y5*YajmcjirVQEV6yKH)wAfy4wSbE{UeHu zp6Xs649og7+ubA_4Gq7_){6M?4`(>73*}jrPRq@4Z%DFRs4qvgp3M(*6_YSO z(S+W${`IiljcRdiJ~aQxxX1?5V>#K}`sVxH5UUpZhU$~G)o+_^{626#H$gVmf*7#f{g8Kc zHvdNkwwS_tC1-H303c@G?CNAQ?--tPeHyv~q@ev3iCL7!v>JXDYv*VS|8x2*HAwiCLvP0f1)LXSQ!gy^*&W3TY{x=KjNrthX-xkRVN{ zTYbADsiid7tdbN8&6uPX)2;Qtk5)ss4ZG1`;cO!T^s%E99hy#0UQkUv^;a6@_r;fO zjcpz#FVSvhEcQ_-QH><{RZz+KB=BKb`CgvIoGe5LU0!99YL?k-u|IK}Ti0pZwY&Xa z>pHs{{-y4YK`Hgubu2f~aqbsy{+k~hMPK|eT2~#Kxg>iP^HrBDWy#u+&{Sd-QjSW> zkPh#e<=9b7 z*q5>Yyu4_rFQ~e?UBM3JxgKus@N(cr5z9a$R&30&Zm?Pkp_q9NW%p3e$$xPB#~xGTU@dx2v8iPCP?t@K$fuZ&n)Y=9#S?SA32~UuXW|?3#MiLPZRAUE zz;n}Jvz|ZahiNvazJ|R?MhkyXmp{@!wfhW+ zvneO)c(PKj-=tinY%P89N8!U;w=Q!g;{_}A`K)d^c_pYQUo@S_D@^eHpM#TYDw*Kb z+^OcK7kOXC--Ejy>C*Z5__BoqaQ82W-prN|X%d!bXiEyzv~_UxoJJy5!!S1sJ7)O! zey6l!=g{kb^y>;@2_yfc4+9q>*cxJtf04)KRZKwW!J>Z)k{@*o=_Ktp`VV;Eo00qL0nCCgLDO>=z$( zoxB4IPE{gDA^#A>Rf|}DwL=Q4>qMTXQJXI`#?^coF=X4mkh(d!2FEF%|ipn@Zyj0UrD6zcIk`HHvLdFp^U%i+0312)o$U<-7KzPG+w9;1)SdE^(LV38GG! zGxmK6DlQLp0kaF{{s?j7X3C8K7<6<(a|`;FRLNwUxDD@K7s`mBzM9!V`kZrEO zit&0TK!F8KVK?>4&j_}C{QUfGpmZyM zW>Soqg~HT6fWRA!vyqV3xLeO^r-6`;mqOX7LiCxj?fMT4EezH#u*1bum%dwF@AgerN5}466)Z>)`C;+~+$oJOrhAcu5%zo?j9+ zC*tWjt?U*vIS~+!{~%v;wJ|%Yt+ZZkWd+I&e?^+(1fy0vcy89{tsEWWyWJhJnA(U5 zQ4lZ9X%C={kRz5?mdLj~wURR{D8=VexflLe*dVIo(q$-rwYPL(Bog@Uzc#S3a=AeW z7^Cv}VG_kP}e z(!Zc`!Z_&4Cg!usr5@27%jrC~*?sf6CnK=?DYeiI+5-#46gY&s$|+Ghg-mhOb?`i} z9wefKsC>P2p~q7^ZsY-TBwR@UPm>3~(3JLgxn%leOz`Kj83S|8kF##gm`rfD4Iyot zSZn~_hFKJrX#ro9nYqBHjhUP03jcyV5pkvpDIjlXNcD);Ud@MDnIqn=2^NxNBFJhu7C8hKJ1_b}zR z&2{N{r}32m(s93*h5=(^_F4R*hQFZq+k~_%Ac7-gD29tvCk7l6z$R*2>32dyD1E}v z4_bNX%z|3wr|8iy;Nk!Wu9xTd00E|+mX9Mvv9ryu&XS6qDC*Xoj7m#8*V7B<_)1_* z8Dq|dGVJjZ<}mdS2?vC8N7S0oR`Gb3Apz-JB7=X|4PnXlpxSyov!Iw(%*=uEQKp>8 zrJQoZ2?*qM9g)Ax0#{%BLwhiR5f*JnN4Thg>swpS|3+D1e?=yl zF#&<%YZ@U44^FwPU+S-VRWo$AJJK<5cC8{%0=IzF@!Y9ojQ*%oGI%Zkr#pzmyAW$5rn;w%#KQf;^P6aif(M-=U zZAMIYt%Fi62xe1%? zUvklVYS_(#aZ4+eX}nkAOK8n`_*!mUewO?rE^|#nk*@Zz7kyhWR|ueM+ph0tCBOrc ziv4nS?7;;F ztE=Xk8ft0$gGVO^%U7-hgrnvUOQc!VU(~lO{KzQVY-1L9 z+O35Be)9#AvaQBu?XZP|Q2(A^jeL3eNdBvU$gnpnUx~_U<&@L@!i(cf;OEzDpp8f1o8?5^GqY`&)witqlXdSB;XXq?IPgEX z4S$I6)cBy_y%b)@HIU&O(!??#!pb?0vW>peuV-`|-v1YyG%Vx$G-?Dhb47R5y(EG~#I_@I9r%35&;jlxMOE8-5z~2zp6#iP+DB z@dm5T)GZ`B4ti*F+AY7npg4s?N#~c#Bar6AcRcAp_@bz$}1d^!X3z_U#jjk|IKx9tHq;6fb_ZaCW9Fi&C# zS-~pY9ZIV~$sLtiN!l*fOwrx~cv!YX3G3R(TiErH{wV%abYG(+8(`!VKbvg4Lqou{ zCs#?rXHjJSnZksEHfZQqA>vSG8ViGJCVy$k$z zracV|ztAG9`?Y0;OzN~4l$JxBUG3je7nV9cB($jmRZ*6e>quZllbY#PE8{@sIf`rvp6!0HlAwo@STT}dq15-#n zkSK%FTC-;K{VvXR=2Ziu!Gb+JwS-l9;97l!ZA&*nZ*^`?rk_<~hqlrg(|zy}wx=-}T;SEbbh0jNkZ;m~)1;;m+c`(984xoobeSU$cm@xwU7OV^)+~ zT1Pr@#~)BJ_pb0vf$cqf~vqRX%BXz~z*9Gf`EX7*w z3dt+Je6Qt0@nh4mckb{=mtW6~l)WT3_40D$Tnp{{-{t28uQfreKO8k1RLA!w3e1hy z3~DgY+e~YhY!w{@jf9{-r;wY;yRLJb>93;P!ax?d!6%?Bp8Jia6<-i?ob2|z?7g8AEJ2?HBBsg$hn~io_NZd=D7!VowK&`Oy z7K$R5yIqdylSJ7|1eM5 zNOlSLw>5-fY6mw&Esc2%R~P$Vd7wuSB9y_G+DA_ z=-(?4QH+BboXXNzo+#(1r>AG971foVr3M38*yrZFNKUV=c@cOGR!jdumvk2$MWaqw z=*(^G;{42n%RxI6&pQ)I_dEj3&^$(y<+uL~lG67tV?Rvz(OF3azA z^BS?TbN3a_MzlFEzQ_mW^^4dIs!xp`#=Ei(^8Jd6fSN9T=r0VwNrOsfUDqKsiC;_( zO`(`pWoKs>R`O6Rt!$A_(22CCwlZ5FzsTcGXH4eWoj@u8R5Hh|l? zup;O2YxYAgCspqbhvae=m7FetM^BC3TQt(Kzj-aCZE?`@E8M4b96)19n5~}E4(U5c zIq!N^MaB20V6N<+HnJjB{5qx&+)Na{Jf36+zTdBb5f_}`b-llGtcYm1>rc_+z`qPS zl{~Es`mOklvM2BJChdTz47Ol^eCk1FSJ`L%qQDopNTP4%+EKUc7{AO`VNB;yEHnlYNZ-H*Ot;<||I+-HK13uy{L(FRXyo-r&QMGc9T$Blc) z!AVAyg3{P)XkGf*{%&MfKBe)25D$<2g+{k;U@$Aapq+bnx8_Re(ARNPDhc@)WKzrH zJZ_uTHUc)S`R4(qZm(X*(_eWCU(sPWos%IU5;kuB8Xp;-kBW$~f4eI2ZPxcJ_1whQ zm!L9s@$cbWWNkIIjj8(PHtBm))Xn?T{o;|VE-cH%od4y2YPA$&(s1(-&) ztBJ7jS!Z#0TmpRDE#N(Wv$$u4r{B8r<5xkV73mM1oS+^H=>@t!d` zQg2b-v(G_U?*iCJX0V<1FDgMY9N*t2@`ZfD^Cu?|oFA*^OC%)Gok`KiWuYPt$#i9B zPmz~1@zuU7pzU(Q&VPYBTWG^%wB+zzj!Q|Wh}={K1BP5S7_K=ab| zR~$V~Wm&vGJ!Om%H@w#3wA*R>{UbUAi#9R%$Xb=ob2D7QP)Ml#dGeV$$bX^k|GHgl1kJ2kwXyP)s9uQ!(BDscyKr z(=U%Q_VYJP+ff-tvwu}MZSC8*egoy|9!lrC#mefQr`{-8Z(}Be%gdKDi zqgavb+C}GBW7}oK3MdAuURfIsW1pfc8uGzzj8_Shy}Z0mD^Jy3&*HkL(oCL7KsukFzso@@wSQ_3vILfP zNPm9N_qp$t{R()=RxBv&(vJ=rbP%MpMZ$7fJu3!>ckcGG=jM1o)fE&%k59N2JFrWa znQ7i_KmTJ}J6G4Kr<_jPwm)qd@s`2naoW2s$nM6Kfm`}bLMzF$eGBc6T#U-7?^GI7 zBNcK8F!J%tI2(ADcT@9qO1>S8%#Gddx;J#{e}7E!1x6_jRzD#1qFwXH*4abho*zZr z>H2*40`z({La7HEOP`7R{+4qni^PatV`TW>HTk$+;Jua0zi%4@=`kf@QTQGI-G7_U+xS#TUHi_+=^n1H9j z;YPJDyBvUQQ6w~PRsQ$sQcmnr8hI(5Z*k1czV^#m@7%WuN_Zbge|9rQqbm;xYID0W zb(&-&eoJW;q5s7qze?_Z6sN`El3$7B=A3x7^pK3gMA>({b!)DpOKuQ~VZi?KqcE2? z`&`@KCF1aCDSpuI`saw@cWN!gm=A3Rwx$Cd^e+@6l=r4=B}87cJHN1yk;tBLWG@Wh zBsspipR7mQ{8R)-UsM+p_ZVKrF-oPO!O{p2e5Un9EO$h1_M;EtGb`^8FFty{;Qst; z@de)dKXY@Mto8AguJ`)Wd#wBv7W3zNaT^Y2tETpl{n=Wka;D?m-NcSmIOg|($=YJA zvK`HSh`O?ghdUY+zuWbo zgLKxckm+kwo2RD}wsTl_OnFQP6&};@)O0T$@(sv@wFW zx*gusrYq0a?`vvzwD~`xi#*Bbt<*lqF4W<_zZ~(UHrLX;?jsoy*b_inJ9nWB+AiYU z>O&gwq0K@zdx_TJc3`_3NIeiHmhm!`LCxe;#6}?-K4Fd7{s_(2F8NYv!4J2c)!WIt z1+Kdj4R!q!D@1-HKd+v1wbgC0ZhE6TKd$N)Jw*P*Y?sN$!Et01g1pa7d$2^afYWV4 zcB)RlmgwEvbt6(tVYd=kRc*5}KE@&%FNe)^c4Kd3OH%m~)h4T{+VLj-xZ_NNy?$Y0 zr|k{8 zs^GoMtVwaZZ7#G9cou8w#PXCIJn5=kSaR?DefeH*~Hl2ZGE^XRv5}>2|JJVyq-CRHZABb&RZl6 z|6C(4?4KALBk#xz**_mURE9{uX1BO$zDz!mNgTh<$8U_1+_~m(YmgwSQ~4WIi#@Ml zWU)(zyV5|U6?Rc9s5ck7B@iX?x_Oqh1gsNMYSFKG?JcZj?w;?$D)uMrFr_nbVJmR2 zkkx9@bs8_kMeilkvcFIJcgQ>RJ5@&y>H@wKF|g zMMV9v9Cn@j(~ZN(Z6Z8zA;`j?awG^UJXovG>m-xU{`$`-lZbr?>phv3T-dgKRkNYL zZhn0?__lu(DiGgf9mDB3Bx2F))O4Lt%r~W?q(MPgP*7qW)yn42vp&pVbL`gdOP#h7 zM6zyHd$2_VQ-1ByG_$<=TFZD!z_Z>J(Kxpv|mC1iD(f^P^#KuQU|d-IX6`m^?&ajQDo zE1Y#o`{e7j(PTWStEga(`HkKS8Qrs-c}nd0xO2bn!*Ba54Dw8PXyB+sTE>N- zt4F#C1MTMt)%;F-ttfo1vjVkr5bmH0DBYUhll748OzsFKw_y|U-9Al&iMAdQ&k*ig zrM#lV$!ZSNjHPUJtp>xX;6IxY_Vp#m7cd2|VBSI0fzO&6DZ7ocWqXLDfD=~Yj}uv< zDG`I!_-=oT9I0)t`*601g++m^yoxRm5H)Do0kzpi}pJs!$Qq6~l9o6N4$@`Lx7Z!4>HDKM7vCVyT0(m9Xf zOmW4M*UH)w?=Y^ZCe0@1cH3G0DK)+X`Jn|&*ZEMe-jl0KqK_v{_b@X>*gh7oGL-q zi#@z@;$Q+~k9OYr52P>B|f#}%6|0t1NwH=jo8tqO^z^_2g=m36|l2my*Hpv*?uP|-z zps{iN)@Ua0Nkx}y^W|>%#CqUK zpjL~ICG}Fg>|}IzL21v;i^<*eSjr}_GE=>9mPcyqcSm2p+Znkw=Bh;EAZ&iM1&wzr z_v9tytW0*NTm0_%ERt(#Wq%jNfg4BKdBT7XT`Z&i5?2DguY-CoZePqp z$Af=|U(sAu#1CgYLL)n~xQlGRaNpx@KTTw-s-FH7oOjo+*E^qGlcJG3kvH@v@_h5g zyc17q90K6BY`9yG3`2h5I*kv~I_dzYA1Mz-+RsQU7;Ybhc79%~W)IJLuEnm~e1pkR zo&|5Z$bq|w_K2o=(4}Di-s9U0B&pDO0qM>zrmEbvQ52!d33hbrf7ZXN%&s@TmtO&^ zhe{gIl-~}!TOOagAX{ezZsjsYr5nOK;OWh7SHC`{Ybz@eR4rHI)I%`utzSdhU-X~6 zY>bS9g^t5ot`i1$_X@9eqU%ZK&Z3DLI|M%zslxR}^ZV+h)-aWavjw?4U0jd+{}Mt6 z?yRb(lFt%I7Hsl%6;6CW!vliWMTk=&Kf2l)=AlpS40YzGV+z*h+7( zh_@1z#g~_oluR7>y@;-Da<;=!iYXE*g=^G~`^yET7sBl?dpg*`J5vKeUw4a_ascbM*agfHpvU!re_sh1RxKhi)mSiln5fb7q zzco`!=;g}4Rt`;-iAmPh(X+RY+^$kRfU#JWOxN7mbf7CFGCJNRNJqo!t*^o2f&NG0 zt8_oQdb%bixLK_RZx}2-VXjClRJV1uoi(%*G>W?61rpLbn8I-Kh6B%=F6?UC8{_B8 zc9!w&S;-@DqA^w^2xmkLMjX`03u$*3jPsbS+YsZ7V2T7*+rQctdZ%n}nztHuU2`iE z^DTzu%g)SL-lV4p zvsz((UBZUfJvHm>9NV2&`q%4tQ}fjZqj8Ioc~x%r#aRZoNStd5>DL*oCKt-$(Wb0Z z5WH>dE|W!u-`O8BZYyjZF#9`8pD4Ikz8a{VHMYZgd}w`OUt2^@+b6Ga2@RRjn^z!M za7h~b68)66IPu*MLBqjQV{-~i|Mb+8H?m7dNGfArQ0%|nvjeAbRe^%WWw;KLf^z@!Ner{&-L5Q^Qt=?Wo=s*>iXg9mgTyrQP} zczT6}>WmWex~_I1+cVFW{xjDg)Phbcr(s-Wfq|7;_^k1n!lydS6ew z#vX#VX;^hmud2exf5A^0VYo}8bPl2_fq z$iYyU%V9|;?`AQ!nbdvI#A(-EGO!n%WNhbMA6a^PvXqRu9GHC8g0&(b5`fmDPZ+22 zK`K~!u1W}YB%&R>C4d}DnGEN3S^qf@g3rOo#ztm$daCbjQ#NXs9mN4h7*v~aAn$un6)!W<<;24P%F0!_P zuYR-99ZLwpz8Xkxg@(VGkybPqWt%1pYS@1|I%aL4ebgrS;jYZ~dXu;Nq&D?vYoY^P zQ;lebZ6W0&D|8J)$medi{>)odZ$4q;oINM=z)n{~zpSxq>Ht1_Iwhjbl1%#CX#V90 zWE2F!>(W|omJ5IXOn$hOzo_H9l5okZ?J&9rB;PIA6KmjS|7Q#l3e8AhsZ%3|%B zdRTmFd)9A4Wg|ZLj<%*eHeRf)W%O26@|nezu*powb;$OVh;K)?`zr16V*d*1^g5UO zTyd@H`H7!+B+eK|tP}0{hJ7J#&0oU4LcU!VUY*;EV3Oz=-Ftdfd?%4Jl|Uty`9vdr!kK~cR3}dA^6zr6_*l8%IQtC5Eo2grp~;U(~N@bIt2OJhexk>I*&8p zHwG7MZ0aI$JnmyXTkk}}zI%Py+F6?|YDCnpqGBu49?Wajg3*jtn$z7fxpJ_ykwyV+ zk#=rTqmV^nm`^dJB;_MTeqj;UfwK@KdI@|I@vOnJ)7qor#u^ziQjVTokG*z_3Rd_0 z$~%+3!k+WXc{Jn2+qJOyxNd?2E_V@TYWsV8qZP`+z6GdB!9?X~Wq>mlDc0>rX}VrI zD@Km`eH**NLJ`*DLDbWL2+eS`!=sgBMEJQEdPPW{1-Arf0*Xi9ce!|mNMty8sft7l z;lbQvO-HvGsh(DMpUp4*`!ljdbh=;~Lj%+%&)Z3Z(47gDjm_0EzYq>NK|;E_^M01R z=0WcP&nKRQI(9F)TJ>a_VU>R1q`q6kke`mIx^FnI3AHiRPbkV_oU@^$v(B!t0)cdVFjWpuhd>hY;4ml@vYpI@FLk0YMdu8vJi81Cz_e-fK(R5}ud#=A6HW}PR zPVMUAn z@_}QRJ!*^^k0K?+Gj?)$`q#10VG1liJwfM`SIonIy;&*lU~%ofU`2|jO0rKAUs(ZG zSuCgEJKtk9I7&eR+qiPDQ{t4om%{Jb8RQ;dgdSR&}R7vublY$|7_{OQBKgY z{DhMBG0)9d(l`f`;xL>w_h_@ovZ}9mB+U)sg>4jtl673;yAuWePV1HINm_Op(TD>PN1wVQreD%Rt} z3W~CciAm96zhu=^Xr1=|#IANsmi(s|pg#z#LP*)2e|ck1tFUy8STVVx%YK~NaZ~GiH0|OdwZ`RfK02tSWymkeSsK5)UkJ%4ic(jUz1F_^ z`p6M~kT*Z8E_lZ2y5LHU)<$^@mf>`+sY!kt5~2&bLc7KD^hFL7sLk3=?PkN$j#jez znS7{k1;0Qw?w$0U`?#ED3(K&YP?2znzldj41W?oE?rthmKbK99 zbjj(ok?Q(;*J0Sy539a6&9D+>H&NEKb+xah3<7wQ^juaf(eTCK8u_Y9rTVRy!$0xS z2Z?-kYcZa`|L`VeZ`G5=i6$wb2SVZg~{e@M* zTs@hP3O?NblV;i6zHt5W)8dc66(OG6P5AUrMW*@tZ%6fLSs1FL@l1E|morJce*9p! z2XOpSk3P7)YDFkS_IBXficHcB zyXJS((}!%%!(%)T=293Eyh$v12~X?FmI?Fx8x?$Q4D%$fwhDSqeV*Ft{_~K*-S5YW zYoQAbZTNh3^}`o;#-unAd`dCLmD6NRzAb5Zo2M^RsGu0L>GI=l#Edzr_)cT2;$JD|j9MDp-O2tFN` zGd+gIM0Z!aU0!(ojt2o-7O>Ni2D505BDBHS=gkW*QHA^%a(9$-r3q^?*dVPJFMD3r z+^fH{L`LwSh0Tt967w72ZkXB4_MU;u&L7SUYl<+_G>}{enugiW%FnS#+@{N_UJ-%D-SgUwB?Oy?hXz z2ic=y1~w)>3f7OblnflaG<@|XvV%Xlem~qBp)g8Q z5x6lqTTB;O^)vL_MaYGG+dj5sC`BkQ7aVJ&Jj8RKnfz4Vzi(aV!}3E!f7syzVbEXU zszbN@>jzxFmpG4ae$#xV3`>>#8i+jrBS+kSIOD&LM1+SM{O9;g{!iiHKYtFQJlMd$ zhwbD4x%3}l{C^kIjmyur<+{2$=l=-PqrZLS?*}Xtpc9*v7q0H+=H~y{%ftUaXLk<_ z&{0ugqk2D^eUyTRw14tf8Sy_?4o*>0Qi5^$Jn{bDD=z4MiDkm#B_GuI-(wRIT>bA~ z2%L`|^zT21hm^;IY5nI&!G8OH+NC!l|Kx`yB_*LysGVKq=eNIL;-6j}IW}Bj3^rr= z3A#I8MGtI%vPNWN_RC$x%i#Xc0tXsvA3{JgxhmZTuTs#Va$bjXdn*6Dg|ZIKC-SI#=&mM@vR1X{ynh%|wYAs->snrfgMdg1vkG z>lln|)LEp(@;f>@;^*h*=HV&UsO5)weg9roUT%sO2~ zlIm&)b8}kkhT)$I)gmFpU0G5Cxi>K}F=b_pmkMk&G<`ii0m9jM$H&LeI%Ye9Bw^Q^ zi_!wbxKIxdgt+v@MI8b-P0wW^>d4I zHDld4RK>}Tj*a!c_=zIT^!C);jn!2dPcxBhd^$=>|G>Zu&V?E)FQ05@Ubm}?k`ftQ zVKl_Y#-ELS3knMCnT#kC)ZV^-pH^BLI{ji#iYrE1FvK|+&(zegQ-()98>wPeF*GDo^uQ0hW869PIvczh<~$C8bNy>+93*w7@Cy;$d29YTG+ICc3(%W;3h=9%AXbqhn(sL|p4DEAmQ8?HVRGCtD-GeKEBg z981&E(iGit5FH#G2zcJU^$;~ZK012-{5h-H^q+{XNw`~mQqp`PmxGv?nEr}ZqjTi; z%F@!iSEx`dGBPqkR#P3HY}NE?BWgnpdHE40NWV-WtNHB3Y8UpUQH*g+T%7aCrfgnS zb#?WP-5RqOK0f{^qneu9=qqNA(o(ChU!O(yxCx`Nv9hj%QKORehHeA>%6bX4HGYGK z7v0&}IX$g*xpe93E+*FPjfRIo%>C7CZ>rqaC);pzXebpgJS;3GC+=yz^%^P-McmHS z)s+%D$J8Wi(%J$Y?qII z#>U1*M=NV;Cf+cnRoU6vX1r8))BViCZMFO-RlwJ%M5!|EbQLHVvrrxi&A1Zj@SCB> zb4@Tl7T!vge2bSk=JxjX71J5n**$QBR3uFqnZw1FCjtTjhHDXp)@NsDsi~=Dw!CCy z?Zd;?d()MLY95#8S2Whf(~A|f>EY(+&xItB*^ zfBz;0gT%v=csFbV`Zs83Xuv41iy0I2{Q0vwU1({77K>X=BZApD6$`KZ*Bli zdA5sv{hGqh$jFF_h6c6AAmQEJ+>D8hrKo>Z2Z!H*&t)#Js;Vk1YR&ovI^9jp&E40! zBP%K@1_x!p+&5)qWrD`^^~}dme+&!^m$TheR@aNecPwN%B}#=~u+w7In%sGUF2Go;ejivoz8rn!i$Nr( ztelM-bx-M?OIR2+%Bb*jHyi6DK`WywZ30?5(mOl~4en3olU^HaZFD#wF2@~8kn@tU z;c+_37~37urfitgM)_AKK1ZL1JaO<742zD2=Fj?d@$aMnQK<%E}$>?OJfx z%e&j_lZM=nmTW96Zo-Rj*u6XGC73ML>j)u{1_N0)G`eL0#zjWvm$!G@P`ZeL)#cty zHApgv!)i5X`v~Nv^FDw1@<=jR?5n6~DkVet)Cau%g+`a?T$CUjJUo#n>gwtv8Wnkj zW4@@_)kedTG5*7*cU{re)kw7#E`Hz04Nii9Y&uxw>j0xKjZ1a&rd~xjH1gyEEb*9GgXS#meg@Ssbo)&5-?aJd z0SWT{w^DX4E_G$)iLNdR7M9BN7A$OR0Nz1?fogLSidxRjb$)(+-rhpCwze|?-a_wX zzkK-uOcQ&s>GPsF1k#bw%UD}m3%~{JSD`=<-rW88TxrY3$*C5ASz#f~h?W2IAfa;D zYG)`mxfK0h&X5i+yX^>IiF5T1Gxo0p%1K_l&;drcGfqRv^zK~?fD7PQjVI0Hzh(|! zpC8DV%N(z-tyL0vkbPOf#lvGd%^pu-P35R_{F~f}c!~Tgwp0Sx(VP@vX!goN`>Rm67;BMDolHMv|?7#+}`%Mg`D0bR6 zsGG~lW~ix0m8T2P7aA_Lg1x&|4_t#UXzM*VYN9zvM&p(r|2r<>4uQR?5zibxI9j$f&h^u0Oz>@(d0w2JxIN#UT*V{`?O?;3&fP7#G z1`3zH?d`&uYN0`D9YCVzi(B@bTdVh_E@7KKd58;a)kA z1OSGqqp7J$nJ}IPSOq#d`g*Oa4e)FW-QE6o&Q4BSJ3I1Sp`oE=b(N^I4^+|H(Z$7K z^zLZqvxLNRmWcFpQWm5>?*b%%FE3jDjrBgO(+&I9fBkTDeh!2?GCEpORRy=(Q4$ms zw6ZF_Y1@^k0N^(-9!)z}W3}?Y+={ic$wNr^XlZC7#WI;ol9Lybcw7KOy*pbEr^Bt0 zpED`|M8G-p4i^W9!7YG`lT+?pVO@mNU9;x<(2UH?p?ctgwY0QA9E6NXd~$YXZbvGQ z&zns0`n8dvVHJ3GUPed==EzG9mh=KW+$mcVV`FL>n%tvNk0bA&ZQls;w=tP%2oksY z+Gl5HTU+_hScKI_379=nQ{TyxRX(MGYu4L4IXcomVhifA?X_NNMN(bWR8i^djmyuc zDo5O+tK_2*p_Ca%;T_2gEHAea6GN@k)eP9(-96qIkoT-Gr;jd`FJ(@vsTky@#CCN zc^O4Tv_T(ta72JeW`>&~14(0m1PQwc+jK=Cp$iMidV&elZ0Z^oU&PDP4bcB}B%1ge zZNe+Zml7m9>+9=4LbKHt$pF{AkTF-UE%~gLe*m_fo15!|#>B)#unx!}aIJE=6<~Xq z{zNY3Z$SN->JoK3A3I=ThHRkBqM@P&6Z41_5848g*xTLBVPv**Uc30a^77@&GAr%3 zmKMfaF01p6E(+{p$-)rY`u)xCC*To)xd7GMn=Ji3Imyn;n^gM|YH4{0z%&-MCre#c z_6xdDq$!JL*3N5!L}LRT9ZO(84Gr9s5Yv!S)4bGFqu>?E#z}#G2jkbU-R@Sv9c1w$kgC2A{dwavU@9n@% za9gkbtgo*(CDM89pf(PCu);CW7QkNC+p`r+p->7M0@Xz+y`g%*L>2Cv8U+(kX7~2? zDl01Vcj$Ri$Kek|mCV)t-=XV9-Ca{dgjAW$gM%iUjsE85&zFO>n#`6G5`nd~mt*)57eI1CaJVkdtrB z*4hvd5J>!*lg0a}KoTbjVp0eMvVM({CoL=cQt=dwFq`@8uO_9q+SWv{C1QJ9TUWGz z*X8A9ZGHX7CZIon|9vwj5t9_#lW42j zTT9EIAtBLg(?_0Mjb8)af-q23c=XlD`;n<&YD;LTE z;i-Gu57R|(#AmY#L$pmaIj&R44Gv%DmO6iQlt?B|H?``AcmV7x;Hg8wX?uF zhN!{pS^Bw%>b4UH*v*9%6;(bU6f%8KexM%J=5t|lkV-J!XL53LecjO1RKlW5+neSU zYHp+ve0gOBC>j(Y>)T0pS2%g@r?_+bozH;N|H#SDmmle>Q-uuc=b=aj5d6rh)a$^A zBf7NU&8g~D+yIPWU{f*)WfuArtkwfOdyX@62mlFNYwK@yfsjt*eF<`=(ZxrP9-a87 zr>_7FgF4#S*r+ZhB_>MBPYe#~L=n(DQ@a`sL&kWMVka?f4n`+Dbp-Xrn>VhTgYS@$ zk(~qXhU1zM_fKdmxg|sI>`!hH3$4oxA?9(;z||_TjUxRkaia+k2z@K9sj711YI~KWy^n=;#13XS7zOib3E-{^0}t$5*(xNxW{;qod56 zoOOz@w)8&x?SZRmLVZT#5>890_tIu6V=0zVV z`gk72YENpMk%>t%A1rChG`pf=w68B{%hz}N4GGBtYtPyFdG!dD0vi}f~KJGN$TwMIzx4gGU6JKBDS%1UN0kou$5-5eiV+Y{L2nfWEzmBCp zGWtVB!_CcYq-FFqPBn`MDqDp*8?RkkTv9^0H~xMy*|@UOHH22UP)a*fTq*)boRb4Ef2$0geL% z`oJFnn#%l~X|AE60S%8<<{b#{di%b{-x1U>iBh5CV`Ha-K-a+FBP{e9MqCpg6JtA? z{5(=%Y-Dhd-Ddqcwz@nEP;DA&>diLbD54`HEB7QCDk>t@jTYc;%m={axQRnzRgK@o zwSeRi4-ZdV=mS8G=lJyZ_k%#P*8P@qWCn$anBe#tD5KdEF zb7o@;izbT&UVwCQ-#&jvxMg8s$;=%*1b9()$Vo>x0N!?bnv;UU&na|^IFZcl;!v0J zM^;ZpCY!}Ph|IE^%$_*Jkpc{ZAnq$XGDZe^6#V!+E9wV8Ls<~H?M{^gatX2*Aif@- zm;gwU636F!@(Col_K=QLRaJrZC@6w35DYw@>&4*0!ad*=z$>Ktl$Dg|?6Xid2^vxM zqDw*f6$+}W&ueWqjQAD42Ly-%J)Y4|Ch#@1?2BU=^*}*EDJ;r*Aj}5a>+8beg6=3F zY#QdzZW|iKswviPnxC5DU}IBeH3uGC@)kJCvVQgMo*t;=Byf^6S4zh{w(AcJR;@r{ zkr)R@s90tV%21id#KO`?fWEc5`o~p3;4~GsC3JZeAeaWcLtH(GmgQ}R>RJ%@EA(?) zLH!sjRW+T(Q;83NLe>kwo7AAtQbsgpkQN#rkMhY_T7x93c`3bi##4s>%cMOT@IVJx zRTb;ow~K(+1JfRd0g?j77{1H60YVGFE`iBRf|N{GDlB#<6nN}-wQsi0SOf&l`?DOB zL0ft8gTGG1WMpJOytP|r8u~RNEX?|JThTchKQK!iNvqzThL=}se8xpyyqF9y174Ri zQ;=A=F_`P>>H^TjjHBAb42VutR21;4M{d*fZp9$17^K#RK&odj_*3aY?Wk5rM6;W@ za`gx#Y8CoRaeE5@S=MNBPwdXV0wbDZhIhzJCnO}KP%WP=)iwPiX|Q*AS42ptQY;PW z@uRV0kRAelE~6#5I)xngVt}QY!ba!BsiRfQ{@|AJ@#-_`Lm;>1=uOp4NTUd%-1fG}EUc%2&P(rmI#UKgN$#GPW$q?x)r-OK7+=$va5&9|1!7+}) z!QmV*hdfFq`a;u+#ooTYnWEoHN=ozd^P4mOT?JWfT$Gfr)i4L1+Q=v;I(h;S_nVs= z0A5s-l=`J)Jkk;puE4IrP^2UPsM6M608>>jJ>ol73?LA|jN~~mNqA5G{`LF$^C9k= zDFq=E<)=?SgM+i)k#IYH78*JR$yz0RT17fm)~LJ>^IAaSCnnnuza zmj_7xRZLYTzkU;8ifX!Dj8f|2;$jue=X~w@pr`-3GZ5(T;j2>Pq9J|iJ6ilgAjiyYA{XN|f$|+g5%~Qz92u*y;29(M; z2c++5qp8H9v9IH_VD`$35~SF1Yr$zYP7()u3P;DbjQz|C^(l=qxrp0pDl)4x}hSvgHkemUAS{AO-^Uv<@(k!B+@$eA5c0;Yd1j z?zmj42)KI?6B84m_YZaNO-c}!JfxOUQT@U3Xwg7O-RPfipO#h8BU&3M9Y831d)8Ya z6NH9UF>!I=%b}R!*Q$osLh;}iqxekpDEl&Y`lmW=vD7wSsb4&MsDUcCtXYo?4+Es% z+1{=}I4nz}iRd~2&SQ`OfsO-En`~SVuNoK_fZ6FrFFd00LpngVMW>Z(T8EH;V2})f zu6BFdn9QuhlcBk%7{pW=85t=l9`-d4g;x{JB`K2cMyMXqv4ZbYe@6gs*>wAk7@^@g zB^4F0B9JoyA6>vsY*=I_B9Bn=UFK5;dR1E5W8`-5Yj`1u^{J`B><0wR9Yj)6(sVdH zi5GDQyci8<;wM_#{=PmlQ&U0ky*HquTUJ&EwiQj@z>q~aybtJEVFi zgDcfB465x7khJ`BhSc|mSQySCx zJ(j-}_2a_>(4yf%<4f@$tNzD)@xXI-Im3k(=i@3w)nt|MZ<+g#w{Mw(@rVkfXGpk& zq|LQm4w;$jYDy%&lVTx63HQlE}*HL{dah5cwlAhhz zwfHlucF8kc7&&+-+)e%Y7;I!@#%A|UGP!IRwSWg<7c?mT?>_0a7h?vk6%6~ zLC5%AO0Cr?@1CY%Hc@dVxgqMs<0+krcsfdI9t(##%j&*&r|B*Z@dtBevs9?tIT4$MpUu`|Oe4W{!Afzx+u?f`6D7V6b^mRV7B?XI;)i7Nk-T(&My^}aY~|mS@>|soZ1WlSIXoKgtKQvI9 z=q;a4JdubJWWS8e_P0#rngJq|J93J=Qq?Mc8Ve`THw-6KpvV!52VV7@HdCpyUgI?n z*=UiAN3MN$;w$}q>L1OGXf!5%^c9RYCbL3Fe7D8v1KhOY?E{rlj%3%`&u6K+^K7eP z8oKdsy9S-AeER<~h~gMTp8O1vs2H?+&F6UczKz5@p$QahUB3w0EG9+3&!|qVo@|(3 zX;E?U6u+&`d0S1-m;L!JG+JIpO@nL!4?Via#j*!-Cz79aqRlM)#m;pAX$Kb?0V>~K zZqjy*0exUMxwF^1rFqo(#$jBGImKoS3FXSav;as)TM>p1Uh$j11hh%fghw`33S50{CT8j-b}TUUfFxNrE}f}4i^ zHvF0vrj7H~1ZqRnc4M4Ky#P;T?ISE0NDUGt?y~DVPq5w{6>4u zV90#lpeu~*4Nm#<$LB@A^WX1fJD$6HuD>Cf3*ir*TH}GfSTgAC`49%WtCB z@p3K#Onrd6*IpGY^>m=CEFZsB;f;V9V*gBU{l*4M&#dp^{>UJC=B%aEGDj5>ypzm% z5}%n{HOEptllvFSzm!bWsh?#KPsCm7I$P&apQ;j$Fo^^@LA44?mK0?Fgl(3iJ|cSq z``x8`);`4>+i*l?%h*%(54w1&P&&yaHgf(owwd0~&wgQaW_N_%w7n~Q;~r%O#P#yB z0X302`MhLq8y5~zGKoTqo?jcz4;NB!5xJx%Q1b2705CZvv z)3^tB2riAgb_WRV?(Q@)mv81jYi6yPd7g*g11nAFb?-TK&#hCZ_TE*R6yWiHbWI*? zM%+exH1wi9S0a6jRDbYjG@ZcIEEPX;UO7mc<2No~wGZ!NFCnHkN%kdfUzvK8?DQkA z*42@%+txSx(P95uE)|4c!R;8()ULY1{kgs6)I}GnW#V}F^v6k`zt4JLJ-WiNKk94! zHaVWC*)xXMKLfnmn^Rkk#L-Qp22R{cMK4{(sL&C{A++aR=*Tgb4>m5Tm1k2!EY(0a zFGjEO;<}rWpZpYp2EUfn!p`~;>5&Z%k}f9~N|OG^|4HoJ$}S1bKu+B5zkDp*5D^5MQszis)Evm#%c-Jb!8_2mhK`DY>Gj5Qpq01@Xrd#eR18=<>Z zsePjsUe;Fhh{2N6wvCVpd8dk_tMzOa%9fRJ<12Hs0?QV1_>m~A(b=MxG}&}DVT3^; z77%4n!#;KQ*!p*IU~6hqKY4wG9KJ1)B=|)=3^&{n{k6dth57Z#klV*Y0=}LdX_};T z3;kC4t(ZJsNaK6z$8H(Fj@oe2C8C>CIZx&IQ7o~9V1{6@ zzB1}ldFy5=)7iSbe~IGpy+ux!HF7!JLsl{y4TS`NX6APF+hzUftnlS+sD|2o?Flt? zYNPeCC;tpf?Ank{`RK5u3plmtc8#!d{64=%lt%y-bmT{H6MNj?rh9LVwEF>Qql~5K z8ZquX;&-&P!)F^D^_bfrXsu*`1%7}GSOU-TxP3s_6$ym<_Bn4do3C~=&oDWZX5HZe zwibUA*R5u5al~+HxR9qz%Nkjaro0lqwWgL(S1wE5!#aF?sb&h?fQGzk(fnDJ4H)D^ps_h1!`l4<@F(~?04|CtefUyAoNeKx z^P=FxA8(>LiaN&J61`l`(w1qB^b(NmzO~hsq18t`GtZRwZZ&^|mr(EO3XeHje1!~_ z`9iaJj$_d$kPB<${AJaN1yh(8Buy9B#kA89!NhuGsk~9v`?qwiTdNDeuG+J5WXxfj zvk`P9)fLFdMcL-%ag9j47BACaw6Fug($(mM-@JM*0VvCAZ!0cBSJohIV00kW0Jwp@ zQo7~eNwXOSH57U};Vnypy`u>9CD^!!|D~zJpa$ngL+z>ZRUdwl5!4rovw0jc_Yhb> zJuGQ#`ZqKz=;t;G|9CsqI4qqLK|y0S*KW33wR2f(>;)JU3$)}g+s}}VWh&d^2ZKI+ z9pzGU;8n%xNxe;JUM_SetLmdtWDx8=b`AAC2uw5IPiR-NQ_LP1TQ>J6p+@}s6gpL9 z%)#q1(!}9-l!W9;;m-At*DRMiI!bkK@47Pc(N#)^=Blr@!f+}p`_DPd^FQsBqbkY# zg|TF^M?`eHlCpP1Z<0}p6qKeL36z?X>)+ll6o%@(EI1Ge!qgRb_XwO=4#KT7+lCe-|oUbe|ws+EbOT^KWm~ z_|h>S84g!E+CS2JNkmd_cs`Aq@R`0HEG#MY+TE(PO&m|i2w7*j-F29+EImgStpilu z)#yo_g#!nHb!LJ^TD-5kfU7!`mVk8?&88gLt0(9<@om`gtQ4%o!UU$!AA{R5D!;w2 zey0(*e)1xqVCj6k{?QZ;p}9~EbuPdrqA!Ty>l=_zVKGFUy$CQAe7bLa`#V9hTkGQcJlxy4(2Wo37(`zSZW5TV2Jv*eY-u=B(7ua@cpo=A@C`U(wOGF{Jt zJ*2a5poapW>aNRQ2`xBP&g))1+Qo-i?#(E>j{+Fyux${c}vmOpi2*eaO4v5t)eblcmdI04c>7*wx2uHuHROQq#}-%T+am`fj4V! z^&B1?Xj7-^PYsU|{_+jIGj8j7z9$M*Tul{qCf-qRGKDVSmjh+!e|8!=#EbbDJ+mj` ze|6oVKLitBZ065nW}c)`Slt1Yau(s8R*zy6y;Y2;YL}(2vzkvEkV|R)xpGE`tN5H} zId7{-W@zlqs#Sf@qO4oi;Y8>p4vlz-P$8FQf!vyMe=3cTtRLTJMllACxGC^Gm*s7x z1AkMoopXEz2I&5_Z4Xvw!nq;9Ce;ND1gEmmiHzBOx%*FlG4=AC7q4DMCO>PZrCqQY zaEwoUBnRw!#Qt77Hcj^{i$h|2K09L;)K2Q>-d^wiaAY^1bErtmEvEg?qk|$XH!qMI z_)1kzdIeOIJmqH*t*vO(nw<2uo|ql=G#R=Z>R$0eCUYK!_`tCdX^t)4`wgfo@_2+! zZKX)Hd;dj%pc;SaY;qjzycmy_!Cph_;xJBcrnRZ+_uu}`EkeYm$;kw$ZfR(x#+J5R zlL9~P_Z@tWM*_%j0GUW&OMmLZUjNalol<~Jqr&gi)^^fKC!5$8-jN*b6R=1St+)*~ zH+A(4@BDqa8?`>zWMjTn2HrO`)O4k43#(5wW>BL{9WMXlb#pU8nc-sVl=ZpRj?cYWdXs-Q7ZBo%F{CS@ z*AmK_=^5cpe(yNQOPkgqC7p#GD8If8$3&?z#=(tZ$n0-~3Y*bGf^pg$a6e(T{fequjr9PcY^bd1G6kV8Ekv9SYsYuRc1+ zNxhjGe9MyNhw>F~uv0rv3Uz9s13R>55Rz_`PB7rIduxDy0lC@2Fr{!*Epb!2uV=1> zXdUwka8BD?MFcAZHv7qf5b`r>32rhal>4o7p>gtzr~u4;psm`Yi*I9eL-(iLic7KE z8{t>#apUr#N(ktL-YgFou~j7YQwUlI{7=)*TQ;?5HE4lH(hk3GKh5D55`6(BcmY%` z9OCdhTPyQDTLb?zE#U;Xu293zB-+NkH@27y( zRN!;Vf6@ir=TeZo{8fliNkw^6x^=BB+j{To^-hxcr#K&Q0C?HTEer6xjY~pp$PZ?8P#JWp*p2uy8M;4MMm^U zZ_CU#b+<2S@qCBQEo7v%9W+btvh`t6QJ9Ma3p1%C*xL^w(sz5Pr>f+gvUHoQuC%VB zx`Ov&{aVD9EusCZ4xp;yc*GW(R>^zRA}xrBa=%pSOQX(By|bAv(4+IT?}YoN_BF~` zPE5XONTmm$kTa&vPHA_qE$UGvCproS@R3)6?rUiLeTWA==|l?ywbMHs%T^uLcnBk^ z17n{ybQm6gyH*zpx@2oP#R&L1lL2&sInljLr>yh4VpL%q@Ud$N+W2tLn#zKQKCh;I zfe965(v~};yza;K>`(6d(cEwP1T2L$W|K*6b#pc`TTwx-ojgNSNYg74n+~OG>A!3n zTlDv@x2q&0Bk7l6J8dD=)&0T^;zNc?g03zNVgk0(FejemF>o@YZ9=z!rCREdeeuQU zg#}wetu3trI(M&=PV)YqPQ0e@cX&2?0kHm2um1>xD5fE-i7s0c&!wc@+CE;t7%}aH zYsCbvo{kw&>B>HsEqjcE)S8p2k>BYF#zcCQgsbVQ?CKo0H5*A9NgKNs7w{b%8(N=z zm*@A%p5JKq7mj~DND`z zgaVvkFl5ErD{|+cBF=KABf#i{E7(yDOOx8e0^MT^eQFE+M{VlmDsq|n7TkVtofT-C zDw|fd4GqhfT$j_WCEH0}_pXLlGA^sk@|Iy1lu!AH-rD(k`5m+}UC5zoD8fRd+uELf z0M4ayA4a9iJj)LbU=dE8l-C~ZQPqhX?0*^gmuJuEHGr5vj|`(*%9by?1lic?9mTqI zD5j=p9`iK&d`zqdDk2Buh3IK>id5?t&;15x=l3RLs7BD;0;XSJb~`xzYZursXv7Xm zcB&`SV@d>_;3eH)=gZDy*7ba_Yv|E%$Qct0HwWiI0?ht0>u>bA35`XQ%Otm4*}uk0 zLo`1LPouugI}E~GMb_zATbNT)kWg&y9PI2F`JA4g;^5*|vZvj>wU2kZ-bOCGtm6(M zb%M{4R z@T)oB+~CckQo z<}FV(s-ynbEFFBJ0IG+>=t4l;HfpG$bL&ZTVYM3f98*ZeZ2eXTjKG$9^|KZ z6w}ud`$vV3>!*i%!NRL1u^QDv&%`MJ5jD$X3yw$l2Hy1xLKA#otKo$Zu)4` zJx7<59n{>xZ5gMGji$_?eq$nRtpkDYa!Ka<(P4lM?6L?Q5Ii8))Mbp~J*IS3Z zk&^FqF^KT}4UQ*n_@q5xzn2d07f^AnO_e1l!567wx1nkp^XzP#RvAC4YijB>Der|b zFEs9%qSIBl1O@M9_OZLoHI-wUvv1KalAUr(ZmM2iRb#Z=o!Rke+j6kvC!K@^hzBSI z7}ojaINp2r_C9-piH`zl?igWUJ3s0{c4 z??&j|IHF@>_N1kvESY!Gkx%z?y4DKyY;MSVgs{#)EAc}A#RVvd#y`o^U;QvR@Qz2l zie>?BH?b5K6duT!RsK~tA=ZUNzubTGM^TXLiwxBZV+UQ&c;i%*UI+cqO)Uih%q)-)=;|6rrEiz$_|3={k0SpR z8}HA|MkE)wkAIa=Ni5=ikV$-qX&+GDcMl&PK-kS~W54`XA4|)^+Ps!`WmRwBb?@W7 zV+e+>dYOihtOaGZ6jYuLsML(MrNZN+#^Uzv;D$gVpJSt$86j@9W7!ktYcI_7mTCe0 z_maIxq#Q?~Cxn~lu;v1cgU5Zt4&r;|#HBIic(0`lmcR+%ykO=WRU2K!#E9opk`qx{s>&zX)&3I9wEv%dv6A zfQMTPulRAZisjXnXVh0#7Qu`1%9{nnir#f{j2QKJs6q2ea!~=)Aj(bhR?ep%Xo0A( zD&_$T`*-fScf`Pj!4G#B17K=D6Km%is7hBC{)EJR2IEn|JTB@9;~Y{CVE*g2>@LC!I`5uKYY+&3~9aP1;U_E z14$pS(c!JVSu!oNckT^!{$X=jcDqr-41#S@(Hsoj`-5g=`9k73TGzv1Q~_^~`Rf5E z4}SRYfTK4EL7(oQ>>QBi7vyvFG7rfQBISEIdRa?KtT%VIdOkk+{q*6hIS&y2zXSMp zBo8>Bv&#cQuRrzh2f6>_vwv0hq_rXdSPO9vq3XXD|JU?DM*Y7V2J@@Q1AfnD^5VaS z^e{HyCBpnw1b~RRXal&w@BcRoP@=_A{_l2wSbUogi?39X2)Hh*@c;FZKadYJUH@M; zLHoV?pNaqHiGTS2X{oCxq@-9|SrwI)N$EZMfc{^8;bDjb06BYeYsq!(0Jd<&h7y1 zs~h3Y={caHg19|GJE#E2(cRtM00${Imw~km?cnaKjfF))x_=WeY*jq|!8e3l=NPT< zg+5q&0&8_vR@Q?n@c`;$Y66N$OAO#@1u6jJ2+&dWiam_h2hgklRA_)GHA#qe08)J( zEfI&Uz542SwmWlsG*^M75&1&j;eiQ}UkDw2_s8l?L5=)eDWzQF7NF&c1@ zrlzK1xqkh0w8qNZ+*}L{jHIL_&G?wMujuX<0IQxC*(i~$-up1!%eR0OY5(s3$hVVFo~WK4MthP+%9#GBi*LK4T%xdV5jSp*j>mHca;*%pq~Hz}g}1qlY4MjJgT+PMsgO0st$mlh5$>--|H#ydl3 z1}G{=d5Yica-!6Vf4|!xGV;LK-#tEC`}R-3h7D?C2AkdSMt+EZbm3BeJmL2INgPGO z3FL8cmnUiX?HXxawAg9L6Gv|f{5x&tn-}J5Nz<#Wfo-py@b55Dnf4U#6a7Q<9*gG zf&CD7&P7{IT~i0W1GJ*zn>Y$76qcx3sjF zot+hdWMO4z1*)R&Z*S97kH8zJMCU}uz`VR*7x4gbpx)i5w48$Gf?cSGliI-KJKXxN z4~utA6hDlsEp08?y&w=xW%WqC)8eY)f(#FP{X-q!r8pjil9IhOB(qkM7K3jLKCCzV zZH_e9#06}kpyb98o+6=X>n{w&=@YPgvu5RB;p_YHqppF4iiLuUjhn{BB?*Gq7j)~L zRO}OGOv%c|(x0B_E!*F_|F)-ZCgNp<#*P)x{=1)SCrOf6S5!u2LU}>j^m#?E??7W+ zUS7O9t8oGzZsRn@aYXoecyLAkbW+2e2}FmZwl(#p8R(sr9nH*~P@s<$%+g;(MxF#P z&s9u+L+1BO)3*D`RA-_eX=^IWpM%ZJCT36!j)#DxKhi+am0?S1p@I>bBXH%8>d?Jy zl9bd+*6t&*dmDIKEE9V}xnsFKAe)HJN62{V9g(^l@v2TqN%X+_pkH<%?0E!Gt&)jXb27#(a4q1rW8pA4R0$k6M%R-kB^KsGMn-tX z!zV~nQqdU4$y0IJ#4QL_f%x2IM{J5Ye-`^YXRx>Jbcdk5|NZMnMm%!f`H$19n}E1e zV$TW0Y(bI52W!lSfODa|tE4!;!LP>+S#z7K6{mH4?I|niYKq$v?k*t`1_TwpX0<7& z8dN_-YNv%5yXnK;OZt8{qYJT;H{LZ3DM8gx_sb7-w^jc0kRf#A0r4qrAFvSnP}tP$ zu#j7^kZcx_2v6mMIyo!?OmOxDoy;L7F`iel7pLo8W34Ygi)h` z&^y@N>};!i2E3=J7c;~2q(sN3z5ZDcjGF1=>jv2%A`Cvv^E!+xF-vRnhoNx}*10a_ z)~5}n?p#QR+^sytxvIaK*-dp5tf%W{RLIIiU9c6krc%6LTO-8VzusGL>HRPl8dD|| z9F#i^L1>@D&^hUua5!cn$v~{DeKf?iVUjhT{Xs&(80((nC^tB$ZbJhMz4i8NgR*e5 z?fedb7o2zBB1&=2!tAzML~uPwEwm`ygrVACRG1WH04K%i`^owC;VB0@m5-co0zhr( zck}M={Or;15Gh~9wu)sR4-`yYspmpkb`jpM6@pjoSoMQLb(O9xOb7!X3ldfwz*b5XE!bw z0p-O)Q`92%)D#rKVY0JU8|?Q5M?KWCjrU5!vG&vPv2YyO==pJk$bS z`S48NJx7?I&zqwQzu;0-Ud5x9rudoq#!zoADI|(u2&cr&=cYKj#=$51E&`AK{z_@s z&-Y#5eMW9UaaQfdT4oBYYsh5jBPZE6NMWO?R87iryni@YN-ZsH_jdMnwzjNnt=am0 ziT244npaL6lz7k7YZ%!bnjG)tiw)JElu zCB-dvkvwIvj9?FIV~X%}iHGDui?$ITEH=u-YX8kpS?@*8vkkMs;r^>cv<2B$4(x*5 zlsh{bwo&ct5+t0QQzNrPtM{80<^mQae$yulG75x?ViMQlb1>Dq@Yr|N*bSUC0k znJ=4zdzqBBHaT#UHD2H*Mm}7Q=4Hu2#ig5`7HP5V zH_DTBxj2bd2|=f4N;2{^MSDu{HSvG|uU))ikBE!Vi7CW6^~xDDmsAd2UT>+!*vnBb zG9u3E#^`tn4WCCE?&MT_6BXLGO13zHbCrxhna-A_ znEsd;9;qFh)q|WO>y+3iQK5dIlg+_=GsjSod5&Ft9ISkByJ78h9Z*muP0U3_4WeY6 z%45NuXcWi#Pde6NF~QQkti0}Ln~n83*k18GG+{cGZm6cvRvZhrw&=4$EHQLpfa9SL793 z<~|``1F!FgvG0D>34v(}9?+}PliCu3R2`joq)s%xDudX0T{1EB%cNIDeSM$ua0-e$ zgBB&yyIbom+eyu5Z`M3qR(s!w(xJBv!SRbGyoA3v5K^FGx4A3h@wm_FJj*D4Qyz>WLWdNDO+@HENw`@-sil^I4W z@h9RMNKtj7az3zgqvMUOi^tx{RYb{FQm|G$d{u|4Imu~4*F{B$=g2%se&TGC z!#$(lM`1SJ4%G$7M`gCt;ZbTvd&ZuGgyQUNS=z@Vn*W>V-2D(oAu-oji zNChROt2rFy*Td?>6GH=i_YRLQ+S)Q~l2c{M9L?j&0pIX(@lFRQ9D#uni(8E%+<=w; ztrYb9GqAB-!ZJS*L3KEtZ^y`yotbAzL7m(SdSYR3F0i;n%d4VOJJ%!Zw|!w8d1edW zN<;d=&#Uq-B8ci3>FMRXnaWu63C{(*9UlXvO`F80`#>8t4dlZ6@v6wxShd$0wcIYJ zlLsD4t78N6AhYl^rzuZmy(x7`X%+8)l&pFuhmU=D&aA-R>1yXv&Qn$IbE^x45O5bd zY}`Q53+~bKWhjkxsntsP{pDEYL|H1_;pWeCFK)(Rml1{}NSl8~XjBxxc+_$xZ0{V- z=iSZNPv3N%{$-<)y{4uLanIV(A=wWpx@*=A)z;GfD7Gv^0A*dLo?F2Wyb44pdeOVD zT}}LB$wXqDYc_;CdobI`()@A!%Zv~&y$>{OYVBoRM0og`@doAeTIst?hHfUCUzW1W zlWP0(8jU{ElsnA}qiv4K72h$S@A~3PQ<~<7=dZ*E_0`nWz_GlDaIaMBTB#tZ7AvnU zXkVq#k0v^I6O%yonwdSJ4UePiz!_piohkU)*YIx{DUrwfC8+HkvV}pRYZNBc?9nKM zYf+Ew6GnVg5Y*lL?r!?KR)(>Vh!d0kKBPn=`%G`He+hf{GTOE`BaLK0emA3)jeyTa_cf z&6~9d)d_ZV-18<+-nufk#k(PWLEUIE$6~!R#>628b`8aa7tPd?&77SVTZ9KQGxB)H zKDp;J_nP$09}o7cThGVC?JB2?F(Po~l%s#+L+xUS(yylNcz}wp-HqgJyTZg_5nGh#1F8ykyJ82_7{efk3{F%Q$Ev^Wc!Mi~itZq`dF;SQe!b!IMa*`PvGfes&s ze>K$yRlu}ll?>YQQUMZSrxy`0Ut*5CY{c}{-se~vuC@l&`(^sT# zVNOi>>Ow7j33PVo`zt9sJTCO(T?Anr9v;qt{VdyM_2nSx{+_^hqDMdssGa_ z7@NP+U9wb}nLpp$yxJKfXI7SSECSSc9zsBS7n@vG_6x-v?M4>vqVuxyzZkWm$7Y#f=5v;*qzKWy z7&zhrfrgbA2&l+hR=;B2Gdm#so-Z_=En+tO=y_)JS+DCeQxc3_puWe>MoN&ky$ftByYrU#gW=qmkSEjhUg1k^|oekg3gkB-0H1Ma2cG;7ZCEp#Y z9c(uM6dqjts}68&c0g`vgzd1|W2rB*=|Mpn8juL=7V}v^z8)MRTdG%Yk!{dcE32;2 zcL}w)!c(V@iwDEZhShj|DQ;F%r{z|RR%rY)v?{K5#1=1{#m*uwE2T95+z{{dkAiBear*UT3O$+hN45ijgM@S~S&XxTFX49QeX@wc15^ z*;6@h3_+BXq-D%yK4cV>&SF(H6$XyWU?C#vG&&~zbE|M(*_|+s^k%TC^7sPxdqJmo zDpkj`3*4A^^{WNk@{!qN;cyo+7&$Fk#?>fpIu^<+FrYI`&Pt1JJe zIUmBDF~D6&)aQh`40VW??c?;47>Ya(=2ZR-5YWDe+nhL|xz|3tTK;#BDjJFgwwUEC zpI(EKoYLQ71bp9F~=(uar0CaGA+JOn&e9$aG6t9s} zA37t`+?n)`=FH%AOPT0aXVH)s0(W)-z)MAdTT6!jEk0#+3J8PU9E0L*t7@BE(_RY7 z!r=|t+PaNLhDjpcj)m}|jpKTjPet?>LR98fHt9)6-Kv+%Z_))38&DqTlkaCaQ%}4R z?ullD2r|&>eKWm%I+TZT66^NyNp}e6z%=%__4|#eV#BXzPMYMc*t7L9ymSDTJp#j< z?W0jwSFSRf0WDR(PG+SP4@h@Lx>;VWcB(t5^!?1ryRe=~PlAC!m2c%0nzf|nD>?@Y zM9e1gcgrfmjaB(}ib#t3&GnkxvznS#hG3WAYC$XBl$N)t`r(0FOyiIFuhzMn`95us zJ3Fmz5ZYGGFb(C|A5W5YAI_?&3QY?O3B!Ax5Khl>6MT1yS&d zF#rC=`RUM%Ut*!QQ^`x!sNoo5@T;jeTMZK>Z_4Zu2S6ux2h=pBgo=xdt_Qjb_&B4; z_@CBW34xlwPu#fVzug4HcJe+Q{|CM&3{it}ALsxT1mOWx81P*Y_vsyLCpGS!XX$hA z5i@cKCI&t2+|aIk!=xJ8TpMCKKj8fQ!`vIQO$lLp)zoXRr_BU@7{??8S# zDYFwZQj&?Qo`HldP(4-UE!w{Y(;fZw7s#^!Rzy-55z zmIO!NpjMxcAPz^{~5zAzcY2YnfzL)hYQU7wSon?6W9hC4&-a8*SC2-szpt+6#!c}WD!D01%6i%_ zu6+IR(I6syePgwJ$HJ9gIw_}a^RnXg`r1h_mfR=t_Q%v1K_V~M2066Mo9VGW7<`m5 zc6W}v&x-ujv&FP!jNUgeRLk$CN|efIUshW9^Jg$Ep6@C(0pY8;>1jSu-n{Drd8Gkq zS!oL^n}hvbMMYU0ZxRA>d?f}y*WnKh;l-!LJ#B+SwB#~rrSPKU8_SBv%oxvRiM1bi zL{-yC*Z5M%$Z!d;mM}-Hea7&$H-mZUyE1GXTqog88rpp0Uk0AjC%e&+hm*bTu3Kl0 z*?+qwd&J(-(l4s0f0h^bSy|nw<)){l=VoK^FwKr+ddtGXxH@darTI2ZlJ_sa0{iH4Y)a(#>-BU)o4>#4%$M)uvcPP3 z0KcS!!N@qO#s!?ubDk2|>NJg>NwNxf4Z6BGM`13s>{(gW$i%1xvD(}<`yX*08NZ1b zY$yS$H@YiA=2sT~yt#kFrP=$MPvmrZj6()fx|yC`$Uk&ygS%`*LaH0%l2ZyIY1y3; zKcUi7B4GZKIW^w!F_nwwbJWWYK zT=n2NJ5%L5IgtIq?rx*QSk#`Gfa#MimOA)hWw`8}bS8i249Xm5S z3#}I-pGLxZs`9wAZZ&0BoX=OErK_EuU*HfB5kwihZY`!uH#S>8KRs{e96HaYH;XK+s4p+b zC}rXV1!BKA{Y+-u^qr| zecMG>5Vm57ziqj*!77=pQBqL&GyESWc2-+UYbGX7BCbkj(DSf-cgWRo+bEcDjQhg< z8J!q2TcUc6xZTy9mzSp2g+=7|fw3#rY8cn>y@d?(O&0xA$CDhRsXJ}fFI6!zG~PBi6R zb*Z&+Wx$Jkr7W_(J~bkOf^j{Y_50e|RO_W*TRmgvdzMpC;o{LZv(NnjL&gLe7FKhD z6u7gss6HdN`zp*MaI^VwvOy`P__ip|XQipi_E@JluZuu<{80N?Sb^Fi5t*64g-#5;H+(FM ztfs^Yn@aXB{iC&1gXVQNlqf`Paw}Eh^q??p6pdk1I|SvysqjJg<(@MoB0-?+h)D%C@N+y zuqm)3zv4+cRoP8XOipbX@V74HoC@+0#T|-yT zsUtMLis@VTXh?MybN-_Bp-SiVAtmt6La^i%DKGd& zen-+8{gCqyeIpL8RO>-R9_wh&D{Bn@Ls`d-M80FA6`N8XlGl|ElP5Fg`=i0>Ft-6o z(Bpx3Jjd}^Hm)2R?_ApbiKWdiIB-%FMeVY6!wVtd6y%M4nOtWT5>oT+(baR~R_34i z!ce;whrOEWpG}8CGPSo-fPw!_y}ajOGFoeG(Hb28>(6uF(SfCV%__=k1W&EJ^b{ne zF(LgZLI2zZN@a3{B)B=i{9TI93F3nQjm~EGvNMwEi@yf*@RPDKlZ|-JGa{mqO3m1R zJsaTEvqzPD6}6o6t6mpNkeSpM?Uu%$dpY$O`9wWt;cr^Z5ngJNB(yR=3xxR&#^bp4 zOXg$^lg^34C)nqIbGyD?c;hy`171|T9^CwgP)Rh;)?T67}ZXw-I}@S8A&tKW(ZULHfxMs1GF-%d#yg!-lt0?Uy=7tVM*Dpe>x(YujUy!h2hD!d{M#2!7G@Gy`_+P zuUlW_PP}ztY2lHO8>51tX~Ih z$457D_XYfTVn{3@1V*f)@_JPH)#%?iUg>Zp`je+9cLuCY(*ZVPf7;tD?19${I)}HF-#)sFXngl$ zoVBRLO0*R6JqJPMqQU#~cW*wcDcaq(T;lD6zNkR1Y+N}KjR8O{G?rCRjA-&;cY0w$ zLkGNPUatUC^1Uw=->YO0szGac!{+gX61^kO;8okBh_UQyk7k1Tt>1Z7bunjOfttg| zEcpXl&q|^Nd@nm!q?AM=QV2F+CK&r{z#g&Kn#w8SxpX-cahE>H==XAA#hz8H@^@a5 z*=bnfMOWeYtV8G3s+jLU%bib-(+}If5Po0-9r6-&KAvM!*rQ_41KoxF6O^wYX*tes zE90ve6;-w3=j6?P94oYSN_71sdQK%pFPGMMW99bit)$}d;`@7PD9sA;PRaX#;i45Y zqelmE?3a1RkIRlvlQ-V2!T13OkLz5}gJOC=F)lLfG47%caI}cZO`lL7OB32>YolfC zV=*&oysEgUu8P4PF?Dvk7z8DMZ6l!(<%3346JpEcd;(PwoZ_et4)WTJjB)`~r`|NA z^uSx*;6n@-p7CIlseNJ@(q9Yld#C?qP?Cw{K)h4HBgr)rqGt9D> z%9JFFGQTJJC;d!njEnisQ?#>xKkJ{Y#JqLWg$$fQSZ6-CREIaLh!u8jN#;iEo47K)OO@? z@M?$h*zB}@bU|EfQcPUvuh$l+wWqNPJgg^9$9blRtg<4jI{RxFNnU8mFPMK)V)d}8 zngWa9D-#v=EphnVi{s$QmZ$?CF*XU&=CaRVlPdLW-mx5KO4eFY@0YDNU5t!Rd;a$Y#0RjJHjsYTfoN;ANo%wxoObwd=jBA7&x~~`#HeX0 zN+%Y}0%3lDM2a><<;(5qQ6(>UtQb%-%=-?bf*b!~CjD$&{kAB(9OI-dXnVbVhraJU zP%^r(BGc0qM1IRNuHKPUJQr-Z4dmyIn`p)KK7Iiw7Z0~H%fiTZlXGD%d>{sctSHLF zZ-29^`n2SUprR7AZPm+?Nv3yrk0*)4=t~4hosF&f*85(tz^23%Ka5TPVPfQtAAG%9 zL=3d!j{WnNyr9hbQ`+#C87-+{Wd%t&Z52KD)bI84lE7)Hvg(POvjo7)Sxg3CY0pK*g2p}9P0>hl zYC~zD$=Ljf=34zPVAV3)R3`|@xh*DAuUcvzWzKj)Rai39&%R8fVoTCZ;@O#jP=X%D zZl?;zl4{CcLj}o4SFY=p`AsUipCy9y9Fq4+2SZt1X=0*a10Fuq+3`X>QTlpc40 z-Ca&&!U(&@2)fj(32~%d8ixOXXnCzHlb})O&KL7=4?U$WX_!)4sJZG6Y+YTu?St-T z=*LfUzR^xI1Bx}3S=6<#2Xkb$459O!+466(M~x5Ks;Hx&129QH^>hP$c>>_g zZ;NsW1OGm`r7Dm6x}#wiC6suRyH!AH*9@os!|@Nny_O?JL7&B{257}YH&`#qIvMo{ zSu>8ybtdXTVVheUWtMYzu7EI(X6|QEq84VUP_$&Q@1ZyGy-Wr;sm6)Yb{^>g8v%MR zG)ZO5 zk}>B!$AnElR;=BB0>mEe{e$JgS{GZ&m<->>qO+0SL< z6i>Vsm9%h~Kvz%Tcw#sq@-nhEww5$-A7^78A(1%eEh108c#bc$>5ML5=g))tCG2l^ za*D(F>AM&!*$E^e<`bg(JD_#K8?8b0p6%{2VT*#T`lt1$NTrcAanj&8Q0CRy{WDAC6Nt|0~*=@Y|! zQOWNXv#hds_enZfX}Hf4RbXTm@T8;npPk)Z!y*3;@eY8hkqrkqoK^w*X-011#ZRXt zgQ(}_eZ|Z0rjnKMSU9tx768Nphci=?^>yQoD8I~+6;lXQ z&hM(P%Y0sDehY6#&>{;Kuh)`|^UKuIiwNjZ&#sb&ceQB6hya2Qz(g`2O%1gcyB?a6suORT!K+s-{;(+n;)t1vgKmi~ zjkuPE>(AO&UZ$4gwD*f8=fZS#CO}F61N|ugJ8MAHD-|{Rhx%t49g2cNsYqEJ%8$^m z0*%4P#{%?KlBybg0=q}};}P4tn~knVK}l77(Bl|-9!0M-g?|(VhY%6Lp$_vE8urx! zSI_Z)!&YtNAUSYAx?A>}AcHMAojZQ|qN?a>YwZ44#q=&;0izlAT}ase;9v*uIX164 z?~J**-$l1iMI)^IhK^^p+dBG>*3S}G;Xc(nE_*vcmsxF?hOTiyOlie%!HQY?r?kj2 z*jj9x{^i_-M*R4zOIhpm6QJ-5qaaie@Fm9Sn&dMwhy9La1XX`3B^Se6edbx0_rox= zpAv4w09|u^2k2qz&+oR$=kPq3W%KtIR;Fhsxd0x4RZe&?jo_PPvILb6E+#|lnDIF2 zM^Ps1bnke?IK~BX1vz@xw{{$s5j)@ft#xj!Jz;rsQ#N^ ze&QO?6^QL>6|?2;lfoy|?$49*VF!=;t87H0^Ep=mT_8kmcdEIirXf7`)Fj7j=N)NO zfS#nX!$Np~F&fN(gtE(<<>%9g+35)Paldx6Vhe|h@qpsN-KxK#)<-TZ2!Aw@83x9YK)MGdV^+3cJM zKEuozTWZ3+r2*{^bI)>cMZrHIFv#|4M1+*8HTwat(fIXlPa+X~qM zN5UwY=i~3K$v|N%Dc{$z?qGN^v#dj<@N=d^pP(iA57l^l3r%fDJ~VVfA-F}_tdBZJ z`Zs)#N`i82bAfnjd#61f{b zrK74Y@DQ9p;ZM=3+X_(QcBB-FcZ$V&TJI~Qfq6G}W8m3TPySg3&TE#|pxg6w;>YC2 zbu$+^nlHr#hg^IHE^B^~w;iV2NY5gaEggj_jPBRQ6-Nk1(#>e@cn3ZoI2jl&$vMl8cl(wY>PTB(v93#X{omCb2hA>DyQL zMkcn4_aw2QG6R`*tqI`^becm&@&p#^0uz1s&FFX&ad4N0;IU_24K!m(iSt*-M)ljN z$V`k_d>FEV=S|UP{CWa4Y)q>c3V)fRrt*XDAj z2Hx7mwVAhDuqxhK$MoxqmQ@Or@BPpatxDfJ;9sJgNmkC`cq0SDRq$LDdqL-wU=oe& zW(>7#InAbR+b7NWuHkUGE!~sB_J9ez#J2J2SEsnkv$UDAd@_Jg&KCkZc%qNf#QGnX z-5(Ra@-UFtNW*P;y#>OJ54DWLL##x%u@4hb(R@d{+!501Bm?_?ZAw>ouN|^l%~n^H ziF6DZhHFpuchhc6@FyUuVAbw=q&)k-ii9CxFWD_ zvWc^0mF4Y6Rx^am%sSkMuve6<3KW5ZazUL#NkN{>-2(&Tx&!%2?$hjZ2a~j`-3lPl zFjMe?sk2-d z@iw%ytS(Ii4Uk5MgvbmdGXU?NjC6l3#A51Aa$aNMFJf>qZW1~gdc#R`c6GKsA0*tH zrK;xlCxV23=<9sC)>uY#$KN}HJTbF-m=yLKi;5&>wZWpQDmM^nH-S!OwUym8yAh{(_$#KgdS1sn-Xh2sxJ z?Em-NSxL>xu4b-5M|byr{1Z|f`Bn}C8$3|3SsW|6Fh{p%4S$>Rbpb2R3N|$ZFTDH_ z6LLyb$iccxZcPgx6-z|qQQBvgZ}nOgK;La9Zd2z{4|Fl-$H!?zR)zp)%otvF?L*@U z9^ZdXbJEbom>e19nOmW+7hiRWK{^$t=9Cr&otIG5l#u72cn#IGmIaH5%`eWAI0*r~ z6m?(CFz~CN4jyx0Ijp1!0P7~$GV0?1>Q(NB;g}&KNYt}e9zH!oUy0-f|1ddjM;+v{ zOM2ru$F|h~IIL<%yd$V*3jwF7GoR_^nhXWC|33SBDZ5>an3y|j8Y2MSZ_PZ*UxAl-m`^8CT}DwWqSB{n!R3r=bWLx~ z&Y-J^vWRAo;WIYj=;%c~r=xRX)UaUtNH2pZZ=8=wd}!@gs|3YNCU~huc?1M_Al#i; zR#tWie~lzw*wL#Q!p2B%bfle~o@s6Q`y;ydneQbiyB_O7wzmQ{N;AS_S7`$VMj3-| zKetY6bYjDo`tJC*7*&U&)*OFrI9#cIDNRqT#%<{hTRG5^LkX%9<+KtS*xZ5*{KsQXW973bq_(ueVHNPk)N-npnjR7V8_-cP?Sv8Fnr4S;u!exaVTzCU_V>gQPIc>>S1hS>+R5MYoqu|RO5v5vwX*(-mCe7%I9=>d@E6-5V<{?}4d)bSIs! zdXrM87?6~J?ne}&|2eZ5xypwbWY2zI)LRW*UCHAGZMmPETWU!?Tqe8J_BC8ONhkw z8;PQ#QrvM{b+afP72m&yxTd;|6xhVm0IV_zM{Bcbp{Te#xl@mCkx$+_md+4fcU70^ z>QtS{sn{$sGIl?09{-)MxU69eLuk3>@Uc<5d#BxjO*6~H1d=PL8kRaGWp1M2w0359 zadM&oUZ7y{Z&~ut5;RuRvpl%?I{E*#0M*ugP``W(GWf}^|7bie0quX)Y0H9X6OZX# zpAjNt%6LI(-0K4OfIuc#cB|9HZ%&48_GvBEIy@|tBu7A>orR`PY9joQ3p|%?Zf=|! zqhYgYL_poTkESuv8_;KbdP_^o#8lqAe7ekZiHr&;w)?OJK`fb zb5Qx5anTlEvb@fbI#$CG&6TpvTc!&S0nt1SQ>nE%1QUly?D^U3b$P%6Sn}bZY5~|C zIx`*&TuCrj$g4`MiJ$2s?-p+7KU(!E#tWlpvp$X6PLA+O$qtq)oD!BL#9as7O%8Bn zADRI$nM-ASf|_|twCOL%@6%e|<&Fb5Rwt6v74wn0=AXr`b`z810R7^)361whyjcf; z;&w-;Yh8?+2h?d*&gpo*4;T^OjXz{~9Jc*E=!0&U1tn&ZJmBFakLwb|@5J9}C_Z*$ zU-8=$`$KmC6A-D^a#24p{G{>rr;ITN`STco~DOkq^>z&J44P@Fe)WYq`Il z#F16Lslj%05ad22xjo|$5*1xk*-A~0C&k9~+~48Ble1y)4K}IHwy7Eibu<*59xSZ& zelC2w-ZG9o@VkGwzrXct&B0zHH_0;@Yh(4+w`wn0V~|E}3iL9}__bNd3q77y=lr(7 zckN3n3@t9>T4NXCvb#-57LJIKyY#}`-tkrm&{k3~f^AM9Rc;j(weA-V5h0W6DhhO_ zmkZu&?vALNn(cqB(ZtuKae2L-SV6*ja?`iU09ff>t0Dl;v7ehC(7iSXZFTR{QRPw( zGC==$G~IUD!8&1D+e&{2!5gHXMZpPJ8iGfTj}|)c0{n+7Yk`vW-lK)1fE}X2WHE{I zYnk`#>&FZE8GyJ>!kzSC^HueYyEzas$Uz3~&Ne;l#F5j(RcU*2wIXRhNfyI1PB7=2BGA4>@i3Di{jDnj%zI7%ebQN)>wb73l9_{i=DcjE zrT1p%bJ2pb?nY|5pIsQrvsk}pL}6;x^)%bcBmlUz+B6pJ$z6);{&8hQah!A`x}Jlod$igwHK^EOP)-;b zHx!c{i=7S(INi{nMOfX9%-ssord!Zg~e$q8`Jay~ zSjTvS@Nv>TokVGPf zzUDD)80jLyxN~o9sn2?IG@`;fs>SJ5@!$`D2sw=tSn?tvB5pM2_+I$&YkRY%#ih2Z zh|B!dRWm4$2D$t+UA^I}CLHKM`mS?pp5x^E+O@2t-cm?^z%ph|#GQ})S+t`=R|Oo>f%81&#S(*>#yQ&cZE?&z(2`j!UVSl zi1O|=zBHGV*7i^Ks_Lrk0x(0CodHopU6(~dQNs2ojusz~#R(+^aA(>&j{WF>ot>AP zW}wiW_);x-8drC!`b01!F z-pr*C9(UMXU}vXCPz>;foen1H?^v02KPpeYZR*Y}bKiL1>n~k|`_YsPRxQnp5Hp)i zF=mq7(}$Km8?*$oZ#}&m!oajNug|%TO60 zBi?IgnTSNQ@0H76=u|=1Vg;IIIIVx`;U^2I{LS1^ssQoJ3jQm)5K?>=N*L z$H>CE(Qxrqr<3@8WMhflq4`<;3g_eK5#~+T<5I7mA{MJ* zp6pn@_1~y=VI#1r_hZfMq8_Or?=X_k1a{4ge~nUCPEuEnQa6?z{VHdWmBxajMErs)r2#J+EiGQTqP!0BhQiS_4+*Syu(;Zhf$kBa$VHzHrCU zLVh@$GIBqEFu{ia#@w{Sdh&lXPo^{@j@Ux`QHA4EnSw(v{}8}Nwz-xcCw8001je=4 znRdg;D?sreJ%^dke~lGgqN-X+f|Vf}@}C+1*|V_Tn|^q*Ry zn#SE*Lf3~oN4#A=2vh$P(ve*t=jHS@b>GXn;UZ@I7}?X)vr6ESGHJ}kR|_`7(!$ji z%SaZ-_yX$N=>4gPAfg(d*cclS4oYr|-IVxeX%%|Hr0~19pJto_e1W&Fveo}GJ{AO> zW!w@m6giw_{r4Gn2lK)8uBN>5*J@icelRrr=h-19WK5=S{+qgw(?OcmUq`6#9Z^Jl z=}6UjeiKAkK=7&bd1U4&0p+Y625p!a{G=2^I?MXMa&YO2vhw2B`?ub80gvZmoT!QI z(|x(u%SnTce)9;R)U3QiDn@?jg`P>>qwVd_9g?zZ?2<&|o6PI%cJ10eoM)U4@%Tozub7B70n{~YEp9cni7I*@f-F1EV zN8YgVu;2QhS6Y`nK?3e$C`@Hvtvc`_BqXehq5W5R)n4NGo~|FU zX%l>c1M65Fyxt!zhXL?8- z-x>x_T3L1xeN1C(*BuI&b(GPEg~==Z*h)=>R2;RxDR^sbr91f8lTr{s=H-xw`rS=G zYAC9J{B+U+fP3koPD=MZ$;7ScZ5Ff7>V9Y7g#;iU$qeWquytAfJE6+t)<2q+K2TdpK!2os!O> z)kJQCgMKIWUmVDjS1DA4QapY^lRF>P4b;~_H}$h`mwLF~8n&0TtIji1YhP>c;C8vF z&V&6OXU+WJcKa>gUd-)2AUi#;>8guh%9t~oNJdq2pUO$nibk%93Mm2c8A-e2r?&Zn zs1uT}*31`N2pI~>0}PXAAx4DQo1gEx=RaS2KUGO)l!xp(H_FqwDF3P5s{~ z@D>HJ?{nJHqMHhe6mqpg14_%`b!q=`6?VF)g2;p%B?2Uq57{IN`o57_uzh&oDwztm zO-f$No0(H^!ki)%14z+094%27N}Hxrf3asHxWlM!vm)dNgtX-?G5d41=(6g&$!;f9 zn}Xj8L@Q^m_G^dx^;43O)K!#4F4vD%VA2CJ3aY}r^Bu9tz182dVgj0x3VOx^dy5lm z6)q>|y=y<2IprnN>DR>~mGwd0ddp9JODwTgTsaH2Yatknn_Wm$N%CgQfru{FrFQU& zpmu0Wl}=x$AGt8Uyrg&v>-sSR;4Utii za&fq(!AUVB0wc`pWJ|(;IBcZJAEqI{I$b_?2_!A3M;Bh#g%Vnxm6f~ShEuHT_Olin zep$Vj2U-dIFl><3tsPb?)Nt>u)-s8l)uM_n)_@;u{0SO|$K z&z1w#&0QnbuCzK`{9Av|0~Uk{#6AR5ez4((rzel1-v3{g&XyiQJI(F|sT@d>K6 zo+yERAV*QVmfGE5lO;r?&071H@!RozR1c+O(L-gkswPXc0CF-o`gK@RBL_GCxb+TU zV{@YnybSQ0K|K%_7kHRmm|61AW-Ee)5=AGQA^P3l`DQqjg%jaLZXyWSfQ|tW@^bIr z=Jx5*u2%^UXGrhlV-F^yx;+Z%om}9p(qQcnh)yf(|EX!b^-l+p9($=C(Q6swJ1|fw zsEZp*OGMDF6D&GUc4byb%uw3kxYie)yQ>@B*LHQiL#JY7){57j)ERs6&)DIwSOg61|~&B&b>!o<5yFfqRHBTxCt(ZQ~YI*DFV6XPgXosrL&I}@~7UG5QaR64B zt(*?SVHFqU1<6$ct?j7HuS%Nn8Y$#s(tii{4)!!PHJ26^07hv|mmj${d)2%NqkaK0l}DzGJ7rP{%-pZsijR2&6rF!$c=qid)Uf5M12hr5@)Imi!} z+JR1=Z;(&%xb;HIH;*u*vN-Wgua{(#vv31%sfqm$ims%Qw(QIikXdWDz4DW*1D?FG4aX+-QOAidT{R+pnB$(v_GIq;GQ&H~hex%O5<{>kH}MgU1P&z53dN1^zsp!Ybhy$ekxcK$6)BsEv*Qgn z#RU^G0zXlFEE5|b9PIm%6O}~%(L1j{_c4UZ=3;mjEcX|~b>NWIv}P?M1t4b9w=c}> zP3nBX>%+sB8kN;!Lq5D6KLgOzH$_Q`CeH-5RJn?=>`>e3)yK5&ktUoz!|HTDKuR_D z#yB_$Pb<=eVvH!ZDy^x>ie8W71|AMcvr2POFsfWOJ9Tg9yQJrX33zg)6JzevuX?b3 zm;*yt8vX|8A-Nzp#m~K4-l0V9c}Ah)fulr8?bL{S-xPmd)W*H@2Nq5O&U{}So$x(^ zVYk7*Wo``d*ceQpFF~|{YdmN^8xz17V+_$!jE||vald$=v%x|^jr{IRFnu54G>lTO zKrE0d%=z+6f#4CWhw_(r>)PmR_i|HWdEW0o*}8HDk}_X8I7E->KDYs9!e~BV;co+n z^Y#Ygr_V%NEteSs2JC#OA-H>=8GG0&ioV;kFok5_{|v;a^X>ygz21lSB7>r(0Q&?M z$HJy2GGS?OLvaJ$?bXexc{kRKkSTooQ7xV8(&|^^+)_+r5fU5LjDYfh!K4l}i|pze zCpRT*TvO%?ON(5tXolhYD`!kgJZ3HeU57%xd(=Mf^neQi(;%eqS<8ryWUPVT^USfRRO@2EWXNeU;c zGA9XzM&Lfp{;K0&X4p38Ons@R4#I#ZQ&6okA#tCP)6jFZY^P2P%&gV&Xq)b+sf)JY+aL|UL~Ucz-wsfL3Z)~J7(Kmry)#ML7}A~*3K{e{F_jW zp2eJ6s`NjmQAU=i2YFP6M-TYv9 zJkHE;Fc=}AbbIgg6tdDPEX-`CVfqBQwTA}Bxy)3x?~aK%w)>n$*Citixp@OK$I;Sx za!QvXNc|Cy*v7ZsJ|w;!bo4f{{*u>2ae#3Qt`bMHrxumdmG9G8`#3qb|>%MJKV{Y-^pE+zI+`em? zlo*9CaC6DjmzOu@tS4n>`1{G%j)u4pxK}v9A9f4+8%p?@Y^pV$PA(Y-TudCMT+G%g zg99nTxYJa;)rev>H~N86x^g`m(p(I6cMF#aAv18eLlnMW2IE?YBbboP^=34Vbpzwd z*8f^)f*_%}c+LxK$YtYHPAB~^le@vId+>)~p%i?v+7%Nvkiz=dN{XOduzRbk0Md@O zDZ##!nx&Ho4z5LK&GBbq;sCfC*L$4r1bp-BPVL+1yDOWN>*nT%->Wn9eHEwHf`#VU z{f+W=>DRaVLq0sDm8E4W@F|mu>gzT;E)bmb?=_+Fb-y(Ix731i7(J8T2<`zp(XpCk zwyo;4Tr)jMz6LUc%=tYi*rKfDvYXGOPECx{$d=T>avz6`9WS(&-EJ(gTow?!Vnr)P ztuk3&eecAGJD3?uu%}q`v+VKMe;Wx`ZLwITU}n$GPPgqWMmJZ_7aV@vx5lAT=3Qv1 z_I;fG7aHa7RqN%fsf&hh|KVEo&=IJSQdSC9*I-;}WET^go5VehLC$*ArzTcbPH`n2 zgp)9w5jtp!DW9;Ev|2=?;q(+sX&Lyg-2Q0^74Q@+chQ=g8Kmh9f8pYqD|#3kkE{&l zrv}7XzHRmw1?|~=NC`l@u>CbR!Q5bbdUp2HC;KmQYFROg{a+@6DAuXGfAYQgBHgm^ zC=e`5%-Ms_q*)L|#9cWQsPv0z%gJ$)o+TwvCftXInQ%d39!#Un=5B&CoSUc$1!&43%0Y{L`Owui})C6eMvK~ z_|sK>HA-W)$*@k)mGO9c?BwNS-hAPno7U<|lOiZ>I2~}4gi%oiyvo;OajqXAGx;{@ zC#1EWGwAk7o$i^%F2;lGdOq8DHxyr z6?W$o&{WjRfXe#A^{7T}C?Y*0#bYP5zEONHw|qTYaT-(y7P{#|nrSXDH_Z>`7wg@7 ztbGgvOCoCEb!Fn2arT<7QQT(v?C>BWoi{ZH6p6Nbo7{_>R5p0^Ee^#MEeP+p(^9g` z%gsmH)peAl1ZXMI|Grx%67-hFy36td`$K$eqZbo^RqcCQ9YsaC81Fv7idYzKw7^Oa zso-~UJHnjTl;!MfXe?DahR}T0Wj+HXDTHG3Qn~FW;8ghUR2j15C0a(}(fv9!2lms%V@KR zTT48b``3nkkS&%tJS_nIaH@4>VC)bQYvE5NOBQi99i48iEekcT`Kk{q)SVG@ zsV57ICAp+AG!buCAD`w3-bnpB)})2Ad`QJS$4l4l_O_VUmv&fs4a1dx#5C^%1HFCY zwAA=FF4*`#HosYvZK?mY-|UQ@ZJrd=MNhcyZXYfdd4;?$Kj1b-UdUmfqv36|p@I?b z7$5M(5jb2xE5%OPM$T>t&$V0|ZFXWYM@A6;heej{bFw~9!($sYKE}KH_1ts=0Ps)6= zs5QT`w{HY>wh=yMy(n@FGcxvvN$-xSbW&vFLx;DjLicww>2ctt+c(<^qVjjj_C6x) ztLl~pb;mUYdFku7SHIX!D!#Bo?;h?X|4sJx_Y*g8HKNuWiV5Jr$Z#QC4Gqdn#*DV? zZ_vXIiS=|OpZJWE^slr6i1_9bgDM|91s=v+(v3I3p8zxBb@x8in5%&BxZ z)wIyy{DP!VsW&yluF5X#qrme+&44H@a$}CM61;!P7U0tIK>XqBcNpD1bn3ASrnS5! z()MCRlbDSvg!oZ2Sp>y3oX&3gap%GNOl(*RftI(!+Vk+o!vh+rp#8Yo#J;@VW_X5W zdA9zEAnY3EQ&M7WsHM@$nWC(SN02O6cT!CJ?E;7yb_+b4-bZ;!?UWqLB-OU z>N4T7y3w+dvcpo5g_Hvol#S{VL4oytHCFmopQ#Kbmd+2c;P)di+Y6&JrmI0_Kx6?v{4?yka5tM=o#LN1VX)_M|g0FoT9dG>-q@&9;QhGO_63SiVN0z%L{;X zP1=LryOMGh1yP%`W@gF0+nYmQ*C3%o@$0XU@Iz4;d5%4*h`yYyhbpVwH97^CPeo=$ z>uq(xBg6+y)#utRKZVUG%c$!&Vd96@6%VglW{+lM`71_Cl+Su6t3+SZdzGp@Arh0&p(6Sxy!NN4-9l;ptgPR+WnS1Hruo zxiYg{$#tt$rmPBT!9NY-jq!bJYC!Gv9oW$}_TP_8uNi>oi#$VYM0r|v3wI&tDO1`9 zCp9S$L#EjEN;-csJ{#+)^ZmF0Krem(AC3hJ8G1+sNl9)Ev>3u4WNt9xYkA(M=gY)b zqNoL+rC zmByCoYW1H8jCcI&_9yvpHHnx=R63gs;VvoaT=5};URR{X13Ama8AuPyppQHhNl*4= z70?H$GQ5$Ti*iRnpbc>BxE*=PVHT9st;PqfQvcxM2C z4s5R&t23J(%vV8#ax$@!nf2E=Vh4yUInph-mu8_(w=u4dxEVeg zCR`z0&9H(bt>!U{$K!n`NZ3ocalz2Rgxv5s-ndz%IoNI|fHgQ&TO8}|8|Sx}dZ>o# z!lpJx+8vG^aZadt<}dzyD8b!wRW)qgfZU6M{Z()A7J#%2i!3h%_1zQF#aC72`V3~17)1FcZW(A{G{DE-e{GaG-0 z;Y<7KmI5e8#O2*DJP*~TStv$ou$Sd11Ccn*TUP$Hgym0S`S%9bkz~HCD~9dv*39>K z2V2?M&p-eU9ozab9Jc3(`q131MkKjz=+*GBBcp;t#YjTao?Lo9ad@mOe4hMXf=lgc zj$h}WHw%uBC9;|^BsQ5IEvO3iBj+>q^?WY8i9AVQZG5^h35i7VG552FfWPliI#MtB zzXs>G7cNNOl8hTzM-eB%^L$+k&XoynOMKIuY;Ao?F4p2hQvS*fcu^>p><_ZV&=uK zkD>_cF?M+3)~A1zBcerP@I^>PBRA`_c7^$d<>fOhi6Kx*7NnU+;*~W+%(9}wHWtO| z^-otj-R}e5pf|@vK-+|A)`A+osSc9ln`qEvUuLT`v9L%FW?ElsEJV}o-cP0+QD`V< z?LR(ErEwau+nPK8L(u7ngQ3v(ehq^uRnP^v7MS6VU5-Po4{Kg|{m}gQ!sw`ivK`xn z>wdT2Ak~nq`_=pcICw#N>_XdWM9>?G@RVWf5a+8hz0|_ZbyM5ypsvZecAYh!^OgZr z*Zl44tgtKO1MM;&BR_g>-K3>kHrQAfSb@WVLIh4ypR3{ZuZ&haHsWVLn&+h{{#Lj0 zK?E`%BXy|gX?fqcrortOAbriy;R2Wc*MQQ16Go!*N%`9g=zi8CIP2DrTq-b3*5 z*sL6B%UbO4&Usug4-(g#{QH|!|1E45)O9(S{-%C7ajDqwA`n#|z}k&V-b+XUYhO9u zt0&AXs!a=d(x(9cLSsPoy)UJ;TF6gqZRCfmPOnVr5l5u=lu+pN@&1RxFfTXA#nvf$ z5h8SJ_-t$1DDhB8Tp_SiskvGY7(1nb0t@*$Ut~-hkh`4 ze|sf&O?6NE!S$YNnjMQyE(A&D{~dfcoML=ia~oc}o}#yVma~Gw`a!&}{x&y<*7~r2 zllN$05^BrcODu;cF2Be+?TL<^0IZV`W{~kTvIZ}g5u^Y~o|u>tr*2#J7>y{uYzPgt zS0h&qclf%Naj~SmQAJyUbB41x)9fA$4J*_T5XYOTnq~UNXEQgiemvU|o{s(8xe-BT z(dYc`-1*F3^6w|wLb4!=IS1=)6Igs9eg470wnbr`tdRx}FDEGk7T&C&uY3^9%;jTM zeF6XE8XBHpM(tsiB*o)x2!|`B$+Lf_T#}jBlG}J!A83+DJ^#89D5GsNfuO!}{vrfH zH)4;e^OYVuKJ%kPwZ(7Y-8}t$&OE@@ExQ!oY;nSj;)V;cdU#ZyizVMF0CvHKI>^~T z159=gnYUm+h6cqN9ADMHsLNm=F1I$KMt$2F2w%xp0y3j9U33x5E++PHdvy~Shnzm^Sr{denem9=8jf5arVzhptw@Y=W5H^_sX>nffV5uJJG|GT5PFBkzU!0U5J0 zZ4LzD+X+9>H;dwfXTqU$Jl>#dQZNp5H8R2d454K}H&_ko?PTx%nyfEv{A238SIEvl z4YB;FH$z%{^T#L7wnDUk&#>OMtD7wSw|`yd3Q895q!p;vB5%igeD!qSKnKVg7vb@i zND}$0`fE$80eC2X%EN*EuL`J)G9mr5DI0&@#-s+q?K0>)R34y);B1e#`t-=?=6vy$ zYo_%%rOcW5B?41|!wuG#UE`H*SbWm4`C*FROGrTCXc4Ne6^l@0Zx-gh)ZzdWy4GYl zE=zXQ`;52oX7CNkw7cz7xTI-HVp+AOL4V%tj@p4V?1#iyx9ayiJ5(APiwyD$SBgnA z@5@V{10@x2M!9lm8+7hohLof|E#t!SkfMib?2RQXMmnf#jHBNL!2AZEX$Oace%?tu zOXHBNx=FU$R=ZxEGH51gz9a2%d|_M{`*8UW_p0E(!xr!Bm-1|=k5jdw zxhK`@5RP(qt-AL;RIJ>y|AjQdcB78H9tdxp=&rLybED4>@aendaV3isl!A60mw!pq z(`h*|y)N@Ph*m+igZ*`yBh&GF$-IM#)dAzUqz@^MZ*6_%{oQm}*hu5NGoaDbtw;GL z>*QobI~oU$OBhlLt5Y}~z37T_O7NXhAYip(ApBBdpy7V#<5}01ayQNYHFm!@fHDR7 zVUgF#(CQs8hXbiaGFvMjGpf#_UHAIalU)}(SF`(72cSq%{!gy}KwuN{)fMTZ4U9)# z-`wk zi9qXyp5LE;HYITub^<~NkH|bFJ&#C++x50Bu|ZZ1qhx+VZ)>pEwVG7!VG5clitQ;Bjm4Vh9H zdQ@jzhH^I|J|x-UUM+OX|8#|qHsvCRLoQ3$<>gzcaevad)#Z}u_zg}%f@V@oJO&xY zJ=%lg{f)zo7@^P6W){>fB0PpBJ2XZRNY9XiCHevay}G=s-j#?S{#dN8q}BJ?4sjs> zCNw_QN`&_*#ren`;F_MLotmbs5^$nr;bpajOTA6B#rXMkyldb|NwWMB$r1d4SHP^F7)%dNAw$b5lq2;{C#D z5$`;o#MH&^r&_<7&+rEmrwF&cT}7=tyVk#QwdsS9;T5FpH6TqLfaMMZcjbVD&aqe; z{8b<>5oO94NImTco?2h`mNeX*2^VpqTHc0;|8ftRKkBqbsB^a&=h;Y&$wW=hjGq1^RZhZDYs20eyIzEgRsJ@M9) zDYbLI-zNqEVo1Q;8Wcv!$-OwSIc8Slm1@lYjVktNmkJ$7^<8J^P;is6XJ643m@YCe zG*{}9i=7b__0~ypXBQY|`)G-1rwyYDiQfhXBeWFs?w}9RXinp2_l8608hnGG`L`CQ z^uz5*m??zYiVA#~B!KD)sQ`zQ&7j)j*7U9^M_q&QBg&t-wR!>yho2mi#4TmIwoQYIsS^@9px!%D|!P&?qOdOt=4e>*YVb>(De z0+JYf%ZU8LAMUG!RJstKg4zV!pS%zUWa)6%=?xt4$f@Uoj;JU^!DbI+oOXVk{OpNN zG;Eaow6A*t2M_N#pn!HIaZz?BAxG4=d2!3r)3Oa>MpD?DS_}G8^PNmv@AYGm?<{zi zW}qlA5UwU!DSp<#7)bqY%<=k@(omBlt0MLFW8@xCL7(3SnPfMnzrIE3*CFlX z5jeTsqFkf3C&nQJ@1!Lh=8_1dxcYCZe8GDzeRlZitrlw++8#(Sp8)m;5{}Ke`FLuU zeX%7zQ<97-eUKAUIIKj~2I6uFfn+VZDYio6An^}F2jD#tQe0%Vci_R7iI|zV8Q>5G z#?iw$R$e}4eG%wN!r^q91Rd%C3l##J&UM)MP0DUQ_IIs3yzv{m?CEFdGg)FXi6TEf zzWu+Yjjgc(3`#!Qm+b|GB_O5x7rx9e5HYwoQ1J%wN3N4?Yu~(QAUJ1wzYy~SI}rbI zvdZgrmw|~vj4>1kf8`cjft?kX-HICx#Hib21Mg$#eV=(CXJ8okht z{#f%e`Q3Qxi=67yNZ%o)H@5dV<$L0Soq&Y;*@m2j4q~z#gVWwCh7;$Fh~ly1R;0jq zxXk=c>)uzA{GIplY*{0|26xuh&O0TfPKx{LCPe15+KdEhY=E?~+YCvA{{ToA>%*d( zA5e^OeO z%gO+rk&xn6y670&)H(A0^Qy@bz1A=DLm3&Fyf-UbOMh5zR^D_@z6hT13L)d}|7EIS zr(Z%oQjrO|5~g7W0`Q|sM(4hjANzNqRiRv+kkl+fKN16t6Y5tvJv}`r6sfql_|Sp_ zM5rG5l}JA{tBm0!{Hwoq;Rd^)pg`+&@ro|UqOzg@)zh)GSyuM9Ys{6#c!>PkKQ#23 zD!BLf5}zRgLR@fM;~!Xt2MJ#f_xh>fsTzswEHKE&DK^*igwic;lrcJs{9Cw$g+E?A zvow)i;{(DR{nUK55X2CnwRZCF6ddBs!5jkZgQ=OtO-_NaGN+cO?LzH@3iMxs;dGy)$#>5w;6*&g9ln{&mX~D-0xSqTg&i1 zS-9%~^F1~}Uq~4!V8zScKDVq6AsX{9(gsGa&o(^-I_fu3_OFCIT#5*@#lfoX&2lGuLQ}jQl$kj0f6Ibjqqcwlxb{!? z_Wt=IqR(E+{d>hbF?ox~F5H&dg6>D$jHVdX#m%p<;Wj|^!g6Q|`}bd=#Me+8mh-?s zNt4FP#)HSS>}=gq$g0JHp&Q$Lbu44Dgh`|Y?u`C`(J(_}-sX~QR$;Znf4hc;8+Uh6 zQFl>HZg{>tNLXl{EQvJ}s8{u?F>?iotD31CTDV2*QWhMXobUa#4&2}|h(eeJINREu z49%!4T=>5+R5jkrHL~ACN`N^0WRxnbL;n7r>s^!Hf9bu7jEwp?XOxotKv6Y!&^E)N zmjxr$eXleLU-h0$_lhrItIv-7ehEbfgdFfZw-&Jv2&7S=AEtUDzcBS8%Ki?o}2 zozR2myD`GSMk2?z1!c7577^GgU#H($$Dzm;-B~JKo!b=eu-Bj7*Db2>soc@*=@n{tz<(et0~CH-t~7SWNJcJyE&r{NCc;cDHDsxIME zk(;yjpZ6Qe^^2%WyOC864{?;Rjn!Un zou-29$kR)hf+k*!o{%1}lmS@f6Ejqlp^_QgHOrmiB&R%TU1`^2i6I{P9>oowLLN|G zlZbzS|KDfKQ*{v42M668;7aJ)NWQ(F*BZP1t9)0I!=LQ>gk4fQz6x@JKyvNf@7iNu zkWB2j5X`;MU;$@BK-e9BDrV4^Tzgr}{6yf%Vg;!rasBUae*E8Oo&R0`=~53U0eaTY zto@X?I`xZ?vFJ9&0~CX@Cg@p7@qf@^&jRSf-TnP`xc>(Ueih)GsE*^2_^Xsapw3P2K%7xyU;#fGHlyigNad+r1?^_c z(mX6bXUv>C_wB1!S$V+2KA0Ri7@c=KUg;pv0W&14p?lVVI%@hY~NAY(T5+2-in9whCVma_yS>Wxl&d$y=;sl>O z=D)FVqv5WC;|;C?PDga6dM)KH|20*k!cX8yGG9bT@GsGK!otE}6WtH}eR_I2@Qz)e z0S27klz?lEfbG@GckbK)Ufg^4Zf`oXqg@g3mfBmlZoPW_T5<2UuU`|ZTqpF~Bv@Np z&z?0);e3*9kAl3tz>)xd=L1fwTI(I=9W4efgD*Y+>|$K(3I~;3a;?^1B-R35ePqj) zEhc7WW+o;M<&9vY7p!bJ5)~ic|56kf5Py|(8T?tB1XdWdsc`>4u(?s8g(Cu37&fi3 zei#=Wef#odU^CIi$jGQi;e`9i3l{`Lv;$TG?=}Jl!kmj2FZT8I0jKQVz031i&+%y@ zv*4}Ux4ow`No?S7>X^}5CBY;X^!C96g=0ERHBT713vb=L+39^s0a&uORL923{t*Y- zU32El`SX{r7tEhK_bAYQd3#{c_xAPz?+C8Y5_s}BJt=9?=FP&NbmnofD6#+pN?^m^ zzkk2fiVFavwb4RWM#cqLNT2wXbadHDpnvC_Idi6@tn8AxFT^n5$sWL1I(+!>m%EEV zIwYl~U%zI>fYP8yi+~^?NC?tWigb4W64KI0Hwa22-5r8-=bih! z=e*CoKiz-e`FzefdT`6$-?io%bBr;^BIt#JG!{BJ`i&bmu%5|CD&M$)+JEB)N)6gA z_{#k}OCk8>jWx~#xqHARp*J#C-QpZ0owbts@Z>|qY z-egsd(M7%~ezGPN$>BX1@}5sTlU3>#S|Hzgz4|(?Y|bFv`*K3GXPwv26&_(9TRu!O z%57-ecH3jKDRbMN;(goe@^+>BKAkV_6SV*NPY`!e@tyzI|I_(K#7i`P{{Otj28nR$ z&j0)s_#OY_|9#05wEta~e=6yJive+@{@L+}!*3H%_s1r|R8C zXJ=^|F})OD;ChmglIAr2hf)iUEL8-E4^%gXjEb7HF|s{f>$K9H@Kr9(a;j=~C|AYP z)3bC%C-W#Uw&|Z2!kYyN{P#wx-rn9@)3tBW*P`z}KRa0r-(TrT5^+097O-o$JerKT z_j01_ZFtV#n>TN!_o~=2|NBhLH&L7rZyG@o10NCG}EMWnOjJ&40nQt^S4eKi|rwi(z%W%SNsp zdbNUAR&~4nCR?8c9R$6uF6!NmZ{51Jw5D44-v_|0{1>{Hq@?bbrHXlZ_J0wlFKRU1 z@wz_tqOVfVQ+?N)EP&%fbNlvfQRkia-a`K_nDCwd)++}-^K_#Z4d-`@>5&4BGIc$V zVfw2472PcP1Tx+?$S4b(-nWpDG=BcqBT|t6XVrXskZ#@DF&OFAV3Pe5NWwXj|4`DJ zQ@8G9>1VW0>z6r&e>;sL+JBpWFE1X4TKJJvFyYTACbz{f{>=Bax!)JxUR|6@hmz8H z8Kfl1{@-3Rh4$b2rYL+Ctl#@}zo`Bwv32<`t<%<&L;yBc+W)*m)OGpXM@*Gp@q%Yo zbfxp;WUMm`)j5ngQ5l2wXmm?o$uOK<8C}wL_xI2D`^4m8?lHBTU5`i1#@$!9JlY&j z6Li~=2(mEQ`9E8WyWn`W;azL8#cw(F$YF12fI+$siedQ|k$^iJ<0fq>VzY1GmVFvb za;5)hWDRyy_&A<7OSwDITgYW#_vollDdTCnWKc53R!`!C$$B@ZoFVFq7woCur2k!$ zEk7pXC!>Bn@!S~>`6D!=CnxZ^XoQ`2^t>+pW>H1a#1!Rc{E-i@F3+#7u1s797T248`(+W9l348oGc(85O(9jTzW3(lU zM%PC{+($`D>bySq6-w#vh1n_~fMTjBdoShofa{hy-`<5*#i=3=PB{OJvxE;Z(bRJ4 z9eD0UzIR(w)z<(LW}}4(m);})x5&M(3+JdQ3Ei)+E^QWn)WhLV%#ckqW&IGWw;%$D zApR>+z;0!4x$AgyKqWTl^88(MGfqo!W}EhdXYhG&tCj)hE?0vHn92D}BKWOl_}&d> zDtxYak@m#v>NNWzyMK?Tfas|%^6MPeSj_ZDMX}2v<$4{p+Ab^6)1_!AxXY{a?HV~w z7Ou{MnE&dmt^OiF?w2qck=jb{=OkKjZ+M)=Vd+QOOP2Uzo)@8Hyu_@^nVy$tP#P%@ z%woR|b^D;=FcM@T&Q@P+KLdY@Ler0po+N&+v-NDmsf9Iu`ME$fcaX;GB25BGD^&Qp z^YrhY>s-?ZSM9v7QJ5_;=~5va+EutpzhdsI9~8`eX`)RO{118rt~LU)V67`1|4x*W zXsP*1F;)p(cr3I9b;YuW*gG|QqXgj4j0p0Ii;HX0#vm|DSi-8v&)~;Ls{9!WY`r?y zf>$Nv4@`{;y_uH;R%hzn#Pun~JnP={Bp!Ws*-KK*ReqlQXm{kB)(ACT+u*Z*kMth$ zDNfv{JJ?T4|12(+z5AU7^^q8(NQJ(&a^}<}Zba*GcJNKBLbt*E^l)R;!^0yIGvtdR z0*q1!{4vSWYnIIPWyZr={4i()Y$Z*-ONMT{Tt(hM+I>3P;8AAu(;#xnl)B~k5leUR6>coVExVI;hVac5H zu4Sxg9-7Cu{v2X_76tXN3=F_IJUko+Fq1OTrjwyU$2)*YE|!o}S34aqNCb*+A9{7r zGk(({ldctZI{oO&4>(U&&)*IEM!bEJGeS)$I_b1A@(l?UyFjzT^z!VGSuy!we;>oe zoq-%t*`0DoD96?jZ8OkI6V}5h_WIPRfRbo(ob+)m)*bz>_UuaY&W4zcN@^+=X zFoI2^6p&A^%KGLkJw?rBYlM_3e4mupc{GGupGB(pw`TIH3De3{ z1|asHlZkMOrth5(P1lnm-FiW2^Ke*dEGECd%u{vQ_*SXv=%i%IKbyd9_ygANdZ!hK zSuw>(h2Tl2N)u5t0Fz!{9Oo>wGKrSh38h5FzRzT+s9oG#fy#y2)q`2jlgi)yHVvgi z?GBtn5FDg)oLArbm4Jl_OUy;iHE+$-3%MO_9?yEwq@Z)iJ-i9HyE-#7V@{7~ICbtX zti9M6u+T9FiS%Q&ohH9q0A#T0);UjA+32W_RUluO71h7FYJd{=g3kiWcc8U7&Z%O6 z;F^VKTRVf*w#$152W@UZaRA$*CGrbJ&dHcpF(26kr87{9NTwdc}pTfu=3_hSzZfm-zX=-|$k_Qcu zyUn5bvNMvwxeqp7n-ZJa*M<{w6(jhRP)7cJN%N1k2!-TF1F(Q_o-{CD#fAV#=@GXG z@o9c%q+8O!YU8Qncvbwxd3T|v5>xDV<}+TX&wTZwK^4S@TVnF@b|W0CFjEIu!Dm)r zldWOvd7K%j_t2!D77FFf5ygEqw&AJe&%{x8pKHQ);W0dQc5xAr4Q%bR#3~y3Mc|7@ z$N0m=Gt*nBGlH(Q!Q(vHL&16nmH^111K^)lrRC|_nV|5=g#NI(C<;D-kvA&mYiDX| z>Rjcor8JBLLXMki-!%WuHi|Ktx1^{^qq!8`UcgP7ef7fahI7lm6BQEvn7J?W)xOHc@ECQ@?Whi4W3=vdQ3}|? z>bwCe3%&c($dMiZ+*GyQ+wOR7 zi;41|(ahoG5Av*L8{mol^ryAHzlk)rvzr9yp_ssfa_unR;+L)Pd9b~maO!9DYfve$ zkG8KGfy~)MH4OlSnnv%An9LL=62Z=1efE4F4sjDSg&&+W)O z_s>Vw@!7uF`H5$+sY*TjFHvbk-K%;%?)?csKn5H!8qbrPVrK5z44_%87dcYG5ziv( zai(48ti*(bzSUMwdyn*?`75aLudboSH94+_e}HDA-4XJAKe-5;WAZU2{&)LlC{DRe zcL10{l96BN&UV}U)4(`UVPo1mI#%QKJjFu;wfP-4$6U!xOO1Z!spi@qtSPx@fv|+5 zr;s9CZ8DG!JRwsi^2vRoTXnOxZ3$6a`YpgasDz!l*v2q}axlRli&)!T3>VWxcKUs% zRf<_Ag7#Sy;|UqRrFLz>`bEJeXc;$W=L=xxbc9nuwTR9MPkB$h&|G2oz8?mOZoTV+ z8G@F>G+1{WqN&xsRK0>%+|RNY!=i55Pn5qC)L!V>^W01IRw6)b01j*bJ}K$Rq*dd( zKu(Pb;xMCN5QDhopLyLd+t+6WJ9&cO=d@%aZ6_66l8&PpY7SvWP${_fXJ==!OZt|W zI67rN(3ZxfK4`|Y>`mZP{W23~TOulbep5`q<4GWeP{xUb`kyy*764uW*i@Rej(>sk zL#sZJ9V)R>D5VKuzuugz+|E_We!@}}O{(SGxj1+VJy)yTB$CHiHeLfDt)14`#w3`K z6}E3_d%G`-!B;r7^Lx_!_wS9nVq@4elu^~Fv=9in!`d1VKsfa|6x-xyfc`Z`pCq+^ zuOcmyhb=|Y&dxx4I%vFJ$u^r%9f1T{U*M5@Wewd5 zsxpRM>ml@nyskRa*T1$-R^7Jik2i`M5v$ym(-xfi0q0h=;sse2x+|v6S{awF5GFDn z#%!&VBC->yzcG(LE`D?`OSJA_W5hX#A-x87vXmp(LZFm0WpDd{XpI!ZY4rB{DcK|3V?pRgigo4BUeXVL+W9S`5 zy}HOw33~yjFTZILW%WA3>hvKw$;8h!yy+ollswA#=8r?eAyqPTvvh#+BewVlaT#vv zYl|H0t0lFgx#-AFnKeJ=wZ+AK#)c3C$Bl@?N8eI<4SGFmu2A3LM<`hwhmPybuib%K9)M=lezPWMt2L&+p5j2S*CSM_KmP=ve+N`0i zoyG<3gffPC3}sR_{Dp=g9YI3dMqu&bpy~lXf$f7cVguszzG_YcbWx}eLADtpkv5%H z-jF&=rI}?Z5NFaKDP2Gz;i7Lbz6o@_)fE|ZVc7A};m;5&fO{;ujIB&}f0~3;4m}jV z<4`P}8!RTYmlB*(fTRx@7?G|#p$VVMjmBIZ=M_j51^L?+(a?}`u^QyEB&M$3cPG3# zb^oCRkgI!(rAqn(h*(TA9yZ-NQgOx3MY$9Qm&CdTm;IF=VHBX@l9}X)-CW32Mj~yS zplXKMG(UYySA8qowp`_gD zMn9u~_&j~7#=FEElM`G8 zC#R=Sl&rvJc|CITf&GvSiu5lRsrWJ4;nAb&Y2Rea- znC%sp`^gR{5vT1L4`>|9HV5y1P^6Jrei5P}_{ZEpFrJLZlHP6rhj@2oQC_-9Z5Lb2 zr`dkH`0@Mq@7C4~fbay~w+~6ahg=m7-+2t5y2gH;zN3U^$a!TiAmPTG1{C=zkTGa) zugXmZ4%UBzm9h&qlEYem8m!YdAgnWWrvR8ivzQbQ%|{D$N@XK)7dQ%aYJo$PJI%Os zxHvc{O)gtMtYmWz2S)v8C>In>6!b9=6{_$JK)kSPeW&Dl-2^3gc!C8h3*WmS4-pJpzj$# zi_~-9l>#<|dz~p8^QVV@w%}#{2sFY9+VIInaz$j;zGfd(pnpN3E3iNFWgDOoIN?uns}lpDk@qtMh2YWaBYAAECf*NL&I@azH~w5_qJy} z&%Y6(c(UPyk3YHH#oQ_D&TBrH_b7b2SHekG;*)(qj=y#+gM5blSV1f26BXER5Ix7B zUlA&#_;oXgZC~cG0u5fqJ0RlaBWOQJxNtzDfVBY;HHo45V_Kt3EOfm?lREY^;p27w zZ=9g=p}yZiqp6hzO|~Ly>)_&4TFpMST>1Og1CG=_GzzF`D3jv9;3Ql^e>o`vd*XO& zx-3%}PqgB#jr4uBg3cuVqJz>`;ek{_4?Po!UUy6Iq^DK4;&g;iaDt1r{yV!bf(~hK z^3QNS!|30UZ<7&p640K$Lz4qzCu6<4p6y7RTUO+W$H$GZi%%PB+*qFI3!gsrGCU1+ zKL1;3ype>qW%@&EhSL^$ZM@{I*!G)+UPAScHgODZLF0kLhEN zaI(`9!;YsPDaV1h!EuJts#7o01^A8mM z!fg2#!-(#WoNqUJ%{AS`%TAVj9os*D^mh{W7$oyEDApdPgeV1uTD9FAXiW(A<+F}N zgB)B+048z%N(Oo5yE(V(D~}7{WZOV+PEL!is7ZZsjvH4wnY|V)aBfi}qx$7rq518) z1*F$$8PM+AEj_dmasJTNbnHKt$-?erHuI$p)eBz}{ch(l6X{^fNo>F1rhez>bd`r|2RzBVnsH<2}?gX4Li<-6+`a zaO*YdMBz~QV^Kf@;xQj9wrafm4xk5kjNqdnHwA$XWh>HTz66w$Sh>Az4_1IznX$lA z`pxROd9l{XHuY8)Y#Pz2g4Dv7dTbuJGUFWT_gdE`jkXA;h1CnSX*^Dpx`^4K>K_^Y z2!+0)TkD8bh|lrFJ*54#tvDm$X^2&jNvwkT*hSdMQ#*y@XTs!%r)k&%=8X8pzPZ~3 zgS}iFhEsSpvdoM6U-3x^Szf$`KC>W~Q5htwKpoqGYUuMbA?7#b+B(j4g`$_27a2GX(*a}bE zO^xifqz!P~tPPI4Bk@JOk;OviF=N}P*Ek0?mICG2&-8nl4nvf}gfIamUu+bTKw^151R zj5*ogR|}uyS#0nDsyN@1is(|h*qQY4W%Z>BaJ9UXze*N8*?s0y*^`sS10vAEaZSnZ^C zoBuB5<+gQTU~9m{MCY4z2cIUAy8R)(6;wM7OkIwr;abiL z$j42n9~MjzjYin=&>=qx285k7M6!%i(8ddnG|b{xe>d{YXC~e(QzfXzA#lV0tf@mA9%Epx6P+9CqfK z;R$q04BBTz+!QIrZmPe38gZwQ`Gd^Zd{Har&x1Dr|8IdkIq%GYBM2A}%3SJxYU|v{ zApP+REA%g8&rjXRIfCoD%{qtV+TTp8Se=g zjBP6eBH>gbcX0&C*=epeTaxu(j79T>Aun!1+kE{FF(HCR05%MmaSLG-4_nX_!F22s zyB4nL$4$U?>Z%LT4)w5l?i<<7P_3t$Cex?k62#qFEJN{phGCyiv1n4%-JWzMBqKT@ zY+XJrQ|-SjfP2|zNuGro23Mb_Le71#iIES?$4i%+J|M+$>Zw`L)DPd_;gCLCTaK1c zFPXw|zUy6kLis3SqQY!4z`Uvg;4MJX#%Ywd981Ifb?+_FG%B$)dWXk3I?(E$RZ1p# z*HUWkH>1*kg!l_*Nr8_DZPzhy z6SS}frSH%K-Ne_a2Sf41v5h9ynT6aB!{}>WZZDw2;>GE{uC8uX2$DXfsQU?YeAr3x zk+5W%S+jf3&!p0Ro%=kl#Mr{uOO#s$WmFDT3jF&;n>RbRc&}w%H zSaYI9+E27}v~wq#|4vrwGjpj+{^42y^lXXJAMD(E{qsbT%P_v?ezd&OuPU~$393I_ zJ%3rAoSuEtt*?P6an&vhf%C!)OfJ=Z?+w74*o{_3YFd zhmE_d5`5-kFCH=tebcH0OHIV}fD{({&&z!M{k2-Q)ZS7{~h#Y=>-deTwZ{NYhLY*8}E8=1K;B!_+0r z1eyDe{~h~opb{qZXe zU(fZ0zot+;5HoQlh>ICi0XOVRoQN0Jh8c$v?Wh&?BJ1~O9hhVx$j)eH7o>5Rdal2WHme zSSMGBA^T!J8kUfK{DCKodng8i3WfSB>Id?zINTH>qb$ZtjlmfdyV#Kcdlh$<7S&`Z z2QSLB&EjMgOiwW&55SYLl+I_pu02+Jsmgt_s_?67b*wwy%C_J3bv@x=oD{n{F$8!A zJpZGOz>vl4R8NEzpCSEmX1|f-JE2%-3?t=e_<4=XepY2=CA1ZA#ekQ@Gb>W>w>s#g zg?QJ>GNvzAy!*WZ=Ph#sD0J!68!+(1&Ns`zV3%wxRC>j|3+J?{N%On82K+h5hnHXp zf~EN~U-c5|87w~{{M|x~>0jt7&1FK)JG8E-SLpLXY~W@0LK&J&l(R0J0P15=KEj># z?g&1Xd5L@B(j6zEX-c!6Eu!vye(81`$F6hqlQ}j1?!9wwCNq4AVV^G*m?5#nxWN05 zq0{QsIpaNlo6E3!U_}rI1sE=a;v`2#R=pAEY6*_h+?{#5rFVavnwv6n{Mrqx)U9#2 zWgUXN{L6GIEvYui)(Z=4KBBRj-A;npyr{CuMVgLm$6~fV0*@`QWSyOSZOhZW1+WB=4r>)LHYH?Lenhh}cdZ|*k|p1~wmHMl zY$F1C0XSQ8)jq%=HW?4H4O%*08zZo5fAx<3&;~L4wHLnfyl=W6->|#7aJfUI+wY@1 zwJ1VO^eUp$8k#>M?r=0|h1c7BI-0MJ`Ep-9eAmY@W;=!kL^wS44 z6PQqVV9ztxI}MnV-ZdA*kd#Aw`}P*FfQ!@BROf{(qf>d)=Af^1-Ig%bw zRlfHd#T6A#hZ*_OV?;>V`e&!d;(%n=8vVq7=C?T;FJSk^d1VK$t->)v=K**Zz8hD2 zU7Y*NU8_bNbWJk8A8xzkbZ;k~ACb}_nv~L)xvhKG;NXFXW5f?XGl@)0RjJhLHq;Muw^IFD{TmepT5}fIz-^jYpX2sy1fnueX8mL1(qGC>_(IkWBHW z4$f(}SOj15k&S_`4Tv-x9pZTtw<08^y{k*;G6x%@I6<<&-+q6U3z&?1{Gw6m-fH3~ z?z?AX+VU;FcfP7hfd{PnD5=Az%JuLbb4cdd@$#WF437q#-%Bao< zt(0b@yyK_?Zi6zJ2i`_GGpADfyh_yB(BAsIT3^AHso<6iLwD1>7g4hZfTZ$J3)`D- zs7N`7!ENh~&C}gL(RHW6SJ@mdlhfluy_Nd~y?en>nFLLz^obujDCS1bOV`e5&LU2! z9|LNf%eG~2QwAAk`iDb!n6g&0h(T+>($njeO?wikzg*!B~7Z_*p1{v>N%Crnoa^u%@F0BN98 z#`C?yrzgk- ze!bOCV*mkZeL7Rc8tn;iJ8p1Wz!7K-V?G(DY@q*(dqRuwl~TQ~swJ>0!8bMSQ&j2t zn1XfgH$R0`Ya>eC+tb?Gnl^_Wz(xlS`|$K5N*W~i4(2(x$s#aVc)oxCaR zamHt0bwY!@%B5sS7EPSN@8#pw;yPae!;OAW7hr%U;XQJ=gRov8{G-!8IqA048JX3V z@n8z(u)%fhy5<~tL6<-cf#`cHmZ{zu{X!W;ur~=i7GQ;j^<6C{5-W+k_)i-Dih6-o zt!2~uo3Q;7CWWgNHMbf>Kxl%=s|$8)4R9^!k-+p5QAU=X2TiQ3_&MRj=bNA#@xV+v zcAUIO^a(vLtBX~yyvZGs3w@w`Foz1K9iC@;_Y7I`+UsIhx;>bv4CDq&f9YPQaCR>~ zM(|pZu~+g7KvD1#>#ZM#-<_y&$fvaOo8)WPC<%abE0q}}efARwHiXuyTC<}2q+b*s zvglLC3agEDmIGUY;T*J96#V9=ru&pB7HR1Guf zJQ#mDpJmndC&Bs6O*Uss`E73WO)YH|wQWb~Pl?+?;h~hw7#qT@0GGnjsdwehyM;6R zr;?ZWQDfjjA%>}?7aARL0UxamW;CV5#g@R?g_)Ocelk$$cy2=oK@7qP1(BHHa(=uW z-i-GKCtCy(38(w35c(qBj{AE{aY$UM=EJi@!6l^xE0MJaZR-=(a!MOQ*~qn|QCr&im?q)$&BZB%7iyfgKbG)7|62@Gr3?uNHGJF;dx)M9$wGfaZfOpC|1IT2hh855t|Fp0 z&fb6tWnv6Y&&)@Q^k%{BgTRONGl&iRF6my-Dz`g5Ihkt#dhE^JJ`-o{%{lJ{Fd z{cU(to@qrC#t;jkR{uY9ll(21t#59Bt|oH~~x3VC@S>_STH z#^sZHC>lpvlR7uat--nkF$nctyZ)KY&xY+o*t;h9nvV-;<|iW?zTes7sv%*SHh0Bi z178QOE;zIuQAtb4>(j_W$R`91JtD?(-$s0rL3Lee{_z2NA&4PdZ}NZSYbHr^Y#F8 za}XIKiZljXu!SoAttgh@r=myOOto9SS=0aL=^(`J>PkR-D-lgqn8CXJD6lhlSn=tq z6ZREWz}UEikTZ&8v`A<6y9LD+0b85)CyTrYTR%tEaorFG05U9!hj4fVHzkSdYD*pO zUd(09&B5v+QiVX|Pk#8`AwUdcpoX2dxauy?kCN8aR8gF|+^iQ@dp}3}WNKGGtb6Pg z=U{|w=Vn3k+_pQw%#owV>%dBXQiccg5K&={KhY`?>pm;mRytOiI3n@!RhDRY<#qaw zxq$7GGk`pV9sNFeBGl^fcEHBdQf89xh8@@!LGK=B&3!x=+)B`)bNzk0D$;tHpKGYo zYPKc}qluyH^4T&6&3pc6&<06 zJ`E#>JPn&_4lWzzxD`;Oejj{BnFuh3x)XR?_n;HNRI~)n8iZ2sY^UclGySjryn_$oS?L}Cnc#kKYLp^>T!5j5!Rd)S>zf7LW-2{F z$P857WuM?ciij77lC|c}ds@Av*b?#_HGqRBM(p_T(C=r3>9Fi4$=`$8gtg1)W+MeK zZIC@rK>hgbK5Y}^FM}vS0{ck+GKkipxz-xKZ z;nc$t8V2bKiP1OHW)>r|J5<9tA%v3=F6w>U8OKR;i&4Wq9FIVeatqr~q)z(7EtEMC zTr1TgU8-a6E&rTnE6kDub|oIkZb+effh9IwJ4!pM;Q2}EN!;MPr`wr9Ak^CT5baL& zh8-d=2ZLLu(in7|8w|aG&Qwpa>8nsh&?;PVeTfI?=z-)2ZMr;iHD!JBfULvVul8~u zkCSdBX43sG)Am6Xm9W|vQsM9FIqHGM*pN#3ibQFa{OF(=84H0hGWC!x0T}3D_JFyHOY&dlXQ^9mWdyU7*}bC1 z#llEErJeggJU|bQDoa%(V=_?V+U*9rcsqK(v1+?)rkfv4OD(87_-&VD+_PGXb=8=2 zxr~C67?d|~jTp#sKzYLqHL@~^C^_SUhR3Z0WdLWz&%$4WpB|{u`SqcnoYDx|=fGS! z(15+`X9izw) z8*klt)p11Sv32%H$%?^(<@uw_ONnzS(DD7WQM}TwF4oeJh6^j_lq0%3UQZViuj(>- zOZE*(Ym!46!IlS*C_1`%)AQeK&uR0icEez>`wr+aQ2p1@aDq%n3#UJ^s=zqV{_Nmg zz#h%i2@H}XYs<%iSgXWB=?D5f*xDaQC~<0*uR*ttYu6(-bgath*+S|O@>Y4GB4a@o zV0O6~_f4hIL~uRRWFCmtaG{QnGLvd$d5F|cPIzUPR2VjoJMRW zXooy^@j={2F!+w^k7s^gazuW7k9TUC>r@G+Ts(SPGJxBozF+VbKt4*8tT25mzE)`E&!GnO4C;~JL{>jy@=1CU? zpkomrsDEN*W#w#`tCuZpU-yS_A8#==5Hsna#XW~$N$b#4TieiZu43|GvrPHO!FkoN z%Q*7G`Bf-dA;>2Si`%uZ`NuIb4YAW9%yF3QRe4=|enx+A90Wn=Piz{4!c}AQ^ z%il39#}o{EQpYG)+g#p$nja`n5^lA(^m9hNJ|iu*#W3d+&iQE6gS$|2DNs~@wdPUH z#O^m!iE-bfQ+OJ&EonWv$h7&8W}=IF_)A=&2OxFmCX|2l3%zXlbp9e*x3tWdy1F{t zpN85$e%tUYrc>w+oMc(RNYV@JScM-Rqi!|Y_8F|MIgU#6t1BNI(Z{#~5U>TJYBgPR2+3724M6rBz!!?NtG$s)pS8oa4IlX?2o@!L zdgc%^_py!zQeLryI)e&)o6vnAlSLJliQ&H6PJ+iy9Bq%segU4#9~%0QcphVPHg=$m zH4HE9^;e~E=w&0ihh)^Imbw$lz}qcN5E=Z4xj0^>&%nc-fK=us1+{EMe{aIORvsfw zvH1r&F&lgj*(EU(N4^%&Iu240BE=`oM0wj0N|sUT{cCL?Nr#uDI>~qz(rDTcXM(AN z?s9f^MCFFRP44T(?d@;{RFX;{Dp0w}LQdE^imu5V7TDZs{IgXypaNTm7*c}fEFFCV znsER?4z{K#6p1zJHTFABS@Diu=JSxci*-eEdQzB*E*2X zQn0P`*#O2paP~?ld-0f>r;~ku^bxabnqa=xTc+AO5xjBI2eAfy!uLtGo_DQ3CC5lU zSeV)EL?^n(2R5{ee6Q9I>Y6WIo!u&u79q?P0Io2nu7KsyZ}q=EpS|YNZqeLKEppS~ zYf2Jw;&{Tdo>%o+gBd0r%W$G9_|pe2)*;kPNy$&QOq<=N*w{@6d&$f=6zg}c+lE@idT34;-ztnWiQ z;v01F;^kSqE(SMDw2&wN93&rO@Xdk1T7Kk|PvT07Z!PxvdgcpKyCxndGo(RD(ZxEJ-fu8@8&8(l#S4y`nBhDP1_Mjw$f?FwGn80oz-s~h@AO00=mVahL!dry zy5k2tjXqsSGJM%+ulq&j>ABy-zsFwswgs#_)gKY23akR=e_)h`a52!3%HxSdI~v~g z5j9T>^HP2b9`cdS#{Y-(D}NA1WU7e6o-RxP^RpT&7T^02kGA!OeE<<0`a3Zk^>uE; z=ny>}#*b&Ta}g}khL5@;p9Azrf7gIZ9AFkFng()6g{EM>CH5IH|Mt4sJ1`AFb;DjL zI=TZLgv7|bH!t#0k!m=etZRGcR>!ex9l?7!YAiu07%GG49fNYS4mmrJzEsb%cd#~* zTnvR3snMrAH*39jW$Fp#bRuEgf}r8$FOhuGcdPVkN=uqJW^y&?A51rR)XMzb7%kd{ zvW0nLcLH@l)>;i#5>L6N4)pnmJ$CJ?9e_CEp5B(vLQbBfyFQ;hicOC9-XR*7=Ry^m z+mP||!d1^wa&>KSh~Kf1%z~)}BcoT>j4ZE?#&jW+HeNCFNuFe!0{z-|`wXNv!uo=q zWAp-C5YxfTJ5k->K{MFNLC~bWODivN37{DOv~*yebxCaDe%s5$)vg5cfI!g&9EXIM zPZ2FDNxW}A3W%p4drKE}#io|eS&mdyxv%d5&xPEZWg%_I;6XNPRZ_?%BBW!`hL-!H zpv(EQ_V?<7L#V?YTey0_Rl&8+L(kHwz$#by@@rpR3us5+I73r6SBT}BsOCoy30V&5 z3a>{gCt!Ji#djOS3#=Ph74HGuEsSuA*zgofr@5>VA3UtfCzX=%ip(&8GSU5}h2NU{ zT-%=yFPXY7SWwU|dsGYT96(T6k+n6lwDMtCYaq>^dEYAVGQN1mE$dw?K!QO*&HE;F zt^MXPQZm|BV3zew8m|kR?)=H|q7HgzB35N15FW*=5gj2?uM(v=Ho*_$x;GuUQY=gD zX$Nu1*|Fud?~C>bXL<`0{pZjJ1;hZ0b_Nd7Jho#-rBuj1GO@!Q$VlM}K2Vm!jJ0 zUn%%Lt@7g<+lY@-s|uzAfA*ecd5-<+C^g-vPeW*jY47ueR0vQJI_M$|1QJ(wF|g=0 zT)-_EHVdX`#pCU1y=ntvu&o#-@DV3BmuUUhP{lG9z`gtGXQyN<+Q;@5vSWQq{i zpI!>)@R`!pmvJ>+=kwj!&yyTMo97&51*QmX)dL-Mg!94$etlr9p|dM`1B$3DzvCCN z#3uqW(RX`j?5-m&k!_RXdy5mlg^^YO&#V#YopL8we{9&-*Ui7-<3#u#QO=;Z{*F)2vycy&&2?IgqZ%0TC;5q3Zb*gPqyhM#Ual4+Gkc&y((`Wb~Nec#=wp;@Cxu?-SA@r!pt%-^*TWzDv zFY6D@$KJ1vbk9q5@NM{ag#d?@ZSMnjUWQeFze%3=Y)IJ$7*aBvji&);^_}^w8U?g*eC~pDVwkzCaQo+buJ;pJmuLgAjJVdAtn(6FDI%i6W>LKh7SLs7__uhv~ z$?nVt&;+;PM&cc9O`n5FUAzR|K8W}6sJ~ugO=Idm{yy7P9>F(}sP~Kc2to>KGBa*ciwC&wT27=_wOrVbWzbpWH znd&iQHsO*6he1GYb<%SznkaCoguNky&X18Q&3aQ(^CN~M<7%5+ zt)E6A0H+Pnz~9NJ=-lW@6W>M)?!0z*;CTh6tu0Fx(6U!%2Ey-}b&y9QiZyXTiV!{T zunf-1Zhx?t(2_HQ%>V~w#clv|mDO&(ek7dK7%hl7j1D z$Mb{VijddXEKbT`g^&RFo(y(LXqFwqqJl8$S`!Ut0;9!gcNiMvk%U-n3{y;RU`QGvlH)qUmbpzFwffe}q-NkZ@&2u`Ei_bUUglc#na@umaqt70a^eBfeedF9NaC5I$A+3n32 z7Y-Pk*6Ql+TxZ|(q&jl6n_$QFb$|5OwM%TsS%-S)+s=#952!n zJCJ4et{v&G?DZE#YuiDtv|^Pp5ilg!S_Z2ya^ap*{d3YA3uKw33cZab%;NW|k}AGs zIvHj@E%zrJgdv~nmqXkeV@`EH`F0>PeJ@Eh{ZnAV_J^C`!FNp1u%j|GcjA%#BFE6! zGfpjwQyI~>J(^B+-OM9%HHN`4C{Q%>{!M3#kE3sn0@Px1kQ8acXbqots%ZQX2kiit zZ5B2sD&!PthoT7aQE9Ir+^QsxzN%rMcSi%4*TvbH7Co{J(yw=kS%{JxA*U*Va#HxBt) zRb@#&|JPlfYtcD>SXHt%hx12+iS9$c3p)}=3z>SAsTFWPdx<~L32~K5!_eSqDxCYD z5p+KHQKlAuglRzw1TNrzS3v(~A*1lb$r}wM{*lklcTHE2kXvb}IDn9flc^Hv z4gP2%U!mPWSjuK>?<5vRiA}D+wp~F}!O6~ZG}j}^Fw>Q+7)Xu!!wBPkP%AK9DOAb+ zSnWM#o0-StgFnvz`h{9Wgz<}$vkF{Vg5gD~#>AlVECawnvEn$jC2PW;v$7_Xa`W*) z{hxk)qUVt3HcXt!!LJ9t?u~*WSYVq$MHv>pa(H++988&YX!_3F8QuP=;f4fCQdWr* zA>wQz`Yp(ynUnafAU|jU(o^OUl_fj>gJbY|;9?u^>$g49sp0Oq@6`nHqyGQ<47}Uh!>YEQj(}`~iZ{vCu zVoQrQ!qgMIFbKB#hEA^-z6{T_ld3s*07+m{G^3g)*e=8vLwi(cw}Bho{e5Gn66%fu zF;e=AQ9O^Zx;1#+gyvGM8`ttyrj$?8*8|er!h?y~{}eYQ6s9S}aZJOEI`i9V@oh9u zyN#7^&?rsBg;zHuJ}Vlo*%zEDRC%lt`(a>wo^ZGSUaZZmZ32U02ae|C7X$MzvxzCy z9`Kwkw5(&)N4kQkzP?_+5LK18dYNJN~0)|6Rfh_sh*5h^}4S5N;*WbDy_HiZ*^GIw*oU>#W=nPSXe@ z&!A{#AgO9)Z=Tz!Ct#wNs>##Xga4m-!SGLvoN!7{vss7afX-dI>NQ7`4QT!g}RV798wL2I#0#ZOIMeban!CzFvdx=Qwsr)k~!h?bSZ=9mo(;2}Cu zxji-V3CCsc0}?7R1ScS19+|p%%GiSV`4N969$&=BtIkEzJtTV8UOo2_aqDObM!vab zaR-#&rCH_1uJzoTMV1C^g{>ji17|DAv~)!Z8m@F#zAVw#Nl8_9n)^5tp08*Ghu~@- ze9}tDP^kQIsKOhTXInmY{^DHlJ6jQm-zhBBkzWZ!E#b^CEW+r#endHWK{V?^ugl&-xTHT~&MTA-=;Da@ZKkk$=s!=*6nQKgZ*ml(&!DHSZa zy>JGSNxFOBvK}}t%a3|wK9D6}o^OH{f;q2g%Dpu7$oKL*t}$Mz4RZ~4s|t8so8ISN z#C;@%J<{(_9Y$X6cF=&G?(pi>voJEMOrS|%((Hr7&8bt9=@nvs42QSVO@9!e@%!e^ z3n6*vhL8}rxVYH7L${6@>%hu2DTw)rioa!5@2Cz^vT z3O|#qtR%zdD||K7t^|H7YV9?+ki_++)eojYc$U(^#R5ZEc=1QU8&JfJq1^p;61_PJ(6k&xsqCYn@i+T4M=ClQLT;}i?x9w=H)s^x zDblA{d%yQEo_KSr;jm}^*4r+J7BYHE?qijf%U|^V5aP{Xm<*skAg}7lah0-};9_t4 zI)OqzAaO<&@jq`VHL^7I<6%f|VfQW=_dby=g;&Z4Hn~Ki%78>!_xI7q3DWp}q zbjoE)Z_l37cw0Y77WjX`Q$`8+6mb2pisf}ROO@FTZt&3|3^yKU)%A28e&PdMaWnhE zKs!~U9%U0{mit8*vJ^mfh3Z2j3=l<$4@e#^ zD5GML8_lkVlfdp1Ng;6)58jb1QSM?&?>B{*0D_-WTA0Rm9vmEC_LU<&fg70x!9$%5 zE1g%XXjqZNBfwRFSc8lfa@otwbhl-2mF5hX<5^vDK^|MfHA3MV>>-+mMuB=P zUF)}b$IMxc-uDlNty!g$;HL<{5F{y%TqOU;qmMTv;*f*0Uw*xP$)PHMesat*nnRwp zspAYLg1sg;{Ur;Ok8>&9?@b~Ue<*$q1DTtOV(AZt;2I5tyFamd$G3`TJ^*H3YB0TU z$}XZrL#%BNS`IHkvV4o^d)RfbGm_PB@2;%5`?E~-48VH83y|Vs*uR|LaBo#hD%7e} zAUWI!_##AGhAhjRUstyXC}F&;m|UVJIlGbAw>`F-~|cP#7w ze|Wm?c&x*&Z)dOUz4zX;?7c;1A$vs;A|bNLOvuX2UUl1BW_BcdZ=$3m@427necylU zgM0k0bDi^DC*?}AacO*gaNx$r~)v+8;6Pc)Tp)~ZQShsk=%ezA#leZXfDFU z8(v8OB7pr($K)ZovUeGn@osJ>rmOqi?3!3>KbWtQXVL`y7NBLLSE<smsYk0%a zil>}WC#xIpco4CQ1)G;Yb{~{g+hO4g{R2_Lj#XG&@|I(t=Lr&VKu`c;zv73ACp>a2rmj^Y!Ga_-(Ca`Qf&|*jKsj zI$dfAPi-XB>EMM6>5egYSEI-%AUa%qmHmHNveG9vpKWw@p|9pJH!RtU;py3pDBVuZ z)HvahVHFTx_$U8aOlt1uy1czzFpR0itc_&Gf0nQRMF#pz#(^~ghM$zLWRYPla>Xzm zu1+u+JU=*P=rF=pKvJ29W)h^klNSIrK>iMZI9*po-kKX!>G`@ROL5PC^05z6$aU0j*$ z8xx*Z9#8E1pd>$G=(R*juIg0AlyidHgCCj9+d-l6{NnK{Ms3STT&@BR-rzm!NE4sz z=ThC?W|=$Q%~#7Kx08|}d5g{?5coE@Xy`c(r@b zJ^g|fF#2cr13oLn_)oV^*7J_-YRRxdvNrttZzVh|el!Aow2nDh4;PEP?q!_j$J5i( zWP;su@}n)ZInKLAY8*5jmq)VNy7+jA0pK}0WB5+fue5DXa-W^Q;lg|}SO9YhDXxrrr{5U2T@PaW*-oWP53V$D;T&X zd@RX-dIi9pB)tD{MfE!P%D7mIyZriq_s1p?v_j}@^yEKax;z}x%oh;`{_nxpWsb-v zDm{fj!U1@ulO%nRR)N=cSHp=rTjxmTItG-`9{>?4$)sb*VYW>8^XvHGa;07Htsp)$ z{K(iAq;U0L(Q8){A7YL!m#DvmPc{p4XzARc<5e}O&0TfT`hBsT#HtRdMK`58?)VD4 zNt>WVVV#F_;j64%`VGHDG$>ZOqu>Sud}#o+wLoHAf$W1ju3zhlo;js$QmiyI-fI=Z z%*mU!@UDs*zEQy0Jvx+ZZ}mRA$>Wx@l^R^PKTh;7lM2thNPd}saURB~0e0I$VoH0; z{htCSzawJF(x;l}zj#r;`1G#JCKJZg$80lGFGq}(h4>2SVQg9NH2@DBSAwC3^1gAA z{_B6A3~%3)dd@u0LyJ%Qh1cz2QF5Y{=&ftW-csZv;Dw$xUEtW4%4Hx)h^Nm&hqBfi zno;}c+ME%#T3##0)`rD-7)!YvsH_=LXD*WbIuH08w?+y7fe4A^)s(Rqe+i|W?gqA9 zfPC;@e;FV^%;wf@$+ruRpb4;7jQ-lxAUl#NuC1%2zZ1`M5e_nqnA;z-on!7-nbooY zz)oiunhWm{={{hY9GXDufXh?`z2Wc8%J|5gjZ&gFevCpkAq*{Hl!{%7j;_TO_Zpi) zFy&ZWhG#cUK=LFrt%a-Qzf!L{oFhjIsi!}j%?T;mn3waTShKF41qG?aQP~RgiKA0u zC;*h0Z~ZaT_p9 zp8lao?nmb76)zA+Ds6tr=h%yRzu5;T$xh{w zbeJm1!YCf`&pqhcx1@cOaF2}aM)T~s)5^$OpWgI@doPW zzd8WzhUpprC3gm0cT?j2+eysea6`&g(|@?beBNxKt4}uVri{zK&!x;T)7;3oy%U2k z36M#kux`G4Qyl=Z$(zAzyh`2a@+{wKEB;9ShSA5m17+80%V9k>=;)8tS^E=6pJVF> zEyOQmObETKW7X#KB@DmeZy-uNGVqE_j6nYi`jr&o1>YlemB(fXiW?uRThpzL0mPi{ z>)v~{$-RDad}Y1_`UR&qw&MIvAi}I!8eb$LqL-v+_zoS2$>*9ty#T{P4U#$9epV@Y z`vD4FmAh7JnU_EJIq9upeTLaJ=dFMk1zl@Q7vkT=h}%+)tuoMF2QT^{sG)?1Qvi$b zzJ5un@jZG5cLT`5z&~>B^m}$>T4uyvfHr!bERrt|iaNMxmLXG0Pb1-_X0=757LS&t zmdQXYQb_Q|U%arCW)J3G9p&t%&Y=|aY(TilJ^fJ{pb(KQP)&h{-f>Bl};8b zGQvXxA5dlz=#Sov<4$7>?R}}_b(0!VI(ynkwL8w}i@WfsuyQeXg#h{P>KtOrj;uR^ zk;0qzx74Sv0CPKpR00LB=XWBX0{n@fl9y4vdn3!^-a9pdAnYS-M;qK~iW6d_2_~xQ zh9OH1ee-n(7R7<U*3xatYStjvs$@BGsuOeMbv_ZXuECY>K0xgrxj8 zbIl-F%(cGJ+=IdR45p3dIE5voHUi`oZ#ctcqsJNz@_pFl65#BW8P`eX1ySadN#_kX z7e($59TD5}V*3)O{r>%D&{K)t&F4NE4aE`3gQ|@3gI5N$DJ}=#QOjSB=(WiWwGy>+ zp`I8?emUvHsgtp?@t2vCzR>uSo}MX+&)&4AW3o@qWStP6IeOTW$DikpfLCFmM2|17BgYv4G0b_=K0B|duXb=^p7ag< z-2{vWsWz&VE{`3s=g$w%f*6agzPU!d=<-)XTEe;nYNG@L*d+}nKSc`vKJ9#gqAd&I zi4>Z6o}cR0My$48oJ_Nzx_trZXA=k^q^-R63gcMO6vJ2QmZoe^V%!ZdmOJwlF6ZO7 z=?aUZ=EcRu&jx|chDn0EclR^?@Xgs`wWw_98Xm`%&c(5Df_Ui?t_YR)3gxbeqO*zL zFuA#%6X?|TE3;x14io$TvM)tf5h$m1zje%K<6q8(wiHTZ*6<93V2FYc&3d(J6LZ4} zk{7{xPu;%De8K!k)L7WNz%%kK=1KJ{Kn4Ts1)mBPvk7HB3AQ?0hkicVdUtXj+E0jh znQUb+uDmGyt6pa}?^`yXx^&NA)}zTBAv^qqt}=ZoU-^c#@>X4_j!!pkZ_L1!Xs-aqJ;ki-uX-bTD{pTic#WfUnsWwT<4|DwbEOzi#(MJ1-_FG z!*55NEMM+IOSJL%tz|iG)PVpctG@a->M=iPFt^_L?=}DI)QPOs(lGm84ltcLPoH$Q zxMq&rZ^&`_!54Z`QWH=wXV63{FGG7v@rTyJXXtNMtT)peTibgkW#IR=KHLAGMhRT_ zYX)0E1_#e_(ngCVgHi)#{=X3YXZ_p;JOliwUbO4@+vOsGlfRLCVNz#S34#(5_`S4m(UgE4{Aoa5mi<$zSX z5tgp?Q=yGjBmOC>bUft&o`iu%Up}VX%j@{0tZraiy&qPs{DKmK^7h!(3ikk8x`Np_ zGPDb`Yk%nHTq0eFBp@UeA3sWZ;wETh(*J9P=XtMDCvy3nI?=A*WEbmChB_-Iwu;Gh zU<^lpUZm^yr@WPXm?KvAdvMHNO!8x)&RZE1w7p#8I1}x^1R6~=+inM zOY(fLM}$+>S6^aMOo~O_T1@PSAU>VZ0rw(E?#~)~jCRt~@9{FZoc%RV4lU}7S^f{H zafcZ{lBqu@JxXlhy$P?m0)4!11<5WRX;7@vG}u9mjf7uNLCa=By%7kANj!@1WLS;{ zL;K}Xi?dZ0wPZEK=7A!AJ46n*&vwiW|@76md3aTRZ^U zgDfL3ofq`HBFTMONM^eRcY?ifWrfFtl)e_*yIt2W6)v9kADo<>ks)a;V;@sH{OSe_ zwV%LfW%|Nqn&o0GN7ZXKvs;jOVAF=-kz?5#l6*}hSQpk3+ngwns#cFrFEZWkY(4hu z{k_URL*%?BY)X&Hao(G&EKSeDqi$SfCC$IJQ}D=1Q?{+O^%ahW=8emFuOMr9alU&R zLzFuS!NV9R!7MIT;NKj0_q0NQA)cK&FI$+2qX9@@VCRN*y9R{4N}Au$bie_RRZStl zv2=H4xN?##x`68{r_zKN`jiQdiq+4e!(pI8&0Ay4 zF}6UpA924gt@Ecf!mH~JBUupH=`|QDAoxm@tdo)VL2Wifhfo{$g zc=aw|H{5gRN_=oVg4AVj8}(LDIN;VjN<=0#?xbRZiM?{wGxI5E^?U@$XvU{M@Fj<9 z<|{=M-uqBpeGEDSK5YZlcHz6k--rVGUrn_5J^YHnYQ6N+Hv&|eS(0uHhTb1w@B?qN zHOBowex_|T=YK|+&X0fA24G9%VB2Lt7qcrxJ290s){Ef#^wk^*(%2{bRa`;0HY|5v zK-9uaE1LN6+5c$)wkA4E7LKhm#67J*nPlnHAIH-OpcI3I+RM+6ZmQtfU$%1!; z5bdtW)y{7FnB?qT^tCZ(l zh6e~|z=Zz%Vl~o{&&iXx7mrN~K>c*3lk-wd$vo#@bYjj1FzwMl#cIm|{h*CT{G=zA ztk*0UH>N8eIr4?dS~UB(M7e9hP%jjS8+0<4&2@{wTKR95&g>f!Rd|;++NAbFO=L2^ ziZA_=VwuP44(^FxV*XjIvF#DU^?&-bz)z)tpET)qGB-Xd)%YmOMOZKmzH++ye?ywP zuGm*$+ChTiRnLTs@ubt70hwBz@Uk($pKaO?Q;e1+!MOr`m}8f-Xkq$eW96CO>avLM zcj3Z|))-FbRZl&?K4`=AH~IAC*1zkcv&)>z##D+JO8zzkr5`sYZoU+mpC9*;MTNid z0**kaLd=aYH?P+#dau^9ud~iLVr@Tcu;qI^ZJC|g{;}cp88XtK4cvb#ew-=gUBLS{ zqhy;ZG%wI-cn6R%?D`ocqqU3TeLdHhc|H2phWE9_{tnO-T=MYRJv zNpt{(*_o#bg^0ABhR(S+@B|IAK-eN%*dOT8Gx9@@uUCxyV5<)9ytF1@qV@Gn5!Ar%)6 zh?k0R-)8bj>e>tm2H64Jy3({SlEU8KxN$=?IArUazC3Lw+09nyzLTGoZOR~p%RtFK zdJEo4deD){EDLoRSV@{!UxayLJl^*D% zTZAoWb8t~GuN-Y}N3K{^j+Ehg6Nn*TLJItKaAgo8%Xk|`*6%qrea$m%M&XG6ZI0b@1sl^2YbvZN9TxqMtMWO@NpE zPPDAEFXo~|T_7kTsot(cb37LB2w2|&6HRyDd@v|Bl zDK&pxYUr)#L4iN>(}+l_?iaZHR|i${p1m{%QZpII&vNY=Z<;lNhA8>%6=? zWcpZOPVuuSc62={?R>2mthkzH)OTC!J$_+}{m%x)B0^=s{yG&IuOB`^hDJQ*tsF$a z!3(FWKZWAaDOQS@qh~P481ySc-luZ|;3?=!zDO&0PmWc)CHwGIBk2;!ElN@@#fejVQE}Ag#kQBcehJnBQ^~(0PChP#33pGu!t>NL|fE^DU z3O8pX&q7{(a(I>+>Z7xP`?$&NOu?k$^I#GyiK&u%6x~;{=j3kGhn4cQob4eWYEsbVfhmu7}lFTZrR zXaSQ08hn!4jmO$hU+WR<5cMmEQdP_nlQnF)F_fmw+iM?TDtCEBZKZ(Nf`d&eX%T8p zqlk*d1yde2C8XgNn8vby`TKF$OP#Bm=Kci60uI@!yg+IGVVGd&ET9IibHYg{sV5-2 zAtji$W8MweK_*zTqa=7OeSKgO^&_u;?{hlOO-`NE{Thif_m8F2L(XP^vHxbGAyV!& zULq)~K?d1}sA-}ITAF8*fGmb%-_5y=8*}R6L_x%N1u;xvhIdaz{sz5ry-B#jVBSf; zWf3-r?WU?g-T~}@$}}b}*}x$MR}iQQ9&L`Kfym07BuSjPDI6>bgW<+DMu|^dJFI?S2p;837w+BBqG*XFn+?OUl zo_qz;g}pP}tWruFYLiRS72R9sopPVOTqcbR{JmDBUgLZ5wekAz_H9#~5B~kjf1lS6 zIVBq4nAAgNJfa z=eGf1fH{zzrZfgOy=g(*7rBuk@D7cO5eTU)K6*kj)icE%Cbz3E$^RlQ**89$a+})d zMdS}G#c*YH#+5%8H`+X6ohk9zd!GKrZ*kh~*8+`z=F4X&OpnQ{FXM<;DmE`LTT*!xiF z@TL1pTSw|ZbQ;x{{h$s@=DNQ=b(fKt=<_%Btck?c!M*kTmHK zHJs1*xeH(tYF-Um)v#Mu+1flMFQ_C!W{q+T=PnX0*?n7%1{p>WhuJ0EREYp~V9F5A}(_7sT=l_n3T{$f;#dOM$-CZ?B zZ93l=j-t>YDL=hm-*r+17l7st@egJ?)^L-Nu{y;}>?{AAu-=%*Yp=>Gicj{ih#2UY zPk5N3Y-F4Zrx!%oHB3@!?sO1O0N|+m{S0ta&F1ABUtjzd#jFYf@Q`hve<)Ri>S+-6 zF&!$W9ex*DL;XpV$I1`U4uy{s#ba30(~*CRd_@fMlL>v>PDT zQ#8K6cp*7aF%^+QX(K`QJKQdWAU#v5UnD5)L6Gt*Y#rzH0i$5F2ydr0X!3&!6S5(#4dlQn* z=(Hk!qrKLV(=@*ci48}Ghq|4ajSBWvw!R_B>i$|UAHof7>pEp`9KO%d|9N)yF8kxV zB|KQ=P!a8gSXH9(BR^?}+@o66XdKCfkkPa#QSq+n>xmD+wr_+xHn`$!e)S*ezG6~@ zi!1()c6vzQMR!b<#%qDM7o{0Z^E@tO7wAy4x431tUU$C9H-r#IJut&Iw%x?VCy8x& z`DM)il45xo0BSe|l_ckr#8CV5yNa<9XOm+xib zo|_muRm2f-n@WADDe__Rrgwf_E6`BEo$(J`WKB;uU45F#^x4YvGVhccD4MzHxZ!DQ z-TGq8_uSN^_&bxFDu0a1c?soM&u6tWBbcT%K^2~1@L(oo0C%dS7p?Ti)lM_qu$>aF z0`YLV|M!S5-&}EId(U0u{HIG*xFRp7+mCi`biibP8r8Gcvqo@T@oY`W9Pa zpOg=LDd3>Wd{m~r!p0RX>~;W=2Y0@Hvu1exrx&|mb4OEZ9QqmIVo|qG+3^GlrHNH) zb3HFoOsy%W#x>i)fR1ey5T70z5(v+=#v4**luw>MO(_Hi&HXGRe*%z~2(}$jEhs{0&c@#JfZ;JE$0JvJ!TW0f)7XVQddryNHGhsg$Q{CFV8+ zuCu8vIN02&q3lu=dJbGxDb{xPBc?Q=yA@`kA(4?b7s}^ma5CY`2VgrTGL=FtFa0^+ zN|mnJ->O)K@Z+$l_Z97O$ zo&sZRnS)S8QrlQY%+Cf;H$epb4PQZ0MH0fIgi5N{#g;n5w4&*)6(2O89TxZ zmJNc?0%E%B6x^NGJ-psUFjkdI{}geB*7l98UsZGL1Gd~% zjE37^9p7(U5IV}7q3G0>K!K8U9=8GcL=6s7F|FtA{iz7ZWx0+%R?GtvIi_H{^_8;9 zn46rR0mG@uYZZK8DLy-|2aDPZOy*`G&2*Pu~YetzAi)m#09zV%jPa_fu*>#h7@ z-6yw!A9Ng83o{_)_qN=(jpO!c9IjwXB#eGZ+X;wWx%*GkkQO;9d?lc75t-Tr(WxCT zyN+k8mtiNBL&Z095GjJvPs<2T?oizA3l()ahF3}cIkA^Ix=>ofwBw8{q&r~B>1*DP z@^ZbF?xxmt097{5;Gf1Nt~;gUQ6#J|43u~#3$qY64}d7V5ONzKnj=uKcKw%A%abD( z#-y!R#${f*BOKymo!`D?aWlQ&OGXe?V;hy)oU>i{v>|SFJN*L%XhvZeFSc&_E=!c4 z{aB854vQ-x`B6gWlvte7oCrh{e3t#{HF?1H6g`CowHU!T?>p|BvBfvcT*cZi?8AAn z$!m8M)nSA5}CM@$b7XIgyWUwqC@8|a`+f-esxJ&t5iBK~{K30M9tGnJcGPS%l_ z{00_hFq6_8&Y0E7X7Gyv`EtD{ZWWY;{|n*`nMS6D zrf6AbG;ogQ;F=j-X7NvgG6FYJZ6;T4IUwU}(wfh4XF_@#*3#aKf2lyz&as^){kl@H z2{$fTzeU*yb_52(M-y0+1OwvNA|BBe>^kIM&e>)HK|RrWoImeoFj8_L2_k{> z`-g4PQz85B1$}W{4PuN8uPBEGkdWQMoZ++?|DVWTP()Y1Kc?W1BCCowe||70O#Xv1 zi7pp1l>C8TD}L=Uo)=19qyy08L#vLi9c}u&>!%ZB=v~YvhRT*F?Z5|xhK33x{;mW4 zXDeJ2Bc2#VV6+2lXBRToDl%MgW@yCd^@KU(^x-6aoxPm(Z-zf;m5_J|8Wm#CQs!UO zG)L&t6JD~S)rCVU`7wk#j!c4qFq-Xq8TMUB$bcYv#+RN{rbY}*DGq&`x4MaVU9FD& zm*EiBYgKZ7;ych~R0GetxY4aUDX^aBJxDLbn%wg_$Dd4}i%b6mcDqFQc9h*a_7Tpj z5UL?$@m9EJ?dSgqL`1OHsejRma+ZcDI!7lqb)Gj(M&G3q;(T;0LvOi!si0Pr`MG8m zV4E;-qsa4<(sKx_&jG#wn>M5+mCI0Rh(60T_Iw+f6{8ZpQPCUore8p1O+rS-hSE%a zLsC+2CG}~ye&x{u_?IwK1`x`Q&2JQstB?acTHVZtQj{YYv~H48@n(fc?^mJX4{>la&~^Ea^`KTKm>!fbW+ za7!r_lO@&*9@!8|RWwI<TeqZ)sb>}56_(*w#aMsPgr_1(F2(8UiXMW zDE4x_6Vc6lsi2Jers~Q;Cg-Y`Jx={^^-M)Gg>2EDS}uk^8OQn0;H^&AdDWppoXkv0p|159n-~QI%QqPC zSsy=;4m3VaAzu>rNj^sZc;ggN>!0n4$$+Nz$TPJm-KXvl)z2y=nn8f*LP3ti3fH3) zguq*3qUT6A9t>NWsxdF2E!GRcVwGgP2MBzWrm(+(=!!dwW&XKo5?*)(LOd}^Ehgzr zDu=59?lr^b=IZK)zz4JCYYx|4zgFCkg^1n=eJhYQ<%lG#?y$j?@7oOjW}zoTzYHLh zfO%bS!`+A*3jDOlNWxW@q!1NHVh%mH85kqv)>2pFm?HW>F);DXA~Wj;GQq>6`#=MS z)7r~Rh(Q`={bEf`h)qNI9p~J+nh{xW_=J7`B|Us$krV~~bEG~kCT;42zq;CBAB#g= z>32;4J#|UU?80nq_x5LnnU@c%lVQplUP_eFw5PF(<)y-?Ayzy`|-C{xX3 z)LFg5Fa@BuP&P?JmCtukF;Kn6IhO~GWoeLf6 zwWGg_&q+PggimqpnfMMyLKk%Q*dkigScfERX&3O!!CXVmLtf?mhy(u_+~-t-dRNM* zenGdupeb^8D&B3sN<@e#-&~GXRKKavHO7wm6*j~G*kN%lyiCSxI`Zk0day(0s;4p+ zWtlQ(w`vc;1t`67jp8IB!DYSIaP}+G%2bs}mu2vk7StvcU-lZ9iNZ5+?2n^Q^IF2K zl(H1T@)yox*z;Y+|HMZ6MUfU@Fkrr+efnivw|6IBZW>3?X}sfOSU^YtM*;bs;yg)@(t$!1!zJA-5DuCVdRLHEOp7Z#P}pUwMlG>LwVsE=m-2c9zli-xEq>{*)fy-g%(EBpX!tb9PsUJ6>J^|eo2&BPqX+^-(7z{D~q1xO7`KU*&dKwxU&{-DAH8wAIdfXntR8inrEREbW z(IMCc;2x}%$B#1Xk=PlWW0YUlTA@zhhhG*_?B@xP{ka65FkZm{415?re>vrU~__S6f`Kw_aFCh-#e$eje|EQJL2e?BB_k|epO_z3f%M~gQ7VPN%N#-P z#`ttt;mifNEz5E%MCHNh3s_S;XD)o6*9P2*AGc-;g9HvUv5YASxAC67QV*aM#zbW& z6j4ENV+klCa8`oXi-%>>E*M$hs}QTKdP%|udEo&la;POjNf8s4g%EP;G?p!{$Hj*W zgXEVJ?=tR8(AI+|2C&1MJ)GI1raq|sO?jssoZ9IX5CsX)x8dLwX6ZF}M(+whi(0QrX*Lu0nH$;n5>FArQ-t?k8A`?3Xx-j1B(zJ2T>}ZDd zT0oMB$f*qrvHk}_Qf>MO!@P^}*e~~hR$Jvt`K39Z$opWX95x+7-&x48$cT&B9!$A0 zy4CiNr_*`^tPGo)2qH`b>~PBmHjgjU)hZM6em+3MT#9<6R4?$CEeF9x<#yo?(9`O( zuZOTB%}gtfb1)CNa&0S=_O;T*+27xfdA~U7=4k^4%C~%&uM2hqBuc4^`U@IVV0`0c zSzsrG^05o`msDipqm*}dQQ?OAj=K#rC<>_-yRlLI$}ES!iF?fd00nff{%)`tdy_Hm zMxk{$%6&+iTd{teBrX+o?C&o`S2xH{UNRv!BJ~GlZ3Yx|xTgE}ug?VEp+=@4-ELpS zCBs@t=@(!&0L?Hw#x0XoIo^0Y)Sl$PcP!Aq?IaLn5MUZa#Szvp2>EPM?8 zFZzDH053KF%v3;7is1crK>-_}&MMlN?DLiTAbhmsmR_W}HVRq`iui{np)FsDWf$2%5Ra0Hkx?r8s zdq##%F~|FM8F~0ftZ9zhip644R6O6(Bm?qlAxL%`a;bz5=cG*1a`R0WV3aAB`hK3r#Up3iqmoNk zaPh+cPol?@mc*FE#u8+t_f{@|^w{?A_xx>>cSY10d=Rn8Zrm~Kg=JN_6(8}!L^7^$ z38p+Y^LkEyYSc2ok2|d_g$L*IPK@G0nclLEJ~Qj2UrcZq7#`+@J2VI7s9U)WqW^>^ zT9GSrXQnvq<^UXo9>n>)m2OUQrV|?dVaV=!wKr)1Mq+8iy6xuD4$9HESjMtYVjqg> zKb(*j*J2R37Bve`P+p*9OwnCS}r2~$@um4g}ppp}Fv zeu0BRB1v_x(izx+vOKc^eoh|SWOn-s6%Y=beTAyKgS^;700Zwh*KpO4Fw|EJ`2L?3 zAT78j3!LT`7Z+xSzo-oF{+TIOVRWT7H*H)!?7eprz8^bXsfO z-9hSFA(2evwKuC3!Ip-q_IDq+17mBoYvk~(==-G@JfE-GLJGjMofYQ2I4ugc5ZQmS ze&<#Ya$oj0v+UDBIjm$fea_PZXh{)vD2La9wbp7Vb|p)34@CHDSUVK;sA*BR8c~Zt zU_$P4)8j~o205Rx(rl|ySQp9Grt+t78}Wqpc4!g1`b|kC zJB|m*|Bs0U`e3epg=WwELgN8*3COf)g&E$uJ0b#i-Y9uPhlZAo z6I~zTjosWIN6m^O<$5RNWF4YB8-eZm}^K8ejVhs>Fec zVU1hw_2myA2&jrfC3;&A$6otk=esaUxZJG}<|L00M-l&9qhk5t@O$Og@p5E! z9MdPU0LDZ0?B7)xbC=XdaSiAnFunYSVp6^@U;mS=f=n0^0#e_IT-1--Ue_V1A_9_; zd^GRU2aM0WkT~LyKdB`12mr2_H{KeiP%wf+ig=#Z5qE(k;aU0k85D=tBjPXR&qG>F zUsB3HU+u;uMRRT}Ve7GezjT!%`obon{m&lnYOB!=!d(4aiA9ENJ1)W^epngCEtXf8 zJFFiR6tr=TqD46RV>6MY3&lQ-0 zif0x73O3@(k?3Gh(A0K+fq7?#C;g5z3F#HS-_M&zPOz92`m9pWN}bC#f-wndyMltk zPWLJ+eb`fKku#*e_36cGa zdlZ$W1vgh7e*a|SvH1h#+EKW)AN+8j`J5#wXe9pa@Yf8iIEOm^uBsJ5>E3AOe>$k) zeHl`TnoLT&YW3oQD5%%ry@hP&#czla^jGrC zG9M}BY~adme0TfY-k|>nCSOo%CKjS)Nzgd1s=qW~O&{KX5&s`oB1BK0cpH){0y8hC zI$N$>un}CUbGiKzjj#B;f1j)>m*Zm<=Z`a{q+;evkXp_H@MAY5Y!DTFCLc!0&FuCt zUE0>TPy-p-MLBlA^W(-pTvOZD36x*33!#8^GpO>zbvS!kq_$9y7di;kWT&#aRff4N zJ%Xb;^}*oz1R?`^xrpzm6N zVReSH8^6-1C`Oo=wURnGV(@bc#)9$o(hKet!WR;tw5H%3FBKm&(3ecRCA3D5kO5pq zM84nY@s~n)g<$1=onxCqr_%lZRJI@)-#J7aFw-{H))0v5f4j99^G@xK-f=WF0YQcZHYd3^Fxa-^rW~A=1wlePg77+H0h8 zm!OryMPZgZIPq&@Hhh1FTjetO!xMOp07;>_B+!jG=Cvn$bl-mr4tX|gwSh04*tBb# zL%UeWvHRgLEaA$*K4NXP$3X5pO+QJ_PtbbqB1m)APRC7vUb7TVLJ=u*rNz4H#Y%bt z>*4Qrv|qekI~56?Xs{v;`T>|W_5z)wf7}maYose6I?h%sQn=ZU48R4T5E9;ecm>_pCO1EcV92lf1fT) z%)lTg+f-z)IM{&+?dvEfbfd@ipYs6O;NgsrsKP5yA-$csB$Hs^{Xn-V? z7vqlS%)-ztz26qxN3Y_E$N?}M#w+^;)3N!iI8}ql{3%)B73aOG(V9)ph z;%HaAV}aBKsyZ0s-~Z)QYe?7@ou0}5%h0gB_xigO(y)5Try)bYcMIwp7o#~vwFm0A zaJmHu49KXHelm_aH;HT&T&D+=pRz0<)0Aze_WHEt^qePq_9X#vwde?zkAIPFm-xBs zFD~t;arNh#izjqmPLBP6Aqp2Ce`%Su4SXoqOld0FS6RDrle_<2<%gXS$TxXqgxsrF zCs`4?4p{95AF;rr3El}VTn4&+({H$wL+3%ry`CR6MLilNv2v*CD|;2Xbf^;$*a z$aATRYxa6j2w@<^t5{7V-g8gTqB2|V{TECfu0rQi0Pi9xn~qK9T&yPQGFAEl*-i%x zGay{H9hz>F0mC*~as>Kc+r;P~gX`19;t4SQ%PCs-JYk*u>ol;!e4zQ~?6|dT_Sjik zngx%7FXVH^7H!v;?;E@{H4cx>8ZF=5sWAHv&FRP`Noz(bAI&mcq<3phl_E_Tlsuku z0sb_Okw$6Q>fH1Iis}t~DzBgOCc-`pr~d{WM*z2(ejK>=Y3&Jw7QW>D2O}XU4yhAg z>{LS+YV~sZtqYCJkq4+21Q#yzy@kXt*Gk1)7T9dV!uwA@2pQY8Z+H_^f^wj1`Dm&n z@%8Jw;0nzD&2vpu90Z>MF&?YG`*>a#;0UHwRskD3BxN#Nr*Tz7|E*w1Oz@cJW_tW{U_#>fD)wuUIZ9KDU^dY#>!zX}BEAJ+6FaPDf9#!E@1KZ@1QD+{lca!$bJC;W|c0 zUD7Fw59e;*Fff9IQ+L~*`d02SHDjZ{H6{W;45;R zu8E1twSC|rq18By8>$AF9*p=9l7ihOouYQXP0+RHbB?^M-{%Fmr*MjrNpwDqjKX>y zBxFoL!-jKNOx=rJ?>1cu4=tg16`^?D!zDEeui2;?2-*280Rf3K3|_B4Me5%2mP=jR zni;-pcm4aqAO|EpxOWQCj%u(f5aotLHT!_fwSs#6NKwQij$lH+3-QhMXfHt(S z8PBmIkc(XRp8C^Ll|M_&r4Ibr#ewTd%YfHq5d`5f55;CKBH%1T=7P%@CKnk#$uR0a z6T%~BzH@{xmG@)+&t<%Sg|Z7rCkv2BT(j=AdQlQdY|NV$(6@sFyEOjOIv(9ajD_g= z$L$I!=BcE{`WG#SnDMYi0c}|5CEB*&QX}zo10W2?BqX7Z8v4h}9Ze2$5%mdQ2td_B5bqqL1aSL>leC|;_G|F zR8-iU3$B)!G9#KB9iJIvqjvpPI*AzMGA@g|O?xX`Cssl7uN3)R{EZ-wf2FG<0FCg- zM`R#Hb*A_{4Z*Nli&#cV^Yh7gbN7wT^(ar;ZS122o14LScFKbucTJ+us>x}%&St4_ zTqUmIi8_&f@SM~VePQAnn`kCxbYa7o_F#Ma#w_Jw7Y#vdynrig0V+v&ODw@6hAivQ z8re&GX%))+M|iM?a&&#gvitFbRAYfVK;QLL$_hhI9NI3QANy$lOT1#)xnX6{oMS& zJvL7;zA3O!jzmBYlH8+MiBJ7x2>kOOt3LJ{a^yrvW+c+f_>3D(f9GV37q$fI8rFO> zJGH3_Jp+WnAsk<<6s;|^6Q4q1vd)H4h;n=ju;F<ui?+`wxClTk4&Y+XT7csxrE+2L>H%zRP;k{k9VPQZC;fBw;Q% z7@TZ@C1^W`Zhjo(MS(|X7Sauvt=MJOm+EUQXi;0B652Kv-1mXO8Dc%8%krAUPViSZ zllAz0a+!i;YV6M7?bv(=s#g8)L@Hx$;0S2oB0kgv>^!bzF!dQTc*M8U`j!~yeg9(s zc_C4&raC?e5n-JDz!K!$-o`1Oab=dFu}mUz;|EIpWN&D+Bl>`j8Kz%?UMQ1zTr2J?inI= zZOkFEI_zsS(jGcQT6p~No=usV{q8l+{XYMzWP*b7T$>pcnTx%_)o>vUsoasVK>(a0 z4!l%WT=-$POsH6^69)e8(@oHcngEEkdbi6^G%Wf3HNQ09``jN8H{^3LN8+9IvfEjJ zg8e{v9qyDRX&Yo7)=D0tW#2tM_Tl@ktE#9`wZ^Rr4x8 z!9uNemLK-`^wUWT`iFTOve%J zM%n`wilN=Iisz)a{9(p16E&YlKirha+Rgt7RMkp*P`W|#ju*yuE(dTijrRBnX@cBgR&srAM!BLz~NjTiz(g;D&j}7gr$7c*o!WIbPn%1H-Aql zDc-!nzAAZO-)0*)=<`iML2ZPOx7l^a9vCFBdmz___)y+^*n){G0dh`g6#+)a)Xw-4 zIDZKQ;Xeo*-zeVRGKXF^dg3`?_gi=;Ymr5I3`tdY^p( z#KLc%V!Q(3kKXVjVtp90bAxuTA>{}=g-edA*VaWW&oE=Xcwgj8JACA)bXiF~lpLj? zzLwiuiBU^?I7Nm!1e1g=ug58Zbh+~-6nchsT+`oxJY?}0iJ`(e2&6VqA&taKT@tCQ zddJ~#>|H4XYsV?Do~{x-Mn~XDOC+t3TNY=cRAc4A#}i# zE~eq%2Zpmn2H`kLL56nLaL&TVBqgyAh3ab*N+~oqQSTn&`2Cn6jgTmR`F<~h@L~oa zRh{8}h1L9-8r4S@ec1FIn#uN{gdE|3w2xbH=!4|(#zbud`@$g61jx+}alF_P`IVB6 zt`#()gB^NEp^^~EIKRXcu`w&~PcV`tSNw%h9=Vzb%j;85!FPWQv1B(oO?sEmvVxPH znp-r3Y8dR{f~e}L3+6eO54_N!!}r8kSj7YSE5TTkZWhoit(=%A0_u8gE6DXMw(Tnh zU6tLxcF#(G%d1Jk3Nv@`)ui?q343kAcgvk*h3^J~hK}EdIEHD9jz&}7OhA1cvg89L zxYrx9(LdjRV_9f?&~k5TIrB_7})4Vyq3tdc&E>GaI9!2kX*-#s`u zIQdKEskn>cn+og2ve z^^Z6p{>7R3KcfCejn)SNDVbZh)@9(HHA!ToX_L<(XR=^>bCK+?)M;I5?|{km4F#hE zULLIG%4mz4g}}h>+x?u#&0OQ#tZXHu3(GBmf?k14FY$%X{v)BwDKv^ua0&|x`}e4G z5mAn6a{TRMwHF`F4L#WnTUB!#e9!z~1D^Hq8UoTICDEBb?mRAKRvo}i11voUJC)n< z9qW#CZ-mJ{I%nyv2~z~R>Ywm(qToK~G49Z#|zT|fUj3!cYS?{1krkJ59c z2sW2tDhv=}`$54U8QrL*)sLCK`h|064VYKa;Be(*XY+L)Uh; zTfNPl3>4+yPEaw?;O@z_AITu0*!p_rBv9XTT6mX5HTr=2rLa4KsOhFc$)YIMc0b;G z+7uzT?(&{WzBg!SR9ymH2kVW|mM|Qr%ldhWiyDgJoqhvNmCchBKHdYw2z=*>bbbHB z)mK1Oxpv(O(v5VNfb^zOO1eS11f(P+1*N;CL>dGnB?ReI>5>K!P(Zo_1O!1uxND#D zegFOM9pjvF93Exw{qE;kG3Q)!O*gxglgP`Vjk9MMgf?WN?t@nxdB=iLRWKF{YG5vH z7mKv_!7E6izr;-;>C*{2rr^D=LBk5W0-)7ur_7s|CYWG%>NVj{65GNE3gadhGf*#= z2~rQElmR+8E;pC>fK+VW_E9yQ0Fi8;T6cm+27m%X3-RaAAM5Sc)*bJW@H zjO-8U$(~y6jt7Hh_$%p5x?#)^6{V|Hxj63OoV+}SEO|rye3|vA^NKwyZzQ1rNZ# z$Z*Ux^TlSh%QzqiJy^IhB#Y4XBNx?|w8hzAd|#~e8|WtDe@$O5m^kCh!}Y9e};aFIHB?4P;h%&z1erU-aKW!J>T+k zLEOs>N8`EV(x}#h=4#EDU*!~9&lx*mMrSq`3PtKwfoW&1d#|pgw?hLe7ef3Qh&k+J zWeL$e&(Qg34kgI)>x0Uih}-}O(r5GFL~N##&jj6pNN#z(*TNyja^!RW^3QQk&5x}0 zKFDadz;qp-QFX9rDh@NSm%DPS1gsCaE~m*xYx<@nWVMtu7%zD}G~SV3CX-M8r}2uu z-hA~}{)Byr1dL6v7W)7lB-()$AFCh#JRafkMta_Z*Z=w1Sx24r6pbXYm_FF&orAsh zp`3feVQw&+g2IhMJJ=vhbhF-dCJ?|7~Uy) z#^0k&pzcDTB_9yayfMD+>Iys=xEfLOTgihkj!3+0Gf00@g-8AZ7#-qBrf}Ud!nsi> zg_z5QM%*@uN8v)0o9Ade#^j4NwLh8KDpkOD>)#{Ng7FAluCPof&Hxx?R=;s-xV|!8 zbuH=$pl{09)2}~ddKA3oZF5wIYxZZ}=3zLle)vLv_ZcY%wUB+V6f(DXdc(nl9CB|J8dNRV zADo3;=cgWpG>d0peT&J%t`Yz29^*v^`d|#{Q#=c8k+PB}P;o*gdS-yT_3C|%WzAAx zHovhLlz7N>%W#%dEV$k^AV$)2+VM}xczn$et^=8K@ ztK~{-mKRuh-en$^ADm7LKvHT9in*y8{ea9; z;`_H}6C{(4CodbG2SofmJ#TR2MT@Bpc{J^?|9IvK7OF8%cxc|zZ`)Pa`gBuGTQ6s> z4D=CQvfDVD+b>$`0M3NYV`v#sIa;o|ouGimLrSJ^h&Jr9oIo)kr?w5FqLS=yhcpPT zJG)Mor;hM4vKc}*Y@{T=cdOxB#yO51YP@f(VdjoL*&K7b z_-!bA=wZJ}UylmY9`PB?j3Jj!xvYjYB|Pr} zZr?BdJg(UNU_^aRzJVU;zgKm)zk}3Nw4oKM-5+y>uMK!&_EM}bHP zp}qeSW|#1(1dwDN7CU&r%ntB)PeD5kxbt!V$R}{gIMMp)YMv9@2t8qFuyP5lBx!tZ zz0kw=sZ}&Of=C}e?#XuY>$m2LyB^`Kcb6|_yz3!t9DJ1bQ737hy_t4fp*}JyG!F!k z_b~!+5f&@5>3eZ))9~>Qhsk2LTSR=F`2^6_5JEgY;Kh5EJEAd7A=*BZiy~Cs4 zAt+)1lS~3UQDKyk3fbH)J41_uEZyW!dj00$Y1 z<1l27Bn^rI3>*AttN++os#B+T=bPgt<0W(vVEg|Fy9j3qNzIgTn^JH0Ktn$+GI%R4 zVU|$T*BS(pPBDizFC3+NS(j)srohY|R_Iwl)B&@$s3dFxg1&--s@CmCbj z2HEt5RQy(GRC>)*WnJ@DTU)sNx|A;18)neOz%K6Vz0XIOvVB`j6f%*jG<0!> zxjkPRDgR+b6G|aUUO^&bRMbxiB&k*>SyIP}>EG;LmXn0f@_Y3|sQs8vDvz{?1G}Sbb@VkUh8L@z-3n?UsCo(O z@}^x%pFRL77%-;sS>MrTh()5dNgem>hjTzeXYu}VYWB+U@YqW!T`<>Kt}XofL!~y9 z_#pLzLY}vuU)$nlS3*dzxX(+_gC&7v`p*eEXOrVJXW8QR@;*x*U5NvP=EpYjZ3@uF zZdI&igW0d3*`M7R@jp{94?2P1;)s1CLW?*--~#TJ;_t!5cL&lVB%w)ro26dz9Gn&OpsDD0Q47#HH-bN;8~eq+`7YkPq>gni7~mE-m)vjKIg5O_(vHPdL`6y(en79- zjk7C4jmh)g5I+~`pHO!5AP-?tLDleLCb2{SALmdV6f#f&R&I!0%0C~|skpK+QJ?h> z3JSuwFd0kUzYT$xK%L-yyisrxZ@M;4lW_!9sPDqxjN{+0kE?Og-d=WLf4VA!eKOgd$DC#h$tdm z()z3bBI;vvnPKYODo{XK-EPpV!*OQqT%<~0KZdVhe`QL^A7DW;afUI1NmW5_m_M4lF003;mE3}zpZ7H#RrHo z$n8po%q{5f0-Y8^;!VdZ`dlsn`o!dZ*YQ^A= z5vPns@%5OTqUl}<$)HP#bNN15eaOyS%mOQS0a-#iTYu5HVHs^BOgml*tR^tQDvl3I zJ?;;)>>_AQ;{PZN#XncB2Cx7)A1fK|o!9(-??((+a#f=VwpqMred9=f?>n$+JRUtK zmzK3y>o5+5m31>#`P->#x&fBIP);26QWgD%$8)d$j?PFb;>P;4&iB6u#~(&-gA`WB z;5KqCfWgovoPePLbJ1n6!T7anJe?e!V%Ql>M6eHDQSHAsXt<7h%ICTyy4SE8%Fc)m zV^n*nU>u=G8bApcjCfU3R$dsx2g!5vqp5;hmpo_c#8@sXQWx7i0p}cBky2dg#yYHB zK{9z378c>^2VY=A6)NT_6e1-t3eAtVm{z{e5N9EM#sSge6kr)v3`=n7&zk5&1t_N$li zn{c60PB~rC?R_(rM?WHWMjAIdQR(^)O7W>U_sx2P>ai=lD(imN+b^j|2S={tp|16Z zSHW}-pS$*yS5sQz&=@k`&j&L2g#q8Us1b|m2PjRiGNdV)mM%fN#*tjgyN+N)dNes! zK-_frRGKuaj<3@x4OpCN@#tA0idT9zuRnC6TauQYFMQ)T(Z)o#Sp7BjxKiJvdE5k$ z4j~43C5R1vf~o{jf`WnqrDuc!l$>cPA^NZB^G+esLr_Rv$s;CD5IKtS4sGlffU97nTiMVC83!oM@M(umV#BINtZi1 z*SmKLIR!_=cE=#5w$K`(?B8_jAQP*z@sFQvnx>XdPn3Im!#rOFA^;kZKKnCM@CA4q z=`3V$bWG%CNVS|L;{5E_&yQ#&l{dx2ykSMpiVF1~ixGb<(AfcY3c|#RFYJkVXO)Ls zFf_4XXsH0UcDIN5wu=hV7EuBe`D#=+O$l7ke%88oE27L>yvNJ_0e`QnmbZ_oHVU1! zWGU}}s;hB-@m;{*BVi6PD{5wy?z4Y24bKgFy?=!=$d-XyT4_jSE~Uy*wfiG{%anV> z<(yG-A^M3J3>8S@`|3**;zJ+a>ZtL0a8*?vxxv9@ON-^r2xw1lfQG1v7|Hq=azYV` zzi8p`sE^*~&$5r-2|s)U2^-R+lC#i}Y8m+r)my?Q4Uc>UN{qT7x?7tR#EJGkjyuW1 z(A8JNbo2UW+6D>5{^6%Mw{dIyw5vTmH+dt6vY3QjKSqfq&PE;O{+)EJVJlFPZokfB zQ+|Gpz#f2YICR$u6@w8c@{OA+n3nky-w|)@pt5uG^wWKvEn^?+=17yj%l)!5xBcdC5{{roB6Oysn^7jz4Q7AdGNxnmrqlWPz)yvD*PkM)`1RJKAbb`eL zha8td^jX-)yku8ts5`Gz@&c?NNp;o}H<-D4_XnsugJ3up#fc@z@1R5GP3nCmU1Rc+fPBOK6ySDSy8di{S(S0jDSw_-%#?(mWg$gaIxc!T=+K!hR+@@F z?E=iJ`jye%It8a*^t8Bw{-u2fjHaCTeEZf8iaZ1dYV}8xw{#Rlt)zPJbzgQt zuk}Dv#ZLlC10mD-Qefip1NmNq)bA!ot@ifP5;Rbl73vz)OT0JZZ6^EQyz>=KnOTRC zK4A1Xb&8_T1CGhIBN0jk!|Nw-!C}LV{p$!s^thX}v^2_m@4F7!uG`_p-MZdglrBLV z)^N^yEGM4mEVE#s?n7KF5NPO4F~&+p+O0h9L3Dk&`9r(4J+QmA=ZyM32hiIZf`?Kd zu4(>&uv#{R9P%4P8THH+^rLif!t)640Ho3MmpIev+~l;HPU(DvTbQMwMi?JYA^Ox! z1cHceAnR5M=F&}JG*_ZvA=ky1c4BdUvpToX3E0)^8+nyDdBGHk9F=4_ypz%W@W!pz%*W5vr(f(p)*0*m#KaXs6TVdsaei@e(Y_A?@p4-S z6~3B}hg{VGUEwg#D^yz0S0LBvOnhfHt@>#7CdvDYG9(e$g%#C-EN-DGy-WJB_5rn? z{L+i)H7Kw_yszn~psVV__M7?qg|FA!1!EZoBDa|f!PM>m=mRD2J4i3D^uwK#6PRNJ zL%HO?95jN<9a=lmh?aMWTz(0fx(aB-TwN-JLhGm>*gK!k%jYEQd3x&u| z4)qfOfO|bYoR>eK&%<0z|G+dT=!!j2GC=3HnjhRl;M}NB`aO@zi}pl9-Ft*+MO|oR zNk1Fub`wtdLzj#Fl{Dm;>ON0sDd4xTa{X({k-4}$^A)&pP4b$xK5#@XgvL4e#IqBC ztm6Qsm@B*SGX2R#M!SmTw8hlx$Qzg7FZgDM%A?WalCv`!w<3n)z~)O-k&7V;i%S>C zL)GOR>-Quxq~xGPi5cl*wt5 zG_Wr#yHp=mBH~qPf}|TzIO0{RYGr?nCOwXJ}n$6xG}Hz_B00vSc;R&)mQ0*#yWvrNm-3 zR2WMP3M-zmIo?k#j05EG}ZxgQY#dB^wh3PoaA+|-mXsrGy++>J) z=sSdl7O#ZF#il>GZ$^w;2tNIn{G8;JYJQ3~it*n|Ew?tw5kF$8IWI#tOEN~$fn6%cuAGtS$vqlu#A!H zwL2K)-|{5hE#jia+Z73J3tRoy5eIZ6{3b-F)Y}8-Muv40y<{W?m@4?O@^{O_&XHv~uJiJMaLvdHvI-CDQ ziYj%EXksaEDHZm)U(wyZq@gH)O-(S;N&ARRW$;66X@~|ImmTBTSFB`3g`6$Z&5>*` z=nKXIgUCrXdi_-7Tcv3AzfDUq#*;=CX+{C5C_$HfQRs+o48GLZYnG@4*U~ z?AF7=K3=cfKfvA*FVBGW46Jm6E<8Szy09C>v(s>zp*I4xmpfEsSQ2kSGWKN*sf9Zp&o3tYi6E-qnR22yU8VoB6l;Kz1m{1G|fALGetDV(1;RK9E4&G$QL! zVevln+|t(YN5VUCmCf!(y!moyTR>OoJ!?#H#H>KnFfAiNL@pC;Gi z=ssl;ouMr}{xv*@C2nBmGZ7^tBZDO}p_yt;RB=n0OtM;gYKNbLmuHeFlL(YxWR14<-x#1AtY@)u7+Yp{b=26M?e;0P@ zx~ndwUjdF8tpnw(E_gx;-8giEZ@&F}r-Ibw_ew0^0jYO{Ar1w@p&bZz4|2f$$2;{@ z)_O`RE;(V*1uROEk z{F3ku5@2{?2=cAI5>eB8pyGa+gs=3_N-nH4MOXG2)a`HPfx6;Gp z6m~z6W;4KutM0dSVG0%V|E{>^B^;TwsCf2lBE(<@`e``!(bzDjF#~Nm6taJ~4-S9+ zWXWvi5DWDo?t4k1-$W@*h==zQTr}aD5Z_x4g@DrYE{s~vA^E1ti&-9va9k<*PdPA2 zfVLTJ_We`U>fTO z2zm5vxQnIvf;%)JeBF((udx4=UHxV7U~C0w7sy(lQB|^CFR&ZuDcK}MjAXw4O-K^j5V%$-M!67*rgf!cy|aW9?)g-c7?Bfe>=?;~Rqq8q=M6 z^oIzbyusZhhE80>pb55bS<%DTHvLtWbkHSC-|f%V$TieE)=25rI#tYtZ^B?5jxSr_ z#hFQyKgg>Afo8b-n0aO9k@45SNghUy=##FE*~W)D+>(6byrN?Yq990H)5&pqgN5{xbC&3ymBkT zI9{+UX*-1<8c82^X)~0DKhmKJGC#UemwF+vE zYL)eXF8ooHi+Yw22b(wieE$7|>ouGp9mUZkrq!z?bbh*`zuE}b4S1y$MNbZQ3U0Y- z8l-u&I%XfiJ}W(@90p0$pdV~8+j14KM33U=*5Ehl`xuWzwsSrA=ZzaKtkm4Sn)&9dWmczsx z5SUIgjSFLiL6Pmxe6*{aZa3JVi}qoC?8d?Nr%mRt)#K^i?%);pG2 z<|jW{00F(g`DqI%KWDPImP9=);qu*GII(D#k(ez~A)#cDcN@PoOk6t7p68D$tSH@m z)FE5zCdA#%*M3p(`Af`W`^dTYXuLW?icM`E{V4ZG&CT~7N6OweWsw>qy+jxAvb2h+~loyLW& z9mfda<*hPr`S*Cj{S8|OSBzzVn8)L*A9(Z4nfxz`xMnPB2E3VJGKD&sdWpFMw`X&> ziFq^TCZ8Z?hz<9_(XtBTP8in|6fHpCsOL#7!1SK`DEP4Qf*mgCM}_A&BeCW+>i3|O za5G@jd^rmn$$(I1s{amcJM3;c0N!^D>IXtvvF98eSVOGWXXwq2&|26%}ylbYHYlaI+Ey(>~V8s&6$unea~mJ~lxq{{SWr$xC}YnM;* z1P|2oN~Nwny_cJExLV&=Rfr#SYov$~5li|03Db-H8yqbDrCTa}lkJye_>(yAOb*Tr#ot-OT(xx`j}0$5C=f7E)Y)}JiTqa!U`Km@N-9WN z(M$LHyTFJCt1$fl%)X&V%34BmAW{L!s#a3&0-hk_gkPlQr0FZa2`tuRCS8YOA# zH_Pl;YBYB|fW72*O2HHSHrgZck!bICq!6{}yhke(?!OSywDvgoei@(ut^?^Cj#HErqNy5Xx>Zfp`mDI`MplqQjcmNrh*jea(_P${9&b;f+*TACa?uu*eh ze?F3A62!bQ<#OPu1~ePgFWT?C55cdZBl1z8_VJzwuMy}N?a{^KGcj3|5{hoGbhz&> zwl3;K@l(9&&fo?qzGT>AToQXivY#iLuuO!Rvs4_ynI4u>`h2GV=A1@x33qk$@#4LDV*s2t~0sTHTis{x&9KynuuJc%X$`V^1JxKnCOftWl-h*3$(;1<#rl6hB znc~z8|H*ECH)Ob%_isFVC1)-{*sGY=?wvp=9Qf4GTd~M}e^#BJe)XOuTc@g9EYu05 zc6-E)O!wq_*28IcHqgvr#=O5ajnk*%uSxJYK_hh5f1su83zHJ*z|o)i_KiWNA@T=J ztf2J(R18BvnFDF8$m#M8rX0bs6X;BfBIP95w$cYmO5jQzEwzZl`ynn&9AVyWsfIrp8G-29nDxr;na1F&W7rkr)6o;5GwfLOnKG zjxi}~=xrQ$xyT3Deqy%2(0kF zC?uK_A-OCpf-(5z6dYJUxAxPf%OzN>j zY#>(|Vd@*oeBoYCl3YtXa=Q@|g!*2AJz8<@EiRh>y3vc>(ej!5A9m?bV#Nm6P8?wo zr>~;m$FuD`KKs4oeyvwbZZklSNBYn`O<6mknZy0f`1B8m+@YKV`vPCE;D*gRUxBh* zF|Rcv&1zU>`<#yR^`186&+);>s~g3!=`j0>L_5dp!MN|OMH|7w!-HF|KNgH#sQd}z z2wL&p3M3=-hFcNM+vGGCs#28Gb&Lr7G&;A0pZL*dwkEfpcE;|B=ewu?MRv7qRF);) zexGHT&f8SLSX3|iF;k*?;%253#j$H-0fHmVdYbSl{`nj~s9q>D);Exj=_^Qatp|!% zGb3CaH&d81QrL(B<-Z=-QUd-64a_A}cd!At+r#l797fZgo{cZp*^PFQ)#ZN_KB=>a z8nVD@CK0q9(imIF?iX}jOw#-!7Xl-z2gcBOI4kg!3uGtjzXE4|u%HQxjnozcLZ`qh zT*q+XF{BHqU?4M|ou7|_ECkArgF&SJ9GVTJ>TWP}E3FKz6A4=B#!&ot%Cd9_7ZjO8 zn^P3Wi8WrDz1IUrQIOX~6D5@;1&PJG9$!11!O&jScaV@U!{hbI)IXx7CwBm!RN|&* zPM$oB(a-V}nJ0A#x=m_Mw7i4LQ`!8aa4x6HpYXR3fw1SPv-iUs<4 z{PcnM6!_Xg_(Y17s$HQ*5C=IGJWlU7X!&OV)r&gK2A?3~0$_;ypDSrTEbHqBd}mlu*~X|pIYgX25t z57S@75dB3hqSp-K&|)T`qL+oExAuTGW?Kx6vL7C1^Q8_d)s&@aLk@D z#is;yafc&V{T~(R1qu0cpgYKVQJZi5-p((%{EeGGP+gD$_--1po8hBgzwooKx?l;2WPp}SQ(rg*#g|kIq zS#8e}ysjc;2B$vfl;ndLs_kV)H(izC|20`dZK&l>>{|hZN+cK9tgk4*9#O43W&NdCS>2~uvqiwRvHAMZfZT@WuX~&?D|uH580FCsY3R7T4-GN)W;+i z%+MwEnuBrq&7N@k^hf*H(ed3L}&-isre}gT1{*2{xT3GQAI-_*$xDH@_6C zQN$Bu1pk4>8=ql)hH!l}f&Tj}%_?&xwj3wCcX~HTS9}h2B*lNI5XzIg83wIa1<{fl zJ|gxG52z|u9&*k6f}NwSh9>RzOI`BLtF&BeLvh^PW2SCxRH5-fXv~l!gYx|H57fbG zHWyG+XnSOf;UxM)r?Xl-zNfRqCEKyEzVTb36x-U$mLUVHM1PD6s$r;R{Z4ii3Uny% z%BKP^{|3}IfG&W!kEOn|jygkbLh4JE{4}^j98@2bh#a#Jw{}jlvG(L_*cEIrw#^2u zZf7vZ<8fL2J~y+(E-N|vMM%{4u+`zN?AHU4Pei}Z&t>gw7$S(S8^i->WI1pBiJPcF zK3&QyRvkzG;2z}WZ}8PakI{As8!~h50Dw2NoCdtpP1TeE)x+xHWnAE```;w(Y8TRw zfA(7@q8!eeKiqWKwakayOROZaT0Ie7bkm?}ex+oYdCyNLj6iN=;H#)XLMfRnUCbW2SGJ^sWoh!k z3hR$s^_L7d*&F8C_TN4Pc5muGT9hwM+r`hvnP?ueG+GLM<`+}E48yM*9}MA}Cn~pR zRlHK9+Am2W-n(YE&S2Ln=OvcgHuk7>GxjFgpb1OJq~E~VSJ55+-;7lI#E#87Zyb*e z4BBZ4oK`zWZvMWQ^I%}egPViHR+ZMGGbR!9AV3{DNeKDNgB|!Z z65a^^Y+@G0jxkWSfV)RA5o=~zP3p?8^61r10ACOenXdnvjaXpg%!$3OLWl(ivyaY1 zT;J7j_1;*xMInoX>}bD|P!)<6C!T73an3Z!)(D2~O_>fQMB$NtDU?k-SI!Np7ckKtwayC)s3Z>2)$T3f75;+5S zh1r?B50EC_)=wuKY{D(7L(Qy?-u?6szBJdO@IcGo23E2a3Sm&X$LuRJg2inSpjZ(( zb4{A0@!V)`Fg5|boN8{{v&O4$SAX+r66%K;^?Qz~@Jljebg~fF9&Qu=ehnhNx~#mK zKoiomFhbmBCGS|u3N`T8fb+V8gcf0c5-@d)5_Oa~D<5<4F=+nQY!E)lQ@AAX?)Vo0*K$~l5=pIr7Atw4jlt>l&%B#D zq&*qBH?C(pk|YPZNya@E2ln$B1z(k-Ik%=Y8C6-ayPo!YYOTqPPj7*FUj+~%!B_kr zvxFORYYb*W(;lZ?DD%<}%3t}09zo6nbV3uPS7+v3!cJO!RxBmoiZ+!P5^8XyuVC9N zsByMb*d+kf191vGkE5SIVX|@#XP6=;(oM!vV7E$xcdE(4iN~yyWo&NLR|7)dr%6v!#C|VtE3|e!Ts1 zeZ-@4R|=|Y03@KyTKVy#-Le~Fcna8X=u*FS<9!^^Bq6ucOyka^7V6?vVOqc9JF>FT zSYIqM(wno7BN5evm&(X^I4pj-nijT|kwaM}I~@BCX6hlReX``yE(lLd9E0k?Y80hJ zIez16Y|-bgg8LKq3vrpd=qO|~)PA^)v!Q+DZGGnVtVPpig{jrzVyJ~b8{P2xVHWn@ zOQ9x&8I^oDm@ztda_&dF-=VEQT^qN?)5FVzC_&!t{oU--{kBu-(}mZYNJFn*z<|=z z(^K%??(UA-}@4Ty==zC`h$%Xjq!HOrah z+|6A27!EuMP|yO^EJ;^ZOY`XR0FWpVNQ$5A|!+S`D6KV@$`Nh~Bd^Y3SaL=`- zSevb@!8sR{E|QLq$Z7gR+sbhF3qG^PslYKE$ba#>368`E*xY*urrVu+Fj6om4Kme@hs%~r~CssJe*-u$>ad5~4l?~)cz<-AN`}+@$&L{t*rWIV& zhUOZpyR}1113syYyzy9ZZ8(#p>R^OMRFJtx_`aKHrJGQEtgE-LnznAgJ<%9yaYVjg zm+T}%Utga&U=T*QZiDf{B8kNrLM>X}?! z@J3Zk7H_Zahh9#3V((Kf!5WYJcbYYOM7aBGJJPxe-sfN8gN=WXpDeH}de9Y@Tx~x< zFDTJV7HG{i zfP9|ndK9}e->+YLrb*S@zZBIha5>`jSeTgsC|!V}&WucR%HcivVR61ST- z8~@?@V6E%ktw+t-nVG4)X4HkIy`gQ}xcig+H9#8{;4}3|4HpUCxpN0P(KO9ufHF_y zd>)G)>}Qnbk7C(LDLf!23RIYM8N|kRE8Pc4$>Vj^^+m&N^ml~-@?61k4p3@8i;F9A z)8Qtvgd<65y%aQ$Hr$`iE{~6?8k>Ci8JZj*+oAn&fKA!C5#h4K#gckYVs?N1`UPMb zsOyd)a{#?t2PG{43xKT2`tm!>ajCG>+_Zf|^H}P3C`S2DHWb?X-qS^zk>TOU(S|NU z@}+iA$w0c`S6aQ;i=)aHQ)7)wtV^d3)%Wr`1*-!v2JD=e(4Il1v)yUsoiYSu9+CsN zOIbr*f=n&o*uy*t5Xt4E^BW{K569ia`v&@Q#^nvnG7Xfuw)y>*~HQzHfW`_U%shs?LYi zIR5Y_E82NNeTS!~(h!Nk&lqg2Qefny*qWsRFWHGI6Rd7Q(nBc2e1Y8gl?xakWXegV zj$Am9c-DH=OQV!5ZVMpE$9Y{2>V$(TP-tsI1;WKuVe_6poEa2_zjrF$LXKS7-G%Jw zEoO7jSHFWkKkC5F#^mC;bH@pNi?J#*Q zrEY;l-=G3;5>tI<3b7R=6M(LLMRF0D0_$5zg*p*A_oVfrU-!ph3s?{2L=7^=_LOi` z(rY`>O8)k{ICFg{{0g8g_Utr;>O0g zQ~MY1?CtMgLP6T-vhZba5ZlrO(m`cqW%7wL)H?e0_7l)SGf@KKyb7xMbRM&(0N9k4 z-g0q+L)LfmL1zxXr*g~e3^Ak!!=E>2BNjmMy6{4|`O4~9r! zOOyeh1U8d~g@$^*XaB*O`GLMsxf+&_=I!q7*+vB0CnHzhQFl{o!S!5ik2#+D`qd8# zF06Z?mfPIg%7CHxSxKYYJ$X-`K0SL|S;-T}WZsGV%+M~j!L1-9ObimgyVCxnjQ1}w z4ZFyjhZ%_uNwY%5#M-kvfEPeLtb?j6Zb`mO#d7 z5fS-&ei9a2F}a)7f!|AsJ&3bkkgx@jk*I{pCfL;jmL`U~o^9{%2SSrADk@4Fov{y8 zyH=j0!nNq1wl#7)BHyeaGG!zZ!l^&(O*>RkBW`fPux=hh!bwYs$Qikl|~03YPy$;n@5;g(W#555-^6dVXD z{AqYrDQ?S_^i*)wz&3;X+C?THZJe9NxVW*v!ITSeSsO(OJb7>hx+CtVDsVYHk-8wz zcSpaGqGkg(DszAw}}kih_FEtg6_o@tHj5-Xvi7n1DO|C!oA&HBBF;wX&U9|8JU@T-`ewPmuzoy<8>EV z(+=%*AdDCDVq#((7FvZ_#fMaz;wkyNz*Udb+1h7l4NvU0GFUmm8!GY@@GM+5SiZKH zvPzL)+T^4kaEnxN^XG`IdTCyr0`hE02}2=9$)@4$?ala!A}L?b&CAX0;P|*`s#G3B zl%m^4{@>U0j+>HES09E40jtLO$mSi6oTo}gpw=s1KQUSqV7kuh7zzjk_}ooTPU_5C z;o{=XTZtJiv_6Fp^K7R*^?a_!X^2MMkcfMZv$JNo)cV5S4=blm{&Eap2H-|oZbgntSnke^hC{5Q*s#MoF}hqNYF z*ia9cPpwt$PB=I2Px#_IJpL&iTZw3B{y_GG8r_j>9t1y8RJVnM^pM3CBiTHZTIbTv zkhrZtz2s@P>{YWgifoSlz3zy(e8&3N#8{SzJ-^2(H);?B)4ThkVs;L?47gxCO!CXW@`i!+oO9;bK0TE|0K3s2h`#8`h%Q z*Xs^|P6A|~^^G~mr;(wj*_Nemo1x|4JO?*1g7J~1rKPj82Gu?!F^JwrfNtw?H)m5X zFE1l$IRM=S-b=zX6BMu|c05*o`v2dH<30Ng$rx#iQKU?qWTSL1x*6JqlgvZ+`TNLs zne4cQ?NyI);RSgg0$S0$UD9H%h8$?EfWTnVc>MZ{z>>Pz5I2AcX}cGS1*D~xi;HGr>-JrV-+e{u*c0+rvdkJi_bvPE zu?Y#KVGsv<-%5$L#vEzMHOY$m@6+o>l%OKNV@g#>>gwuv1fgMJAg-{ovt$3|OcL5w zS-A&MNJ3Il|3&5EKMzNR0-PmPwc2dw#?eY1zy$52owacFlFKms*g~N7pwciwM>gM) z5fO*+*8e`x+sFsnchCO2Na{lsKiFYdH1R>t4fflO0_WV^g8V~l3qGLufV=v0ZII=m zW!X}Kg;~qvh-2e&xvtPQeh-+m7t^#7r{x^cLJxJT1~KK)hqFH9t%9TiGI2pX>sv9{ zF?#q$>?3#GLv@Xm*a`?ta!}Sg%^krPP~Z756oY&| zJ`*6@XFX3nJUr%=v|mYslMXL0FXv!_m_H^27I>HH=>LQkl<0GKP9V58f)cwj)DHp` zjQZb=Ir!(@6tNT)g+XAl9vy*N5ju#XI;5r>#uJHYNVqP;(Y*?L7Zw5zmO2a2+A}e3 z%)5*3?d^da=hX^oz&}3$!G`tE#k(dSfMjIvc$O9yuV2-Ja@g&3-|S8%g^b|vYbUN! zZ=uwJg0PFT*xA`RoQLYU@xi`F zKq%o3BBLNYJ4WQMl56iVBwYY2IWjWx1bZKpfUlCRt*vgW+GJ>vFf{`j(BIRe%+S7^ zy0vA0k!BiWsl#8pbx1Y~;(jPu?eFwyDJk^>+5y_?Ow&O<=%QpHxfVB^l_?VGXK+}2 zxPY?r|9esETUb9-WU>WppUqZjD1r~DvRl7{wzl?5n|_3o=*sHKAX`swZ*Naehk!i% z^#1<3XFZ6ru)a~K>cAfmM$j~%IS1Jwk6G(6$Uf%9*uvkw{ekpf&`c@q%>$7In?~07 zDv3zye;zC5KW7~$HL{}A-m0vsqS43DB zUk`I37kK#iyUDVMz%IdI|4?^OHxp9vZRH(a|u5 zs+M!B#=1NwX8|5|nIgkim4D6;W%55+QHN+#_fwNc|0twmj_IdRTw&l-qoJc?YX=v~ zNB$Pd-}I2Z^n;E8_yeSh6>@QhD)fJ@aQC~a-8}f!pJ5oPtH*iz^Op<(I8nU4_weCE ztM`mfCE#a8^Pkt!g_8z(>6${o=2#AezEUwMw~-qxh|71C)xYs17ZT-^0T%87WGBEd z#qZov9Z`VP>$=byVc~8HFEQR49H%OBSpVoT(y9uOPaCq{gfd2`4IpqAQp@<8{^wE< z{BtQ}o@=q%!V?3D2uqi&49H|b#70g`EW@s(q~vi4Wh=N>Ba8iXK89j9og^!$Ex>Mk zvDrOrROJ(fDEt9q8ZE6cm=QBFHJuu5LL{!;PlbJpMNM`5Hvdl?DZM2~2a`dC00qc8 zdU<;8!Yzj;w5zLYWi?qudF_P&UUx81YQF%;T3j^eY}OqKhd-Ot5*-th@2qDG!DwTO ziJ5r?VgX!v^5Wl1_dsSE1n?G6VJtJT@l5~ZzqrB9Q1Na=B=ht*3kwTmesLIEg3EIW zfCeuLt?L{_hv%Yb8y9OBI=vujV!eYG8n?^b{9#17$B0FR$kNpBnGJ zbgL?>6aB{jpX<;3Z|EdFEAw<+j-XHxgOE*3&H^^!bi7~aOf9wa644-X<9_#Y%=LYK+$ z%r^Ww{O6xS2|lqvpUO0M1U4QXEy!>|;cbH~_txRK6ciTfXWjHl2%+lp#BBRNJbiaO z*L~D}DI$9lvS$b>BH1f5Gb=kQtH=mtXGB&ckv&3XM3k-2l93Tv4WmRMDf(UC`+1&U z|J|?GecydQpU?Y!&ULPHo$L4w{n^?)I5_?JGZqbC`lB$OvlOj4`wI;hs;8T zyHr~cdN9(`e(0KxGns?6Vjm5CAD%g8G!M~nlkS0HZf@=aML;g3LA34P6IPQcUJ*}B zZgMg{;Zh+*k>)V{4D%)hsKaq_QTBsg+yp=>EGP){RV?HrTqqn3?JIQj^ulwxnbTBx z{?I{SKhlI5h2sFPf}C8ogFeM?yt47}@$B2Ttt>4q5er90O)$oT<`vJdjfuaV^6{~l zPaDV!k8$sym$tjo^XfrO%>^GH7|Qiw)Gm6JyCDj1K%L;3_AF{P6JWpnHBNFV#Ap)o zb=@4DuK)j|?X7rIeXl6-)~zv!fkFM~cnQTwx@mbP$H&8G${KAZ=l8sks26h;uN?fs zC0?8=CE6%R-ay@1bPc47TfHJkBwv4j(~-2d>AqiL90-4J&|fEr`ADsHe%WH6=mXk( zXw_Vxmu&i9IFv;Z{>~S=C-+Hd#@r=nW(zFsJ6B+B`J@v;PUa~ z;~a#kuj29ty6Y}yd}NADABVC$^MS!1rLm*E{qEa)=F%{&`nT&46%`d|hNNrP3`2YN z*a7pggH6ZfOq

    BfbCnX?Hdw9&DFGhmun=C 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 z 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

    i4tRzXL_O+0tD2-S307k?5zWxq|GM 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�Q0(+bev_;?a(o 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

    oKGC1(lyuCk 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

    WY9~zuB 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 SXaxS(t;|iW{;o5*js7o!{gbQ! literal 0 HcmV?d00001 diff --git a/website/blog/2023-10-18-taxed-out-of-security/item.md b/website/blog/2023-10-18-taxed-out-of-security/item.md new file mode 100644 index 000000000000..1e7782f2caad --- /dev/null +++ b/website/blog/2023-10-18-taxed-out-of-security/item.md @@ -0,0 +1,172 @@ +--- +title: "How small companies get taxed out of security and why the whole industry suffers" +description: "Software vendors have managed to normalize charging exorbitant prices for basic security features." +slug: 2023-10-18-taxed-out-of-security +authors: + - name: Jens Langhammer + title: CTO at Authentik Security Inc + url: https://github.com/BeryJu + image_url: https://github.com/BeryJu.png +tags: + - security tax + - SSO + - SSO tax + - enterprise + - pricing + - identity provider + - security + - authentication +hide_table_of_contents: false +--- + +> **_authentik is an open source Identity Provider that unifies your identity needs into a single platform, replacing Okta, Active Directory, and auth0. Authentik Security is a [public benefit company](https://github.com/OpenCoreVentures/ocv-public-benefit-company/blob/main/ocv-public-benefit-company-charter.md) building on top of the open source project._** + +--- + +Let’s say you’re working at a small startup: You’re the CTO, your CEO is a good friend, and you have a couple of developers working with you from a previous company. You’re building your initial tech stack, and you start – where else? – with GitHub. + +The [pricing](https://github.com/pricing) is simple enough. There’s a pretty feature-rich free plan, but you’re willing to pay up because the Team plan includes features for restricting access to particular branches and protecting secrets. + +But the enterprise plan, the plan that costs more than four times as much per user per month – the plan that seems targeted at, well, enterprises – promises “Security, compliance, and flexible deployment.” + +> **Is security… not for startups?** + +The feature comparison bears this out: Only the enterprise plan offers single-sign-on (SSO) functionality as part of the package – a feature that security experts have long agreed is essential. But don’t get mad at GitHub. + +Do you want [Box](https://www.box.com/pricing)? You’ll have to pay twice as much for external two-factor authentication. + +Do you want [Mailtrap](https://mailtrap.io/pricing/)? The team, premium, and business plans won’t do. Only the enterprise plan, which costs more than $300 per month more than the team plan, offers SSO. + +Do you want [Hubspot’s marketing product, but with SSO?](https://www.hubspot.com/pricing/marketing/enterprise?products=marketing-hub-professional_1&term=annual) Prepare to pay $2,800 more per month than the next cheapest plan. + +And these are only a few examples. [SSO.tax](https://sso.tax/), a website started by Rob Chahin, gathers many more. If you look through, you’ll see companies like [SurveyMonkey](https://www.surveymonkey.com/pricing/details/) and [Webflow](https://webflow.com/pricing) even restrict SSO to enterprise plans with a _Contact Us_ option instead of a price. + +!["pricing page"](./image1.png) + + + +You’ll also notice that many of the listings are outdated (the Hubspot listing was last updated in 2018, for example, but we quoted the current price). + +Many developers are likely already familiar with the concept of an SSO tax, and some are familiar with the broader idea of a security tax. Fewer know why, despite these concepts entering the lexicon, vendors can still get away with quietly restricting basic security and sign-in features to expensive enterprise plans. + +## Three types of security taxes + +Vendors have managed to normalize charging exorbitant prices for basic security features. Here, we’re not even necessarily talking about often complex logging or monitoring features – the mere ability to sign in to the software itself is an opportunity to upcharge. + +It’s a blurry line, but it’s worth distinguishing between _valuable_ features and _value-added_ features. Unlike other features, which are valuable but part of the base product, value-added features add incremental value on top of the base product. So, we expect GitHub to be basically operational on the free plan but look to other plans to see whether we want to add, say, a wiki feature. + +Security taxes are baseline features pretending to be value-added features, and vendors can charge them by bundling them with those features. These security taxes are often exploitative because companies have to pay for more features than they need just to get a security feature that should have been in the base product. + +A baseline feature is turned into a revenue-generation tool often far out of step with its actual maintenance costs.  “If your SSO support is a 10% price hike,” Chahin writes, “you’re not on this list. But these percentage increases are not maintenance costs, they’re revenue generation because you know your customers have no good options.” + +Research from Grip, an identity risk management company, shows how the [lack of good options](https://www.grip.security/blog/why-sso-doesnt-protect-80-of-your-saas) plays out. Grip’s research shows that 80% of the SaaS applications employees use are not in their companies’ SSO portals. In their interviews with CISOs, SSO licensing costs – i.e., the SSO tax – were the top reason. + +The same logic that applies to the SSO tax also applies to two other security taxes: the MFA tax and the user tax. + +Security experts widely agree that SSO is essential for security, but multi-factor authentication is more basic still, making the act of charging extra for MFA even more egregious. But, as we saw in the intro, companies like Box charge extra for multiple authentication methods. + +The user tax is more subtle. When companies charge excessive amounts per-user to secure those users' accounts, users must either choose to pay the security tax or engage in the highly insecure practice of sharing credentials among several individuals. To be clear, many companies charge on a per-user or per-seat basis (including Authentik), so you can’t call it a tax until the additional costs really become exorbitant. + +## Why the anti-SSO tax movement failed + +The SSO tax has become the most recognized of the three security taxes above. + +By now, there seems to be broad acceptance that the SSO tax is unfair – largely thanks to the SSO Wall of Shame – but there hasn’t been much change from software vendors. + +A grassroots effort like the SSO Wall of Shame would seem effective at public embarrassment. Still, even companies that target users who know better, such as [Docker](https://www.docker.com/pricing/) and developers, or [JFrog](https://jfrog.com/pricing/) and security engineers, charge an SSO tax. + +Future efforts against security taxes will have to keep in mind the three reasons the SSO tax movement failed if change is ever going to happen. + +**1. The SSO tax is too profitable and too easy to charge** + +The most obvious reason is also the strongest. The very thing we’re complaining about – vendors charging too much for a feature that isn’t even that expensive to build or maintain – is exactly why they charge it. + +Ben Orenstein, co-founder and CEO of remote pair-programming app Tuple, writes about [why SSO should be “table stakes”](https://tuple.app/blog/sso-should-be-table-stakes) and why so many other companies (including Tuple, before this post) charged it. + +“If you’re a new SaaS founder and you want to maximize your revenue,” he writes, “I recommend you create an enterprise tier, put SSO in it, and charge 2-5x your normal pricing.” He even explains that because “SSO costs close-to-nothing after a little automation, this price increase is all profit.” + +The math is pretty undeniable, proving Chahin’s basic idea: Vendors can add SSO to an enterprise tier and charge much more than it costs to maintain it. + +Patrick McKenzie, formerly from Stripe, has tweeted about the [same logic](https://twitter.com/patio11/status/1481293496506253321?s=20&t=GSqe0KHLuJaY7TYPS-p4_w). “SSO is a segmentation lever,” he writes, “and a particularly powerful one because everybody in the sophisticated-and-well-monied segment is increasingly forced to purchase it.” + +Both McKenzie and Orenstein emphasize customers being “forced” to adopt an SSO plan. Many companies are selling into regulated industries, so they’ll likely be forced to upgrade all of their software to whichever plan includes SSO. + +**2. The PR risk is too low, and security taxes are too normalized** + +Orenstein writes, “People will get a little mad at you, but not much, because just about everyone does this,” and _just about everyone does this_ links to the SSO.tax site. By now, the SSO Wall of Shame is proof the SSO tax exists, not so much a viable effort at change. + +A big part of the explanation is that the Wall of Shame was primarily one person’s effort, whereas the companies that wanted to keep charging these taxes were larger and much more powerful. The vendors charging the SSO tax had the resources to simply outlast the Wall of Shame. + +Many of these vendors also received some benefit of the doubt. SSO generally takes some effort to build and some resources to maintain – especially custom SAML setups – so vendors have been able to rely on a little plausible deniability. + +A few companies have tried to make some attention by removing the SSO tax – including Tuple and [Scalr](https://www.scalr.com/blog/sso-tax) – but none have really gone viral for the effort. + +**3. The “tragedy of the commons” effect** + +The “tragedy of the commons” is an idea that came out of ecological research in the late 1960s. The “commons” refers to a shared resource, such as a water source, and the “tragedy” is that individuals will each use more of the resource than it can withstand. + +Each individual wants to get as much as possible from the commons, but when everyone takes as much water as they want, in this example, the entire resource dies off, and everyone is worse off. + +![!["Cartoon of the tragedy of the commons by Sketchplanatons"]](./image2.png) + +The idea has since spread to politics, economics, and business. If there’s a situation where individual incentives can defeat collective incentives and shared resources can be destroyed by individuals thinking for themselves, a tragedy of the commons effect is likely. + +As the software supply chain has evolved, open-source adoption has grown, and software companies have become increasingly interconnected, software security has begun to resemble a commons. + +In the past, companies considered security in an organization vs. attacker model, as one entity building a perimeter to defend itself against targeted attackers. But in modern security, organizations are so interconnected that attackers can leap from organization to organization and move laterally from low-value vulnerabilities to high-value exploits. + +When attackers [hacked Target in 2013](https://slate.com/technology/2022/04/breached-excerpt-hartzog-solove-target.html#:~:text=In%20caper%20movies%2C%20the%20criminals,party%20vendor%20hired%20by%20Target.), they didn’t go after Target directly; they entered via a third-party vendor Target had hired. And when Log4j became [headline news in 2022](https://builtin.com/cybersecurity/log4j-vulerability-explained), it wasn’t because one attacker found one exploit; a vast range of companies suddenly realized they were vulnerable because they had all adopted the same open-source component. + +The more interconnected organizations are, the more security becomes a commons, and the more the SSO tax becomes a tragedy. Ed Contreras, Chief Information Security Officer at Frost Bank, said it well in an [interview with CISO Series](https://cisoseries.com/we-shame-others-because-were-so-right-about-everything/): “With single sign-on, we’re protecting both of our companies” and that the SSO tax, as a result, is an “atrocity.” + +## Compromise is the only way out + +For the reasons above, the movement to remove the SSO tax has seemingly ground to a halt. Vendors are still profiting, companies are still paying, and the further outdated the Wall of Shame becomes, the less anyone feels ashamed. + +But that doesn’t mean progress hasn’t been made. Coining the term “SSO tax” named the issue and expanding the idea of security taxes has pushed people toward new ways of thinking about security. If pricing plans are to change, however, we need to acknowledge the strong reasons for charging the SSO tax and offer compromises that satisfy all parties. + +### Offer cheaper ways to authenticate + +Sometimes, heated discussions about the SSO tax on Hacker News miss the fact that SSO technology isn’t always easy to build and maintain. + +For example, Klaas Pieter Annema, engineering manager at Sketch, [writes](https://twitter.com/klaaspieter/status/1562353404143435776), “I was briefly EM for the team maintaining SSO at Sketch. Supporting Google and Microsoft is easy. Supporting whatever wonky homebuilt some large enterprises use is a huge time sync [sic].” + +One compromise is to split these two situations apart. Vendors can offer simple ways to provide SSO for cheap or free but charge for the more complex, customized ways. + +Bitrise, for example, offers [standard SSO](https://bitrise.io/plans-pricing) across its Hobby, Starter, and Teams pricing tiers but only offers custom SAML at its Velocity and Enterprise tiers. + +![!["pricing tiers for Bitrise with included free SSO"]](./image3.png) + +### Charge less + +Even in the original Wall of Shame, Chahin writes, “While I’d like people to really consider it a bare minimum feature for business SaaS, I’m OK with it costing a little extra to cover maintenance costs. If your SSO support is a 10% price hike, you’re not on this list.” + +A compromise is already available: Vendors can charge for the labor to offer SSO but not use SSO as a tool for revenue generation. Vendors can charge less outright or move SSO to cheaper pricing tiers. + +As it turns out, this shift might benefit vendors in the long run. According to research from [Gergely Orosz](https://newsletter.pragmaticengineer.com/p/vendor-spend-cuts), nearly 90% of companies now consider it a goal to reduce vendor spend. + +![!["diagram to illustrate a poll showing that nearly 90% of companies now consider it a goal to reduce vendor spend from pragmaticengineer.com"]](./image4.png) + +The SSO tax has become an obvious target. Any vendor charging an SSO tax is more likely to face spending cuts from customers and less likely to get conversions from newly price-conscious customers. + +Orosz writes, “Consider removing the ‘SSO tax’ to boost conversions for smaller companies. CTOs at early-stage companies have mentioned they are selective when onboarding to SaaSes that charge an SSO tax.” + +Orosz also quotes a few anonymized executives, with one CTO saying, “We're trying to roll out SSO, but many SaaS vendors charge a security tax, so we've had to be selective about which services we upgrade.” + +### Unbundle security, support, and value-added features + +Security and value-added features, as we covered earlier, are very different kinds of features. One way vendors disguise the SSO tax is by charging for these features as a bundle; therefore, one way to compromise is to unbundle these features so that vendors can charge for value-added features but not for baseline security features. + +Once vendors unbundle these features, the previous two compromises make more sense: they can either charge less or introduce separate, cheaper SSO features. Similarly, companies can also distinguish between SSO feature costs and SSO support costs. + +In the previous example, when Klaas Pieter Annema, engineering manager at Sketch, mentioned how SSO frequently became a huge time sink, he also wrote that Sketch “ended up with a rotating support role largely to free up time for these customers.” + +When companies refer to the costs of SSO, this cost is often what they’re referring to – not the sheer cost of building and maintaining the feature but the ongoing support costs. That points to another potential compromise: Vendors could charge for an SSO feature with 24/7 support and charge less for an SSO feature that leaves maintenance up to the customer. + +## Security vendors are caught in the middle, but developers can build a way out + +Throughout this article, we’ve hardly mentioned a central party: SSO vendors. Despite the obvious centrality of SSO vendors and SSO products and tools, security vendors have little leverage when it comes to the SSO tax. + +What we can do, however, is argue for a shift in industry norms: As we’ve written before, the buy vs. build framework is outdated, and it’s no longer obvious that companies should be buying by default. + +The SSO tax persists because it’s easy for vendors to charge, and companies don’t consider other options. As companies consider those options and rediscover why [identity is fun](https://goauthentik.io/blog/2023-08-16-lets-make-identity-fun-again), the SSO tax will become less and less viable. From a72b1f99ab58758d93dd7cb0876b2586ec526802 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Thu, 19 Oct 2023 12:58:22 +0200 Subject: [PATCH 52/57] translate: Updates for file web/xliff/en.xlf in zh-Hans (#7225) Translate web/xliff/en.xlf in zh-Hans 100% translated source file: 'web/xliff/en.xlf' on 'zh-Hans'. Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com> --- web/xliff/zh-Hans.xlf | 107 +++++++++++++++++++++++++++++++++--------- 1 file changed, 84 insertions(+), 23 deletions(-) diff --git a/web/xliff/zh-Hans.xlf b/web/xliff/zh-Hans.xlf index 7c0e0c445273..c7b81983e8db 100644 --- a/web/xliff/zh-Hans.xlf +++ b/web/xliff/zh-Hans.xlf @@ -1,4 +1,4 @@ - + @@ -613,9 +613,9 @@ - The URL "" was not found. - 未找到 URL " - "。 + The URL "" was not found. + 未找到 URL " + "。 @@ -1067,8 +1067,8 @@ - To allow any redirect URI, set this value to ".*". Be aware of the possible security implications this can have. - 要允许任何重定向 URI,请将此值设置为 ".*"。请注意这可能带来的安全影响。 + To allow any redirect URI, set this value to ".*". Be aware of the possible security implications this can have. + 要允许任何重定向 URI,请将此值设置为 ".*"。请注意这可能带来的安全影响。 @@ -1809,8 +1809,8 @@ - Either input a full URL, a relative path, or use 'fa://fa-test' to use the Font Awesome icon "fa-test". - 输入完整 URL、相对路径,或者使用 'fa://fa-test' 来使用 Font Awesome 图标 "fa-test"。 + Either input a full URL, a relative path, or use 'fa://fa-test' to use the Font Awesome icon "fa-test". + 输入完整 URL、相对路径,或者使用 'fa://fa-test' 来使用 Font Awesome 图标 "fa-test"。 @@ -3028,8 +3028,8 @@ doesn't pass when either or both of the selected options are equal or above the - Field which contains members of a group. Note that if using the "memberUid" field, the value is assumed to contain a relative distinguished name. e.g. 'memberUid=some-user' instead of 'memberUid=cn=some-user,ou=groups,...' - 包含组成员的字段。请注意,如果使用 "memberUid" 字段,则假定该值包含相对可分辨名称。例如,'memberUid=some-user' 而不是 'memberUid=cn=some-user,ou=groups,...' + Field which contains members of a group. Note that if using the "memberUid" field, the value is assumed to contain a relative distinguished name. e.g. 'memberUid=some-user' instead of 'memberUid=cn=some-user,ou=groups,...' + 包含组成员的字段。请注意,如果使用 "memberUid" 字段,则假定该值包含相对可分辨名称。例如,'memberUid=some-user' 而不是 'memberUid=cn=some-user,ou=groups,...' @@ -3821,8 +3821,8 @@ doesn't pass when either or both of the selected options are equal or above the - When using an external logging solution for archiving, this can be set to "minutes=5". - 使用外部日志记录解决方案进行存档时,可以将其设置为 "minutes=5"。 + When using an external logging solution for archiving, this can be set to "minutes=5". + 使用外部日志记录解决方案进行存档时,可以将其设置为 "minutes=5"。 @@ -3831,8 +3831,8 @@ doesn't pass when either or both of the selected options are equal or above the - Format: "weeks=3;days=2;hours=3,seconds=2". - 格式:"weeks=3;days=2;hours=3,seconds=2"。 + Format: "weeks=3;days=2;hours=3,seconds=2". + 格式:"weeks=3;days=2;hours=3,seconds=2"。 @@ -4028,10 +4028,10 @@ doesn't pass when either or both of the selected options are equal or above the - Are you sure you want to update ""? + Are you sure you want to update ""? 您确定要更新 - " - " 吗? + " + " 吗? @@ -5127,7 +5127,7 @@ doesn't pass when either or both of the selected options are equal or above the - A "roaming" authenticator, like a YubiKey + A "roaming" authenticator, like a YubiKey 像 YubiKey 这样的“漫游”身份验证器 @@ -5462,10 +5462,10 @@ doesn't pass when either or both of the selected options are equal or above the - ("", of type ) + ("", of type ) - (" - ",类型为 + (" + ",类型为 @@ -5514,7 +5514,7 @@ doesn't pass when either or both of the selected options are equal or above the - If set to a duration above 0, the user will have the option to choose to "stay signed in", which will extend their session by the time specified here. + If set to a duration above 0, the user will have the option to choose to "stay signed in", which will extend their session by the time specified here. 如果设置时长大于 0,用户可以选择“保持登录”选项,这将使用户的会话延长此处设置的时间。 @@ -7627,72 +7627,97 @@ Bindings to groups/users are checked against the user of the event. <<<<<<< HEAD Internal application name used in URLs. + 在 URL 中使用的应用内部名称。 Submit + 提交 UI Settings + 用户界面设置 OAuth2/OpenID + OAuth2/OpenID Transparent Reverse Proxy + 透明反向代理 For transparent reverse proxies with required authentication + 适用于需要验证身份的透明反向代理 Forward Auth Single Application + Forward Auth 单应用 For nginx's auth_request or traefix's forwardAuth + 适用于 nginx 的 auth_request 或 traefik 的 forwardAuth Forward Auth Domain Level + Forward Auth 域名级 For nginx's auth_request or traefix's forwardAuth per root domain + 适用于按根域名配置的 nginx 的 auth_request 或 traefik 的 forwardAuth Configure SAML provider manually + 手动配置 SAML 提供程序 RADIUS Configuration + RADIUS 配置 Configure RADIUS provider manually + 手动配置 RADIUS 提供程序 SCIM configuration + SCIM 配置 Configure SCIM provider manually + 手动配置 SCIM 提供程序 Saving Application... + 正在保存应用程序… Authentik was unable to save this application: + Authentik 无法保存此应用程序: Your application has been saved + 您的应用程序已保存 In the Application: + 在应用程序中: In the Provider: + 在提供程序中: Method's display Name. + 方法的显示名称。 Use this provider with nginx's auth_request or traefik's forwardAuth. Each application/domain needs its own provider. Additionally, on each domain, /outpost.goauthentik.io must be routed to the outpost (when using a managed outpost, this is done for you). + 此提供程序需要与 nginx 的 auth_request 或 traefik 的 forwardAuth + 一起使用。每个应用/域名需要独立的提供程序。 + 此外,在每个域名上,/outpost.goauthentik.io 必须被路由到 + 前哨(如果使用托管前哨,则已自动帮您完成)。 Custom attributes @@ -7704,112 +7729,148 @@ Bindings to groups/users are checked against the user of the event. Failed to fetch + 拉取失败 Failed to fetch data. + 拉取数据失败。 Successfully assigned permission. + 已成功分配权限。 Role + 角色 Assign + 分配 Assign permission to role + 为角色分配权限 Assign to new role + 分配到新角色 Directly assigned + 直接分配 Assign permission to user + 为用户分配权限 Assign to new user + 分配到新用户 User Object Permissions + 用户对象权限 Role Object Permissions + 角色对象权限 Roles + 角色 Select roles to grant this groups' users' permissions from the selected roles. + 选择角色,为该组内用户授予所选角色的权限。 Update Permissions + 更新权限 Editing is disabled for managed tokens + 托管令牌的编辑已被禁用 Select permissions to grant + 选择权限以授予 Permissions to add + 要添加的权限 Select permissions + 选择权限 Assign permission + 分配权限 Permission(s) + 权限 Permission + 权限 User doesn't have view permission so description cannot be retrieved. + 用户不具有查看权限,所以无法获取描述。 Assigned permissions + 分配的权限 Assigned global permissions + 分配的全局权限 Assigned object permissions + 分配的对象权限 Successfully updated role. + 已成功更新角色。 Successfully created role. + 已成功创建角色。 Manage roles which grant permissions to objects within authentik. + 管理向 authentik 中的对象授予权限的角色。 Role(s) + 角色 Update Role + 更新角色 Create Role + 创建角色 Role doesn't have view permission so description cannot be retrieved. + 角色不具有查看权限,所以无法获取描述。 Role + 角色 Role Info + 角色信息 Pseudolocale (for testing) + 伪区域(测试用) - + \ No newline at end of file From 44a0df5cf8ca5af6d996079110eee453bd328414 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Thu, 19 Oct 2023 12:58:41 +0200 Subject: [PATCH 53/57] translate: Updates for file web/xliff/en.xlf in zh_CN (#7224) Translate web/xliff/en.xlf in zh_CN 100% translated source file: 'web/xliff/en.xlf' on 'zh_CN'. Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com> --- web/xliff/zh_CN.xlf | 304 +++++++++++++++----------------------------- 1 file changed, 99 insertions(+), 205 deletions(-) diff --git a/web/xliff/zh_CN.xlf b/web/xliff/zh_CN.xlf index d84a5c24eb58..5f253af70244 100644 --- a/web/xliff/zh_CN.xlf +++ b/web/xliff/zh_CN.xlf @@ -1837,11 +1837,6 @@ Slug Slug - - - Internal application name, used in URLs. - 应用的内部名称,在 URL 中使用。 - Optionally enter a group name. Applications with identical groups are shown grouped together. @@ -1857,11 +1852,6 @@ Select a provider that this application should use. 选择此应用应该使用的提供程序。 - - - Backchannel providers - 反向通道提供程序 - Select backchannel providers which augment the functionality of the main provider. @@ -2227,11 +2217,6 @@ NameID attribute NameID 属性 - - - SCIM provider is in preview. - SCIM 提供程序处于预览状态。 - Warning: Provider is not assigned to an application as backchannel provider. @@ -2252,46 +2237,11 @@ Run sync again 再次运行同步 - - - Application details - 应用程序详情 - - - - Create application - 创建应用程序 - - - - Additional UI settings - 其他界面设置 - - - - OAuth2/OIDC - OAuth2/OIDC - Modern applications, APIs and Single-page applications. 现代应用程序、API 与单页应用程序。 - - - SAML - SAML - - - - XML-based SSO standard. Use this if your application only supports SAML. - 基于 XML 的 SSO 标准。如果您的应用程序仅支持 SAML 则应使用。 - - - - Legacy applications which don't natively support SSO. - 不原生支持 SSO 的传统应用程序。 - LDAP @@ -2302,166 +2252,11 @@ Provide an LDAP interface for applications and users to authenticate against. 为应用程序和用户提供 LDAP 接口以进行身份​​验证。 - - - Link - 链接 - - - - Authentication method - 身份验证方法 - - - - LDAP details - LDAP 详情 - - - - Create service account - 创建服务账户 - - - - Create provider - 创建提供程序 - - - - Application Link - 应用程序链接 - - - - URL which will be opened when a user clicks on the application. - 用户点击应用程序时将打开的 URL。 - - - - Method details - 方法详情 - - - - This configuration can be used to authenticate to authentik with other APIs other otherwise programmatically. - 此配置可用于通过其他 API 或以编程方式处理 authentik 身份验证。 - - - - By default, all service accounts can authenticate as this application, as long as they have a valid token of the type app-password. - 默认情况下,所有服务账户都可以作为此应用程序进行身份验证,只要它们拥有 app-password 类型的有效令牌。 - - - - Web application - Web 应用程序 - - - - Applications which handle the authentication server-side (for example, Python, Go, Rust, Java, PHP) - 在服务端处理身份验证的应用程序(例如 Python、Go、Rust、Java、PHP) - - - - Single-page applications - 单页应用程序 - - - - Single-page applications which handle authentication in the browser (for example, Javascript, Angular, React, Vue) - 在浏览器内处理身份验证的单页应用程序(例如 Javascript、Angular、React、Vue) - - - - Native application - 原生应用程序 - - - - Applications which redirect users to a non-web callback (for example, Android, iOS) - 重定向用户到非 Web 回调的应用程序(例如 Android、iOS) - - - - API - API - - - - Authentication without user interaction, or machine-to-machine authentication. - 无需用户操作的身份验证,或 M2M(机器到机器)身份验证。 - - - - Application type - 应用程序类型 - - - - Flow used when users access this application. - 用户访问此应用程序时使用的流程。 - - - - Proxy details - 代理详情 - - - - External domain - 外部域名 - - - - External domain you will be accessing the domain from. - 您将从此外部域名访问域名。 - - - - Import SAML Metadata - 导入 SAML 元数据 - - - - Import the metadata document of the applicaation you want to configure. - 导入您要配置的应用程序的元数据文档。 - - - - Manual configuration - 手动配置 - - - - Manually configure SAML - 手动配置 SAML - - - - SAML details - SAML 详情 - - - - URL that authentik will redirect back to after successful authentication. - 身份验证成功后,authentik 将重定向回的 URL。 - - - - Import SAML metadata - 导入 SAML 元数据 - New application 新应用程序 - - - Create a new application. - 创建一个新应用程序。 - Applications @@ -7829,6 +7624,101 @@ Bindings to groups/users are checked against the user of the event. Stage used to configure a WebAuthn authenticator (i.e. Yubikey, FaceID/Windows Hello). 用来配置 WebAuthn 身份验证器(即 Yubikey、FaceID/Windows Hello)的阶段。 +<<<<<<< HEAD + + Internal application name used in URLs. + 在 URL 中使用的应用内部名称。 + + + Submit + 提交 + + + UI Settings + 用户界面设置 + + + OAuth2/OpenID + OAuth2/OpenID + + + Transparent Reverse Proxy + 透明反向代理 + + + For transparent reverse proxies with required authentication + 适用于需要验证身份的透明反向代理 + + + Forward Auth Single Application + Forward Auth 单应用 + + + For nginx's auth_request or traefix's forwardAuth + 适用于 nginx 的 auth_request 或 traefik 的 forwardAuth + + + Forward Auth Domain Level + Forward Auth 域名级 + + + For nginx's auth_request or traefix's forwardAuth per root domain + 适用于按根域名配置的 nginx 的 auth_request 或 traefik 的 forwardAuth + + + Configure SAML provider manually + 手动配置 SAML 提供程序 + + + RADIUS Configuration + RADIUS 配置 + + + Configure RADIUS provider manually + 手动配置 RADIUS 提供程序 + + + SCIM configuration + SCIM 配置 + + + Configure SCIM provider manually + 手动配置 SCIM 提供程序 + + + Saving Application... + 正在保存应用程序… + + + Authentik was unable to save this application: + Authentik 无法保存此应用程序: + + + Your application has been saved + 您的应用程序已保存 + + + In the Application: + 在应用程序中: + + + In the Provider: + 在提供程序中: + + + Method's display Name. + 方法的显示名称。 + + + Use this provider with nginx's auth_request or traefik's + forwardAuth. Each application/domain needs its own provider. + Additionally, on each domain, /outpost.goauthentik.io must be + routed to the outpost (when using a managed outpost, this is done for you). + 此提供程序需要与 nginx 的 auth_request 或 traefik 的 forwardAuth + 一起使用。每个应用/域名需要独立的提供程序。 + 此外,在每个域名上,/outpost.goauthentik.io 必须被路由到 + 前哨(如果使用托管前哨,则已自动帮您完成)。 + Custom attributes 自定义属性 @@ -7976,6 +7866,10 @@ Bindings to groups/users are checked against the user of the event. Role Info 角色信息 + + + Pseudolocale (for testing) + 伪区域(测试用) From 48e8c568e27a104ae906eda47660d04bc320ba8c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 19 Oct 2023 12:59:06 +0200 Subject: [PATCH 54/57] web: bump @types/codemirror from 5.60.11 to 5.60.12 in /web (#7223) Bumps [@types/codemirror](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/codemirror) from 5.60.11 to 5.60.12. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/codemirror) --- updated-dependencies: - dependency-name: "@types/codemirror" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web/package-lock.json | 8 ++++---- web/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/web/package-lock.json b/web/package-lock.json index c9fe7d4a59e6..e6838900413d 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -68,7 +68,7 @@ "@storybook/web-components-vite": "^7.5.0", "@trivago/prettier-plugin-sort-imports": "^4.2.0", "@types/chart.js": "^2.9.39", - "@types/codemirror": "5.60.11", + "@types/codemirror": "5.60.12", "@types/grecaptcha": "^3.0.6", "@typescript-eslint/eslint-plugin": "^6.8.0", "@typescript-eslint/parser": "^6.8.0", @@ -10113,9 +10113,9 @@ } }, "node_modules/@types/codemirror": { - "version": "5.60.11", - "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-5.60.11.tgz", - "integrity": "sha512-EaT5pbQH8uFIyoMx3wn1Ii5IogQUz9nff10Yg6hOOoFcr5/TDiNyhNxhV5VhrE48/R79NgS2pu6RbOT78zKoIA==", + "version": "5.60.12", + "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-5.60.12.tgz", + "integrity": "sha512-SFSj5Tb/mtQoVgaltsipdRGG1PkcFu/L0OXPNBGCXYUQtwsNoAGRNNHOTl1jYcQUcEI77EiUfk94bgETTbSo/A==", "dev": true, "dependencies": { "@types/tern": "*" diff --git a/web/package.json b/web/package.json index 0fdf4eedf173..ba0ad861fcce 100644 --- a/web/package.json +++ b/web/package.json @@ -89,7 +89,7 @@ "@storybook/web-components-vite": "^7.5.0", "@trivago/prettier-plugin-sort-imports": "^4.2.0", "@types/chart.js": "^2.9.39", - "@types/codemirror": "5.60.11", + "@types/codemirror": "5.60.12", "@types/grecaptcha": "^3.0.6", "@typescript-eslint/eslint-plugin": "^6.8.0", "@typescript-eslint/parser": "^6.8.0", From 34367a7481764c8628363e028bed53a236b5b104 Mon Sep 17 00:00:00 2001 From: senare Date: Thu, 19 Oct 2023 14:26:40 +0200 Subject: [PATCH 55/57] website/integrations: grafana: add Helm and Terraform config examples (#7121) * Added helm ref and Terraform Provider config Added disclaimer about secret's in Helm or i.e values.yaml Co-authored-by: risson <18313093+rissson@users.noreply.github.com> Co-authored-by: Tana M Berry Signed-off-by: senare * fix formatting Signed-off-by: Jens Langhammer --------- Signed-off-by: senare Signed-off-by: Jens Langhammer Co-authored-by: Manfred Nilsson Co-authored-by: risson <18313093+rissson@users.noreply.github.com> Co-authored-by: Tana M Berry Co-authored-by: Jens Langhammer --- .../integrations/services/grafana/index.mdx | 89 ++++++++++++++++++- 1 file changed, 88 insertions(+), 1 deletion(-) diff --git a/website/integrations/services/grafana/index.mdx b/website/integrations/services/grafana/index.mdx index f5274d0f4106..e6cc7a5a833c 100644 --- a/website/integrations/services/grafana/index.mdx +++ b/website/integrations/services/grafana/index.mdx @@ -26,6 +26,66 @@ Create an application in authentik. Create an OAuth2/OpenID provider with the fo Note the Client ID and Client Secret values. Create an application, using the provider you've created above. Note the slug of the application you've created. +## Terraform provider + +```hcl + +data "authentik_flow" "default-provider-authorization-implicit-consent" { + slug = "default-provider-authorization-implicit-consent" +} + +data "authentik_scope_mapping" "scope-email" { + name = "authentik default OAuth Mapping: OpenID 'email'" +} + +data "authentik_scope_mapping" "scope-profile" { + name = "authentik default OAuth Mapping: OpenID 'profile'" +} + +data "authentik_scope_mapping" "scope-openid" { + name = "authentik default OAuth Mapping: OpenID 'openid'" +} + +resource "authentik_provider_oauth2" "grafana" { + name = "Grafana" + # Required. You can use the output of: + # $ openssl rand -hex 16 + client_id = "my_client_id" + + # Optional: will be generated if not provided + # client_secret = "my_client_secret" + + authorization_flow = data.authentik_flow.default-provider-authorization-implicit-consent.id + + redirect_uris = ["https://grafana.company/login/generic_oauth"] + + property_mappings = [ + data.authentik_scope_mapping.scope-email.id, + data.authentik_scope_mapping.scope-profile.id, + data.authentik_scope_mapping.scope-openid.id, + ] +} + +resource "authentik_application" "grafana" { + name = "Grafana" + slug = "grafana" + protocol_provider = authentik_provider_oauth2.grafana.id +} + +resource "authentik_group" "grafana_admins" { + name = "Grafana Admins" +} + +resource "authentik_group" "grafana_editors" { + name = "Grafana Editors" +} + +resource "authentik_group" "grafana_viewers" { + name = "Grafana Viewers" +} + +``` + ## Grafana import Tabs from "@theme/Tabs"; @@ -36,9 +96,10 @@ import TabItem from "@theme/TabItem"; values={[ {label: 'Docker', value: 'docker'}, {label: 'Standalone', value: 'standalone'}, + {label: 'Helm', value: 'helm'}, ]}> -If your Grafana is running in docker, set the following environment variables: +If your Grafana instance is running in Docker, set the following environment variables: ```yaml environment: @@ -80,6 +141,32 @@ api_url = https://authentik.company/application/o/userinfo/ role_attribute_path = contains(groups[*], 'Grafana Admins') && 'Admin' || contains(groups[*], 'Grafana Editors') && 'Editor' || 'Viewer' ``` + + +If you are using a Helm `values.yaml` file instead, you have to set these options: + +```yaml +grafana.ini: + auth: + signout_redirect_url: "https://authentik.company/application/o//end-session/" + oauth_auto_login: true + auth.generic_oauth: + name: authentik + enabled: true + client_id: "" + client_secret: "" + scopes: "openid profile email" + auth_url: "https://authentik.company/application/o/authorize/" + token_url: "https://authentik.company/application/o/token/" + api_url: "https://authentik.company/application/o/userinfo/" + # Optionally map user groups to Grafana roles + role_attribute_path: contains(groups[*], 'Grafana Admins') && 'Admin' || contains(groups[*], 'Grafana Editors') && 'Editor' || 'Viewer' +``` + +:::note +For security reasons you shouldn't inline the client_secret in the values, but use a secret instead. For more information, see https://github.com/grafana/helm-charts/blob/main/charts/grafana/README.md#how-to-securely-reference-secrets-in-grafanaini +::: + From acad3c4d5c4347cb7b1404ce6343d01cfd980732 Mon Sep 17 00:00:00 2001 From: Jens L Date: Thu, 19 Oct 2023 14:53:56 +0200 Subject: [PATCH 56/57] core/rbac: fix missing field when removing perm, add delete from object page (#7226) * make object permissions deletable from the object page Signed-off-by: Jens Langhammer * fix error when removing object permissions form user/role page Signed-off-by: Jens Langhammer * upgrade translation Signed-off-by: Jens Langhammer --------- Signed-off-by: Jens Langhammer --- .../admin/roles/RolePermissionObjectTable.ts | 3 +- .../UserAssignedObjectPermissionsTable.ts | 3 +- .../elements/rbac/ObjectPermissionsPage.ts | 1 + .../rbac/RoleObjectPermissionTable.ts | 32 ++++++++ .../rbac/UserObjectPermissionTable.ts | 37 +++++++++ web/xliff/de.xlf | 28 ++++++- web/xliff/en.xlf | 28 ++++++- web/xliff/es.xlf | 28 ++++++- web/xliff/fr.xlf | 29 +++++-- web/xliff/pl.xlf | 28 ++++++- web/xliff/pseudo-LOCALE.xlf | 29 +++++-- web/xliff/tr.xlf | 28 ++++++- web/xliff/zh-Hans.xlf | 75 ++++++++++++------- web/xliff/zh-Hant.xlf | 28 ++++++- web/xliff/zh_TW.xlf | 28 ++++++- 15 files changed, 337 insertions(+), 68 deletions(-) diff --git a/web/src/admin/roles/RolePermissionObjectTable.ts b/web/src/admin/roles/RolePermissionObjectTable.ts index e8a71963ad8a..44bdf11830bf 100644 --- a/web/src/admin/roles/RolePermissionObjectTable.ts +++ b/web/src/admin/roles/RolePermissionObjectTable.ts @@ -8,7 +8,7 @@ import { msg } from "@lit/localize"; import { TemplateResult, html } from "lit"; import { customElement, property } from "lit/decorators.js"; -import { ExtraRoleObjectPermission, RbacApi } from "@goauthentik/api"; +import { ExtraRoleObjectPermission, ModelEnum, RbacApi } from "@goauthentik/api"; @customElement("ak-role-permissions-object-table") export class RolePermissionObjectTable extends Table { @@ -64,6 +64,7 @@ export class RolePermissionObjectTable extends Table patchedPermissionAssignRequest: { permissions: [`${item.appLabel}.${item.codename}`], objectPk: item.objectPk, + model: `${item.appLabel}.${item.model}` as ModelEnum, }, }); }} diff --git a/web/src/admin/users/UserAssignedObjectPermissionsTable.ts b/web/src/admin/users/UserAssignedObjectPermissionsTable.ts index 2b5589dc426d..8e63ae8bb247 100644 --- a/web/src/admin/users/UserAssignedObjectPermissionsTable.ts +++ b/web/src/admin/users/UserAssignedObjectPermissionsTable.ts @@ -8,7 +8,7 @@ import { msg } from "@lit/localize"; import { TemplateResult, html } from "lit"; import { customElement, property } from "lit/decorators.js"; -import { ExtraUserObjectPermission, RbacApi } from "@goauthentik/api"; +import { ExtraUserObjectPermission, ModelEnum, RbacApi } from "@goauthentik/api"; @customElement("ak-user-assigned-object-permissions-table") export class UserAssignedObjectPermissionsTable extends Table { @@ -60,6 +60,7 @@ export class UserAssignedObjectPermissionsTable extends Table

    > { const perms = await new RbacApi(DEFAULT_CONFIG).rbacPermissionsAssignedByRolesList({ page: page, @@ -72,6 +75,35 @@ export class RoleAssignedObjectPermissionTable extends Table`; } + renderToolbarSelected(): TemplateResult { + const disabled = this.selectedElements.length < 1; + return html` { + return [{ key: msg("Permission"), value: item.name }]; + }} + .delete=${(item: RoleAssignedObjectPermission) => { + return new RbacApi( + DEFAULT_CONFIG, + ).rbacPermissionsAssignedByRolesUnassignPartialUpdate({ + uuid: item.rolePk, + patchedPermissionAssignRequest: { + objectPk: this.objectPk?.toString(), + model: this.model, + permissions: item.permissions.map((perm) => { + return `${perm.appLabel}.${perm.codename}`; + }), + }, + }); + }} + > + + `; + } + row(item: RoleAssignedObjectPermission): TemplateResult[] { const baseRow = [html` ${item.name}`]; this.modelPermissions?.results.forEach((perm) => { diff --git a/web/src/elements/rbac/UserObjectPermissionTable.ts b/web/src/elements/rbac/UserObjectPermissionTable.ts index 3c52ca1e6dc1..a746447cc894 100644 --- a/web/src/elements/rbac/UserObjectPermissionTable.ts +++ b/web/src/elements/rbac/UserObjectPermissionTable.ts @@ -1,5 +1,6 @@ import { DEFAULT_CONFIG } from "@goauthentik/app/common/api/config"; import { PaginatedResponse, Table, TableColumn } from "@goauthentik/app/elements/table/Table"; +import "@goauthentik/elements/forms/DeleteBulkForm"; import "@goauthentik/elements/forms/ModalForm"; import "@goauthentik/elements/rbac/UserObjectPermissionForm"; import "@patternfly/elements/pf-tooltip/pf-tooltip.js"; @@ -27,6 +28,8 @@ export class UserAssignedObjectPermissionTable extends Table> { const perms = await new RbacApi(DEFAULT_CONFIG).rbacPermissionsAssignedByUsersList({ page: page, @@ -72,6 +75,40 @@ export class UserAssignedObjectPermissionTable extends Table`; } + renderToolbarSelected(): TemplateResult { + const disabled = + this.selectedElements.length < 1 || + this.selectedElements.filter((item) => item.isSuperuser).length > 0; + return html` !item.isSuperuser)} + .metadata=${(item: UserAssignedObjectPermission) => { + return [{ key: msg("Permission"), value: item.name }]; + }} + .delete=${(item: UserAssignedObjectPermission) => { + if (item.isSuperuser) { + return Promise.resolve(); + } + return new RbacApi( + DEFAULT_CONFIG, + ).rbacPermissionsAssignedByUsersUnassignPartialUpdate({ + id: item.pk, + patchedPermissionAssignRequest: { + objectPk: this.objectPk?.toString(), + model: this.model, + permissions: item.permissions.map((perm) => { + return `${perm.appLabel}.${perm.codename}`; + }), + }, + }); + }} + > + + `; + } + row(item: UserAssignedObjectPermission): TemplateResult[] { const baseRow = [html` ${item.username} `]; this.modelPermissions?.results.forEach((perm) => { diff --git a/web/xliff/de.xlf b/web/xliff/de.xlf index 732e38e11e53..9c81bd837b24 100644 --- a/web/xliff/de.xlf +++ b/web/xliff/de.xlf @@ -1719,10 +1719,6 @@ Applications Anwendungen - - External Applications which use authentik as Identity-Provider, utilizing protocols like OAuth2 and SAML. All applications are shown here, even ones you cannot access. - Externe Anwendungen, die Authentik als Identitätsanbieter verwenden und Protokolle wie OAuth2 und SAML verwenden. Hier werden alle Anwendungen angezeigt; auch diejenigen, auf die Sie keinen Zugriff haben. - Provider Type Anbietertyp @@ -5984,6 +5980,30 @@ Bindings to groups/users are checked against the user of the event. Pseudolocale (for testing) + + + Create With Wizard + + + One hint, 'New Application Wizard', is currently hidden + + + External applications that use authentik as an identity provider via protocols like OAuth2 and SAML. All applications are shown here, even ones you cannot access. + + + Deny message + + + Message shown when this stage is run. + + + Open Wizard + + + Demo Wizard + + + Run the demo wizard diff --git a/web/xliff/en.xlf b/web/xliff/en.xlf index 7cf38b6b7699..8f2f42b75526 100644 --- a/web/xliff/en.xlf +++ b/web/xliff/en.xlf @@ -1815,10 +1815,6 @@ Applications Applications - - External Applications which use authentik as Identity-Provider, utilizing protocols like OAuth2 and SAML. All applications are shown here, even ones you cannot access. - External Applications which use authentik as Identity-Provider, utilizing protocols like OAuth2 and SAML. All applications are shown here, even ones you cannot access. - Provider Type Provider Type @@ -6266,6 +6262,30 @@ Bindings to groups/users are checked against the user of the event. Pseudolocale (for testing) + + + Create With Wizard + + + One hint, 'New Application Wizard', is currently hidden + + + External applications that use authentik as an identity provider via protocols like OAuth2 and SAML. All applications are shown here, even ones you cannot access. + + + Deny message + + + Message shown when this stage is run. + + + Open Wizard + + + Demo Wizard + + + Run the demo wizard diff --git a/web/xliff/es.xlf b/web/xliff/es.xlf index 308666c0a294..08477da67628 100644 --- a/web/xliff/es.xlf +++ b/web/xliff/es.xlf @@ -1691,10 +1691,6 @@ Applications Aplicaciones - - External Applications which use authentik as Identity-Provider, utilizing protocols like OAuth2 and SAML. All applications are shown here, even ones you cannot access. - Aplicaciones externas que usan authentik como proveedor de identidad, utilizando protocolos como OAuth2 y SAML. Aquí se muestran todas las aplicaciones, incluso aquellas a las que no puede acceder. - Provider Type Tipo de proveedor @@ -5899,6 +5895,30 @@ Bindings to groups/users are checked against the user of the event. Pseudolocale (for testing) + + + Create With Wizard + + + One hint, 'New Application Wizard', is currently hidden + + + External applications that use authentik as an identity provider via protocols like OAuth2 and SAML. All applications are shown here, even ones you cannot access. + + + Deny message + + + Message shown when this stage is run. + + + Open Wizard + + + Demo Wizard + + + Run the demo wizard diff --git a/web/xliff/fr.xlf b/web/xliff/fr.xlf index 15eb5b863494..ac905389c8ae 100644 --- a/web/xliff/fr.xlf +++ b/web/xliff/fr.xlf @@ -2261,11 +2261,6 @@ Il y a jour(s) Applications Applications - - - External Applications which use authentik as Identity-Provider, utilizing protocols like OAuth2 and SAML. All applications are shown here, even ones you cannot access. - Applications externes qui utilisent authentik comme fournisseur d'identité, en utilisant des protocoles comme OAuth2 et SAML. Toutes les applications sont affichées ici, même celles auxquelles vous n'avez pas accéder. - Provider Type @@ -7842,6 +7837,30 @@ Les liaisons avec les groupes/utilisateurs sont vérifiées par rapport à l'uti Pseudolocale (for testing) + + + Create With Wizard + + + One hint, 'New Application Wizard', is currently hidden + + + External applications that use authentik as an identity provider via protocols like OAuth2 and SAML. All applications are shown here, even ones you cannot access. + + + Deny message + + + Message shown when this stage is run. + + + Open Wizard + + + Demo Wizard + + + Run the demo wizard diff --git a/web/xliff/pl.xlf b/web/xliff/pl.xlf index 62823319b2f0..5938a0e53c66 100644 --- a/web/xliff/pl.xlf +++ b/web/xliff/pl.xlf @@ -1747,10 +1747,6 @@ Applications Aplikacje - - External Applications which use authentik as Identity-Provider, utilizing protocols like OAuth2 and SAML. All applications are shown here, even ones you cannot access. - Aplikacje zewnętrzne, które używają authentik jako dostawcy tożsamości, wykorzystując protokoły takie jak OAuth2 i SAML. Tutaj wyświetlane są wszystkie aplikacje, nawet te, do których nie masz dostępu. - Provider Type Typ dostawcy @@ -6107,6 +6103,30 @@ Bindings to groups/users are checked against the user of the event. Pseudolocale (for testing) + + + Create With Wizard + + + One hint, 'New Application Wizard', is currently hidden + + + External applications that use authentik as an identity provider via protocols like OAuth2 and SAML. All applications are shown here, even ones you cannot access. + + + Deny message + + + Message shown when this stage is run. + + + Open Wizard + + + Demo Wizard + + + Run the demo wizard diff --git a/web/xliff/pseudo-LOCALE.xlf b/web/xliff/pseudo-LOCALE.xlf index 3c033e526c4e..66ae3312ca0b 100644 --- a/web/xliff/pseudo-LOCALE.xlf +++ b/web/xliff/pseudo-LOCALE.xlf @@ -2241,11 +2241,6 @@ Applications Àƥƥĺĩćàţĩōńś - - - External Applications which use authentik as Identity-Provider, utilizing protocols like OAuth2 and SAML. All applications are shown here, even ones you cannot access. - Ēxţēŕńàĺ Àƥƥĺĩćàţĩōńś ŵĥĩćĥ ũśē àũţĥēńţĩķ àś Ĩďēńţĩţŷ-Ƥŕōvĩďēŕ, ũţĩĺĩźĩńĝ ƥŕōţōćōĺś ĺĩķē ŌÀũţĥ2 àńď ŚÀMĹ. Àĺĺ àƥƥĺĩćàţĩōńś àŕē śĥōŵń ĥēŕē, ēvēń ōńēś ŷōũ ćàńńōţ àććēśś. - Provider Type @@ -7808,4 +7803,28 @@ Bindings to groups/users are checked against the user of the event. Role Info Ŕōĺē Ĩńƒō + + Create With Wizard + + + One hint, 'New Application Wizard', is currently hidden + + + External applications that use authentik as an identity provider via protocols like OAuth2 and SAML. All applications are shown here, even ones you cannot access. + + + Deny message + + + Message shown when this stage is run. + + + Open Wizard + + + Demo Wizard + + + Run the demo wizard + diff --git a/web/xliff/tr.xlf b/web/xliff/tr.xlf index 0d8e200a7ce6..a92c5e669ad8 100644 --- a/web/xliff/tr.xlf +++ b/web/xliff/tr.xlf @@ -1690,10 +1690,6 @@ Applications Uygulamalar - - External Applications which use authentik as Identity-Provider, utilizing protocols like OAuth2 and SAML. All applications are shown here, even ones you cannot access. - OAuth2 ve SAML gibi protokolleri kullanan Kimlik Sağlayıcı olarak authentik'i kullanan Harici Uygulamalar. Tüm uygulamalar burada gösterilir, erişemediğiniz uygulamalar bile. - Provider Type Sağlayıcı Türü @@ -5892,6 +5888,30 @@ Bindings to groups/users are checked against the user of the event. Pseudolocale (for testing) + + + Create With Wizard + + + One hint, 'New Application Wizard', is currently hidden + + + External applications that use authentik as an identity provider via protocols like OAuth2 and SAML. All applications are shown here, even ones you cannot access. + + + Deny message + + + Message shown when this stage is run. + + + Open Wizard + + + Demo Wizard + + + Run the demo wizard diff --git a/web/xliff/zh-Hans.xlf b/web/xliff/zh-Hans.xlf index c7b81983e8db..d6a14c3dd6f6 100644 --- a/web/xliff/zh-Hans.xlf +++ b/web/xliff/zh-Hans.xlf @@ -1,4 +1,4 @@ - + @@ -613,9 +613,9 @@ - The URL "" was not found. - 未找到 URL " - "。 + The URL "" was not found. + 未找到 URL " + "。 @@ -1067,8 +1067,8 @@ - To allow any redirect URI, set this value to ".*". Be aware of the possible security implications this can have. - 要允许任何重定向 URI,请将此值设置为 ".*"。请注意这可能带来的安全影响。 + To allow any redirect URI, set this value to ".*". Be aware of the possible security implications this can have. + 要允许任何重定向 URI,请将此值设置为 ".*"。请注意这可能带来的安全影响。 @@ -1809,8 +1809,8 @@ - Either input a full URL, a relative path, or use 'fa://fa-test' to use the Font Awesome icon "fa-test". - 输入完整 URL、相对路径,或者使用 'fa://fa-test' 来使用 Font Awesome 图标 "fa-test"。 + Either input a full URL, a relative path, or use 'fa://fa-test' to use the Font Awesome icon "fa-test". + 输入完整 URL、相对路径,或者使用 'fa://fa-test' 来使用 Font Awesome 图标 "fa-test"。 @@ -2262,11 +2262,6 @@ Applications 应用程序 - - - External Applications which use authentik as Identity-Provider, utilizing protocols like OAuth2 and SAML. All applications are shown here, even ones you cannot access. - 利用 OAuth2 和 SAML 等协议,使用 authentik 作为身份提供程序的外部应用程序。此处显示了所有应用程序,即使您无法访问的也包括在内。 - Provider Type @@ -3028,8 +3023,8 @@ doesn't pass when either or both of the selected options are equal or above the - Field which contains members of a group. Note that if using the "memberUid" field, the value is assumed to contain a relative distinguished name. e.g. 'memberUid=some-user' instead of 'memberUid=cn=some-user,ou=groups,...' - 包含组成员的字段。请注意,如果使用 "memberUid" 字段,则假定该值包含相对可分辨名称。例如,'memberUid=some-user' 而不是 'memberUid=cn=some-user,ou=groups,...' + Field which contains members of a group. Note that if using the "memberUid" field, the value is assumed to contain a relative distinguished name. e.g. 'memberUid=some-user' instead of 'memberUid=cn=some-user,ou=groups,...' + 包含组成员的字段。请注意,如果使用 "memberUid" 字段,则假定该值包含相对可分辨名称。例如,'memberUid=some-user' 而不是 'memberUid=cn=some-user,ou=groups,...' @@ -3821,8 +3816,8 @@ doesn't pass when either or both of the selected options are equal or above the - When using an external logging solution for archiving, this can be set to "minutes=5". - 使用外部日志记录解决方案进行存档时,可以将其设置为 "minutes=5"。 + When using an external logging solution for archiving, this can be set to "minutes=5". + 使用外部日志记录解决方案进行存档时,可以将其设置为 "minutes=5"。 @@ -3831,8 +3826,8 @@ doesn't pass when either or both of the selected options are equal or above the - Format: "weeks=3;days=2;hours=3,seconds=2". - 格式:"weeks=3;days=2;hours=3,seconds=2"。 + Format: "weeks=3;days=2;hours=3,seconds=2". + 格式:"weeks=3;days=2;hours=3,seconds=2"。 @@ -4028,10 +4023,10 @@ doesn't pass when either or both of the selected options are equal or above the - Are you sure you want to update ""? + Are you sure you want to update ""? 您确定要更新 - " - " 吗? + " + " 吗? @@ -5127,7 +5122,7 @@ doesn't pass when either or both of the selected options are equal or above the - A "roaming" authenticator, like a YubiKey + A "roaming" authenticator, like a YubiKey 像 YubiKey 这样的“漫游”身份验证器 @@ -5462,10 +5457,10 @@ doesn't pass when either or both of the selected options are equal or above the - ("", of type ) + ("", of type ) - (" - ",类型为 + (" + ",类型为 @@ -5514,7 +5509,7 @@ doesn't pass when either or both of the selected options are equal or above the - If set to a duration above 0, the user will have the option to choose to "stay signed in", which will extend their session by the time specified here. + If set to a duration above 0, the user will have the option to choose to "stay signed in", which will extend their session by the time specified here. 如果设置时长大于 0,用户可以选择“保持登录”选项,这将使用户的会话延长此处设置的时间。 @@ -7870,7 +7865,31 @@ Bindings to groups/users are checked against the user of the event. Pseudolocale (for testing) 伪区域(测试用) + + + Create With Wizard + + + One hint, 'New Application Wizard', is currently hidden + + + External applications that use authentik as an identity provider via protocols like OAuth2 and SAML. All applications are shown here, even ones you cannot access. + + + Deny message + + + Message shown when this stage is run. + + + Open Wizard + + + Demo Wizard + + + Run the demo wizard - \ No newline at end of file + diff --git a/web/xliff/zh-Hant.xlf b/web/xliff/zh-Hant.xlf index 9db16c2f6766..a338b32ba58e 100644 --- a/web/xliff/zh-Hant.xlf +++ b/web/xliff/zh-Hant.xlf @@ -1704,10 +1704,6 @@ Applications 应用程序 - - External Applications which use authentik as Identity-Provider, utilizing protocols like OAuth2 and SAML. All applications are shown here, even ones you cannot access. - 使用 authentik 作为身份提供程序的外部应用程序,利用 OAuth2 和 SAML 等协议。此处显示了所有应用程序,甚至是您无法访问的应用程序。 - Provider Type 提供商类型 @@ -5940,6 +5936,30 @@ Bindings to groups/users are checked against the user of the event. Pseudolocale (for testing) + + + Create With Wizard + + + One hint, 'New Application Wizard', is currently hidden + + + External applications that use authentik as an identity provider via protocols like OAuth2 and SAML. All applications are shown here, even ones you cannot access. + + + Deny message + + + Message shown when this stage is run. + + + Open Wizard + + + Demo Wizard + + + Run the demo wizard diff --git a/web/xliff/zh_TW.xlf b/web/xliff/zh_TW.xlf index 52e66eca3a9d..56799306e472 100644 --- a/web/xliff/zh_TW.xlf +++ b/web/xliff/zh_TW.xlf @@ -1704,10 +1704,6 @@ Applications 应用程序 - - External Applications which use authentik as Identity-Provider, utilizing protocols like OAuth2 and SAML. All applications are shown here, even ones you cannot access. - 使用 authentik 作为身份提供程序的外部应用程序,利用 OAuth2 和 SAML 等协议。此处显示了所有应用程序,甚至是您无法访问的应用程序。 - Provider Type 提供商类型 @@ -5939,6 +5935,30 @@ Bindings to groups/users are checked against the user of the event. Pseudolocale (for testing) + + + Create With Wizard + + + One hint, 'New Application Wizard', is currently hidden + + + External applications that use authentik as an identity provider via protocols like OAuth2 and SAML. All applications are shown here, even ones you cannot access. + + + Deny message + + + Message shown when this stage is run. + + + Open Wizard + + + Demo Wizard + + + Run the demo wizard From f036820fd87f988792aee4c39400b39556ed73fb Mon Sep 17 00:00:00 2001 From: Roney Dsilva <116948023+roney492@users.noreply.github.com> Date: Thu, 19 Oct 2023 21:22:27 +0530 Subject: [PATCH 57/57] stages/email: Fix query parameters getting lost in Email links (#5376) * fix to email confirmation flow * handled query keyerror * rewrite using django's QueryDict, add tests Signed-off-by: Jens Langhammer * fix makefile Signed-off-by: Jens Langhammer * fix lint Signed-off-by: Jens Langhammer * remove commented out code Signed-off-by: Jens Langhammer --------- Signed-off-by: Jens Langhammer Co-authored-by: Roney Dsilva Co-authored-by: Jens Langhammer --- Makefile | 6 +- authentik/stages/email/stage.py | 23 ++++- authentik/stages/email/tests/test_stage.py | 102 ++++++++++++++++++++- 3 files changed, 121 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index 9eb357164775..07a84fb700c6 100644 --- a/Makefile +++ b/Makefile @@ -56,9 +56,9 @@ test: ## Run the server tests and produce a coverage report (locally) coverage report lint-fix: ## Lint and automatically fix errors in the python source code. Reports spelling errors. - isort authentik $(PY_SOURCES) - black authentik $(PY_SOURCES) - ruff authentik $(PY_SOURCES) + isort $(PY_SOURCES) + black $(PY_SOURCES) + ruff $(PY_SOURCES) codespell -w $(CODESPELL_ARGS) lint: ## Lint the python and golang sources diff --git a/authentik/stages/email/stage.py b/authentik/stages/email/stage.py index a28fb3f39b9d..85af0cade62e 100644 --- a/authentik/stages/email/stage.py +++ b/authentik/stages/email/stage.py @@ -3,8 +3,8 @@ from django.contrib import messages from django.http import HttpRequest, HttpResponse +from django.http.request import QueryDict from django.urls import reverse -from django.utils.http import urlencode from django.utils.text import slugify from django.utils.timezone import now from django.utils.translation import gettext as _ @@ -15,7 +15,7 @@ from authentik.flows.models import FlowDesignation, FlowToken from authentik.flows.planner import PLAN_CONTEXT_IS_RESTORED, PLAN_CONTEXT_PENDING_USER from authentik.flows.stage import ChallengeStageView -from authentik.flows.views.executor import QS_KEY_TOKEN +from authentik.flows.views.executor import QS_KEY_TOKEN, QS_QUERY from authentik.stages.email.models import EmailStage from authentik.stages.email.tasks import send_mails from authentik.stages.email.utils import TemplateEmailMessage @@ -51,8 +51,22 @@ def get_full_url(self, **kwargs) -> str: "authentik_core:if-flow", kwargs={"flow_slug": self.executor.flow.slug}, ) - relative_url = f"{base_url}?{urlencode(kwargs)}" - return self.request.build_absolute_uri(relative_url) + # Parse query string from current URL (full query string) + query_params = QueryDict(self.request.META.get("QUERY_STRING", ""), mutable=True) + query_params.pop(QS_KEY_TOKEN, None) + + # Check for nested query string used by flow executor, and remove any + # kind of flow token from that + if QS_QUERY in query_params: + inner_query_params = QueryDict(query_params.get(QS_QUERY), mutable=True) + inner_query_params.pop(QS_KEY_TOKEN, None) + query_params[QS_QUERY] = inner_query_params.urlencode() + + query_params.update(kwargs) + full_url = base_url + if len(query_params) > 0: + full_url = f"{full_url}?{query_params.urlencode()}" + return self.request.build_absolute_uri(full_url) def get_token(self) -> FlowToken: """Get token""" @@ -146,6 +160,7 @@ def challenge_invalid(self, response: ChallengeResponse) -> HttpResponse: messages.error(self.request, _("No pending user.")) return super().challenge_invalid(response) self.send_email() + messages.success(self.request, _("Email Successfully sent.")) # We can't call stage_ok yet, as we're still waiting # for the user to click the link in the email return super().challenge_invalid(response) diff --git a/authentik/stages/email/tests/test_stage.py b/authentik/stages/email/tests/test_stage.py index e4b362b2a72f..a63d105d9082 100644 --- a/authentik/stages/email/tests/test_stage.py +++ b/authentik/stages/email/tests/test_stage.py @@ -4,6 +4,7 @@ from django.core import mail from django.core.mail.backends.locmem import EmailBackend from django.core.mail.backends.smtp import EmailBackend as SMTPEmailBackend +from django.test import RequestFactory from django.urls import reverse from django.utils.http import urlencode @@ -12,10 +13,11 @@ from authentik.flows.models import FlowDesignation, FlowStageBinding, FlowToken from authentik.flows.planner import PLAN_CONTEXT_PENDING_USER, FlowPlan from authentik.flows.tests import FlowTestCase -from authentik.flows.views.executor import QS_KEY_TOKEN, SESSION_KEY_PLAN +from authentik.flows.views.executor import QS_KEY_TOKEN, SESSION_KEY_PLAN, FlowExecutorView from authentik.lib.config import CONFIG +from authentik.lib.generators import generate_id from authentik.stages.email.models import EmailStage -from authentik.stages.email.stage import PLAN_CONTEXT_EMAIL_OVERRIDE +from authentik.stages.email.stage import PLAN_CONTEXT_EMAIL_OVERRIDE, EmailStageView class TestEmailStage(FlowTestCase): @@ -23,8 +25,8 @@ class TestEmailStage(FlowTestCase): def setUp(self): super().setUp() + self.factory = RequestFactory() self.user = create_test_admin_user() - self.flow = create_test_flow(FlowDesignation.AUTHENTICATION) self.stage = EmailStage.objects.create( name="email", @@ -205,3 +207,97 @@ def test_token_invalid_user(self): self.assertEqual(response.status_code, 200) self.assertStageResponse(response, component="ak-stage-access-denied") + + def test_url_no_params(self): + """Test generation of the URL in the EMail""" + plan = FlowPlan(flow_pk=self.flow.pk.hex, bindings=[self.binding], markers=[StageMarker()]) + plan.context[PLAN_CONTEXT_PENDING_USER] = self.user + session = self.client.session + session[SESSION_KEY_PLAN] = plan + session.save() + + url = reverse("authentik_api:flow-executor", kwargs={"flow_slug": self.flow.slug}) + request = self.factory.get(url) + stage_view = EmailStageView( + FlowExecutorView( + request=request, + flow=self.flow, + ), + request=request, + ) + self.assertEqual(stage_view.get_full_url(), f"http://testserver/if/flow/{self.flow.slug}/") + + def test_url_our_params(self): + """Test that all of our parameters are passed to the URL correctly""" + plan = FlowPlan(flow_pk=self.flow.pk.hex, bindings=[self.binding], markers=[StageMarker()]) + plan.context[PLAN_CONTEXT_PENDING_USER] = self.user + session = self.client.session + session[SESSION_KEY_PLAN] = plan + session.save() + + url = reverse("authentik_api:flow-executor", kwargs={"flow_slug": self.flow.slug}) + request = self.factory.get(url) + stage_view = EmailStageView( + FlowExecutorView( + request=request, + flow=self.flow, + ), + request=request, + ) + token = generate_id() + self.assertEqual( + stage_view.get_full_url(**{QS_KEY_TOKEN: token}), + f"http://testserver/if/flow/{self.flow.slug}/?flow_token={token}", + ) + + def test_url_existing_params(self): + """Test to ensure that URL params are preserved in the URL being sent""" + plan = FlowPlan(flow_pk=self.flow.pk.hex, bindings=[self.binding], markers=[StageMarker()]) + plan.context[PLAN_CONTEXT_PENDING_USER] = self.user + session = self.client.session + session[SESSION_KEY_PLAN] = plan + session.save() + + url = reverse("authentik_api:flow-executor", kwargs={"flow_slug": self.flow.slug}) + url += "?foo=bar" + request = self.factory.get(url) + stage_view = EmailStageView( + FlowExecutorView( + request=request, + flow=self.flow, + ), + request=request, + ) + token = generate_id() + self.assertEqual( + stage_view.get_full_url(**{QS_KEY_TOKEN: token}), + f"http://testserver/if/flow/{self.flow.slug}/?foo=bar&flow_token={token}", + ) + + def test_url_existing_params_nested(self): + """Test to ensure that URL params are preserved in the URL being sent (including nested)""" + plan = FlowPlan(flow_pk=self.flow.pk.hex, bindings=[self.binding], markers=[StageMarker()]) + plan.context[PLAN_CONTEXT_PENDING_USER] = self.user + session = self.client.session + session[SESSION_KEY_PLAN] = plan + session.save() + + url = reverse("authentik_api:flow-executor", kwargs={"flow_slug": self.flow.slug}) + url += "?foo=bar&" + url += "query=" + urlencode({"nested": "value"}) + request = self.factory.get(url) + stage_view = EmailStageView( + FlowExecutorView( + request=request, + flow=self.flow, + ), + request=request, + ) + token = generate_id() + self.assertEqual( + stage_view.get_full_url(**{QS_KEY_TOKEN: token}), + ( + f"http://testserver/if/flow/{self.flow.slug}" + f"/?foo=bar&query=nested%3Dvalue&flow_token={token}" + ), + )

    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�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 a>^YOhY+kkO$*n8F55SH3 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%0A$0296J6?tf`H5)p~nnDzDD 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 o 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 eRUYPA&kF=Nlb*>u>PU_ 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 )*fV8!f`0 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�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