From 2d54f307120ba9233a7477608fdf22c90b16fe25 Mon Sep 17 00:00:00 2001 From: sriram veeraghanta Date: Sat, 7 Mar 2026 16:48:37 +0530 Subject: [PATCH 1/6] feat: migration from docusarus to vitepress --- .gitignore | 13 +- .prettierrc | 5 - docs/.vitepress/config.ts | 583 + docs/.vitepress/theme/components/Card.vue | 19 + .../.vitepress/theme/components/CardGroup.vue | 21 + docs/.vitepress/theme/components/Tags.vue | 27 + docs/.vitepress/theme/index.ts | 15 + docs/.vitepress/theme/style.css | 645 + docs/ai/{pi-chat.mdx => pi-chat.md} | 107 +- ...ane-ai-credits.mdx => plane-ai-credits.md} | 93 +- docs/authentication/{sso.mdx => sso.md} | 66 +- ...-automations.mdx => custom-automations.md} | 72 +- ...-activity.mdx => comments-and-activity.md} | 14 +- ...project-updates.mdx => project-updates.md} | 9 +- .../account/{overview.mdx => overview.md} | 1 - .../account/{settings.mdx => settings.md} | 22 +- .../{analytics.mdx => analytics.md} | 27 +- docs/core-concepts/{cycles.mdx => cycles.md} | 63 +- docs/core-concepts/{deploy.mdx => deploy.md} | 0 docs/core-concepts/{drafts.mdx => drafts.md} | 4 +- docs/core-concepts/{export.mdx => export.md} | 35 +- docs/core-concepts/{inbox.mdx => inbox.md} | 11 +- docs/core-concepts/{intake.mdx => intake.md} | 31 +- docs/core-concepts/{issues.mdx => issues.md} | 2 + .../issues/{bulk-ops.mdx => bulk-ops.md} | 8 +- ...display-options.mdx => display-options.md} | 1 - .../issues/{epics.mdx => epics.md} | 37 +- .../issues/{estimates.mdx => estimates.md} | 15 +- .../{issue-types.mdx => issue-types.md} | 43 +- .../issues/{labels.mdx => labels.md} | 3 +- .../issues/{layouts.mdx => layouts.md} | 21 +- .../issues/{overview.mdx => overview.md} | 43 +- .../issues/{properties.mdx => properties.md} | 0 .../issues/{states.mdx => states.md} | 0 .../{time-tracking.mdx => time-tracking.md} | 29 +- ...-dependency.mdx => timeline-dependency.md} | 12 +- ...sualise_filter.mdx => visualise_filter.md} | 204 +- .../{work-item-url.mdx => work-item-url.md} | 15 +- .../core-concepts/{modules.mdx => modules.md} | 21 +- .../{editor-blocks.mdx => editor-blocks.md} | 106 +- ...inline-comments.mdx => inline-comments.md} | 43 +- .../{nested-pages.mdx => nested-pages.md} | 15 +- .../pages/{overview.mdx => overview.md} | 60 +- .../core-concepts/pages/{wiki.mdx => wiki.md} | 29 +- .../core-concepts/{power-k.mdx => power-k.md} | 4 +- .../{initiatives.mdx => initiatives.md} | 30 +- ...-members.mdx => manage-project-members.md} | 27 +- .../{milestones.mdx => milestones.md} | 24 +- .../projects/{overview.mdx => overview.md} | 31 +- ...oject-overview.mdx => project-overview.md} | 12 +- .../{project-states.mdx => project-states.md} | 9 +- ...work-items.mdx => recurring-work-items.md} | 19 +- .../{run-project.mdx => run-project.md} | 6 +- .../{stickies.mdx => stickies.md} | 1 - docs/core-concepts/{views.mdx => views.md} | 19 +- .../workspaces/{members.mdx => members.md} | 33 +- .../workspaces/{overview.mdx => overview.md} | 15 +- .../{teamspaces.mdx => teamspaces.md} | 12 +- docs/{customers.mdx => customers.md} | 14 +- docs/{dashboards.mdx => dashboards.md} | 12 +- docs/devices/{mobile.mdx => mobile.md} | 14 +- docs/importers/{asana.mdx => asana.md} | 27 +- docs/importers/{clickup.mdx => clickup.md} | 62 +- .../{confluence.mdx => confluence.md} | 69 +- docs/importers/{csv.mdx => csv.md} | 7 +- .../{github-imp.mdx => github-imp.md} | 2 + docs/importers/{jira.mdx => jira.md} | 31 +- docs/importers/{linear.mdx => linear.md} | 25 +- docs/importers/notion.md | 81 + docs/importers/notion.mdx | 86 - docs/importers/{overview.mdx => overview.md} | 34 +- docs/{introduction/home.mdx => index.md} | 5 +- .../{intake-email.mdx => intake-email.md} | 12 +- .../{intake-forms.mdx => intake-forms.md} | 24 +- docs/intake/{overview.mdx => overview.md} | 18 +- docs/integrations/about.md | 33 + docs/integrations/about.mdx | 39 - docs/integrations/{draw-io.mdx => draw-io.md} | 8 +- docs/integrations/{github.mdx => github.md} | 90 +- docs/integrations/{gitlab.mdx => gitlab.md} | 142 +- docs/integrations/{sentry.mdx => sentry.md} | 19 +- docs/integrations/{slack.mdx => slack.md} | 45 +- .../{core-concepts.mdx => core-concepts.md} | 7 +- docs/introduction/home.md | 47 + .../{quickstart.mdx => quickstart.md} | 67 +- ...items.mdx => collaborate-on-work-items.md} | 48 +- .../{create-pages.mdx => create-pages.md} | 31 +- docs/introduction/tutorials/create-project.md | 174 + .../introduction/tutorials/create-project.mdx | 171 - ...te-work-items.mdx => create-work-items.md} | 110 +- ...eate-workspace.mdx => create-workspace.md} | 21 +- .../{invite-members.mdx => invite-members.md} | 31 +- ...iew-work.mdx => organize-and-view-work.md} | 46 +- .../tutorials/{overview.mdx => overview.md} | 27 +- ...e-cycles.mdx => plan-and-create-cycles.md} | 17 +- docs/support/{get-help.mdx => get-help.md} | 8 +- docs/support/keyboard-shortcuts.md | 123 + docs/support/keyboard-shortcuts.mdx | 124 - .../{page-templates.mdx => page-templates.md} | 12 +- ...ect-templates.mdx => project-templates.md} | 11 +- ...m-templates.mdx => work-item-templates.md} | 14 +- .../{workflows.mdx => workflows.md} | 25 +- ...d-remove-seats.mdx => add-remove-seats.md} | 18 +- ...ing-and-plans.mdx => billing-and-plans.md} | 7 +- ...navigation.mdx => customize-navigation.md} | 8 +- ...manage-licenses.mdx => manage-licenses.md} | 18 +- docs/workspaces-and-users/permissions.md | 2006 +++ docs/workspaces-and-users/permissions.mdx | 2036 --- .../{roles.mdx => roles.md} | 13 +- ...arch-workspace.mdx => search-workspace.md} | 10 +- .../{upgrade-plan.mdx => upgrade-plan.md} | 11 +- docs/{your-work.mdx => your-work.md} | 1 - docusaurus-v3.js | 75 - docusaurus.config.ts | 227 - package.json | 57 +- pnpm-lock.yaml | 12352 ++-------------- pnpm-workspace.yaml | 2 + .../fonts/IBM/IBMPlexMono-Bold.ttf | Bin .../fonts/IBM/IBMPlexMono-Light.ttf | Bin .../fonts/IBM/IBMPlexMono-Regular.ttf | Bin .../fonts/IBM/IBMPlexMono-SemiBold.ttf | Bin .../fonts/Satoshi/Satoshi-Variable.ttf | Bin sidebars.ts | 358 - src/components/Card.tsx | 25 - src/components/CardGroup.tsx | 13 - src/components/Tags.tsx | 23 - src/components/index.ts | 3 - src/css/custom.css | 1035 -- static/.nojekyll | 0 tsconfig.json | 14 +- 130 files changed, 6568 insertions(+), 16589 deletions(-) delete mode 100644 .prettierrc create mode 100644 docs/.vitepress/config.ts create mode 100644 docs/.vitepress/theme/components/Card.vue create mode 100644 docs/.vitepress/theme/components/CardGroup.vue create mode 100644 docs/.vitepress/theme/components/Tags.vue create mode 100644 docs/.vitepress/theme/index.ts create mode 100644 docs/.vitepress/theme/style.css rename docs/ai/{pi-chat.mdx => pi-chat.md} (96%) rename docs/ai/{plane-ai-credits.mdx => plane-ai-credits.md} (63%) rename docs/authentication/{sso.mdx => sso.md} (67%) rename docs/automations/{custom-automations.mdx => custom-automations.md} (65%) rename docs/communication-and-collaboration/{comments-and-activity.mdx => comments-and-activity.md} (98%) rename docs/communication-and-collaboration/{project-updates.mdx => project-updates.md} (97%) rename docs/core-concepts/account/{overview.mdx => overview.md} (98%) rename docs/core-concepts/account/{settings.mdx => settings.md} (99%) rename docs/core-concepts/{analytics.mdx => analytics.md} (94%) rename docs/core-concepts/{cycles.mdx => cycles.md} (88%) rename docs/core-concepts/{deploy.mdx => deploy.md} (100%) rename docs/core-concepts/{drafts.mdx => drafts.md} (99%) rename docs/core-concepts/{export.mdx => export.md} (76%) rename docs/core-concepts/{inbox.mdx => inbox.md} (91%) rename docs/core-concepts/{intake.mdx => intake.md} (86%) rename docs/core-concepts/{issues.mdx => issues.md} (99%) rename docs/core-concepts/issues/{bulk-ops.mdx => bulk-ops.md} (90%) rename docs/core-concepts/issues/{display-options.mdx => display-options.md} (98%) rename docs/core-concepts/issues/{epics.mdx => epics.md} (92%) rename docs/core-concepts/issues/{estimates.mdx => estimates.md} (95%) rename docs/core-concepts/issues/{issue-types.mdx => issue-types.md} (94%) rename docs/core-concepts/issues/{labels.mdx => labels.md} (98%) rename docs/core-concepts/issues/{layouts.mdx => layouts.md} (80%) rename docs/core-concepts/issues/{overview.mdx => overview.md} (93%) rename docs/core-concepts/issues/{properties.mdx => properties.md} (100%) rename docs/core-concepts/issues/{states.mdx => states.md} (100%) rename docs/core-concepts/issues/{time-tracking.mdx => time-tracking.md} (86%) rename docs/core-concepts/issues/{timeline-dependency.mdx => timeline-dependency.md} (92%) rename docs/core-concepts/issues/{visualise_filter.mdx => visualise_filter.md} (50%) rename docs/core-concepts/issues/{work-item-url.mdx => work-item-url.md} (89%) rename docs/core-concepts/{modules.mdx => modules.md} (95%) rename docs/core-concepts/pages/{editor-blocks.mdx => editor-blocks.md} (80%) rename docs/core-concepts/pages/{inline-comments.mdx => inline-comments.md} (73%) rename docs/core-concepts/pages/{nested-pages.mdx => nested-pages.md} (90%) rename docs/core-concepts/pages/{overview.mdx => overview.md} (89%) rename docs/core-concepts/pages/{wiki.mdx => wiki.md} (79%) rename docs/core-concepts/{power-k.mdx => power-k.md} (98%) rename docs/core-concepts/projects/{initiatives.mdx => initiatives.md} (96%) rename docs/core-concepts/projects/{manage-project-members.mdx => manage-project-members.md} (96%) rename docs/core-concepts/projects/{milestones.mdx => milestones.md} (85%) rename docs/core-concepts/projects/{overview.mdx => overview.md} (83%) rename docs/core-concepts/projects/{project-overview.mdx => project-overview.md} (93%) rename docs/core-concepts/projects/{project-states.mdx => project-states.md} (90%) rename docs/core-concepts/projects/{recurring-work-items.mdx => recurring-work-items.md} (75%) rename docs/core-concepts/projects/{run-project.mdx => run-project.md} (99%) rename docs/core-concepts/{stickies.mdx => stickies.md} (98%) rename docs/core-concepts/{views.mdx => views.md} (91%) rename docs/core-concepts/workspaces/{members.mdx => members.md} (89%) rename docs/core-concepts/workspaces/{overview.mdx => overview.md} (93%) rename docs/core-concepts/workspaces/{teamspaces.mdx => teamspaces.md} (97%) rename docs/{customers.mdx => customers.md} (95%) rename docs/{dashboards.mdx => dashboards.md} (89%) rename docs/devices/{mobile.mdx => mobile.md} (98%) rename docs/importers/{asana.mdx => asana.md} (97%) rename docs/importers/{clickup.mdx => clickup.md} (55%) rename docs/importers/{confluence.mdx => confluence.md} (55%) rename docs/importers/{csv.mdx => csv.md} (98%) rename docs/importers/{github-imp.mdx => github-imp.md} (99%) rename docs/importers/{jira.mdx => jira.md} (98%) rename docs/importers/{linear.mdx => linear.md} (98%) create mode 100644 docs/importers/notion.md delete mode 100644 docs/importers/notion.mdx rename docs/importers/{overview.mdx => overview.md} (78%) rename docs/{introduction/home.mdx => index.md} (97%) rename docs/intake/{intake-email.mdx => intake-email.md} (91%) rename docs/intake/{intake-forms.mdx => intake-forms.md} (84%) rename docs/intake/{overview.mdx => overview.md} (93%) create mode 100644 docs/integrations/about.md delete mode 100644 docs/integrations/about.mdx rename docs/integrations/{draw-io.mdx => draw-io.md} (82%) rename docs/integrations/{github.mdx => github.md} (92%) rename docs/integrations/{gitlab.mdx => gitlab.md} (71%) rename docs/integrations/{sentry.mdx => sentry.md} (95%) rename docs/integrations/{slack.mdx => slack.md} (95%) rename docs/introduction/{core-concepts.mdx => core-concepts.md} (98%) create mode 100644 docs/introduction/home.md rename docs/introduction/{quickstart.mdx => quickstart.md} (69%) rename docs/introduction/tutorials/{collaborate-on-work-items.mdx => collaborate-on-work-items.md} (80%) rename docs/introduction/tutorials/{create-pages.mdx => create-pages.md} (88%) create mode 100644 docs/introduction/tutorials/create-project.md delete mode 100644 docs/introduction/tutorials/create-project.mdx rename docs/introduction/tutorials/{create-work-items.mdx => create-work-items.md} (52%) rename docs/introduction/tutorials/{create-workspace.mdx => create-workspace.md} (95%) rename docs/introduction/tutorials/{invite-members.mdx => invite-members.md} (85%) rename docs/introduction/tutorials/{organize-and-view-work.mdx => organize-and-view-work.md} (84%) rename docs/introduction/tutorials/{overview.mdx => overview.md} (89%) rename docs/introduction/tutorials/{plan-and-create-cycles.mdx => plan-and-create-cycles.md} (97%) rename docs/support/{get-help.mdx => get-help.md} (92%) create mode 100644 docs/support/keyboard-shortcuts.md delete mode 100644 docs/support/keyboard-shortcuts.mdx rename docs/templates/{page-templates.mdx => page-templates.md} (94%) rename docs/templates/{project-templates.mdx => project-templates.md} (94%) rename docs/templates/{work-item-templates.mdx => work-item-templates.md} (94%) rename docs/workflows-and-approvals/{workflows.mdx => workflows.md} (88%) rename docs/workspaces-and-users/{add-remove-seats.mdx => add-remove-seats.md} (79%) rename docs/workspaces-and-users/{billing-and-plans.mdx => billing-and-plans.md} (99%) rename docs/workspaces-and-users/{customize-navigation.mdx => customize-navigation.md} (96%) rename docs/workspaces-and-users/{manage-licenses.mdx => manage-licenses.md} (98%) create mode 100644 docs/workspaces-and-users/permissions.md delete mode 100644 docs/workspaces-and-users/permissions.mdx rename docs/workspaces-and-users/{roles.mdx => roles.md} (98%) rename docs/workspaces-and-users/{search-workspace.mdx => search-workspace.md} (95%) rename docs/workspaces-and-users/{upgrade-plan.mdx => upgrade-plan.md} (82%) rename docs/{your-work.mdx => your-work.md} (98%) delete mode 100644 docusaurus-v3.js delete mode 100644 docusaurus.config.ts create mode 100644 pnpm-workspace.yaml rename {static => public}/fonts/IBM/IBMPlexMono-Bold.ttf (100%) rename {static => public}/fonts/IBM/IBMPlexMono-Light.ttf (100%) rename {static => public}/fonts/IBM/IBMPlexMono-Regular.ttf (100%) rename {static => public}/fonts/IBM/IBMPlexMono-SemiBold.ttf (100%) rename {static => public}/fonts/Satoshi/Satoshi-Variable.ttf (100%) delete mode 100644 sidebars.ts delete mode 100644 src/components/Card.tsx delete mode 100644 src/components/CardGroup.tsx delete mode 100644 src/components/Tags.tsx delete mode 100644 src/components/index.ts delete mode 100644 src/css/custom.css delete mode 100644 static/.nojekyll diff --git a/.gitignore b/.gitignore index afd6ca4a..6dddbbf9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,14 +1,15 @@ # Dependencies /node_modules -.next - -# Production +# Build output /build - -# Generated files .docusaurus -.cache-loader + +# VitePress +.vitepress/dist +.vitepress/cache +docs/.vitepress/dist +docs/.vitepress/cache # Misc .DS_Store diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 87d988f1..00000000 --- a/.prettierrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "printWidth": 120, - "tabWidth": 2, - "trailingComma": "es5" -} diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts new file mode 100644 index 00000000..8b8ff2ee --- /dev/null +++ b/docs/.vitepress/config.ts @@ -0,0 +1,583 @@ +import { defineConfig } from "vitepress"; + +export default defineConfig({ + title: "Plane", + description: "Modern project management software", + cleanUrls: true, + + head: [ + [ + "link", + { + rel: "icon", + href: "https://media.docs.plane.so/logo/favicon-32x32.png", + }, + ], + [ + "link", + { + rel: "preload", + href: "/fonts/Satoshi/Satoshi-Variable.ttf", + as: "font", + type: "font/ttf", + crossorigin: "anonymous", + }, + ], + [ + "link", + { + rel: "preload", + href: "/fonts/IBM/IBMPlexMono-Light.ttf", + as: "font", + type: "font/ttf", + crossorigin: "anonymous", + }, + ], + [ + "link", + { + rel: "preload", + href: "/fonts/IBM/IBMPlexMono-Regular.ttf", + as: "font", + type: "font/ttf", + crossorigin: "anonymous", + }, + ], + [ + "link", + { + rel: "preload", + href: "/fonts/IBM/IBMPlexMono-SemiBold.ttf", + as: "font", + type: "font/ttf", + crossorigin: "anonymous", + }, + ], + [ + "link", + { + rel: "preload", + href: "/fonts/IBM/IBMPlexMono-Bold.ttf", + as: "font", + type: "font/ttf", + crossorigin: "anonymous", + }, + ], + [ + "link", + { + rel: "stylesheet", + href: "https://fonts.googleapis.com/css2?family=Instrument+Sans:ital,wght@0,400..700;1,400..700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=National+Park:wght@200..800&family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&family=PT+Sans:ital,wght@0,400;0,700;1,400;1,700&family=Raleway:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100..900;1,100..900&family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap", + }, + ], + [ + "script", + { + src: "https://plausible.io/js/script.js", + defer: "true", + "data-domain": "docs.plane.so", + }, + ], + [ + "script", + { + src: "https://cdn.cr-relay.com/v1/site/b1fcbcbd-67f6-4736-940f-033731801664/signals.js", + async: "true", + }, + ], + [ + "meta", + { + property: "og:image", + content: "https://media.docs.plane.so/logo/og-docs.webp", + }, + ], + [ + "meta", + { + name: "twitter:image", + content: "https://media.docs.plane.so/logo/og-docs.webp", + }, + ], + [ + "meta", + { + name: "keywords", + content: + "project management, issue tracking, sprint management, agile, scrum, create projects, track sprints", + }, + ], + ], + + themeConfig: { + logo: { + light: "https://media.docs.plane.so/logo/new-logo-white.png", + dark: "https://media.docs.plane.so/logo/new-logo-dark.png", + }, + siteTitle: "", + + search: { + provider: "algolia", + options: { + appId: "AXICJJC8RP", + apiKey: "23df4157dee1d9a8d435cadd6cae3f26", + indexName: "plane-docs-v3", + }, + }, + + socialLinks: [ + { + icon: "discord", + link: "https://discord.com/invite/A92xrEGCge", + }, + { + icon: "github", + link: "https://github.com/makeplane/plane", + }, + ], + + nav: [ + { + text: "Sign in", + link: "https://app.plane.so/sign-in", + }, + ], + + sidebar: [ + { + text: "Get started", + collapsed: false, + items: [ + { text: "Introduction", link: "/" }, + { text: "Quickstart", link: "/introduction/quickstart" }, + { text: "Core Concepts", link: "/introduction/core-concepts" }, + { + text: "Tutorials", + link: "/introduction/tutorials/overview", + collapsed: true, + items: [ + { + text: "Create workspace", + link: "/introduction/tutorials/create-workspace", + }, + { + text: "Invite members", + link: "/introduction/tutorials/invite-members", + }, + { + text: "Create project", + link: "/introduction/tutorials/create-project", + }, + { + text: "Create work items", + link: "/introduction/tutorials/create-work-items", + }, + { + text: "Collaborate on work items", + link: "/introduction/tutorials/collaborate-on-work-items", + }, + { + text: "Organize and view work", + link: "/introduction/tutorials/organize-and-view-work", + }, + { + text: "Plan and create cycles", + link: "/introduction/tutorials/plan-and-create-cycles", + }, + { + text: "Create pages", + link: "/introduction/tutorials/create-pages", + }, + ], + }, + { + text: "Download Plane", + link: "https://plane.so/download", + }, + { + text: "Self-host Plane", + link: "https://developers.plane.so/self-hosting/overview", + }, + ], + }, + { + text: "Workspace management", + collapsed: false, + items: [ + { + text: "Workspaces", + collapsed: true, + items: [ + { + text: "Overview", + link: "/core-concepts/workspaces/overview", + }, + { + text: "Search workspace", + link: "/workspaces-and-users/search-workspace", + }, + { text: "Account", link: "/core-concepts/account/overview" }, + { text: "Power K", link: "/core-concepts/power-k" }, + { + text: "Customize navigation", + link: "/workspaces-and-users/customize-navigation", + }, + ], + }, + { + text: "Members", + collapsed: true, + items: [ + { + text: "Manage members", + link: "/core-concepts/workspaces/members", + }, + { text: "Roles", link: "/workspaces-and-users/roles" }, + { + text: "Permissions", + link: "/workspaces-and-users/permissions", + }, + ], + }, + { + text: "Authentication", + collapsed: true, + items: [ + { text: "SSO", link: "/authentication/sso" }, + { + text: "Self-hosted authentication", + link: "https://developers.plane.so/self-hosting/govern/authentication", + }, + ], + }, + { + text: "Billing and plans", + collapsed: true, + items: [ + { + text: "Upgrade plan", + link: "/workspaces-and-users/upgrade-plan", + }, + { + text: "Manage licenses", + link: "/workspaces-and-users/manage-licenses", + }, + { + text: "Add/remove seats", + link: "/workspaces-and-users/add-remove-seats", + }, + { + text: "Billing and plans", + link: "/workspaces-and-users/billing-and-plans", + }, + ], + }, + { text: "Settings", link: "/core-concepts/account/settings" }, + ], + }, + { + text: "Project management", + collapsed: false, + items: [ + { + text: "Projects", + collapsed: true, + items: [ + { text: "Overview", link: "/core-concepts/projects/overview" }, + { + text: "Manage project members", + link: "/core-concepts/projects/manage-project-members", + }, + { text: "Publish", link: "/core-concepts/deploy" }, + ], + }, + { + text: "Project states", + link: "/core-concepts/projects/project-states", + }, + { text: "States", link: "/core-concepts/issues/states" }, + { + text: "Project overview", + link: "/core-concepts/projects/project-overview", + }, + { + text: "Project templates", + link: "/templates/project-templates", + }, + ], + }, + { + text: "Work item management", + collapsed: false, + items: [ + { + text: "Work Items", + collapsed: true, + items: [ + { text: "Overview", link: "/core-concepts/issues/overview" }, + { + text: "Properties", + link: "/core-concepts/issues/properties", + }, + { + text: "Work item URL", + link: "/core-concepts/issues/work-item-url", + }, + { text: "Drafts", link: "/core-concepts/drafts" }, + ], + }, + { + text: "Work item types", + link: "/core-concepts/issues/issue-types", + }, + { + text: "Work item templates", + link: "/templates/work-item-templates", + }, + { + text: "Recurring work items", + link: "/core-concepts/projects/recurring-work-items", + }, + ], + }, + { + text: "Planning and organization", + collapsed: false, + items: [ + { text: "Labels", link: "/core-concepts/issues/labels" }, + { text: "Cycles", link: "/core-concepts/cycles" }, + { text: "Modules", link: "/core-concepts/modules" }, + { text: "Epics", link: "/core-concepts/issues/epics" }, + { + text: "Timeline and dependency", + link: "/core-concepts/issues/timeline-dependency", + }, + { + text: "Initiatives", + link: "/core-concepts/projects/initiatives", + }, + { + text: "Teamspaces", + link: "/core-concepts/workspaces/teamspaces", + }, + { + text: "Milestones", + link: "/core-concepts/projects/milestones", + }, + { text: "Stickies", link: "/core-concepts/stickies" }, + ], + }, + { + text: "Views and layouts", + collapsed: false, + items: [ + { text: "Layouts", link: "/core-concepts/issues/layouts" }, + { + text: "Filters", + link: "/core-concepts/issues/visualise_filter", + }, + { + text: "Display options", + link: "/core-concepts/issues/display-options", + }, + { text: "Views", link: "/core-concepts/views" }, + { text: "Your work", link: "/your-work" }, + ], + }, + { + text: "Knowledge management", + collapsed: false, + items: [ + { + text: "Pages", + collapsed: true, + items: [ + { text: "Overview", link: "/core-concepts/pages/overview" }, + { + text: "Editor blocks", + link: "/core-concepts/pages/editor-blocks", + }, + ], + }, + { text: "Wiki", link: "/core-concepts/pages/wiki" }, + { text: "Nested pages", link: "/core-concepts/pages/nested-pages" }, + { text: "Page templates", link: "/templates/page-templates" }, + ], + }, + { + text: "Advanced management", + collapsed: false, + items: [ + { text: "Estimates", link: "/core-concepts/issues/estimates" }, + { text: "Bulk operations", link: "/core-concepts/issues/bulk-ops" }, + { + text: "Time tracking", + link: "/core-concepts/issues/time-tracking", + }, + { text: "Workflows", link: "/workflows-and-approvals/workflows" }, + { + text: "Custom automations", + link: "/automations/custom-automations", + }, + ], + }, + { + text: "Collaboration and communication", + collapsed: false, + items: [ + { + text: "Project updates", + link: "/communication-and-collaboration/project-updates", + }, + { + text: "Comments and activity", + link: "/communication-and-collaboration/comments-and-activity", + }, + { + text: "Inline comments", + link: "/core-concepts/pages/inline-comments", + }, + { text: "Inbox", link: "/core-concepts/inbox" }, + ], + }, + { + text: "Intake and customers", + collapsed: false, + items: [ + { text: "Overview", link: "/intake/overview" }, + { text: "Intake", link: "/core-concepts/intake" }, + { text: "Intake forms", link: "/intake/intake-forms" }, + { text: "Intake email", link: "/intake/intake-email" }, + { text: "Customers", link: "/customers" }, + ], + }, + { + text: "Analytics and reporting", + collapsed: false, + items: [ + { text: "Analytics", link: "/core-concepts/analytics" }, + { text: "Dashboards", link: "/dashboards" }, + ], + }, + { + text: "Integrations", + collapsed: false, + items: [ + { + text: "Native integrations", + link: "/integrations/about", + collapsed: false, + items: [ + { text: "Draw.io", link: "/integrations/draw-io" }, + { text: "GitHub", link: "/integrations/github" }, + { text: "GitLab", link: "/integrations/gitlab" }, + { text: "Sentry", link: "/integrations/sentry" }, + { text: "Slack", link: "/integrations/slack" }, + ], + }, + { + text: "Custom integrations", + collapsed: true, + items: [ + { + text: "Build a Plane app", + link: "https://developers.plane.so/dev-tools/build-plane-app", + }, + { + text: "API reference", + link: "https://developers.plane.so/api-reference/introduction", + }, + { + text: "Webhooks", + link: "https://developers.plane.so/dev-tools/intro-webhooks", + }, + ], + }, + ], + }, + { + text: "Import and export", + collapsed: false, + items: [ + { + text: "Import", + link: "/importers/overview", + collapsed: false, + items: [ + { text: "Asana", link: "/importers/asana" }, + { text: "Confluence", link: "/importers/confluence" }, + { text: "ClickUp", link: "/importers/clickup" }, + { text: "CSV", link: "/importers/csv" }, + { text: "Jira", link: "/importers/jira" }, + { text: "Linear", link: "/importers/linear" }, + { text: "Notion", link: "/importers/notion" }, + ], + }, + { text: "Export", link: "/core-concepts/export" }, + ], + }, + { + text: "AI", + collapsed: false, + items: [ + { text: "Pi Chat", link: "/ai/pi-chat" }, + { text: "Plane AI credits", link: "/ai/plane-ai-credits" }, + { + text: "MCP Server", + link: "https://developers.plane.so/dev-tools/mcp-server", + }, + ], + }, + { + text: "Devices", + collapsed: false, + items: [{ text: "Mobile", link: "/devices/mobile" }], + }, + { + text: "Support and resources", + collapsed: false, + items: [ + { text: "Get help", link: "/support/get-help" }, + { + text: "Keyboard shortcuts", + link: "/support/keyboard-shortcuts", + }, + { + text: "Resources", + collapsed: true, + items: [ + { + text: "Developer docs", + link: "https://developers.plane.so", + }, + { text: "Blog", link: "https://plane.so/blog" }, + { + text: "Templates library", + link: "https://plane.so/templates", + }, + { + text: "Integrations marketplace", + link: "https://plane.so/marketplace/integrations", + }, + ], + }, + { text: "Changelog", link: "https://plane.so/changelog" }, + { text: "System status", link: "https://status.plane.so/" }, + ], + }, + ], + }, + + sitemap: { + hostname: "https://docs.plane.so", + }, + + appearance: "dark", + + markdown: { + theme: { + light: "github-light", + dark: "dracula", + }, + }, +}); diff --git a/docs/.vitepress/theme/components/Card.vue b/docs/.vitepress/theme/components/Card.vue new file mode 100644 index 00000000..ea68e5af --- /dev/null +++ b/docs/.vitepress/theme/components/Card.vue @@ -0,0 +1,19 @@ + + + diff --git a/docs/.vitepress/theme/components/CardGroup.vue b/docs/.vitepress/theme/components/CardGroup.vue new file mode 100644 index 00000000..260208e4 --- /dev/null +++ b/docs/.vitepress/theme/components/CardGroup.vue @@ -0,0 +1,21 @@ + + + diff --git a/docs/.vitepress/theme/components/Tags.vue b/docs/.vitepress/theme/components/Tags.vue new file mode 100644 index 00000000..bab1e6f9 --- /dev/null +++ b/docs/.vitepress/theme/components/Tags.vue @@ -0,0 +1,27 @@ + + + diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts new file mode 100644 index 00000000..5c7aeff7 --- /dev/null +++ b/docs/.vitepress/theme/index.ts @@ -0,0 +1,15 @@ +import DefaultTheme from "vitepress/theme"; +import type { Theme } from "vitepress"; +import Card from "./components/Card.vue"; +import CardGroup from "./components/CardGroup.vue"; +import Tags from "./components/Tags.vue"; +import "./style.css"; + +export default { + extends: DefaultTheme, + enhanceApp({ app }) { + app.component("Card", Card); + app.component("CardGroup", CardGroup); + app.component("Tags", Tags); + }, +} satisfies Theme; diff --git a/docs/.vitepress/theme/style.css b/docs/.vitepress/theme/style.css new file mode 100644 index 00000000..7170bfb2 --- /dev/null +++ b/docs/.vitepress/theme/style.css @@ -0,0 +1,645 @@ +/* ================================================ + FONTS + ================================================ */ + +@font-face { + font-family: "Satoshi"; + src: url("/fonts/Satoshi/Satoshi-Variable.ttf") format("truetype"); + font-weight: 400 680; + font-style: normal italic; + font-display: swap; +} + +@font-face { + font-family: "IBM Mono"; + src: url("/fonts/IBM/IBMPlexMono-Light.ttf") format("truetype"); + font-weight: 300; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: "IBM Mono"; + src: url("/fonts/IBM/IBMPlexMono-Regular.ttf") format("truetype"); + font-weight: 400; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: "IBM Mono"; + src: url("/fonts/IBM/IBMPlexMono-SemiBold.ttf") format("truetype"); + font-weight: 500; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: "IBM Mono"; + src: url("/fonts/IBM/IBMPlexMono-Bold.ttf") format("truetype"); + font-weight: 600; + font-style: normal; + font-display: swap; +} + +/* ================================================ + BRAND COLORS & FONTS + ================================================ */ + +:root { + --vp-c-brand-1: #006399; + --vp-c-brand-2: #006399; + --vp-c-brand-3: #006399; + --vp-c-brand-soft: rgba(0, 99, 153, 0.14); + + --vp-font-family-base: + "Satoshi", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, + sans-serif; + --vp-font-family-mono: + "IBM Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", + "Courier New", monospace; + --vp-code-font-size: 95%; +} + +.dark { + --vp-c-bg: #0a0a0a; + --vp-c-bg-soft: #141414; + --vp-c-bg-mute: #1f1f1f; + + --vp-c-brand-1: #2f9bd5; + --vp-c-brand-2: #2f9bd5; + --vp-c-brand-3: #2f9bd5; + --vp-c-brand-soft: rgba(0, 99, 153, 0.14); +} + +/* ================================================ + NAVBAR + ================================================ */ + +.VPNavBarTitle .logo { + width: 120px; + height: auto; +} + +@media (max-width: 768px) { + .VPNavBarTitle .logo { + width: 100px; + } +} + +/* ================================================ + SIDEBAR + ================================================ */ + +.VPSidebar .group .title { + font-size: 14px; + font-weight: 600; + line-height: 20px; +} + +.VPSidebarItem .link { + font-size: 13px; + font-weight: 500; + letter-spacing: -0.01em; + line-height: 16px; +} + +.VPSidebarItem .is-active > .link { + font-weight: 600; + color: var(--vp-c-brand-1); + border-left: 4px solid var(--vp-c-brand-1); + padding-left: 8px; +} + +/* ================================================ + HEADINGS + ================================================ */ + +h1 { + font-size: 2rem; + line-height: 120%; +} + +h2 { + font-size: 1.5rem; + line-height: 140%; +} + +h3 { + font-size: 1.25rem; + line-height: 140%; +} + +h4, +h5, +h6 { + line-height: 140%; +} + +.vp-doc h2 { + border-top: none !important; + margin-top: 32px; +} + +.vp-doc h3 { + border-top: none !important; +} + +/* ================================================ + CODE BLOCKS - DARK MODE FIX + ================================================ */ + +div[class*="language-"] { + border-radius: 8px !important; + overflow: hidden; + border: 1px solid #e5e7eb; + background: #fafafa !important; +} + +.dark div[class*="language-"] { + background: #0f0f0f !important; + border-color: #2a2a2a !important; +} + +div[class*="language-"] pre { + background: transparent !important; +} + +.dark div[class*="language-"] pre { + background: transparent !important; +} + +.dark .shiki, +.dark .shiki span { + background: transparent !important; +} + +div[class*="language-"] > span.lang { + color: #9ca3af; + font-size: 12px; +} + +/* ================================================ + CARD GROUP + ================================================ */ + +.card-group { + display: grid; + gap: 16px; + margin: 24px 0; +} + +.card-group-2 { + grid-template-columns: 1fr; +} + +@media (min-width: 768px) { + .card-group-2 { + grid-template-columns: repeat(2, 1fr); + } +} + +.card-group-3 { + grid-template-columns: 1fr; +} + +@media (min-width: 768px) { + .card-group-3 { + grid-template-columns: repeat(2, 1fr); + } +} + +@media (min-width: 1024px) { + .card-group-3 { + grid-template-columns: repeat(3, 1fr); + } +} + +.card-group-4 { + grid-template-columns: 1fr; +} + +@media (min-width: 768px) { + .card-group-4 { + grid-template-columns: repeat(2, 1fr); + } +} + +@media (min-width: 1024px) { + .card-group-4 { + grid-template-columns: repeat(4, 1fr); + } +} + +/* ================================================ + CARD COMPONENT + ================================================ */ + +.card-link { + display: block; + padding: 24px; + border-radius: 12px; + border: 1px solid #e5e7eb; + background: #ffffff; + transition: all 0.2s ease; + text-decoration: none !important; + color: inherit; +} + +.card-link:hover { + border-color: #006399; + box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); + text-decoration: none !important; +} + +.dark .card-link { + border-color: #2a2a2a; + background: rgba(20, 20, 20, 0.5); +} + +.dark .card-link:hover { + border-color: #0088cc; + box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.5); +} + +.card-icon { + font-size: 32px; + margin-bottom: 16px; + line-height: 1; + color: var(--vp-c-brand-1); +} + +.card-title { + font-size: 16px !important; + font-weight: 600 !important; + color: #111827 !important; + margin: 0 0 12px 0 !important; + padding: 0 !important; + border: none !important; + transition: color 0.2s ease; +} + +.card-link:hover .card-title { + color: #006399 !important; +} + +.dark .card-title { + color: #f9fafb !important; +} + +.dark .card-link:hover .card-title { + color: #0088cc !important; +} + +.card-description { + font-size: 14px; + color: #6b7280; + line-height: 1.6; + margin: 0; +} + +.dark .card-description { + color: #9ca3af; +} + +/* ================================================ + SIGN IN BUTTON + ================================================ */ + +.VPNavBarMenuLink.VPLink[href*="sign-in"], +a.VPLink.VPNavBarMenuLink[href*="sign-in"], +.VPNavBarMenu .VPLink[href="https://app.plane.so/sign-in"] { + background: #006399 !important; + color: #ffffff !important; + padding: 6px 14px !important; + margin-top: 15px !important; + margin-bottom: 15px !important; + border-radius: 6px !important; + font-weight: 500 !important; + font-size: 14px !important; + transition: all 0.2s ease !important; + line-height: normal !important; + text-decoration: none !important; + display: inline-flex !important; + align-items: center !important; + vertical-align: middle !important; +} + +.VPNavBarMenuLink.VPLink[href*="sign-in"] .vp-external-link-icon, +a.VPLink.VPNavBarMenuLink[href*="sign-in"] .vp-external-link-icon, +.VPNavBarMenu .VPLink[href="https://app.plane.so/sign-in"] .vp-external-link-icon, +.VPNavBarMenuLink.VPLink[href*="sign-in"] svg, +a.VPLink.VPNavBarMenuLink[href*="sign-in"] svg, +.VPNavBarMenuLink.VPLink[href*="sign-in"] .VPImage, +a.VPLink.VPNavBarMenuLink[href*="sign-in"] .VPImage { + display: none !important; +} + +.VPNavBarMenuLink.VPLink[href*="sign-in"]::after, +a.VPLink.VPNavBarMenuLink[href*="sign-in"]::after { + display: none !important; + content: none !important; +} + +.VPNavBarMenuLink.VPLink[href*="sign-in"]:hover, +a.VPLink.VPNavBarMenuLink[href*="sign-in"]:hover { + background: #0078b8 !important; + transform: translateY(-1px) !important; + box-shadow: 0 2px 8px rgba(0, 99, 153, 0.25) !important; + text-decoration: none !important; +} + +.dark .VPNavBarMenuLink.VPLink[href*="sign-in"], +.dark a.VPLink.VPNavBarMenuLink[href*="sign-in"] { + background: #006399 !important; + color: #ffffff !important; +} + +.dark .VPNavBarMenuLink.VPLink[href*="sign-in"]:hover, +.dark a.VPLink.VPNavBarMenuLink[href*="sign-in"]:hover { + background: #0078b8 !important; + box-shadow: 0 2px 8px rgba(0, 99, 153, 0.35) !important; +} + +/* ================================================ + SEARCH BOX + ================================================ */ + +.DocSearch.DocSearch-Button { + justify-content: space-between !important; +} + +@media (min-width: 768px) { + .DocSearch.DocSearch-Button { + width: 230px !important; + } +} + +@media (min-width: 1024px) { + .DocSearch.DocSearch-Button { + width: 310px !important; + } +} + +/* ================================================ + TAGS (Plan Tier Badges) + ================================================ */ + +.tag-wrapper { + display: flex; + align-items: center; + gap: 8px; +} + +.tags { + display: flex; + flex-wrap: nowrap; + gap: 8px; + align-items: center; + position: relative; + top: -10px; +} + +@media (max-width: 768px) { + .tags { + flex-direction: row; + align-items: flex-start; + white-space: nowrap; + } +} + +.pro { + color: #1a1a1a; + border-radius: 4px; + border: 1px solid #ea992466; + background: linear-gradient(167.44deg, #fdc742 0%, #fed464 67.25%, #fcfcfc 98.9%); + padding: 0 15px; +} + +.dark .pro { + color: #fff; + border-radius: 4px; + border: 1px solid #ea992466; + background: linear-gradient( + 167.44deg, + rgba(234, 153, 36, 0.7) 0%, + rgba(33, 33, 33, 0.4) 49.45%, + rgba(255, 224, 133, 0.32) 98.9% + ); + padding: 0 15px; +} + +.enterprise { + color: #1a1a1a; + border-radius: 4px; + border: 1px solid #7c3aed66; + background: linear-gradient(167.44deg, #a78bfa 0%, #c4b5fd 67.25%, #fcfcfc 98.9%); + padding: 0 15px; +} + +.dark .enterprise { + color: #fff; + border-radius: 4px; + border: 1px solid #7c3aed66; + background: linear-gradient( + 167.44deg, + rgba(124, 58, 237, 0.7) 0%, + rgba(33, 33, 33, 0.4) 49.45%, + rgba(196, 181, 253, 0.32) 98.9% + ); + padding: 0 15px; +} + +.business { + color: #111111; + border-radius: 4px; + border: 1px solid #d6d7d9; + background: linear-gradient(167.44deg, #c2c8e4 0%, #bfc4df 67.25%, #fcfcfc 98.9%); + padding: 0 15px; +} + +.dark .business { + color: #f5f5f5; + border-radius: 4px; + border: 1px solid #646c90; + background: linear-gradient( + 164.95deg, + #414669 0%, + rgba(56, 60, 78, 0.12) 53.4%, + rgba(172, 211, 255, 0.16) 100% + ); + padding: 0 15px; +} + +/* ================================================ + HERO IMAGE STYLES + ================================================ */ + +.vp-doc p:has(> img[src$="#hero"]), +article p:has(> img[src$="#hero"]) { + max-width: 841px; + padding: 36px 56px 0px 56px; + background: #f1f3f3; + border-radius: 12px; + box-sizing: border-box; + overflow: hidden; +} + +.vp-doc img[src$="#hero"], +article img[src$="#hero"] { + width: 100%; + height: auto; + display: block; + margin: 0; + border-radius: 8px 8px 0px 0px; + border-width: 1px 1px 0px 1px; + border-style: solid; + border-color: #eaebeb; + object-fit: cover; + box-shadow: + 0px 2px 4px -1px rgba(41, 47, 61, 0.04), + 0px 4px 6px -1px rgba(41, 47, 61, 0.05); +} + +.vp-doc p:has(> img[src$="#hero-tl"]), +article p:has(> img[src$="#hero-tl"]) { + max-width: 841px; + padding: 36px 0px 0px 56px; + background: #f1f3f3; + border-radius: 12px; + box-sizing: border-box; + overflow: hidden; +} + +.vp-doc img[src$="#hero-tl"], +article img[src$="#hero-tl"] { + width: 100%; + height: auto; + display: block; + margin: 0; + border-radius: 8px 0px 0px 0px; + border-width: 1px 0px 0px 1px; + border-style: solid; + border-color: #eaebeb; + object-fit: cover; + box-shadow: + 0px 2px 4px -1px rgba(41, 47, 61, 0.04), + 0px 4px 6px -1px rgba(41, 47, 61, 0.05); +} + +.vp-doc p:has(> img[src$="#hero-tr"]), +article p:has(> img[src$="#hero-tr"]) { + max-width: 841px; + padding: 36px 56px 0px 0px; + background: #f1f3f3; + border-radius: 12px; + box-sizing: border-box; + overflow: hidden; +} + +.vp-doc img[src$="#hero-tr"], +article img[src$="#hero-tr"] { + width: 100%; + height: auto; + display: block; + margin: 0; + border-radius: 0px 8px 0px 0px; + border-width: 1px 1px 0px 0px; + border-style: solid; + border-color: #eaebeb; + object-fit: cover; + box-shadow: + 0px 2px 4px -1px rgba(41, 47, 61, 0.04), + 0px 4px 6px -1px rgba(41, 47, 61, 0.05); +} + +.vp-doc p:has(> img[src$="#hero-bl"]), +article p:has(> img[src$="#hero-bl"]) { + max-width: 841px; + padding: 0px 0px 36px 56px; + background: #f1f3f3; + border-radius: 12px; + box-sizing: border-box; + overflow: hidden; +} + +.vp-doc img[src$="#hero-bl"], +article img[src$="#hero-bl"] { + width: 100%; + height: auto; + display: block; + margin: 0; + border-radius: 0px 0px 0px 8px; + border-width: 0px 0px 1px 1px; + border-style: solid; + border-color: #eaebeb; + object-fit: cover; + box-shadow: + 0px 2px 4px -1px rgba(41, 47, 61, 0.04), + 0px 4px 6px -1px rgba(41, 47, 61, 0.05); +} + +.vp-doc p:has(> img[src$="#hero-br"]), +article p:has(> img[src$="#hero-br"]) { + max-width: 841px; + padding: 0px 56px 36px 0px; + background: #f1f3f3; + border-radius: 12px; + box-sizing: border-box; + overflow: hidden; +} + +.vp-doc img[src$="#hero-br"], +article img[src$="#hero-br"] { + width: 100%; + height: auto; + display: block; + margin: 0; + border-radius: 0px 0px 8px 0px; + border-width: 0px 1px 1px 0px; + border-style: solid; + border-color: #eaebeb; + object-fit: cover; + box-shadow: + 0px 2px 4px -1px rgba(41, 47, 61, 0.04), + 0px 4px 6px -1px rgba(41, 47, 61, 0.05); +} + +/* ================================================ + MOBILE IMAGE LAYOUT + ================================================ */ + +.mobile-img-container { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + flex-wrap: wrap; +} + +.mobile-img-box { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + max-width: 25rem; + min-width: 15rem; + text-align: center; + margin: 10px; +} + +/* ================================================ + TABLE STYLES + ================================================ */ + +.dark .vp-doc tr:nth-child(2n) { + background-color: rgb(27 27 29); +} + +.vp-doc tr:nth-child(2n) { + background-color: rgb(250 250 250); +} + +.vp-doc thead tr { + border-bottom: none; +} diff --git a/docs/ai/pi-chat.mdx b/docs/ai/pi-chat.md similarity index 96% rename from docs/ai/pi-chat.mdx rename to docs/ai/pi-chat.md index bad10c8b..80abbf6c 100644 --- a/docs/ai/pi-chat.mdx +++ b/docs/ai/pi-chat.md @@ -1,15 +1,12 @@ --- title: AI powered assistant for project management -sidebar_label: Plane AI -hide_title: true description: Plane AI is your intelligent assistant for finding project data, analyzing work items, and managing tasks using natural language. --- -import Tags from "@site/src/components/Tags"; -
+

AI-powered assistant for Plane

- - + +
Plane AI is an AI assistant that helps you interact with your Plane workspace using natural language. Instead of navigating through menus and filters, you can simply ask Plane AI questions about your projects, work items, and documentation in plain English. @@ -23,19 +20,21 @@ Think of Plane AI as a knowledgeable team member who has instant access to all y Plane AI excels at finding and analyzing information from your Plane workspace: **Search and discovery** + - Find work items by describing what you're looking for: "Show me all bugs related to user authentication". - Search across project documentation and Pages. - Discover related work items and identify potential duplicates through AI-powered matching with similarity scoring. - Access official Plane documentation and feature guides. - Cross-project discovery to find related content across multiple projects -**Creation and management** +**Creation and management** - Create work items through natural language commands - Generate projects, cycles, and modules with AI assistance - Automatically populate properties and descriptions based on context **Data analysis and insights** + - Analyze project progress and team performance with real-time queries. - Generate reports on work item status and trends using complex filtering and aggregations - Identify bottlenecks and overdue tasks through intelligent database querying @@ -44,11 +43,12 @@ Plane AI excels at finding and analyzing information from your Plane workspace: - Convert natural language to optimized SQL queries for structured Plane data **Contextual assistance** + - Get help with Plane features and workflows. - Find best practices and usage recommendations. - Understand relationships between projects, cycles, and modules. - Navigate complex project structures. -- Access step-by-step instructions and how-to guidance. +- Access step-by-step instructions and how-to guidance. ## What Plane AI cannot do (yet) @@ -84,7 +84,7 @@ Plane AI is accessible in two ways: Plane AI can create work items, projects, cycles, and modules through natural language commands. -:::info +::: info Creating items requires [Build mode](#build-mode). ::: @@ -92,26 +92,29 @@ Creating items requires [Build mode](#build-mode). 1. Ensure you have a project selected using the Focus selector. 2. Type a creation command describing what you want to create: - ``` - Create a bug report for the login page crash - ``` + ``` + Create a bug report for the login page crash + ``` 3. Plane AI processes your request and shows its thinking. 4. Once completed, the work item is created and you'll see a success confirmation with the work item ID. The newly created work item will include: + - Automatically generated title based on your description - AI-generated description summarizing the work item - Appropriate work item type (bug, feature, etc.) inferred from your command - Default project properties -:::tip +::: tip Be specific in your commands. Include details like priority, assignees, or descriptions to help Plane AI create more complete work items. For example: "Create a high-priority bug for the payment gateway timeout issue and assign it to the backend team." ::: ### Ask and build modes + Plane AI operates in two distinct modes to balance information retrieval with project management actions: **Ask** mode and **Build** mode. You can switch between these modes using the mode selector at the bottom of the chat interface. #### Ask mode + Ask mode is designed for answering questions, retrieving information, and finding insights from your Plane workspace. In this mode, Plane AI is read-only—it cannot modify, create, or delete any data. ![Ask mode](https://media.docs.plane.so/pi-chat/ask-mode.webp#hero) @@ -131,11 +134,12 @@ Example queries: - "Summarize the latest comments on issue PAI-123" #### Build mode + Build mode is designed for action and execution. Switch to Build Mode when you need to create, update, or manage data within Plane. ![Build mode](https://media.docs.plane.so/pi-chat/build-mode.webp#hero) -:::warning +::: warning Build mode actions respect your Plane permissions. You can only perform actions you're authorized to do manually. Some operations (like deleting projects or managing workspace features) require admin permissions. ::: @@ -146,19 +150,22 @@ Build mode gives you the ability to create, update, and manage nearly every aspe **Work items** Create and manage work items with full control: + - Create new work items with complete details (title, description, priority, assignees, labels, start/due dates). - Update any field on existing work items. - Delete work items permanently. - Add [relations](/core-concepts/issues/overview#add-relations) to work items (blocking, blocked by, relates to, duplicate of, etc.). Add context and collaboration: + - Add comments to any work item. - Edit or delete existing comments. - Log time spent on work items. - Edit or delete time log entries. - Add, edit, or remove external URL references.. -*Example commands:* +_Example commands:_ + ``` Create a high-priority bug for login timeout, assign to Sarah, and add label "authentication" Update WEB-123 to set priority to urgent and move to In Progress @@ -169,12 +176,14 @@ Log 2 hours of work on CORE-789 **Projects** Manage your projects: + - Create new projects with descriptions. - Update project details (name, description, identifier, cover image). - Delete projects. - Enable or disable project features (Epics, Cycles, Modules, Pages, Views). -*Example commands:* +_Example commands:_ + ``` Create a new project called "Mobile App Redesign" with identifier MOB Enable Cycles and Modules for the Backend project @@ -184,6 +193,7 @@ Update the API project description to include our new architecture goals **Cycles** Plan and manage your cycles: + - Create new cycles with start and end dates. - Update cycle details (name, dates, description, owner). - Delete cycles. @@ -191,7 +201,8 @@ Plan and manage your cycles: - Add or remove work items from cycles. - Transfer all remaining work items from one cycle to another. -*Example commands:* +_Example commands:_ + ``` Create a new cycle "Sprint 24" starting next Monday for 2 weeks Move all incomplete items from Sprint 23 to Sprint 24 @@ -202,12 +213,14 @@ Add all authentication bugs to the current sprint **Modules** Organize work into modules: + - Create new modules. - Update module details (name, description, dates). - Delete or archive modules. - Add or remove work items from modules. -*Example commands:* +_Example commands:_ + ``` Create a module called "User Authentication Overhaul" Add all login-related issues to the Authentication module @@ -217,13 +230,15 @@ Archive the Payment Gateway module **Workflows and organization** Customize your project workflows: + - Create custom workflow states (e.g., "In Review", "Ready for QA", "Deployed"). - Update state properties (name, group,). - Delete workflow states. - Create, update, or delete work item labels. - Create, update, or delete custom work item types. -*Example commands:* +_Example commands:_ + ``` Create a new workflow state "Pending Review" in the In Progress group Add a label "technical-debt" with red color @@ -233,13 +248,15 @@ Create a custom work item type called "Spike" for research tasks **Custom properties** Extend work items with custom fields: + - Create new custom property definitions. - Update property settings and options. - Delete custom properties. - Set or update property values on work items. - Manage dropdown options for select properties. -*Example commands:* +_Example commands:_ + ``` Create a custom property "Severity" with options Critical, High, Medium, Low Update the "Customer Impact" property to add a new option "Revenue Blocking" @@ -249,10 +266,12 @@ Set the "Estimated Hours" property to 8 for all bugs in this sprint **Pages and documentation** Create and organize knowledge: + - Create new pages within projects. - Create new pages within workspaces. -*Example commands:* +_Example commands:_ + ``` Create a project page titled "API Integration Guidelines" Create a workspace page for our Q4 OKRs @@ -261,11 +280,13 @@ Create a workspace page for our Q4 OKRs **Intake and triage** Manage incoming requests: + - Create new intake items. - Update intake item details (title, description, priority). - Delete intake items. -*Example commands:* +_Example commands:_ + ``` Create an intake item for the customer feature request about dark mode Update intake item INT-45 to high priority @@ -274,13 +295,15 @@ Update intake item INT-45 to high priority **Initiatives** Align work with strategic goals: + - Create, update, or delete initiatives. - Create, update, or delete initiative-specific labels. - Attach or remove labels from initiatives. - Link or unlink projects to initiatives. - Link or unlink epics to initiatives. -*Example commands:* +_Example commands:_ + ``` Create an initiative "Improve Platform Performance" Link the Backend Optimization project to the Performance initiative @@ -290,12 +313,14 @@ Add the "Q4 Priority" label to the User Experience initiative **Teamspaces** Manage teams and collaboration spaces: + - Create, update, or delete teamspaces. - Add or remove members from teamspaces. - Add or remove projects from teamspaces. - Create, update, or delete sticky notes for brainstorming. -*Example commands:* +_Example commands:_ + ``` Create a teamspace called "Frontend Team" Add Sarah and Mike to the Design teamspace @@ -303,9 +328,11 @@ Add Sarah and Mike to the Design teamspace **Sticky notes** Brainstorm and capture ideas: + - Create, update, or delete sticky notes. -*Example commands:* +_Example commands:_ + ``` Create sticky notes for today's retrospective ideas Update the sticky note about API redesign to include performance concerns @@ -314,11 +341,13 @@ Update the sticky note about API redesign to include performance concerns **Customer management** Track and manage customer information: + - Create new customer profiles. - Update customer information (name, contact details, revenue, industry). - Delete customer records. -*Example commands:* +_Example commands:_ + ``` Create a customer profile for Acme Corp with $50k annual revenue Update the contact email for TechStart Inc @@ -327,21 +356,24 @@ Update the contact email for TechStart Inc **Workspace configuration** Control workspace-level features: + - Enable or disable workspace features (Initiatives, Teamspaces, Customers, Analytics). -*Example commands:* +_Example commands:_ + ``` Enable Initiatives for this workspace Disable the Customers feature ``` -:::tip +::: tip **Be specific with commands** The more details you provide, the better Plane AI can execute your request. Instead of "create a bug", try "create a high-priority bug for the payment gateway timeout, assign to backend team, and add to Sprint 24". ::: ### Attach files Click the **attachment icon** in the chat input to upload files: + - Screenshots and images for visual context - Documents for reference - Error logs or data files for analysis @@ -351,6 +383,7 @@ Plane AI can reference attachments in its responses and help you analyze the con ### Use voice input Click the **microphone icon** to speak your query instead of typing. Plane AI transcribes your speech and processes it as a text query, useful for: + - Quick queries on mobile - Complex questions that are faster to speak - Hands-free operation @@ -374,12 +407,14 @@ Conversational features ![Project context](https://media.docs.plane.so/pi-chat/project-context.webp#hero) Notice the **Focus** selector at the bottom of the chat interface. + - Set your conversation scope to a specific workspace. - Switch between different workspaces if you have access to multiple ones. - Ensure Plane AI searches and analyzes data from the right context. - Narrow context to individual projects when needed. #### AI assistant in-context mode + When you open Plane AI assistant from the top right of a project or work item page, the assistant automatically understands your current context and tailors its responses accordingly. **Project context** @@ -395,11 +430,13 @@ This contextual awareness makes Plane AI faster and more intuitive. You can ask ### Plane AI's reasoning and responses Plane AI includes a **Show thinking** feature that reveals how it processes your queries. + - Click **Show thinking** to see Plane AI's step-by-step reasoning process. - Watch as Plane AI understands your query, plans its approach, and executes database searches. - This transparency helps you understand why Plane AI provides certain results and how to refine your questions. Plane AI provides structured responses that may include: + - Direct answers with relevant data from live Plane databases. - Tables and lists for organized information with complex filtering. - Links to specific work items and pages with clickable references. @@ -412,15 +449,18 @@ When Plane AI references work items, it will show you the title and provide clic ### Get better results **Be specific about your needs** + - Instead of: "Show me issues" - Try: "Show me high-priority bugs in the mobile app project from last month" **Use natural language** + - "What tasks are overdue in my current sprint?" - "Who has been working on authentication issues?" - "Find documentation about setting up webhooks" **Ask follow-up questions** + - Plane AI remembers your conversation context - Build on previous queries: "Now show me only the ones assigned to Sarah" - Ask for different formats: "Can you show this as a summary instead?" @@ -430,16 +470,19 @@ When Plane AI references work items, it will show you the title and provide clic Based on the interface, here are some example questions you might ask: **Personal work insights** + - "Who commented on my work items recently?" - "What did I complete this week?" - "What's the progress of work items in current active cycles?" **Project analysis** + - "Show me all items in the backlog for this project" - "What work is planned for the next sprint?" - "Which items are ready for development?" **Team coordination** + - "What's blocking our current sprint work?" - "Show me overdue items across all projects" - "Which team members need more work assigned?" @@ -453,6 +496,7 @@ Based on the interface, here are some example questions you might ask: ### Response interactions At the bottom of each Plane AI response, you'll find: + - **Thumbs up/down**: Rate the helpfulness of Plane AI's response. - **Copy**: Copy the response text for use elsewhere. - **Share**: Share the conversation or specific responses with team members. @@ -468,6 +512,7 @@ Plane AI works across all your devices: ## Privacy and permissions Plane AI respects your Plane permissions and workspace boundaries: + - You can only access data you normally have permission to view. - Conversations are scoped to your current workspace. - Plane AI cannot see or access other workspaces you don't belong to. @@ -475,22 +520,26 @@ Plane AI respects your Plane permissions and workspace boundaries: ## Tips for effective use **Start broad, then narrow down**. Begin with general queries and use Plane AI's responses to refine your search: + 1. "Show me recent bugs" 2. "Focus on the ones from the authentication module" 3. "Which of these are assigned to the backend team?" **Use Plane AI for discovery** + - "What documentation exists about our API?" - "Find all work items mentioning performance issues" - "Show me pages related to user onboarding" **Leverage context awareness** Plane AI understands your project structure and relationships: + - "What's blocking the login feature work?" - "Find related issues to PROJ-123" - "Show me work items similar to this bug report" If Plane AI doesn't understand your query or provides unexpected results: + - Try rephrasing your question with different terms - Be more specific about timeframes, projects, or work item types - Ask Plane AI to explain its reasoning: "Why did you include these results?" @@ -509,4 +558,4 @@ Workspace admins can disable Plane AI if your organization prefers not to use AI ![Disable Plane AI](https://media.docs.plane.so/pi-chat/turn-off-ai.webp#hero) -Once disabled, Plane AI becomes inaccessible to all workspace members. Conversation history is preserved and restored when re-enabled. \ No newline at end of file +Once disabled, Plane AI becomes inaccessible to all workspace members. Conversation history is preserved and restored when re-enabled. diff --git a/docs/ai/plane-ai-credits.mdx b/docs/ai/plane-ai-credits.md similarity index 63% rename from docs/ai/plane-ai-credits.mdx rename to docs/ai/plane-ai-credits.md index 36cd6f22..68880d10 100644 --- a/docs/ai/plane-ai-credits.mdx +++ b/docs/ai/plane-ai-credits.md @@ -1,17 +1,13 @@ --- title: How AI credits work for team usage and billing -sidebar_label: AI credits -hide_title: true description: Learn how Plane AI's credit system works, why different tasks consume different amounts, and how workspace pooling helps teams manage AI usage efficiently. --- -import Tags from "@site/src/components/Tags"; # How Plane AI credits work Plane AI uses credits as a universal measure of AI processing. This system ensures fair usage while giving teams predictable costs and transparent billing. - -:::caution[IMPORTANT] +::: warning IMPORTANT AI credits apply only to Plane Cloud. On self-hosted instances, you use your own AI provider [API key](https://developers.plane.so/self-hosting/govern/instance-admin#artificial-intelligence), and all AI usage and costs are managed directly through your provider. Plane does not track, pool, or enforce usage through credits. @@ -37,20 +33,20 @@ Three factors influence how many credits a task consumes: Here's how these factors translate into typical usage: -| Action type | Credit range | What this looks like | -| --- | --- | --- | -| **Short query** | ~10 credits | Quick questions, status checks, brief clarifications | -| **Long query** | ~50 credits | Detailed explanations, code generation, analytical responses | -| **Action** | ~100 credits | Creating or editing multiple work items, generating project structures | -| **Heavy action** | ~250 credits | Bulk operations, file analysis, complex workflow automation | +| Action type | Credit range | What this looks like | +| ---------------- | ------------ | ---------------------------------------------------------------------- | +| **Short query** | ~10 credits | Quick questions, status checks, brief clarifications | +| **Long query** | ~50 credits | Detailed explanations, code generation, analytical responses | +| **Action** | ~100 credits | Creating or editing multiple work items, generating project structures | +| **Heavy action** | ~250 credits | Bulk operations, file analysis, complex workflow automation | To illustrate with a real workflow: -| Task | Why this credit amount | -| --- | --- | -| Summarize yesterday's stand-up notes (10 credits) | Simple extraction and formatting of existing text | -| Generate detailed project timeline (50 credits) | Requires analysis, structure creation, and detailed output | -| Create 20 tasks from PRD (100 credits) | Multiple write operations with metadata for each work item | +| Task | Why this credit amount | +| -------------------------------------------------------- | ------------------------------------------------------------ | +| Summarize yesterday's stand-up notes (10 credits) | Simple extraction and formatting of existing text | +| Generate detailed project timeline (50 credits) | Requires analysis, structure creation, and detailed output | +| Create 20 tasks from PRD (100 credits) | Multiple write operations with metadata for each work item | | Analyze project structure for optimization (250 credits) | Deep analysis across multiple projects, with recommendations | With 10,000 credits, you could handle approximately: @@ -58,17 +54,17 @@ With 10,000 credits, you could handle approximately: - 1000 short queries, or - 200 long queries, or - 100 actions, or -- 40 heavy actions, or +- 40 heavy actions, or - any mix that fits your workflow. ## Plan comparison -| Plan | Monthly credits per user | Rollover period | -| --- | --- | --- | -| **Free** | 500 | No rollover | -| **Pro** | 1,000 | 1 month | -| **Business** | 2,000 | 3 months | -| **Enterprise** | Flexible allocation | Up to 12 months | +| Plan | Monthly credits per user | Rollover period | +| -------------- | ------------------------ | --------------- | +| **Free** | 500 | No rollover | +| **Pro** | 1,000 | 1 month | +| **Business** | 2,000 | 3 months | +| **Enterprise** | Flexible allocation | Up to 12 months | New workspaces receive 1,000 bonus credits upon signup. These onboarding credits expire after 30 days and help teams evaluate Plane AI before committing to a plan. @@ -102,12 +98,12 @@ When you have credits from multiple sources (monthly allocation + rollover + top Top-ups exist for months when your team's usage exceeds the plan allocation. These are one-time purchases that don't auto-renew. -| Pack size | Credits | Price (USD) | Best for | -| --- | --- | --- | --- | -| Standard pack | 1,000 | $2.00 | Light monthly overages | -| Growth pack | 2,000 | $4.00 | Small active teams | -| Scale pack | 5,000 | $9.00 | Moderate automation use | -| Bulk pack | 10,000 | $17.00 | Larger workspaces (best value per credit) | +| Pack size | Credits | Price (USD) | Best for | +| ------------- | ------- | ----------- | ----------------------------------------- | +| Standard pack | 1,000 | $2.00 | Light monthly overages | +| Growth pack | 2,000 | $4.00 | Small active teams | +| Scale pack | 5,000 | $9.00 | Moderate automation use | +| Bulk pack | 10,000 | $17.00 | Larger workspaces (best value per credit) | Top-up credits are added instantly to your workspace's shared balance and expire 12 months after purchase. All workspace members can use them, and admins can track consumption in the usage dashboard. @@ -135,70 +131,43 @@ Alerts notify workspace admins when the balance reaches 20% and 5% of total capa Why this pricing model? -

-

- Credits provide granular control while remaining predictable. Unlike token-based pricing (which fluctuates based on AI model costs), credits give you stable rates. Unlike subscription tiers with arbitrary limits, credits scale naturally with your actual usage. -
-

+ Credits provide granular control while remaining predictable. Unlike token-based pricing (which fluctuates based on AI model costs), credits give you stable rates. Unlike subscription tiers with arbitrary limits, credits scale naturally with your actual usage.
How long do credits last? -

-

- It depends on your plan and how you acquired them. Free plan credits reset monthly with no rollover. Pro plan credits roll over for 1 month, Business for 3 months, and Enterprise plans roll over for up to 12 months. Top-up credits purchased separately are valid for 12 months on all paid plans, regardless of your base plan's rollover period. - -
-

+ It depends on your plan and how you acquired them. Free plan credits reset monthly with no rollover. Pro plan credits roll over for 1 month, Business for 3 months, and Enterprise plans roll over for up to 12 months. Top-up credits purchased separately are valid for 12 months on all paid plans, regardless of your base plan's rollover period.
Do all workspace members share the same credit pool? -

-

- Yes. Credits are allocated at the workspace level, creating a shared balance that all members draw from. This prevents the problem of some team members having unused credits while others run out. Admins can set per-user limits if needed to prevent any single member from consuming the entire pool. -
-

+ Yes. Credits are allocated at the workspace level, creating a shared balance that all members draw from. This prevents the problem of some team members having unused credits while others run out. Admins can set per-user limits if needed to prevent any single member from consuming the entire pool.
What happens when my workspace runs out of credits? -

-

- You'll receive alerts when your balance reaches 20% and 5% of total capacity, giving you time to respond. Once you hit zero, AI features become unavailable until you top up or your monthly allocation renews. Your existing data, past AI results, and all non-AI functionality remain fully accessible. You just can't request new AI operations. -
-

+ You'll receive alerts when your balance reaches 20% and 5% of total capacity, giving you time to respond. Once you hit zero, AI features become unavailable until you top up or your monthly allocation renews. Your existing data, past AI results, and all non-AI functionality remain fully accessible. You just can't request new AI operations.
Can I switch between plans without losing credits? -

-

- Yes, you can change plans anytime. When you switch, your unused credits carry forward and adopt the new plan's rollover rules. If you upgrade mid-month, your increased allocation takes effect immediately. If you downgrade, the change happens at your next billing cycle to avoid losing paid credits. -
-

+ Yes, you can change plans anytime. When you switch, your unused credits carry forward and adopt the new plan's rollover rules. If you upgrade mid-month, your increased allocation takes effect immediately. If you downgrade, the change happens at your next billing cycle to avoid losing paid credits.
-
How can I monitor my workspace's credit usage? -

-

- The real-time dashboard shows your remaining balance, consumption history, and trends over time. Before executing any AI action, you'll see a credit cost preview. -
-

+ The real-time dashboard shows your remaining balance, consumption history, and trends over time. Before executing any AI action, you'll see a credit cost preview.
--- Ready to explore how Plane AI can help your team? [View our pricing options](https://plane.so/pricing#ai-&-credits) or start with 1,000 free credits. - diff --git a/docs/authentication/sso.mdx b/docs/authentication/sso.md similarity index 67% rename from docs/authentication/sso.mdx rename to docs/authentication/sso.md index 7e473f9f..a3c82634 100644 --- a/docs/authentication/sso.mdx +++ b/docs/authentication/sso.md @@ -1,15 +1,11 @@ --- title: Single sign-on (SSO) -sidebar_label: Single sign-on (SSO) -hide_title: true description: Configure SAML or OIDC authentication to let your team sign in to Plane using corporate identity provider credentials. --- -import Tags from "@site/src/components/Tags"; - -
+

Single sign-on (SSO)

- +
Single sign-on (SSO) lets your team sign in to Plane using your organization's identity provider instead of managing separate passwords. This centralizes authentication, improves security, and simplifies user management. @@ -18,7 +14,7 @@ Single sign-on (SSO) lets your team sign in to Plane using your organization's i Before configuring SSO, you must verify ownership of your organization's email domain. This ensures only authorized administrators can configure authentication for that domain. -:::caution +::: warning Each domain can only be verified in one workspace at a time. If you've already verified a domain in another workspace, you'll need to remove it there first. ::: @@ -33,22 +29,23 @@ Each domain can only be verified in one workspace at a time. If you've already v 4. In the **Verify your domain** modal that appears, copy the **TXT record value**. ![Verify domain](https://media.docs.plane.so/sso/verify-domain.webp#hero) - :::tip - Click **I'll do it later** if you need time to access your DNS. Your domain will appear with a *Pending* status. To resume verification later, click the **⋯** menu next to your domain and select **Verify**. + ::: tip + Click **I'll do it later** if you need time to access your DNS. Your domain will appear with a _Pending_ status. To resume verification later, click the **⋯** menu next to your domain and select **Verify**. ::: ### Add the DNS record + 1. Sign in to your DNS provider. 2. Create a new TXT record: - **Host/Name**: `@` (or leave blank for root domain). - **Value**: Paste the TXT record value from Plane. - **TTL**: Use default or 3600. 3. Wait a few minutes for DNS propagation. -4. Return to Plane and click **Verify domain**. +4. Return to Plane and click **Verify domain**. -Once verified, the status changes to *Verified* and you can configure SSO. +Once verified, the status changes to _Verified_ and you can configure SSO. -:::tip +::: tip DNS propagation times vary by provider. If verification fails immediately, wait a few more minutes and try again. You can check if the TXT record is live using `dig TXT yourdomain.com` or online DNS lookup tools. ::: @@ -86,18 +83,18 @@ The exact steps vary by provider, but generally: #### Configure OIDC in Plane - ![Configure OIDC](https://media.docs.plane.so/sso/configure-oidc.webp#hero) +![Configure OIDC](https://media.docs.plane.so/sso/configure-oidc.webp#hero) 1. Return to Plane and enter the following details from your identity provider: - | Field | Description | - |-------|-------------| - | **Client ID** | The application ID from your IdP | - | **Client secret** | The secret key for authentication | - | **Authorize URL** | The endpoint where users see the login screen | - | **Token URL** | The endpoint Plane uses to exchange authorization codes for tokens | - | **Users' info URL** | The endpoint that returns user profile information | - | **Logout URL** | *(Optional)* Where users go after signing out | + | Field | Description | + | ------------------- | ------------------------------------------------------------------ | + | **Client ID** | The application ID from your IdP | + | **Client secret** | The secret key for authentication | + | **Authorize URL** | The endpoint where users see the login screen | + | **Token URL** | The endpoint Plane uses to exchange authorization codes for tokens | + | **Users' info URL** | The endpoint that returns user profile information | + | **Logout URL** | _(Optional)_ Where users go after signing out | 2. Click **Save changes** to activate OIDC authentication. @@ -130,16 +127,16 @@ SAML works well with traditional enterprise identity providers like Okta, Azure #### Configure SAML in Plane - ![Configure SAML](https://media.docs.plane.so/sso/configure-saml.webp#hero) +![Configure SAML](https://media.docs.plane.so/sso/configure-saml.webp#hero) 1. Return to Plane and enter the following details from your identity provider: - | Field | Description | - |-------|-------------| - | **Entity ID** | Your IdP's unique identifier | - | **SSO URL** | The endpoint where Plane redirects users for authentication | - | **Logout URL** | *(Optional)* Where users go after signing out | - | **Certificate** | The X.509 certificate from your IdP | + | Field | Description | + | --------------- | ----------------------------------------------------------- | + | **Entity ID** | Your IdP's unique identifier | + | **SSO URL** | The endpoint where Plane redirects users for authentication | + | **Logout URL** | _(Optional)_ Where users go after signing out | + | **Certificate** | The X.509 certificate from your IdP | 2. Click **Configure and enable** to activate SAML authentication. @@ -147,13 +144,10 @@ SAML works well with traditional enterprise identity providers like Okta, Azure Once SSO is enabled: - - When users visit your Plane workspace, they see the **Sign in with Single Sign-On** button. - - ![Sign in with SSO](https://media.docs.plane.so/sso/sign-in-with-sso.webp#hero) - - - Clicking it redirects them to your identity provider. - - After authentication, they're signed in to Plane automatically. - - Their Plane account is created automatically on first sign-in if it doesn't exist. - +- When users visit your Plane workspace, they see the **Sign in with Single Sign-On** button. + ![Sign in with SSO](https://media.docs.plane.so/sso/sign-in-with-sso.webp#hero) +- Clicking it redirects them to your identity provider. +- After authentication, they're signed in to Plane automatically. +- Their Plane account is created automatically on first sign-in if it doesn't exist. diff --git a/docs/automations/custom-automations.mdx b/docs/automations/custom-automations.md similarity index 65% rename from docs/automations/custom-automations.mdx rename to docs/automations/custom-automations.md index aae48fe3..86db7314 100644 --- a/docs/automations/custom-automations.mdx +++ b/docs/automations/custom-automations.md @@ -1,15 +1,11 @@ --- title: Automate project tasks with trigger based workflows -sidebar_label: Automations -hide_title: true description: Automate repetitive project tasks with trigger-based workflows. Set up rules to automatically update work item properties, assign team members, and manage priorities when specific conditions are met. --- -import Tags from "@site/src/components/Tags"; - -
+

Automate your project workflow

- +
Automations let you streamline your project management workflow by automatically performing actions based on specific triggers and conditions. This powerful feature eliminates repetitive manual tasks, ensures consistency in your processes, and helps your team maintain focus on high-value work by letting the system handle routine operations. @@ -19,18 +15,19 @@ Think of automations as your digital assistant that watches for specific events ![Create automations](https://media.docs.plane.so/automations/create-automation.webp#hero) ## What automations do + Automations follow a simple but powerful logic: When [trigger] happens, if [conditions] are met, then perform [actions]. This trigger-condition-action framework allows you to create sophisticated workflows that adapt to your team's specific needs. ### Key components - **Triggers** -Events that start the automation (work item created, updated, state changed, assignee changed, comment created) + Events that start the automation (work item created, updated, state changed, assignee changed, comment created) - **Conditions** -Optional filters that must be met for the automation to proceed (specific state, type, label, assignee, creator, or priority) + Optional filters that must be met for the automation to proceed (specific state, type, label, assignee, creator, or priority) -- **Actions** -What the automation does when triggered (add comments, change properties) +- **Actions** + What the automation does when triggered (add comments, change properties) You can create complex workflows by adding multiple conditions and multiple actions to a single trigger, giving you fine-grained control over when and how automations execute. @@ -38,34 +35,33 @@ You can create complex workflows by adding multiple conditions and multiple acti ![Configure trigger and action](https://media.docs.plane.so/automations/configure-trigger-and-action.webp#hero) -1. Navigate to your Project Settings. +1. Navigate to your Project Settings. -2. Select **Automations** on the left pane. +2. Select **Automations** on the left pane. 3. Click **Create automation** to start building your workflow. - - Give your automation a descriptive name and description. - - Save the configuration. + - Give your automation a descriptive name and description. + - Save the configuration. 4. Click **Add trigger** in the trigger section. 5. Choose from available trigger types: - - Work item created - - Work item updated - - State changed - - Assignee changed - - Comment created + - Work item created + - Work item updated + - State changed + - Assignee changed + - Comment created 6. Click **Add condition** to specify when the automation should run. Select condition types such as: - - State (specific workflow status) - - Type (work item type) - - Label (project tags) - - Assignees (specific team members) - - Created by - - Priority - + - State (specific workflow status) + - Type (work item type) + - Label (project tags) + - Assignees (specific team members) + - Created by + - Priority 7. Click **Add action** to specify what the automation should do. Choose from available actions: - - Add comment - - Change property (State, Priority, Assignee, Labels, Start Date, Due Date) + - Add comment + - Change property (State, Priority, Assignee, Labels, Start Date, Due Date) -:::tip +::: tip You can add multiple conditions to create more specific rules and multiple actions to perform several operations in sequence on a single trigger. ::: @@ -76,6 +72,7 @@ You can add multiple conditions to create more specific rules and multiple actio ![Manage automations](https://media.docs.plane.so/automations/manage-automations.webp#hero) ### Activity monitoring + Track your automation's performance through the Activity panel, which shows: - When the automation was created @@ -87,6 +84,7 @@ Track your automation's performance through the Activity panel, which shows: Filter the activity view to see only relevant events or view the complete run history to understand your automation's impact. ### Enable or disable automations + Toggle automations on or off as needed without deleting them. This is useful for: - Temporarily suspending automations during maintenance @@ -95,23 +93,23 @@ Toggle automations on or off as needed without deleting them. This is useful for ### Edit and delete automations -- Modify triggers, conditions, and actions using the **Edit** option -- Remove automations that are no longer needed - +- Modify triggers, conditions, and actions using the **Edit** option +- Remove automations that are no longer needed ## Common use cases - **State management** -Automatically transition work items between workflow states and update status when specific conditions are met. + Automatically transition work items between workflow states and update status when specific conditions are met. - **Team assignment and handoffs** -Automatically assign team members when work items reach specific stages, reassign work based on type or priority, and ensure proper handoffs between different teams or departments. + Automatically assign team members when work items reach specific stages, reassign work based on type or priority, and ensure proper handoffs between different teams or departments. - **Priority and categorization** -Auto-adjust work item priorities based on labels or assignees, apply consistent labeling across similar work item types, and maintain project organization through automated property updates. + Auto-adjust work item priorities based on labels or assignees, apply consistent labeling across similar work item types, and maintain project organization through automated property updates. - **Communication and notifications** -Post automatic comments when work items are assigned or reassigned, add context when work items move between stages, and ensure stakeholders receive updates on critical changes. + Post automatic comments when work items are assigned or reassigned, add context when work items move between stages, and ensure stakeholders receive updates on critical changes. --- -Automations transform reactive project management into proactive workflow orchestration, allowing teams to focus on solving problems rather than managing processes. With the ability to monitor, edit, and control when automations run, you maintain full control over your automated workflows while reducing manual overhead. \ No newline at end of file + +Automations transform reactive project management into proactive workflow orchestration, allowing teams to focus on solving problems rather than managing processes. With the ability to monitor, edit, and control when automations run, you maintain full control over your automated workflows while reducing manual overhead. diff --git a/docs/communication-and-collaboration/comments-and-activity.mdx b/docs/communication-and-collaboration/comments-and-activity.md similarity index 98% rename from docs/communication-and-collaboration/comments-and-activity.mdx rename to docs/communication-and-collaboration/comments-and-activity.md index 9cc5de8f..00f80193 100644 --- a/docs/communication-and-collaboration/comments-and-activity.mdx +++ b/docs/communication-and-collaboration/comments-and-activity.md @@ -1,6 +1,5 @@ --- title: Comments for collaboration and activity tracking -sidebar_label: Work Item Comments description: Add comments, mention team members, and track activity on work items --- @@ -21,6 +20,7 @@ Use comments to discuss work items, ask questions, provide updates, and collabor Your comment appears immediately in the activity feed with a timestamp and your profile picture. ## Reply to comments + Reply directly to specific comments to keep discussions organized and contextual. Threaded comments help you maintain focused conversations within a work item, especially when multiple topics are being discussed. ### Create a threaded reply @@ -41,8 +41,9 @@ Replies appear nested under the original comment, making it easy to follow the c The comment editor supports rich text formatting for clear communication: **Available formatting:** + - **Bold** - Emphasize important points -- *Italic* - Add subtle emphasis +- _Italic_ - Add subtle emphasis - `Code` - Share code snippets or technical terms - Bullet lists - Organize information - Numbered lists - Create step-by-step instructions @@ -55,6 +56,7 @@ The comment editor supports rich text formatting for clear communication: Tag team members in comments to notify them and draw their attention to specific work items. **To mention someone** + 1. Type `@` in the comment field. 2. Start typing the person's name. 3. Select their name from the dropdown list. @@ -62,6 +64,7 @@ Tag team members in comments to notify them and draw their attention to specific 5. Post the comment. **What happens** + - The mentioned person receives an email notification (if they have notifications enabled) - The work item appears in their Inbox @@ -90,7 +93,7 @@ Remove comments that are no longer relevant or were posted in error. You can only delete your own comments. -:::warning +::: warning Deleted comments cannot be recovered. ::: @@ -111,6 +114,7 @@ The Activity log shows a chronological history of everything that happens on a w ### Activity types tracked **System activities:** + - Work item creation - Status changes (To Do → In Progress → Done) - Assignee changes @@ -122,6 +126,7 @@ The Activity log shows a chronological history of everything that happens on a w - Relation changes (blocking, blocked by, etc.) **User activities:** + - Comments posted - Time logged ([Worklogs](/core-concepts/issues/time-tracking)) - Attachments uploaded @@ -144,9 +149,10 @@ Show only specific types of activity to focus on what matters. Change the order in which activities appear. **Sort options:** + - **Newest first** (default) - Most recent activity at the top - **Oldest first** - Original activity at the top Click the sort icon next to Filters to toggle between sort orders. ---- \ No newline at end of file +--- diff --git a/docs/communication-and-collaboration/project-updates.mdx b/docs/communication-and-collaboration/project-updates.md similarity index 97% rename from docs/communication-and-collaboration/project-updates.mdx rename to docs/communication-and-collaboration/project-updates.md index 88929d2a..dd250bf6 100644 --- a/docs/communication-and-collaboration/project-updates.mdx +++ b/docs/communication-and-collaboration/project-updates.md @@ -1,6 +1,5 @@ --- title: Project updates to share status and track progress -sidebar_label: Project Updates description: Share project status and track progress over time --- @@ -12,6 +11,7 @@ Project updates provide a way to share project status and create a timeline of p Updates are status posts that appear in your project's side panel. Each update includes a status indicator (On Track, At Risk, or Off Track) and a message describing the current state of the project. Updates appear in chronological order, creating a history of your project's progress over time. **When to use project updates** + - Regular status reporting (weekly sprints, monthly milestones) - Communicating blockers or risks to stakeholders - Keeping remote or distributed teams aligned @@ -61,14 +61,17 @@ The project has significant blockers or delays. Critical issues are preventing p Project updates support threaded discussions and reactions, allowing team members to engage with status updates directly. **Start discussions** + - Add comments in the thread below the update. - Use threads to discuss specific points, ask questions, or provide additional context. - Threaded discussions keep conversations organized and connected to the relevant update. **Use emoji reactions** + - React to updates with emojis for quick feedback. - Reactions provide lightweight acknowledgment without requiring a full comment. -**Mention team members** *(Coming soon)* +**Mention team members** _(Coming soon)_ + - Tag specific team members in update comments to notify them directly. -- Use mentions to request input, escalate issues, or delegate follow-up actions. \ No newline at end of file +- Use mentions to request input, escalate issues, or delegate follow-up actions. diff --git a/docs/core-concepts/account/overview.mdx b/docs/core-concepts/account/overview.md similarity index 98% rename from docs/core-concepts/account/overview.mdx rename to docs/core-concepts/account/overview.md index fe53b497..d2588142 100644 --- a/docs/core-concepts/account/overview.mdx +++ b/docs/core-concepts/account/overview.md @@ -1,6 +1,5 @@ --- title: Personalize your homepage -sidebar_label: Personalize homepage description: Customize your Home page with quick links, recent activity, and sticky notes to create a personalized dashboard for improved productivity. --- diff --git a/docs/core-concepts/account/settings.mdx b/docs/core-concepts/account/settings.md similarity index 99% rename from docs/core-concepts/account/settings.mdx rename to docs/core-concepts/account/settings.md index a22e18c7..dea85666 100644 --- a/docs/core-concepts/account/settings.mdx +++ b/docs/core-concepts/account/settings.md @@ -8,6 +8,7 @@ description: Reference for personal account settings including profile, preferen Account settings control your personal profile, interface preferences, notification preferences, security options, and activity history. These settings apply across all workspaces you belong to. ## Access account settings + 1. Click your profile picture in the sidebar. 2. Select **Settings** @@ -18,11 +19,13 @@ Account settings control your personal profile, interface preferences, notificat Manage your personal information and account visibility across workspaces. All profile information is visible to other members in your workspaces. **Profile picture and cover image** + - Profile picture appears throughout Plane (work items, comments, assignments). - Cover image displays at the top of your profile page. - Click **Change cover** to upload a custom cover image. **Personal information** + - **First name** - Your given name (required) - **Last name** - Your family name - **Display name** - Name shown in work items and mentions (required) @@ -31,7 +34,6 @@ Manage your personal information and account visibility across workspaces. All p **Account deactivation** You have the option to deactivate your account, which removes you from all the workspaces you are associated with. However, please note that deactivating your account will not delete the work items or any other entities created by you. - ## Preferences Customize your interface appearance and behavior. @@ -43,6 +45,7 @@ Your selected theme applies across all workspaces and devices where you're logge **Default:** Light theme **Theme options:** + - **System** - Automatically matches your operating system's theme preference - **Light** - Light color scheme - **Dark** - Dark color scheme @@ -53,6 +56,7 @@ Your selected theme applies across all workspaces and devices where you're logge When you select **Custom theme** from the theme dropdown, you can define your own color scheme by specifying hex color values for five interface elements: **Customizable colors:** + - **Background color** - Sets the background for main content areas (dashboard, work items, pages, etc.) - **Text color** - Determines text color throughout the platform - **Primary (Theme) color** - Defines accent color for interactive elements @@ -64,24 +68,28 @@ Click **Set theme** to apply your custom color scheme. ### First day of the week Changes the starting day for all calendar displays throughout Plane, including: + - Project timelines - Due date pickers - Calendar views - Date range selectors ### Smooth cursor + Adds animation to cursor movement for a more fluid experience when navigating through editors. ### Timezone and language + **Timezone:** + - Sets display format for all times throughout Plane. - Affects notifications, activity logs, start dates, end dates, and timestamps. **Language:** + - Controls interface language. - Supported languages: English, French, Spanish, Japanese, Simplified Chinese, Traditional Chinese, Russian, Italian, Czech, Slovak, German, Ukrainian, Polish, Korean, Brazilian Portuguese, Indonesian, Romanian, Vietnamese, Turkish - ## Notifications Control email notification preferences for work item updates. Email notifications supplement in-app notifications visible in the [Inbox](/core-concepts/inbox) section. @@ -91,24 +99,28 @@ All notifications apply only to work items where you are the creator, assigned t ### Notification types **Property changes** + - Notifies when work item properties change (assignees, priority, estimates, etc.) - Applies to work items you created, are assigned to, or subscribed to **State change** + - Notifies when work items move to different states - Applies to work items you created, are assigned to, or subscribed to **Work item completed** + - Notifies only when work items reach completed state - Subset of state change notifications **Comments** + - Notifies when someone adds a comment to work items you're involved with - Applies to work items you created, are assigned to, or subscribed to **Mentions** -- Notifies when someone mentions you in comments or descriptions +- Notifies when someone mentions you in comments or descriptions ## Security @@ -124,14 +136,10 @@ Manage account access credentials. Password must meet security criteria (minimum View your recent actions and changes across all workspaces. Displays a chronological feed of your activities with timestamps. - ## Connections Manage personal account connections on integrations with external services. - ## Personal access tokens Generate secure API tokens for integrating Plane data with external systems and applications. - - diff --git a/docs/core-concepts/analytics.mdx b/docs/core-concepts/analytics.md similarity index 94% rename from docs/core-concepts/analytics.mdx rename to docs/core-concepts/analytics.md index ad1fd9e0..11dbf067 100644 --- a/docs/core-concepts/analytics.mdx +++ b/docs/core-concepts/analytics.md @@ -1,11 +1,8 @@ --- title: Analytics to visualize work data and track performance -sidebar_label: Analytics description: Visualize work item data, track team capacity, measure progress, and create custom charts. --- -import Tags from "@site/src/components/Tags"; - # View analytics at different levels Transform your entire workspace data into actionable insights with Analytics. Get instant answers to complex questions, forecast demand, track progress across all dimensions, and make data-driven decisions with confidence. @@ -35,9 +32,9 @@ The new analytics experience provides comprehensive views across six key areas: Get a bird's-eye view of your entire workspace with essential performance indicators that drive strategic decision-making. The workspace metrics section displays comprehensive user statistics including total users, admins, members, and guests, alongside project count and distribution across your organization. You can monitor the overall work item count across all projects and track active cycles and intake statistics to understand your team's current workload. -
- ### Projects analysis - +
+

Projects analysis

+
![Analytics Projects](https://media.docs.plane.so/analytics/projects-analytics.webp#hero) @@ -65,9 +62,9 @@ The interactive chart builder lets you choose what you want to measure and then You can easily export all your analytics data to CSV format, making it simple to dive deeper into the numbers using spreadsheets or other analysis tools you prefer. -
- ### Cycles analysis - +
+

Cycles analysis

+
![Analytics Cycles](https://media.docs.plane.so/analytics/cycle-analytics.webp#hero) @@ -82,9 +79,9 @@ The cycle table at the bottom provides all the essential management information This kind of cycle analysis is invaluable for sprint retrospectives and improving your team's estimation accuracy over time. You can identify patterns in cycle performance and use that data to make better decisions about sprint planning and workload distribution. -
- ### Modules analysis - +
+

Modules analysis

+
![Analytics Modules](https://media.docs.plane.so/analytics/module-analytics.webp#hero) @@ -97,9 +94,9 @@ When you hover over any module in the chart, you get a detailed breakdown of the The table gives you all the management essentials - who's leading each module, which project it belongs to, planned timelines, and current completion status. This makes it easy to identify modules that might need attention, whether that's because they're running behind schedule, don't have a clear lead assigned, or are sitting at 0% completion when they should have started by now. -
- ### Intake analysis - +
+

Intake analysis

+
![Analytics Intake](https://media.docs.plane.so/analytics/Intake-analytics.webp#hero) diff --git a/docs/core-concepts/cycles.mdx b/docs/core-concepts/cycles.md similarity index 88% rename from docs/core-concepts/cycles.mdx rename to docs/core-concepts/cycles.md index 564734ed..ea68eabb 100644 --- a/docs/core-concepts/cycles.mdx +++ b/docs/core-concepts/cycles.md @@ -1,11 +1,8 @@ --- title: Manage sprints and track agile workflows -sidebar_label: Cycles description: Create and manage sprints using Cycles in Plane. Track progress, transfer incomplete tasks, and monitor active cycles across projects for efficient Agile workflows. --- -import Tags from "@site/src/components/Tags"; - # Manage and track your sprints using Cycles A Cycle is a set period of time where your team focuses on completing specific tasks or work items, similar to sprints in Agile. Each Cycle is flexible, allowing you to prioritize and tackle backlog items at your own pace. @@ -18,25 +15,25 @@ By default, Cycles are automatically turned on when you create a new project. If ## Create cycles -:::warning[Caution] +::: warning Caution Two cycles cannot have overlapping dates. ::: To create a new Cycle, just press `Q` from anywhere in your project. Or, you can head to the **Cycles** page under your project in the sidebar and click the **Add Cycle** button. You’ll need to give it a name and set the start and due dates. If you want, you can also add a description—either right away or later on! ![Create cycle](https://media.docs.plane.so/cycles/create-cycles.webp#hero) -:::caution[Timezone settings] +::: warning Timezone settings If the Project Admin sets the **Timezone** in [Project settings](/core-concepts/projects/overview#configure-project-settings), the Cycle schedules (start and end) will align with it. However, Members will view Cycles starting and stopping based on the timezone set in their [profile settings](/core-concepts/account/settings#timezone-and-language). ::: ## Add work items to cycles - After you create a cycle, you can start adding new work items or bringing in existing work items right in the Cycle page. - + ![Empty cycle](https://media.docs.plane.so/cycles/cycle-empty-state.webp#hero) - You can also link a Cycle directly as a property within any work item. - + ![Cycle property](https://media.docs.plane.so/cycles/cycle-property.webp#hero-br) ## Cycle states @@ -50,20 +47,20 @@ If the Project Admin sets the **Timezone** in [Project settings](/core-concepts/ - **Completed cycle** When a cycle’s due date has passed, it moves into the completed state. This reflects that the work scheduled during that cycle is finished, and the team can move on to review, wrap-up, and start planning for future cycles. Completed cycles are not editable, however you can transfer work items that are incomplete to an active or upcoming cycle. -:::tip +::: tip You can modify the name, description, start and due dates of active and upcoming cycles at any time. ::: -
- ## Start and stop cycles - +
+

Start and stop cycles

+
While Cycles typically run for their set duration, sometimes you need more flexibility in managing your work periods. You can manually control when a Cycle begins or ends using the interface controls. To start a Cycle, simply click the **Start Cycle** button next to your upcoming Cycle. This is particularly useful when you want to begin a planned Cycle earlier than its scheduled start date or if you need to start a fresh Cycle immediately. -:::tip +::: tip You can't start a new Cycle while another is in progress. To begin a new Cycle, you'll need to stop the currently active one first. ::: @@ -75,7 +72,7 @@ To end a Cycle before its scheduled completion date, you can: 2. Select **End Cycle** from the three dots menu to the right of the active cycle. - :::warning + ::: warning You can't restart a Cycle after it's been manually ended. ::: @@ -93,10 +90,9 @@ Once the due date of an active Cycle passes, it’s automatically marked as comp ![Transfer work items](https://media.docs.plane.so/cycles/transfer-issues.webp#hero-tr) - -
- ## Auto-schedule cycles - +
+

Auto-schedule cycles

+
Automate the creation and management of cycles according to predefined configurations, eliminating manual setup while ensuring consistent cycle planning and team predictability. @@ -104,6 +100,7 @@ Automate the creation and management of cycles according to predefined configura ![Autoschedule cycles](https://media.docs.plane.so/cycles/auto-schedule-cycles.webp#hero-br) #### Benefits + - Maintain regular cycle rhythms automatically without manual intervention. - Keep future cycles pre-scheduled so teams can plan ahead with confidence. - Eliminate repetitive administrative work from cycle creation. @@ -113,12 +110,12 @@ Automate the creation and management of cycles according to predefined configura 1. Navigate to **Project Settings → Features → Cycles**. 2. Turn on the **Auto-schedule cycles** toggle and configure: - - Cycle Title — Set a naming convention for automatically created cycles. - - Cycle Duration — Define the length of each cycle in weeks (e.g., 1 week, 2 weeks). - - Cooldown Period — Add an optional buffer between cycles in days for planning and retrospectives. - - Cycle starts day — Choose the start date for the first auto-scheduled cycle. - - Number of future cycles — Specify how many upcoming cycles to keep pre-scheduled. - - Auto-rollover work items — Enable to automatically move incomplete work items from one cycle to the next. + - Cycle Title — Set a naming convention for automatically created cycles. + - Cycle Duration — Define the length of each cycle in weeks (e.g., 1 week, 2 weeks). + - Cooldown Period — Add an optional buffer between cycles in days for planning and retrospectives. + - Cycle starts day — Choose the start date for the first auto-scheduled cycle. + - Number of future cycles — Specify how many upcoming cycles to keep pre-scheduled. + - Auto-rollover work items — Enable to automatically move incomplete work items from one cycle to the next. Once enabled, the system automatically: @@ -135,9 +132,9 @@ Once a cycle is active and contains work items, you can monitor its progress, as ![Track cycle progress](https://media.docs.plane.so/cycles/track-cycle-progress.webp#hero) -
- ## Cycle progress charts - +
+

Cycle progress charts

+
This feature provides powerful visualization tools to help you track project cycles more effectively. With real-time insights, you can see exactly how your cycle is performing against the planned progress, making it easier to stay on top of deadlines and adjust as needed. @@ -197,9 +194,9 @@ The build-up chart helps track how much work has already been completed in the c - **Trailing**\ If fewer tasks are completed than expected, the chart shows a red downward trend, with a light red fill between the ideal and actual lines, indicating the need to speed up progress. -
- ## Active cycles across projects - +
+

Active cycles across projects

+
If you have multiple projects with Cycles running at the same time, you can easily track the progress of all active cycles in the **Cycles** section under the **Workspace** section in the sidebar. This gives you a quick overview of each project’s progress and helps you spot any potential issues early on. Each cycle displays its status—whether it’s ahead of schedule or falling behind—based on the burn-down and build-up metrics. @@ -214,11 +211,11 @@ You can archive completed cycles, allowing you to conceal significantly older cy You can delete a Cycle to remove it entirely. When you do, all associated analytics and progress reports will be erased. Any work items linked to that Cycle will also be automatically unlinked. -
- ## Export cycles - +
+

Export cycles

+
You can export cycle data to analyze sprint performance, create reports, or share progress with stakeholders outside of Plane. Exports include all work items within the cycle along with their key details. -Learn more about [custom exports](/core-concepts/export#custom-exports). \ No newline at end of file +Learn more about [custom exports](/core-concepts/export#custom-exports). diff --git a/docs/core-concepts/deploy.mdx b/docs/core-concepts/deploy.md similarity index 100% rename from docs/core-concepts/deploy.mdx rename to docs/core-concepts/deploy.md diff --git a/docs/core-concepts/drafts.mdx b/docs/core-concepts/drafts.md similarity index 99% rename from docs/core-concepts/drafts.mdx rename to docs/core-concepts/drafts.md index 007252a6..3cc4fdd6 100644 --- a/docs/core-concepts/drafts.mdx +++ b/docs/core-concepts/drafts.md @@ -9,7 +9,7 @@ We've all been there—clicking outside a modal or navigating away from a page, ## How drafts work -:::info +::: info Drafts remain private and won't be visible to team members until you move them to project work items. ::: @@ -44,6 +44,6 @@ To manage your drafts, click the ellipsis (•••) next to any draft and choo - **Delete** Created a draft you no longer need? Deleting it is easy. Click **Delete**, confirm, and it’s gone. A toast message will appear confirming the deletion. - :::caution + ::: caution Keep in mind, deleted drafts cannot be recovered. You'll always see a confirmation modal to prevent accidental deletions. ::: diff --git a/docs/core-concepts/export.mdx b/docs/core-concepts/export.md similarity index 76% rename from docs/core-concepts/export.mdx rename to docs/core-concepts/export.md index 594651eb..fceccce0 100644 --- a/docs/core-concepts/export.mdx +++ b/docs/core-concepts/export.md @@ -1,11 +1,8 @@ --- title: Export work items from project -sidebar_label: Export description: Export work items from Plane in CSV, Excel, or JSON formats for backup, analysis, or sharing. --- -import Tags from "@site/src/components/Tags"; - # Export data Plane allows you to export all your work items, from a single project or multiple projects, so you can access your data outside of Plane. You can export work items into CSV, Excel, or JSON formats. @@ -19,22 +16,22 @@ Plane allows you to export all your work items, from a single project or multipl ![Export data](https://media.docs.plane.so/workspaces/export-data.webp#hero) -3. **Select Project** +3. **Select Project** - Choose to export work items from all projects or a specific project using the dropdown. 4. **Choose format** - You can export work items in one of the following formats: - - CSV: A plain text file with values separated by commas. - - Excel: A formatted spreadsheet file. + You can export work items in one of the following formats: + - CSV: A plain text file with values separated by commas. + - Excel: A formatted spreadsheet file. - JSON: A lightweight, machine-readable format. -5. **Apply filters** -Narrow down your export by filtering work items based on available filters. +5. **Apply filters** + Narrow down your export by filtering work items based on available filters. -6. **Click Export** -This will package the export into a ZIP file. +6. **Click Export** + This will package the export into a ZIP file. -:::info +::: info Exporting large workspaces may take some time depending on the number of work items. ::: @@ -47,13 +44,13 @@ Exporting large workspaces may take some time depending on the number of work it Once completed, click **Download** to get your file. Use the **Refresh status** button to check for the latest updates. -:::caution +::: warning Exported files remain downloadable for a limited time (7 days). After this period, they will show as "Expired" and you'll need to create a new export. ::: -
- ## Custom exports - +
+

Custom exports

+
Export filtered work items, cycles, views, or modules directly from your project. Custom exports let you export exactly what you see after applying filters and display options—perfect for reports, analysis, or sharing specific data sets. @@ -74,8 +71,8 @@ You can export data from: 3. Click the ⋯ (more options) menu in the top right. 4. Select **Export**. 5. Choose your format: - - CSV: For spreadsheet applications. - - JSON: For programmatic use or data processing. + - CSV: For spreadsheet applications. + - JSON: For programmatic use or data processing. 6. Click **Continue** to download your file. -The exported file will include all visible work items based on your current filters and settings. \ No newline at end of file +The exported file will include all visible work items based on your current filters and settings. diff --git a/docs/core-concepts/inbox.mdx b/docs/core-concepts/inbox.md similarity index 91% rename from docs/core-concepts/inbox.mdx rename to docs/core-concepts/inbox.md index 109020a6..1166fe44 100644 --- a/docs/core-concepts/inbox.mdx +++ b/docs/core-concepts/inbox.md @@ -1,11 +1,8 @@ --- title: Inbox for in app notifications and work item updates -sidebar_label: Inbox description: Use Inbox to monitor task updates, filter notifications, and manage mentions. --- -import Tags from "@site/src/components/Tags"; - # Get in-app notifications The Inbox is a space for tracking and managing updates to work items you're connected with. Whether you're assigned to a work item, its creator, mentioned in a discussion, or subscribed to its updates, you'll find everything here. @@ -16,7 +13,7 @@ Located in the sidebar on the left, directly below **Home** and **Your Work**, t ![Inbox](https://media.docs.plane.so/inbox/inbox.webp#hero) -:::tip[Email notifications] +::: tip Email notifications All inbox notifications are also sent to your email by default. You can customize your email notification preferences in [Account Settings](/core-concepts/account/settings#notifications). ::: @@ -41,9 +38,9 @@ In the top-right corner of the Inbox pane, you’ll find the filters dropdown. U ![Inbox filters](https://media.docs.plane.so/inbox/inbox-filters.webp#hero) -
- ## Stacked notifications - +
+

Stacked notifications

+
We’ve introduced stacked notifications to make your Inbox even more efficient. When there are changes to the same work item, they’ll be grouped into a parent notification. Hover over the notification to see all the grouped changes without sifting through a cluttered list. diff --git a/docs/core-concepts/intake.mdx b/docs/core-concepts/intake.md similarity index 86% rename from docs/core-concepts/intake.mdx rename to docs/core-concepts/intake.md index 3322adb6..305d884c 100644 --- a/docs/core-concepts/intake.mdx +++ b/docs/core-concepts/intake.md @@ -1,6 +1,5 @@ --- title: Intake to collect and triage external work requests -sidebar_label: Intake In-app description: Use Intake feature to collect, triage, and manage external work item submissions from stakeholders, clients, and guests before adding them to your workflow. --- @@ -24,8 +23,9 @@ Users with a `Guest` role can create work items in Intake. To create a work item 1. Click on **Intake** under the project on the sidebar. 2. Click the **Add Work item** button at the top right corner. - + ![create-work item-intake](https://media.docs.plane.so/intake/create-issue-intake.webp#hero) + 3. Enter the required details and click the **Create Work item** button. ![enter-work item-details](https://media.docs.plane.so/intake/enter-issue-details.webp#hero) @@ -36,12 +36,12 @@ A `Guest` role can assign properties when creating an Intake work item. However, For a work item in the Intake, you can choose to assign the following properties: -| Property | Description | -| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | -| Priority | Set the priority of the work item to align the expectations on how quickly the work item should be acted upon. | -| Assignees | Assign the team member who should triage or prioritize the work item. | -| Labels | Categorize work items using the labels available in the project. | -| Due date | Set when the work item needs to be prioritized or triaged by adding a due date. | +| Property | Description | +| --------- | -------------------------------------------------------------------------------------------------------------- | +| Priority | Set the priority of the work item to align the expectations on how quickly the work item should be acted upon. | +| Assignees | Assign the team member who should triage or prioritize the work item. | +| Labels | Categorize work items using the labels available in the project. | +| Due date | Set when the work item needs to be prioritized or triaged by adding a due date. | All intake work items use the Triage state, which is specific to Intake and separate from your project's state groups. When you accept a work item into your project, you'll choose which project state it should move to. @@ -54,7 +54,7 @@ When a Guest creates a work item in Intake, it is added to the `Pending` state. ![accept-intake-work item](https://media.docs.plane.so/intake/accept-intake-issue.webp#hero) 1. Open a pending work item in Intake. -2. Click the **Accept** button on the top right. This will open a modal where you can change the work item details before moving it to your project. +2. Click the **Accept** button on the top right. This will open a modal where you can change the work item details before moving it to your project. 3. Click the **Add to project** button to move the work item from **Intake** to **Work items** under the project. The work item will be visible under the **State** selected when accepting the Intake work item. ### Decline work item @@ -111,16 +111,15 @@ Next to the Filters dropdown, you can use the sort drop-down to arrange Intake w - Intake work item description has a rich text editor that allows you to format text, attach pictures, links and files, or add tables and dividers. - ![intake-description-box](https://media.docs.plane.so/intake/intake-description-box.webp#hero) + ![intake-description-box](https://media.docs.plane.so/intake/intake-description-box.webp#hero) - Intake has an activity and comments section to know the status and see feedback from users and customers. All the changes made to the work item can be tracked in real-time under the **Activity** section. - - ![intake-activity](https://media.docs.plane.so/intake/intake-activity.webp#hero) + + ![intake-activity](https://media.docs.plane.so/intake/intake-activity.webp#hero) - The **Add Comment** box has a rich text editor where you can react with emojis and mention your teammates to communicate. - - ![RTE-reactions-and-mentions](https://media.docs.plane.so/intake/RTE-reactions-and-mentions.webp#hero) + + ![RTE-reactions-and-mentions](https://media.docs.plane.so/intake/RTE-reactions-and-mentions.webp#hero) - You can review pending requests in Intake sequentially using 🔼 or 🔽 button. - - ![intake-navigate](https://media.docs.plane.so/intake/intake-navigate.webp#hero) + ![intake-navigate](https://media.docs.plane.so/intake/intake-navigate.webp#hero) diff --git a/docs/core-concepts/issues.mdx b/docs/core-concepts/issues.md similarity index 99% rename from docs/core-concepts/issues.mdx rename to docs/core-concepts/issues.md index acbd4589..081576bb 100644 --- a/docs/core-concepts/issues.mdx +++ b/docs/core-concepts/issues.md @@ -2,6 +2,8 @@ title: Work items --- +# Work items + Inside a work item, you can add as many details as you like to get your work done. Here are five critical things to kick-start: 1. **Work item description**: An enhanced markdown editor inside work items to write as much detail you want. Attachments can be added and dragged around with a simple click, no need to save anything. Everything is auto-saved for you. diff --git a/docs/core-concepts/issues/bulk-ops.mdx b/docs/core-concepts/issues/bulk-ops.md similarity index 90% rename from docs/core-concepts/issues/bulk-ops.mdx rename to docs/core-concepts/issues/bulk-ops.md index dee6855c..5f488af4 100644 --- a/docs/core-concepts/issues/bulk-ops.mdx +++ b/docs/core-concepts/issues/bulk-ops.md @@ -1,15 +1,11 @@ --- title: Bulk update multiple work items to save time -sidebar_label: Bulk Ops -hide_title: true description: Learn how to save time by updating multiple work items at once in Plane. Change states, priorities, assignees, dates, and more with efficient bulk operations. --- -import Tags from "@site/src/components/Tags"; - -
+

Update multiple work items at once

- +
Working with multiple work items at once can save you significant time. diff --git a/docs/core-concepts/issues/display-options.mdx b/docs/core-concepts/issues/display-options.md similarity index 98% rename from docs/core-concepts/issues/display-options.mdx rename to docs/core-concepts/issues/display-options.md index fc1bec87..4ef49bd1 100644 --- a/docs/core-concepts/issues/display-options.mdx +++ b/docs/core-concepts/issues/display-options.md @@ -1,6 +1,5 @@ --- title: Display options for viewing work items -sidebar_label: Display options description: Customize display by showing specific properties, grouping by attributes, subgrouping, and ordering items to create the perfect project view. --- diff --git a/docs/core-concepts/issues/epics.mdx b/docs/core-concepts/issues/epics.md similarity index 92% rename from docs/core-concepts/issues/epics.mdx rename to docs/core-concepts/issues/epics.md index 9510b225..5fb8f780 100644 --- a/docs/core-concepts/issues/epics.mdx +++ b/docs/core-concepts/issues/epics.md @@ -1,15 +1,11 @@ --- title: Organize related work items with Epics -sidebar_label: Epics -hide_title: true description: Create and manage Epics in Plane to organize related work items, track progress across multiple tasks, and align your team around larger objectives. --- -import Tags from "@site/src/components/Tags"; - -
- # Organize and track your work items with Epics - +
+

Organize and track your work items with Epics

+
Epics help you group related tasks into a larger work item, providing a hierarchical structure for managing complex projects. This feature is ideal for breaking down major objectives into smaller, manageable pieces while keeping everything organized within a project. @@ -20,7 +16,7 @@ Use Epics when you need to: - Track progress and dependencies across multiple related work items. - Improve visibility into how individual tasks contribute to broader goals. -:::tip +::: tip Use an Epic for larger bodies of work that span multiple cycles and extend across different modules. ::: @@ -76,7 +72,7 @@ Once created, all Epics can be accessed from the **Epics** section under your pr ![Epics screen](https://media.docs.plane.so/epics/epics-screen.webp#hero) -:::tip[Sort and filter Epics] +::: tip Sort and filter Epics To help you manage Epics effectively, Plane offers flexible sorting and filtering options. ::: @@ -88,22 +84,24 @@ Clicking on an Epic opens a detailed view where you can quickly view and manage You can add existing work items to the Epic or create new ones directly from the Epic. -:::caution[important] +::: warning important A work item can belong to only one Epic. This ensures clarity in organization and avoids overlapping tasks across multiple Epics. ::: -
- ## Duplicate Epics - +
+

Duplicate Epics

+
When you need to create similar Epics or replicate an Epic's structure across projects, Plane allows you to duplicate existing Epics either within the same project or to different projects in your workspace. To duplicate an Epic, click the ••• menu in the Epic header and select Make a copy. You'll see two options: ### Copy in same project + Creates an identical Epic within the current project with all the same properties, description, and custom field values. The new Epic gets a fresh identifier and maintains the same title, description state, priority, start and due dates. ### Copy in different project + Duplicates the Epic to another project in your workspace that has Epics enabled. This is particularly useful when you have similar large-scale objectives across multiple projects or want to replicate Epics between projects. The copied Epic adapts to the destination project's identifier format and default state. ## Work items list and relations @@ -146,14 +144,15 @@ Share epic status using updates. This helps keep your team informed and create a ## Properties, comments, and activity - View and update the Epic’s key properties like assignee, priority, timelines, and other custom properties. - + ![Epic properties](https://media.docs.plane.so/epics/epic-properties.webp#hero-tr) - Add comments to collaborate with your team and to discuss progress, blockers, or updates. - + ![Epic comments](https://media.docs.plane.so/epics/epic-comments.webp#hero-tr) + - Access the activity log for a history of changes made to the Epic, ensuring transparency and accountability. - + ![Epic activity](https://media.docs.plane.so/epics/epic-activity.webp#hero-tr) ## Link Work items to Epics @@ -162,9 +161,9 @@ For each work item, you can assign or change a work item's Epic directly in the ![Link Work items to Epics](https://media.docs.plane.so/epics/link-issue-epic.webp#hero) -
- ## Convert Epics to Work Items - +
+

Convert Epics to Work Items

+
Sometimes you realize that what you thought was a big, complex epic is actually something smaller and more focused. That's where converting an epic to a work item comes in handy. This feature lets you transform an epic into a regular work item, making it easier to track and manage as a single deliverable rather than a collection of tasks. diff --git a/docs/core-concepts/issues/estimates.mdx b/docs/core-concepts/issues/estimates.md similarity index 95% rename from docs/core-concepts/issues/estimates.mdx rename to docs/core-concepts/issues/estimates.md index fbb8d971..f5faae21 100644 --- a/docs/core-concepts/issues/estimates.mdx +++ b/docs/core-concepts/issues/estimates.md @@ -1,11 +1,8 @@ --- title: Task estimates using points, time or categories -sidebar_label: Estimates description: Set up and customize work item estimation using points, categories, or time to quantify task complexity and effort. --- -import Tags from "@site/src/components/Tags"; - # Estimate time and effort for work items Estimates in Plane help quantify the time and effort required for each work item in your project. Whether using a simple number scale or categories like T-shirt sizes, estimates provide a clearer idea of the work involved. They act as a proxy for complexity, helping teams gauge task scale quickly without detailed breakdowns. Estimates also aid in prioritizing, resource allocation, managing workload expectations, and identifying potential bottlenecks. @@ -30,10 +27,10 @@ Getting started with estimates in your project is quick and easy. Here’s how y 4. You can either choose a ready-made template and tweak it to fit your needs or create your own custom estimate system from scratch. 5. When you are done, turn on the **Enable estimates for my project** toggle. - + ![Enable estimate type](https://media.docs.plane.so/projects/enable-estimate-toggle.webp#hero-tr) -:::info +::: info Free plan projects support up to 6 custom estimate values. [Upgrade to Pro](https://plane.so/pricing) to add additional estimate values for Points, Categories, and Time-based estimates. ::: @@ -70,9 +67,9 @@ If you prefer to estimate effort by text categories rather than numbers, this is This system provides a high-level estimate of effort based on intuitive categories, which is especially helpful in teams where relative effort matters more than precise numeric estimates. -
- ### Time - +
+

Time

+
This system uses time durations to estimate how long work items will take to complete. It's ideal for teams that need to plan based on actual time investments or track billable hours. Plane offers two ways to set up your time estimates: @@ -99,6 +96,6 @@ To update your estimate system, follow these steps: 3. Select **Change estimate type**. - If a different type of estimate system suits your project better, you can switch between system types here. -:::note +::: info In earlier versions of Plane, we allowed multiple estimate systems within a single project, giving you the ability to switch between them. Based on user feedback, we’ve simplified this process. Now, each project can only have one active estimate system, and older, inactive systems have been archived for better clarity and ease of use. ::: diff --git a/docs/core-concepts/issues/issue-types.mdx b/docs/core-concepts/issues/issue-types.md similarity index 94% rename from docs/core-concepts/issues/issue-types.mdx rename to docs/core-concepts/issues/issue-types.md index 5e0263b9..29f1c5b0 100644 --- a/docs/core-concepts/issues/issue-types.mdx +++ b/docs/core-concepts/issues/issue-types.md @@ -1,14 +1,11 @@ --- title: Work Item Types -hide_title: true description: Create specialized work item types in Plane with custom properties, icons, and colors for different teams and workflows to streamline project management. --- -import Tags from "@site/src/components/Tags"; - -
+

Add, configure and control your work item types

- +
Work item Types unlock a whole new way of adding, editing, and moving work forward in Plane. The default work item type called `Issue` is great for starting with Plane, but as you advance in your project management journey, you find the need for names and properties unique to the type of work you are doing. @@ -17,7 +14,7 @@ For example, your Marketing team may need a work item type called `Content` with Work item Types make these and infinite other use cases possible. -
+
## Create work item types -:::warning +::: warning The Work item Types feature cannot be disabled once turned on for a Plane project. ::: @@ -43,14 +40,17 @@ The Work item Types feature cannot be disabled once turned on for a Plane projec 3. Click the **Enable** button to start creating work item types for your project. ![Enable work item type](https://media.docs.plane.so/issues/enable-issue-types.webp#hero) + 4. The default type is called `Issue`. Click the **Add Work item Type** button to create a new work item type. - + ![Add work item type](https://media.docs.plane.so/issues/add-issue-type.webp#hero-tr) + 5. In the **Create work item type** modal, type name, and description, and choose a background color and an icon to represent the work item type. Click the **Create work item type** button. - + ![Create work item type](https://media.docs.plane.so/issues/create-issue-type.webp#hero) + 6. Switch on the toggle button to allow users to select the work item type when creating work items and sub-work items. - + ![Activate work item type](https://media.docs.plane.so/issues/activate-issue-type.webp#hero-tr) ### Examples of work item types @@ -80,15 +80,17 @@ The Work item Types feature cannot be disabled once turned on for a Plane projec Adding custom properties to the default work item type Issue and other newly created work item types is possible. 1. Under the work item type, click **Add New Property** to create custom fields. - + ![Add new property](https://media.docs.plane.so/issues/add-new-property.webp#hero) + 2. Specify values for **Title**, **Description** and **Property type** of the new property. - + ![Property details](https://media.docs.plane.so/issues/property-details.webp#hero) + 3. Select the **Mandatory property** checkbox if it's a required field. Select the **Active** checkbox to make the property visible in work items. 4. Click **Create** to add the property to the work item type. -:::warning +::: warning Before you delete properties, switch off the **Active** toggle button to avoid data loss. ::: @@ -123,7 +125,7 @@ Once the project Admin sets up the work item types any project member can use th - In the **Create new work item** modal, the user can choose the desired work item type from the list at the top left corner. By default, the work item type `Issue` is selected displaying both system-defined and custom properties. - Changing the work item type will update the modal to display the relevant properties for that type. - The system ensures that all properties marked as mandatory are filled before creating the work item. - + ![Use work item types](https://media.docs.plane.so/issues/use-issue-type.webp#hero-tl) When viewing work items, the work item type is displayed with an icon near the title for easy identification. Any custom properties added will also appear in the list of properties, and changes to these values are tracked in the work item's activity trail. @@ -134,11 +136,13 @@ You can easily switch the work item's type at any time. Just follow these steps: 1. Open the work item you’d like to update. 2. Hover over to the right of the work item ID and click **Switch work item type**. Alternatively, you can click **Edit** from the work item's ellipsis (•••) menu to open the **Update work item** modal directly. - + ![Switch work item type](https://media.docs.plane.so/issues/switch-issue-type.webp#hero-tl) + 3. Choose the new work item type from the dropdown next to your project name. - + ![Update work item type](https://media.docs.plane.so/issues/update-issue-type.webp#hero-tl) + 4. Click **Update** to save your changes. ## Bulk update work item types @@ -148,8 +152,9 @@ You can change the work item types for several work items at once. Here’s how: 1. Switch to the **Spreadsheet** layout in the Work items page. 2. Select the work items you want to update. 3. At the bottom of your screen, open the **Work item type** dropdown and pick the new work item type. - + ![Bulk update work item types](https://media.docs.plane.so/issues/bulk-update-issue-types.webp#hero-br) + 4. Click **Update** to apply the changes. ## Disable work item types @@ -158,5 +163,5 @@ You can temporarily pause the creation of new work items for a specific work ite 1. Head to the **Work item types** screen in your project's settings. 2. Toggle off the switch next to the work item type you want to disable. - + ![Disable work item types](https://media.docs.plane.so/issues/disable-issue-types.webp#hero-br) diff --git a/docs/core-concepts/issues/labels.mdx b/docs/core-concepts/issues/labels.md similarity index 98% rename from docs/core-concepts/issues/labels.mdx rename to docs/core-concepts/issues/labels.md index c554bead..dbbf90e4 100644 --- a/docs/core-concepts/issues/labels.mdx +++ b/docs/core-concepts/issues/labels.md @@ -1,6 +1,5 @@ --- title: Categorize and tag project tasks -sidebar_label: Labels description: Use labels to categorize work items, simplify filtering, and organize tasks by component, feature, or custom attributes beyond standard properties. --- @@ -39,6 +38,6 @@ You can also create labels directly from the work item detail page, making it su 1. Ensure no active work items are using the label. 2. Click the **x** icon on the label to delete it. -:::caution +::: warning Removing a label from your project will dissociate it from any work items that had it assigned. ::: diff --git a/docs/core-concepts/issues/layouts.mdx b/docs/core-concepts/issues/layouts.md similarity index 80% rename from docs/core-concepts/issues/layouts.mdx rename to docs/core-concepts/issues/layouts.md index e41d0507..003135bc 100644 --- a/docs/core-concepts/issues/layouts.mdx +++ b/docs/core-concepts/issues/layouts.md @@ -1,6 +1,5 @@ --- title: Project layouts -sidebar_label: Layouts toc_max_heading_level: 2 description: Use layouts to visualize, organize, and manage your work items based on your team's workflow preferences. --- @@ -19,7 +18,7 @@ The List layout is a straightforward, text-based view ideal for scanning and org - **Hierarchy**: View parent-child work item relationships. - **Drag and Drop**: Rearrange tasks directly within the list. -
+
@@ -42,7 +41,7 @@ The Board layout resembles a Kanban board, with work items represented as cards - **Subgroups**: Subgroup tasks to add finer categorizations. - **Status updates**: Drag and drop cards between columns to reflect progress. -
+
@@ -64,7 +63,7 @@ The Calendar layout maps out your work items by their due dates. It's perfect fo - **Date-based planning**: Displays work items based on their end dates. - **Drag and Drop**: Adjust due dates by moving tasks across the calendar. -
+
@@ -86,7 +85,7 @@ The Table layout offers a spreadsheet-like interface, great for bulk editing and - **Keyboard navigation**: Quickly update task properties. - **Bulk edits**: Modify multiple rows at once. -
+
@@ -109,7 +108,7 @@ The Timeline layout, similar to a Gantt chart, shows your project's progress ove - **Critical path visualization**: Identify crucial tasks that could impact deadlines. - **Dependencies**: Link tasks to define order and precedence. See [Dependencies in Timeline](/core-concepts/issues/timeline-dependency) for more info. -
+
diff --git a/docs/core-concepts/issues/overview.mdx b/docs/core-concepts/issues/overview.md similarity index 93% rename from docs/core-concepts/issues/overview.mdx rename to docs/core-concepts/issues/overview.md index 151dd26c..1a5f3987 100644 --- a/docs/core-concepts/issues/overview.mdx +++ b/docs/core-concepts/issues/overview.md @@ -3,8 +3,6 @@ title: Manage work items description: Create, manage and organize work items in Plane with sub-tasks, relations, file attachments, automations, and activity tracking for efficient project management --- -import Tags from "@site/src/components/Tags"; - # Create, organize, and track project tasks In Plane, a work item serves as the fundamental unit of work. They represent the tasks you need to accomplish to make progress Think of work items as the to-dos of your project management flow—assignable, trackable, and actionable. @@ -21,7 +19,7 @@ In the **Create new work item** modal, you can define all the attributes of the When you create a work item, Plane assigns it a sequential identifier based on your project (e.g., PROJ-1). -:::tip +::: tip Plane automatically saves your half-written work items so you can access them later in [Drafts](/core-concepts/drafts), in case you're not ready to finalize them or if you accidentally close the modal. ::: @@ -47,18 +45,20 @@ Break down larger tasks into smaller, manageable components by creating sub-work ![sub-work items](https://media.docs.plane.so/issues/issue-sub-issues.webp#hero) -
- ## Duplicate work items - +
+

Duplicate work items

+
When you need to create similar work items or replicate a work item's structure and properties, Plane lets you duplicate existing work items either within the same project or across different projects. To duplicate a work item, click the **•••** menu in the work item header and select **Make a copy**. You'll see two options: ### Copy in same project + Creates an identical work item within the current project with all the same properties, description, and settings. The new work item gets a fresh identifier and maintains the same title, description, state, and priority attributes. ### Copy in different project + Duplicates the work item to another project in your workspace. This is particularly useful when you have similar tasks across multiple projects or want to move work items between teams. The copied work item adapts to the destination project's identifier format and default state. Duplicating work items is perfect for replicating recurring tasks, or moving work between project phases while maintaining all the essential context and settings. @@ -126,21 +126,21 @@ Plane allows you to upload different file types directly to the work item. Use t - **Other** CSS, JavaScript, JSON, XML, CSV, SQL -
- ## Link pages to work items - +
+

Link pages to work items

+
Connect relevant project pages and wiki documentation to your work items to provide instant access to related context, specifications, or reference materials. -1. Use the **Link pages** button in the work item to open the page linking modal. -2. You can search through your project pages and use the **Show Wiki pages** toggle to include wiki documentation in your search results. +1. Use the **Link pages** button in the work item to open the page linking modal. +2. You can search through your project pages and use the **Show Wiki pages** toggle to include wiki documentation in your search results. 3. Select multiple pages by checking the boxes next to the pages you want to link, then click **Confirm** to establish the connections. Linked pages appear directly in the work item, making it easy for team members to access relevant documentation without leaving the context of their current task. -
- ## Convert work items to epics - +
+

Convert work items to epics

+
Sometimes a work item grows in scope and complexity, and you realize it's actually big enough to be its own epic with multiple sub-tasks. This feature promotes a regular work item into an epic, giving you the structure and flexibility to break it down into smaller, manageable pieces. @@ -152,7 +152,8 @@ From any work item, find the **Convert to Epic** option. The system will ask you You can also [convert Epics to Work Items](/core-concepts/issues/epics#convert-epics-to-work-items). ## Comment on work items -Collaborate on work items through comments. Tag team members, format text, and track all changes in the activity log. See [Work item comments](/communication-and-collaboration/comments-and-activity) for details. + +Collaborate on work items through comments. Tag team members, format text, and track all changes in the activity log. See [Work item comments](/communication-and-collaboration/comments-and-activity) for details. ![Work item activity and comments](https://media.docs.plane.so/issues/issue-activity-comments.webp#hero) @@ -194,21 +195,21 @@ Within your project, you can set up automations to perform the following tasks: - **Auto-archive closed work items** You can set up an automation to archive work items that are marked as closed. This helps keep your active project board clean and organized, while still retaining closed work items for reference. You can customize the time period after which closed work items will automatically be moved to the archive. - + ![Project archive automation](https://media.docs.plane.so/projects/auto-archive-closed-issues.webp#hero) - **Auto-close work items** You can also automate the closing of work items that are still open after a certain period of time. This is useful for ensuring that work items don’t remain open unnecessarily, helping to keep your project board organized and up to date. The automation will move all open work items matching the time period to a selected closed state. - + ![Project close automation](https://media.docs.plane.so/projects/auto-close-issues.webp#hero) -
- ## Export work items - +
+

Export work items

+
You can export your work items to access and analyze your data outside of Plane. Exports support CSV and JSON formats, and you can filter exactly which work items to include. This is useful when you need to create reports, perform external analysis, or share data with stakeholders who don't use Plane. -Learn more about [custom exports](/core-concepts/export#custom-exports). \ No newline at end of file +Learn more about [custom exports](/core-concepts/export#custom-exports). diff --git a/docs/core-concepts/issues/properties.mdx b/docs/core-concepts/issues/properties.md similarity index 100% rename from docs/core-concepts/issues/properties.mdx rename to docs/core-concepts/issues/properties.md diff --git a/docs/core-concepts/issues/states.mdx b/docs/core-concepts/issues/states.md similarity index 100% rename from docs/core-concepts/issues/states.mdx rename to docs/core-concepts/issues/states.md diff --git a/docs/core-concepts/issues/time-tracking.mdx b/docs/core-concepts/issues/time-tracking.md similarity index 86% rename from docs/core-concepts/issues/time-tracking.mdx rename to docs/core-concepts/issues/time-tracking.md index cb33c37e..4539ab41 100644 --- a/docs/core-concepts/issues/time-tracking.mdx +++ b/docs/core-concepts/issues/time-tracking.md @@ -1,15 +1,11 @@ --- title: Time tracking to log hours on tasks -sidebar_label: Time Tracking -hide_title: true description: Log hours on work items, view timesheet records, and download comprehensive reports for project time management. --- -import Tags from "@site/src/components/Tags"; - -
+

Log time on work items

- +
> **Role**: Project Admins @@ -20,7 +16,7 @@ Log time per work item, record time by members and guests per work item, and dow Project members can easily log the time they spend working on specific work items directly within the work item details page. Each time entry can include details such as the amount of time spent and optional notes to provide context. Plane also offers comprehensive reports that aggregate time-tracking data across different projects helping managers analyze productivity and ensure successful project delivery. -
+
@@ -38,11 +34,11 @@ Project members can easily log the time they spend working on specific work item To turn on the Time Tracking feature on your project, follow the steps below: 1. Click the **…** icon next to your project name on the sidebar and click **Settings**. - + ![Project settings](https://media.docs.plane.so/time-tracking/project-settings.webp#hero-bl) 2. Select **Features** on the right pane. Turn on the **Time Tracking** toggle button. - + ![Enable time tracking](https://media.docs.plane.so/time-tracking/enable-time-tracking.webp#hero) The Time Tracking feature is now turned on for your project. @@ -53,10 +49,11 @@ To track time on your work items, follow the steps below: 1. Under your project, open the work item on which you want to log time. 2. Click the **+ Log work** button. Enter the hours, minutes, and description. Click **Save**. - + ![Log work](https://media.docs.plane.so/time-tracking/log-work.webp#hero-br) + 3. The **Tracked time** property will display the logged time. Every time you log work to the work item, this property is updated. - + ![Worklog created](https://media.docs.plane.so/time-tracking/worklog-created.webp#hero) ## View worklogs @@ -64,11 +61,13 @@ To track time on your work items, follow the steps below: To view timesheet records and download reports, follow the steps below: 1. Click the **∨** icon next to your workspace name on the sidebar and click **Workspace Settings**. - + ![Workspace settings](https://media.docs.plane.so/workspaces/workspace-settings.webp#hero-tl) + 2. Select **Worklogs** on the right pane to view the timesheet records. - + ![View worklogs](https://media.docs.plane.so/time-tracking/view-worklogs.webp#hero) + 3. You can filter the records by **Users**, **Projects**, **Start date** and **End date**. It also allows you to download the timesheet reports as Excel or CSV files. - + ![Filter and download worklogs](https://media.docs.plane.so/time-tracking/filter-and-download-worklogs.webp#hero) diff --git a/docs/core-concepts/issues/timeline-dependency.mdx b/docs/core-concepts/issues/timeline-dependency.md similarity index 92% rename from docs/core-concepts/issues/timeline-dependency.mdx rename to docs/core-concepts/issues/timeline-dependency.md index 555b2ee6..916d64e6 100644 --- a/docs/core-concepts/issues/timeline-dependency.mdx +++ b/docs/core-concepts/issues/timeline-dependency.md @@ -1,22 +1,18 @@ --- title: Task dependencies -sidebar_label: Timeline dependencies -hide_title: true description: Create and manage visual task dependencies in Plane with timeline connectors. --- -import Tags from "@site/src/components/Tags"; - -
+

Set up task dependencies in Timeline layout

- +
With dependencies, managing connected tasks has never been easier. This feature provides a clear, high-level view of task relationships, allowing you to quickly see which tasks depend on each other. It helps you plan tasks more efficiently, optimize resource allocation, and stay on top of critical tasks. By tracking dependencies, you can spot bottlenecks, prevent delays, and keep everything on track. ## Timeline connectors -:::info +::: info You need to set the Start date and Due date on work items for dependencies to appear in the Timeline layout. ::: @@ -24,7 +20,7 @@ In the Timeline layout, you can easily set up dependencies by dragging connector ![Timeline dependencies](https://media.docs.plane.so/issues/timeline-dependencies.webp#hero) -:::tip +::: tip When you drag tasks along the timeline, dependent tasks will adjust automatically to stay in sync. ::: diff --git a/docs/core-concepts/issues/visualise_filter.mdx b/docs/core-concepts/issues/visualise_filter.md similarity index 50% rename from docs/core-concepts/issues/visualise_filter.mdx rename to docs/core-concepts/issues/visualise_filter.md index bc7751fd..249a8987 100644 --- a/docs/core-concepts/issues/visualise_filter.mdx +++ b/docs/core-concepts/issues/visualise_filter.md @@ -1,6 +1,5 @@ --- title: Filter work items -sidebar_label: Work Item Filters description: Learn how to filter work items in Plane. --- @@ -20,10 +19,10 @@ Filters live in their own dedicated row below the main toolbar, making them alwa To start filtering your work items: -1. Click the Filters icon button to open a dropdown with all the fields. +1. Click the Filters icon button to open a dropdown with all the fields. 2. Select any field (State, Priority, Assignee, etc.) to add a filter condition. 3. Choose your operator from the dropdown (like "is", "is not", "after", etc.). -4. Select one or more values you want to filter the field by. +4. Select one or more values you want to filter the field by. 5. Your work items update instantly to match your criteria. ### Build complex filters @@ -31,15 +30,18 @@ To start filtering your work items: You can combine multiple filters to create powerful queries: **Find urgent items for your team:** + - Set **Priority** → **is** → `High` - Add **Assignee** → **in** → [Select team members] - Add **State** → **is not** → `Done` **Track overdue work:** + - Set **Target date** → **before** → [Select date] - Add **State group** → **is not** → `Completed` **Review items without assignments:** + - Set **Assignee** → is → [Leave empty] - Add State → in → [Backlog, To Do] @@ -48,33 +50,36 @@ You can combine multiple filters to create powerful queries: Date filters are particularly powerful for project management: **This week's deliverables:** + - Set **Target date** → **between** → [[Select date range] **Items starting soon:** + - Set **Start Date** → **after or on** → [Select date] - Add **Start Date** → **before or on** → [Select date] **Overdue items:** + - Set **Target date** → **before** → [Select date] - Add **State group** → **is not** → [Completed] ## Manage your filters - **Clear specific filters:** -Click the **X** next to any filter condition to remove just that filter. + Click the **X** next to any filter condition to remove just that filter. - **Clear all filters:** -Use the **Clear all** button to start fresh. + Use the **Clear all** button to start fresh. - **Save your view:** -Once you've built the perfect filter combination, use **Save view** to preserve your configuration as a custom view for easy access in the future. Views allow you to quickly switch between different perspectives, such as a high-priority tasks dashboard or a specific team’s workload. See [Views](/core-concepts/views) for more details. + Once you've built the perfect filter combination, use **Save view** to preserve your configuration as a custom view for easy access in the future. Views allow you to quickly switch between different perspectives, such as a high-priority tasks dashboard or a specific team’s workload. See [Views](/core-concepts/views) for more details. ## Filter operators reference Each field supports different operators to give you precise control over your filtering. -:::info[Operator availability] -**Free plan** +::: info Operator availability +**Free plan** You get essential filtering with the `is` operator, plus `between` for date fields. This covers the most common filtering needs. **Paid plans** @@ -85,161 +90,162 @@ Unlock advanced filtering with additional operators including `is not`, `is not Filter work items by their title text to find specific work items. -| Operator | Description | Use case | -|----------|-------------|----------| -| `is` | Exact title match | Title is exactly "Login bug" | -| `is not` | Not exact title match | Title is not "Login bug" | -| `contains` | Title contains text | Title contains "authentication" | +| Operator | Description | Use case | +| ------------------ | --------------------------- | ----------------------------------- | +| `is` | Exact title match | Title is exactly "Login bug" | +| `is not` | Not exact title match | Title is not "Login bug" | +| `contains` | Title contains text | Title contains "authentication" | | `does not contain` | Title does not contain text | Title does not contain "deprecated" | ### Milestone Filter work items by their associated milestone to track progress toward major goals or releases. -| Operator | Description | Use case | -|----------|-------------|----------| -| `is` | Exactly this milestone | Items in Q1 Launch milestone | -| `is any of` | Any of these milestones | In Q1 Launch or Beta Release | -| `is not` | Not this specific milestone | Not in Q1 Launch | +| Operator | Description | Use case | +| --------------- | ------------------------------ | -------------------------------- | +| `is` | Exactly this milestone | Items in Q1 Launch milestone | +| `is any of` | Any of these milestones | In Q1 Launch or Beta Release | +| `is not` | Not this specific milestone | Not in Q1 Launch | | `is not any of` | Not in any of these milestones | Not in Q1 Launch or Beta Release | -| `is empty` | No milestone assigned | Items without any milestone | +| `is empty` | No milestone assigned | Items without any milestone | ### Type Filter by custom work item types, such as Bug, Feature, or Task. -| Operator | Description | Use case | -|----------|-------------|----------| -| `is` | Exactly matches one type | Show only work items with type *Bug* | -| `is any of` | Matches any of several types | Bugs or Tasks only | -| `is not` | Excludes one type | Everything except Bug | -| `is not any of` | Excludes several types | Not Bugs or Tasks | +| Operator | Description | Use case | +| --------------- | ---------------------------- | ------------------------------------ | +| `is` | Exactly matches one type | Show only work items with type _Bug_ | +| `is any of` | Matches any of several types | Bugs or Tasks only | +| `is not` | Excludes one type | Everything except Bug | +| `is not any of` | Excludes several types | Not Bugs or Tasks | ### State View work items based on their current state, such as Todo, In Progress, or Done. -| Operator | Description | Use case | -|----------|-------------|----------| -| `is` | Exactly matches one state | Only items In Progress | -| `is any of` | Matches any of several states | Todo or In Progress | -| `is not` | Excludes one state | Everything except Done | -| `is not any of` | Excludes several states | Not Done or Cancelled | +| Operator | Description | Use case | +| --------------- | ----------------------------- | ---------------------- | +| `is` | Exactly matches one state | Only items In Progress | +| `is any of` | Matches any of several states | Todo or In Progress | +| `is not` | Excludes one state | Everything except Done | +| `is not any of` | Excludes several states | Not Done or Cancelled | ### State Group View all, active or backlog work items. -| Operator | Description | Use case | -|----------|-------------|----------| -| `is` | Exactly matches one group | Show only Started work items | -| `is any of` | Matches any of several groups | Backlog or Unstarted | -| `is not` | Excludes one group | Everything except Backlog | -| `is not any of` | Excludes several groups | Not Backlog or Cancelled | +| Operator | Description | Use case | +| --------------- | ----------------------------- | ---------------------------- | +| `is` | Exactly matches one group | Show only Started work items | +| `is any of` | Matches any of several groups | Backlog or Unstarted | +| `is not` | Excludes one group | Everything except Backlog | +| `is not any of` | Excludes several groups | Not Backlog or Cancelled | ### Assignees Focus on work items assigned to specific team members to track workloads or identify pending tasks. -| Operator | Description | Use case | -|----------|-------------|----------| -| `is` | Exactly matches one person | Find work assigned to Sarah | -| `is any of` | Matches any of multiple people | Show work for the frontend team | -| `is not` | Excludes one person | Hide items assigned to John | -| `is not any of` | Excludes multiple people | Not assigned to John or Sarah | -| `is empty` | No assignee | Unassigned work items | +| Operator | Description | Use case | +| --------------- | ------------------------------ | ------------------------------- | +| `is` | Exactly matches one person | Find work assigned to Sarah | +| `is any of` | Matches any of multiple people | Show work for the frontend team | +| `is not` | Excludes one person | Hide items assigned to John | +| `is not any of` | Excludes multiple people | Not assigned to John or Sarah | +| `is empty` | No assignee | Unassigned work items | ### Priority Filter work items by their priority level (e.g., Urgent, High, Medium, Low) to focus on the most critical tasks. -| Operator | Description | Use case | -|----------|-------------|----------| -| `is` | Exactly matches one priority | Only high priority items | -| `is any of` | Matches any of several priorities | High or medium priority | -| `is not` | Excludes one priority | Everything except low priority | -| `is not any of` | Excludes several priorities | Not low or none priority | +| Operator | Description | Use case | +| --------------- | --------------------------------- | ------------------------------ | +| `is` | Exactly matches one priority | Only high priority items | +| `is any of` | Matches any of several priorities | High or medium priority | +| `is not` | Excludes one priority | Everything except low priority | +| `is not any of` | Excludes several priorities | Not low or none priority | ### Mentions Filter tasks where you or another team member has been mentioned to ensure no critical tasks are missed. -| Operator | Description | Use case | -|----------|-------------|----------| -| `is` | Exactly matches one person | Items mentioning Sarah | -| `is any of` | Matches any of multiple people | Mentioning team leads | -| `is not` | Excludes one person | Not mentioning John | -| `is not any of` | Excludes multiple people | Not mentioning John or Sarah | -| `is empty` | No mentions | Items with no mentions | +| Operator | Description | Use case | +| --------------- | ------------------------------ | ---------------------------- | +| `is` | Exactly matches one person | Items mentioning Sarah | +| `is any of` | Matches any of multiple people | Mentioning team leads | +| `is not` | Excludes one person | Not mentioning John | +| `is not any of` | Excludes multiple people | Not mentioning John or Sarah | +| `is empty` | No mentions | Items with no mentions | ### Label Filter work items based on custom tags, such as "Frontend", or "Marketing". -| Operator | Description | Use case | -|----------|-------------|----------| -| `is` | Exact label match | Label exactly "bug" | -| `is any of` | Matches any of the Labels| frontend or backend | -| `is not` | Not exact label match | Label not exactly "bug" | -| `is not any of` | Excludes several labels | Not frontend or backend | -| `is empty` | No labels | Items without any labels | +| Operator | Description | Use case | +| --------------- | ------------------------- | ------------------------ | +| `is` | Exact label match | Label exactly "bug" | +| `is any of` | Matches any of the Labels | frontend or backend | +| `is not` | Not exact label match | Label not exactly "bug" | +| `is not any of` | Excludes several labels | Not frontend or backend | +| `is empty` | No labels | Items without any labels | ### Cycle View work items tied to specific cycles to monitor progress within a timeframe. -| Operator | Description | Use case | -|----------|-------------|----------| -| `is` | Exactly this cycle | Items in Sprint 23 | -| `is any of` | Any of these cycles | In Sprint 23 or 24 | -| `is not` | Not this specific cycle | Not in Sprint 23 | +| Operator | Description | Use case | +| --------------- | -------------------------- | ---------------------- | +| `is` | Exactly this cycle | Items in Sprint 23 | +| `is any of` | Any of these cycles | In Sprint 23 or 24 | +| `is not` | Not this specific cycle | Not in Sprint 23 | | `is not any of` | Not in any of these cycles | Not in Sprint 23 or 24 | -| `is empty` | No cycle assigned | Items not in any cycle | +| `is empty` | No cycle assigned | Items not in any cycle | ### Module Filter work items by their associated module to analyze related tasks together. -| Operator | Description | Use case | -|----------|-------------|----------| -| `is` | Exactly this module | Items in Authentication module | -| `is any of` | Any of these modules | In API development or Data management modules | -| `is not` | Not this specific module | Not in Authentication module | -| `is not any of` | Not in any of these modules | Not in API or Data management | -| `is empty` | No module assigned | Items not in any module | +| Operator | Description | Use case | +| --------------- | --------------------------- | --------------------------------------------- | +| `is` | Exactly this module | Items in Authentication module | +| `is any of` | Any of these modules | In API development or Data management modules | +| `is not` | Not this specific module | Not in Authentication module | +| `is not any of` | Not in any of these modules | Not in API or Data management | +| `is empty` | No module assigned | Items not in any module | ### Start date, Due date, Created at, and Updated at Filter work items by start dates to view tasks that are planned or already in progress, and by target dates to track upcoming deadlines or overdue tasks. For even more flexibility, you can specify a custom date range to focus on a specific timeframe. -| Operator | Description | Use case | -|----------|-------------|----------| -| `is` | Exactly this date | Items due today | -| `is not` | Not this specific date | Not due today | -| `before` | Earlier than this date | Due before Monday | -| `not before` | This date or later | Not due before Monday (due Monday or later) | -| `before or on` | This date or earlier | Due Monday or earlier | -| `not before or on` | Later than this date | Not due Monday or earlier (due after Monday) | -| `after` | Later than this date | Due after Friday | -| `not after` | This date or earlier | Not due after Friday (due Friday or earlier) | -| `after or on` | This date or later | Due Friday or later | -| `not after or on` | Earlier than this date | Not due Friday or later (due before Friday) | -| `between` | Within date range | Due this week | -| `not between` | Outside date range | Not due this week | -| `is empty` | No date set | Items without start date or target date | +| Operator | Description | Use case | +| ------------------ | ---------------------- | -------------------------------------------- | +| `is` | Exactly this date | Items due today | +| `is not` | Not this specific date | Not due today | +| `before` | Earlier than this date | Due before Monday | +| `not before` | This date or later | Not due before Monday (due Monday or later) | +| `before or on` | This date or earlier | Due Monday or earlier | +| `not before or on` | Later than this date | Not due Monday or earlier (due after Monday) | +| `after` | Later than this date | Due after Friday | +| `not after` | This date or earlier | Not due after Friday (due Friday or earlier) | +| `after or on` | This date or later | Due Friday or later | +| `not after or on` | Earlier than this date | Not due Friday or later (due before Friday) | +| `between` | Within date range | Due this week | +| `not between` | Outside date range | Not due this week | +| `is empty` | No date set | Items without start date or target date | ### Created by Identify work items created by specific individuals. -| Operator | Description | Use case | -|----------|-------------|----------| -| `is` | Exactly matches one person | Items created by Sarah | -| `is any of` | Matches any of multiple people | Show work for the frontend team | -| `is not` | Excludes one person | Not created by John | -| `is not any of` | Excludes multiple people | Not created by John or Sarah | +| Operator | Description | Use case | +| --------------- | ------------------------------ | ------------------------------- | +| `is` | Exactly matches one person | Items created by Sarah | +| `is any of` | Matches any of multiple people | Show work for the frontend team | +| `is not` | Excludes one person | Not created by John | +| `is not any of` | Excludes multiple people | Not created by John or Sarah | ### Custom properties + Filter work items by any custom properties defined for each work item type in your project. The available operators depend on the property type. **Text properties** @@ -268,7 +274,7 @@ Filter work items by any custom properties defined for each work item type in yo | `not between` | Outside numeric range | Priority score not between 20 and 40 | | `is empty` | No number entered | Items without impact score | -**Dropdown properties** +**Dropdown properties** | Operator | Description | Use case | |----------|-------------|----------| | `is` | Exactly this option | Severity is Critical | diff --git a/docs/core-concepts/issues/work-item-url.mdx b/docs/core-concepts/issues/work-item-url.md similarity index 89% rename from docs/core-concepts/issues/work-item-url.mdx rename to docs/core-concepts/issues/work-item-url.md index 3efa7a45..1a5f6aa7 100644 --- a/docs/core-concepts/issues/work-item-url.mdx +++ b/docs/core-concepts/issues/work-item-url.md @@ -19,6 +19,7 @@ When you visit this URL, Plane authenticates you, redirects to your last active ## Build a URL with parameters Start with the base URL, add `?`, then append parameters in `name=value` format. Separate multiple parameters with `&`. + ```bash https://app.plane.so/work-items/new?title=Fix+bug&priority=high&assignee=me ``` @@ -160,10 +161,10 @@ https://app.plane.so/work-items/new?title=Implement+dark+mode&description=Add+da ## Things to know - **Authentication required** -Users must be logged in. If they're not, Plane redirects them to sign in first, then continues to the work item modal. -- **Invalid values are ignored** -If a project identifier or display name doesn't match an existing record, Plane skips that parameter and processes the rest. -- **Case doesn't matter** -Values like priority and project identifier are case-insensitive. -- **Users can still edit** -Pre-filled values aren't locked. After the modal opens, users can change any field before creating the work item. \ No newline at end of file + Users must be logged in. If they're not, Plane redirects them to sign in first, then continues to the work item modal. +- **Invalid values are ignored** + If a project identifier or display name doesn't match an existing record, Plane skips that parameter and processes the rest. +- **Case doesn't matter** + Values like priority and project identifier are case-insensitive. +- **Users can still edit** + Pre-filled values aren't locked. After the modal opens, users can change any field before creating the work item. diff --git a/docs/core-concepts/modules.mdx b/docs/core-concepts/modules.md similarity index 95% rename from docs/core-concepts/modules.mdx rename to docs/core-concepts/modules.md index 97f74b33..cc41c23b 100644 --- a/docs/core-concepts/modules.mdx +++ b/docs/core-concepts/modules.md @@ -1,10 +1,7 @@ --- title: Organize project features with Modules -sidebar_label: Modules description: Use Modules to organize work items, track feature development, and break down projects into manageable components with progress tracking and multiple layouts. --- -import Tags from "@site/src/components/Tags"; - # Break your project down into Modules @@ -24,7 +21,7 @@ To create a new Module: ![Create module](https://media.docs.plane.so/modules/create-module.webp#hero) -:::info +::: info You can add Members to the Module irrespective of whether they are the assignees in the work items present in the Module. ::: @@ -33,11 +30,11 @@ You can add Members to the Module irrespective of whether they are the assignees Once your Module is created, you can populate it with work items: - Add new or existing work items directly from the Module page. - + ![Add work items to module](https://media.docs.plane.so/modules/add-issues-to-module.webp#hero) - Assign multiple Modules to a work item from its properties. For instance, a work item can belong to both a Feature module and a Release module simultaneously. - + ![Work item module property](https://media.docs.plane.so/modules/issue-module-property.webp#hero) ## Module states @@ -90,10 +87,10 @@ Visualize your Modules in different layouts: - **Gallery layout** – Displays Modules as cards, with a clear breakdown of work item counts by state for better visibility. - **Timeline layout** – Displays the sequence of goals and their progress, helping you ensure your project is on track. - + ![Module layout](https://media.docs.plane.so/modules/module-gallery.webp#hero) -:::info +::: info Easily share a Module by copying its link. Mark frequently used Modules as favorites for quick access. ::: @@ -105,11 +102,11 @@ Archive completed Modules to declutter your views while preserving historical da If a Module is no longer needed, you can delete it. Deleting a Module removes its progress analytics and de-links all associated work items. -
- ## Export modules - +
+

Export modules

+
You can export module data to track progress, create reports, or share module updates with stakeholders outside of Plane. Exports include all work items within the module along with their key details. -Learn more about [custom exports](/core-concepts/export#custom-exports). \ No newline at end of file +Learn more about [custom exports](/core-concepts/export#custom-exports). diff --git a/docs/core-concepts/pages/editor-blocks.mdx b/docs/core-concepts/pages/editor-blocks.md similarity index 80% rename from docs/core-concepts/pages/editor-blocks.mdx rename to docs/core-concepts/pages/editor-blocks.md index f5e6674c..3f93c255 100644 --- a/docs/core-concepts/pages/editor-blocks.mdx +++ b/docs/core-concepts/pages/editor-blocks.md @@ -1,10 +1,9 @@ --- title: Editor blocks for pages -sidebar_label: Editor blocks description: Explore all available content blocks in Plane's Page editor. --- -import Tags from "@site/src/components/Tags"; +# Editor blocks for pages List of all the content blocks available in the page, description and comment editors. @@ -45,66 +44,59 @@ Highlights quoted text or important statements with distinct formatting. Displays code snippets or command-line text with proper formatting and syntax highlighting. - -
- ## Embed - +
+

Embed

+
Seamlessly integrate external content directly into your documents with rich, interactive embeds. The embed feature supports a wide variety of platforms and content types, making it easy to enhance your documentation with multimedia and interactive elements. ![Embed](https://media.docs.plane.so/pages/external-embeds.webp#hero) - Use the `/embed` slash command to quickly insert an embed block. +Use the `/embed` slash command to quickly insert an embed block. This opens an embed dialog where you can paste any supported link. The system automatically detects the content type and creates an appropriate embed with a rich preview. This eliminates the need for users to navigate away from your content to view referenced materials. ## Image -Inserts and displays images within your content. -
- ## Attachment +Inserts and displays images within your content. + +
+

Attachment

+ :tags='[{ name: "Pro", link:"https://plane.so/pricing", additionalClass: "pro" }]'/>
Uploads and embeds files directly into your content, supporting documents, images, and other file types up to 100MB each. #### Show video preview + When you upload video files as attachments, you can display them with inline playback controls. Just hover over the block and click the **⋮⋮** icon that appears. Select **Show preview** to convert the file link into an embedded video player. This works for all supported video formats. - ![Show preview](https://media.docs.plane.so/pages/show-preview.webp#hero) +![Show preview](https://media.docs.plane.so/pages/show-preview.webp#hero) -
- ## Video +
+

Video

+ :tags='[{ name: "Pro", link:"https://plane.so/pricing", additionalClass: "pro" }]'/>
Embeds video content directly into your pages for rich multimedia documentation. ![Embed videos](https://media.docs.plane.so/pages/embed-videos.webp#hero) -Type `/video` to insert a video block, then upload a video file. The video appears inline with playback controls, allowing viewers to watch without leaving the page. Supported video formats include MP4, MPEG, OGG Video, WebM, QuickTime, AVI, and WMV. +Type `/video` to insert a video block, then upload a video file. The video appears inline with playback controls, allowing viewers to watch without leaving the page. Supported video formats include MP4, MPEG, OGG Video, WebM, QuickTime, AVI, and WMV. #### Show as attachment + If you have a video displayed with inline preview and want to convert it to a simple file link, hover over the video block and select **Show as attachment** from the actions menu. This collapses the video player into a compact attachment link. ![Show as attachment](https://media.docs.plane.so/pages/show-as-attachment.webp#hero) -
-## Math equations +
+

Math equations

+ :tags='[{ name: "Business", link:"https://plane.so/pricing", additionalClass: "business" }]'/>
Add mathematical expressions and formulas to your Pages using LaTeX syntax. Whether you need to document complex calculations, display statistical formulas, or include scientific notations, Plane supports both inline and block-style mathematical equations. This is perfect for technical documentation, engineering specs, data analysis reports, and any content requiring precise mathematical notation. @@ -112,42 +104,46 @@ Add mathematical expressions and formulas to your Pages using LaTeX syntax. Whet ![Math equations](https://media.docs.plane.so/pages/math-equations.webp#hero) ### Block equation + Creates standalone mathematical expressions using LaTeX syntax. Block equations are displayed on their own line with centered formatting, perfect for formulas, theorems, and complex mathematical statements that need emphasis. Use the `/blockequation` slash command: - ``` - \lim_{x \to \infty} \frac{1}{x} = 0 - ``` + +``` +\lim_{x \to \infty} \frac{1}{x} = 0 +``` + Or use double dollar syntax: - ```latex - $$ \int_a^b f(x)\,dx = F(b) - F(a) $$ - ``` + +```latex +$$ \int_a^b f(x)\,dx = F(b) - F(a) $$ +``` ### Inline equation + Embeds mathematical expressions within regular text flow using LaTeX syntax. Inline equations maintain the same text baseline, allowing you to seamlessly integrate mathematical notation into sentences and paragraphs. Use the `/inlineequation` slash command: - ``` - \bar{x} = \frac{1}{n}\sum_{i=1}^{n} x_i - ``` -Or use single dollar syntax: - ```latex - $ a^2 + b^2 = c^2 $ - ``` -Both equation types support full LaTeX rendering with built-in validation and error handling for invalid mathematical expressions. +``` +\bar{x} = \frac{1}{n}\sum_{i=1}^{n} x_i +``` + +Or use single dollar syntax: +```latex +$ a^2 + b^2 = c^2 $ +``` + +Both equation types support full LaTeX rendering with built-in validation and error handling for invalid mathematical expressions. -
-## Draw.io diagrams +
+

Draw.io diagrams

+ :tags='[{ name: "Business", link:"https://plane.so/pricing", additionalClass: "business" }]'/>
-:::tip[Prerequisites] +::: tip Prerequisites Before you can add Draw.io diagrams to Pages or Wiki, you need to [connect the Draw.io integration](/integrations/draw-io) from Workspace Settings. ::: @@ -156,21 +152,24 @@ Create and manage interactive diagrams and whiteboards directly within your Page ![Draw.io diagram](https://media.docs.plane.so/pages/draw-io-diagram.webp#hero) ### Diagram + Create professional diagrams, flowcharts, and visual documentation using the full Draw.io editor with comprehensive shape libraries. Perfect for technical documentation, process flows, system architecture, network diagrams, and organizational charts. Use the `/diagram` or `/drawio-diagram` slash command to insert a diagram block. Click the placeholder to launch the Draw.io editor. ### Board + Create whiteboards with freehand drawing and sketching capabilities using a simplified interface. Ideal for brainstorming sessions, quick mockups, concept visualization, and collaborative ideation. Use the `/board` or `/drawio-board` slash command to insert a whiteboard block. Click the placeholder that says "Click to start editing whiteboard" to launch the board interface. Both modes feature a consistent toolbar with **Save** and **Exit** buttons, making it easy to preserve your work and return to your Page. All diagrams are fully interactive—simply click any saved diagram to edit it again. -## Callout +## Callout + Creates visually distinct sections with customizable icons and colors for highlighting warnings, tips , and calls-to-action. -
- ## Work item embed - +
+

Work item embed

+
References work items directly in the editor to track details and progress. @@ -182,4 +181,3 @@ Adds a horizontal line to separate content sections visually. ## Emoji Add emojis to your content across all Plane editors. Type `/emoji` to open the picker or use `:` and start typing for suggestions like `:smile:`. Choose from standard Unicode emojis and GitHub's extended collection. - diff --git a/docs/core-concepts/pages/inline-comments.mdx b/docs/core-concepts/pages/inline-comments.md similarity index 73% rename from docs/core-concepts/pages/inline-comments.mdx rename to docs/core-concepts/pages/inline-comments.md index 3e86714a..eaf40b34 100644 --- a/docs/core-concepts/pages/inline-comments.mdx +++ b/docs/core-concepts/pages/inline-comments.md @@ -1,15 +1,11 @@ --- title: Inline comments for collaborative page discussions -sidebar_label: Page Inline Comments -hide_title: true description: Collaborate directly in Plane pages with inline comments. Highlight text, mention teammates, and resolve discussions across projects, wikis, and teamspaces. --- -import Tags from "@site/src/components/Tags"; - -
- # Add inline comments in pages - +
+

Add inline comments in pages

+
Inline comments allow you to collaborate directly within your documentation by highlighting specific text and starting focused discussions. This feature is available across Project pages, Wiki pages, and Teamspace pages. @@ -25,13 +21,13 @@ When you need to discuss, clarify, or provide feedback on specific content in yo Inline comments work across three different page types in Plane: - **Project pages** -Collaborate on project-specific documentation with your project team. Comments are visible to all project members. + Collaborate on project-specific documentation with your project team. Comments are visible to all project members. - **Wiki pages** -Discuss workspace-wide documentation that spans multiple projects. All workspace members can view and participate in these conversations. + Discuss workspace-wide documentation that spans multiple projects. All workspace members can view and participate in these conversations. - **Teamspace pages** -Have focused discussions within your teamspace. Only teamspace members have access to these comments. + Have focused discussions within your teamspace. Only teamspace members have access to these comments. Each location functions independently, allowing you to keep conversations contextual to their scope. @@ -51,12 +47,13 @@ To comment on specific text within any page: Your comment will be anchored to the selected text, indicated by highlighting on the page. ## Attach images to comments + You can add images to any comment or reply to provide screenshots, diagrams, or visual references: - In the comment input field, click the attachment icon. - Select an image file from your device. - The image will be uploaded and attached to your comment. -- You can attach multiple images to a single comment if needed. +- You can attach multiple images to a single comment if needed. ## Mention team members @@ -109,11 +106,11 @@ The comment will return to the active comments list and become visible in the de Use the **Filters** button in the Comments panel to control which comments you see: - **Show active** -Displays only unresolved comments (default view). + Displays only unresolved comments (default view). - **Show resolved** -Displays only resolved comments. + Displays only resolved comments. - **Show all** -Displays all comments regardless of status. + Displays all comments regardless of status. This helps you focus on conversations that still need attention or review closed discussions when needed. @@ -124,9 +121,9 @@ To modify or remove your own comments: 1. Click the three-dot menu (•••) next to your comment. 2. Choose either: - **Edit** - Modify the comment text and save your changes. - - **Delete** - Permanently remove the comment. + Modify the comment text and save your changes. + - **Delete** + Permanently remove the comment. Note that only the comment author can edit or delete their own comments. @@ -135,14 +132,14 @@ Note that only the comment author can edit or delete their own comments. Comment permissions align with page access: - **Project pages** -Project admins and members can view and comment on all project pages. If you have access to view the project page, you can participate in its comment threads. + Project admins and members can view and comment on all project pages. If you have access to view the project page, you can participate in its comment threads. - **Wiki pages** -Workspace admins and members can view and comment on wiki pages. For private pages that have been shared with you, you can also add and view comments based on your sharing permissions. + Workspace admins and members can view and comment on wiki pages. For private pages that have been shared with you, you can also add and view comments based on your sharing permissions. - **Teamspace pages** -Only teamspace members can view and comment on teamspace pages. These comments remain private to the teamspace and are not visible to users outside the teamspace. + Only teamspace members can view and comment on teamspace pages. These comments remain private to the teamspace and are not visible to users outside the teamspace. -:::info -Guest users can only comment on pages they create. -::: \ No newline at end of file +::: info +Guest users can only comment on pages they create. +::: diff --git a/docs/core-concepts/pages/nested-pages.mdx b/docs/core-concepts/pages/nested-pages.md similarity index 90% rename from docs/core-concepts/pages/nested-pages.mdx rename to docs/core-concepts/pages/nested-pages.md index e4dd4d55..56d1bcee 100644 --- a/docs/core-concepts/pages/nested-pages.mdx +++ b/docs/core-concepts/pages/nested-pages.md @@ -1,22 +1,18 @@ --- title: Nested pages for hierarchical documentation structure -sidebar_label: Nested Pages -hide_title: true description: Create structured documentation with Nested Pages. Build parent-child hierarchies, organize content logically, and improve navigation for your team's knowledge base. --- -import Tags from "@site/src/components/Tags"; - -
- # Structure content with nested pages - +
+

Structure content with nested pages

+
Nested Pages allows you to create a hierarchical structure for your content, helping you organize documentation logically and improve navigation for your team. This feature enables you to build robust knowledge architecture with parent and child pages, similar to folders and files. Nested pages are available in two contexts: -- Wiki Pages (Workspace level) +- Wiki Pages (Workspace level) - Project Pages (Project level) ## Create nested pages @@ -30,6 +26,7 @@ Wiki Pages offer an additional ways to create nested pages. Click the **+** icon ![Nested page on the wiki sidebar](https://media.docs.plane.so/pages/create-nested-page-sidebar.webp#hero) ## Move pages between levels + Both Wiki Pages and Project Pages support reorganizing your page hierarchy. To promote a nested page to a higher level, drag it to the desired position in the hierarchy. To demote a page to become nested under another, drag it under the new parent. @@ -64,4 +61,4 @@ To promote a nested page to a higher level, drag it to the desired position in t - Archived pages can be restored from the **Archived** section. - Deleting a parent page prompts a warning about nested content. You can choose to: - Delete only the parent page and move nested pages up one level. - - Delete the parent and all nested content permanently. \ No newline at end of file + - Delete the parent and all nested content permanently. diff --git a/docs/core-concepts/pages/overview.mdx b/docs/core-concepts/pages/overview.md similarity index 89% rename from docs/core-concepts/pages/overview.mdx rename to docs/core-concepts/pages/overview.md index 497a6fb9..35dd17d1 100644 --- a/docs/core-concepts/pages/overview.mdx +++ b/docs/core-concepts/pages/overview.md @@ -1,11 +1,8 @@ --- title: Pages for project documentation -sidebar_label: Manage project pages description: Create, format, and share project documentation with AI assistance, content blocks, version history, and web publishing options. --- -import Tags from "@site/src/components/Tags"; - # Document with AI-powered Pages Pages in Plane let you easily capture and organize project-related information. Whether you’re documenting meeting notes or detailing technical or product requirements, Pages allow you to collaborate directly within the context of your project—no need for external tools. @@ -21,7 +18,7 @@ Pages are turned on by default when you create a new project. If needed, you can ![Create page](https://media.docs.plane.so/pages/create-page.webp#hero) - You can set pages to be either public or private. Public pages are visible to everyone in your workspace, while private pages are only accessible to you. To change a page’s visibility, just go to the **•••** menu on that page anytime. - + ![Public or private pages](https://media.docs.plane.so/pages/public-private-page.webp#hero) ## Add content @@ -32,16 +29,15 @@ Pages are turned on by default when you create a new project. If needed, you can - You can easily drag and drop content blocks in Plane to rearrange them on the page. Just hover over any block, grab the **⋮⋮** icon that shows up, and drag it to where you want. Let go of it to drop the block in its new spot. - ### Format your content ![Static toolbar](https://media.docs.plane.so/pages/static-toolbar.webp#hero) -+ The static toolbar at the top of the page offers a range of styling options for your content, including basic blocks like headings and lists, and advanced blocks like images, tables, and more. +- The static toolbar at the top of the page offers a range of styling options for your content, including basic blocks like headings and lists, and advanced blocks like images, tables, and more. -- Quickly adjust headings (H1-H6) to create a clear, structured hierarchy in your document. -- Add emphasis with text or background colors, and style important information with bold, italic, underline, and strikethrough options for better readability. -- Align your content to the left, right, or center to ensure proper layout and visual balance in your document. +* Quickly adjust headings (H1-H6) to create a clear, structured hierarchy in your document. +* Add emphasis with text or background colors, and style important information with bold, italic, underline, and strikethrough options for better readability. +* Align your content to the left, right, or center to ensure proper layout and visual balance in your document. ### Markdown support @@ -49,22 +45,22 @@ Plane allows you to use Markdown in Pages, making it easy to format content quic To use Markdown in Plane, simply type the relevant symbols (like # for headings or - for lists) directly within the page. Plane will automatically convert your Markdown into the appropriate format, helping you keep your workflow smooth and efficient. -
- ## AI helper - +
+

AI helper

+
![AI helper](https://media.docs.plane.so/pages/ai-helper.webp#hero-tl) -Plane’s AI tools enhance content creation by helping you refine, reframe, and enrich your writing. Whether you need to paraphrase a sentence, simplify complex information, or elaborate on a topic, Pages offers quick solutions right within the editor. +Plane’s AI tools enhance content creation by helping you refine, reframe, and enrich your writing. Whether you need to paraphrase a sentence, simplify complex information, or elaborate on a topic, Pages offers quick solutions right within the editor. -- Make your content clearer or concise by rephrasing text or breaking down complex ideas. -- Quickly generate summaries to highlight key points, ideal for meetings or lengthy documents. +- Make your content clearer or concise by rephrasing text or breaking down complex ideas. +- Quickly generate summaries to highlight key points, ideal for meetings or lengthy documents. - Expand on ideas to add context, detail, or depth to your writing. - Get suggestions for clear, catchy titles. -
- ## Mention work items - +
+

Mention work items

+
Link directly to work items within your pages using the `@` mention feature. This creates a connection between your documentation and the actual work being tracked in your project. @@ -89,23 +85,25 @@ Mentioned work items appear as interactive links in your page. Clicking them tak You can perform several actions on any block within a page. Just hover over the block and click the **⋮⋮ icon** that appears. -
- ### Copy link to block - +
+

Copy link to block

+
Get a direct URL to this specific block. When someone opens this link, they'll jump straight to this block in the page, making it easy to reference specific sections in discussions or work items. ### Duplicate block + Create a copy of the block to reuse content without starting from scratch. ### Delete block + Remove the block entirely from the page. These quick actions help you manage and reference your content efficiently, especially in longer documents where you need to point teammates to specific sections. -
- ## Convert selected text to work items - +
+

Convert selected text to work items

+
Turn any text selection in your page into a work item instantly. This feature helps you capture action items or tasks directly from your documentation without interrupting your flow. @@ -123,7 +121,7 @@ This seamless workflow ensures nothing gets lost in translation between planning ## Page actions -:::info +::: info When a Member locks, unlocks, archives, or restores a Page, the action takes effect immediately for all users with access to the Page. ::: @@ -147,9 +145,9 @@ Share the page by copying its link to send to your teammates or link it in a wor Duplicate an existing page to jumpstart new content. -
- ### Move Page - +
+

Move Page

+
Transfer a page to Wiki, Teamspace or a different Project in your workspace. @@ -204,9 +202,9 @@ But it goes beyond just knowing who's there - you can actually see where your te The live cursors update instantly as people type, select text, or move around the document. It's like having everyone gathered around the same whiteboard, but digitally. -
- ## Publish Page - +
+

Publish Page

+
![Publish Page](https://media.docs.plane.so/pages/publish-page.webp#hero-tr) diff --git a/docs/core-concepts/pages/wiki.mdx b/docs/core-concepts/pages/wiki.md similarity index 79% rename from docs/core-concepts/pages/wiki.mdx rename to docs/core-concepts/pages/wiki.md index 3d22ed3c..f449a3cb 100644 --- a/docs/core-concepts/pages/wiki.mdx +++ b/docs/core-concepts/pages/wiki.md @@ -1,15 +1,11 @@ --- title: Wiki for company wide knowledge base -sidebar_label: Wiki -hide_title: true description: Create and organize company-wide documentation, policies, guides, and knowledge that extends beyond individual projects. --- -import Tags from "@site/src/components/Tags"; - -
- # Centralized documentation with Wiki - +
+

Centralized documentation with Wiki

+
Plane's Wiki is a place to store and share company-wide information. Unlike project pages that focus on specific work, the Wiki helps you create documentation that matters to everyone in the organization. @@ -43,33 +39,30 @@ Where project pages zoom in on team-specific details, the Wiki gives you a bird' 4. Need to find something quick? Use the sidebar's search function to locate specific pages or information. -
-## Share private pages +
+

Share private pages

+ :tags='[{ name: "Business", link:"https://plane.so/pricing", additionalClass: "business" }]'/>
While private pages are typically only accessible to their creator, you can selectively share private wiki pages with specific team members in your workspace. This gives you granular control over who can access sensitive documentation without making it visible to your entire organization. -![Wiki](https://media.docs.plane.so/wiki/share-private-pages.webp#hero) +![Wiki](https://media.docs.plane.so/wiki/share-private-pages.webp#hero) 1. Open any private page you've created. 2. Click the **Share** button in the top-right corner of the page. 3. In the dialog box, use the search field to find and add specific team members. 4. Set appropriate permissions for each person: - - Can view - Allows the person to read the page but not make changes - - Can edit - Gives full editing access to the page content + - Can view - Allows the person to read the page but not make changes + - Can edit - Gives full editing access to the page content 5. Click **Share** to apply the changes. -When you share a private wiki page, it will automatically appear in the **Shared** section of the Wiki sidebar. +When you share a private wiki page, it will automatically appear in the **Shared** section of the Wiki sidebar. ### Manage shared access + The page creator always retains full control over sharing settings. Once you've shared a wiki page, you can easily modify permissions or remove access: 1. Click the dropdown next to any shared member's name to change their permission level. 2. Select **Remove** to revoke their access to the page. - diff --git a/docs/core-concepts/power-k.mdx b/docs/core-concepts/power-k.md similarity index 98% rename from docs/core-concepts/power-k.mdx rename to docs/core-concepts/power-k.md index d2b02c2e..b4035a77 100644 --- a/docs/core-concepts/power-k.mdx +++ b/docs/core-concepts/power-k.md @@ -3,6 +3,8 @@ title: Power K description: Use the Power K command palette to quickly search across projects, access settings, create new items, and navigate efficiently with keyboard shortcuts. --- +# Power K + ![](https://media.docs.plane.so/power-k/power-k1.webp#hero) ## The power of Power K @@ -17,7 +19,7 @@ description: Use the Power K command palette to quickly search across projects, ![](https://media.docs.plane.so/power-k/power-k3.webp#hero) -:::note +::: info 🎯 Roadmap item Search profiles, comments, and work item descriptions diff --git a/docs/core-concepts/projects/initiatives.mdx b/docs/core-concepts/projects/initiatives.md similarity index 96% rename from docs/core-concepts/projects/initiatives.mdx rename to docs/core-concepts/projects/initiatives.md index 3929b35f..dfaea01f 100644 --- a/docs/core-concepts/projects/initiatives.mdx +++ b/docs/core-concepts/projects/initiatives.md @@ -1,15 +1,11 @@ --- title: Align multiple projects with Initiatives -sidebar_label: Initiatives -hide_title: true description: Create and manage Initiatives to align multiple projects with strategic goals, track cross-project epics, and monitor aggregated progress. --- -import Tags from "@site/src/components/Tags"; - -
- # Group multiple projects using Initiatives - +
+

Group multiple projects using Initiatives

+
Initiatives is designed to help you manage and track progress across multiple related projects under a unified objective. This feature is particularly useful if you need a high-level view of how various projects align with strategic goals. @@ -55,38 +51,44 @@ Once created, you can view all Initiatives in the **Initiatives** section on the ![View Initiatives](https://media.docs.plane.so/initiatives/view-initiatives.webp#hero) -Selecting an Initiative opens its detailed view. +Selecting an Initiative opens its detailed view. ![Initiative overview](https://media.docs.plane.so/initiatives/initiative-overview.webp#hero) Initiatives now offer two distinct views to help you track progress and manage scope effectively. Use the dropdown in the top navigation to switch between Overview and Scope views depending on whether you need high-level progress insights or detailed scope management. ### Initiative layouts + Initiatives offers three distinct layouts to help you visualize and manage your strategic goals. Use the layout selector in the top navigation bar to switch between views. ![Initiative layouts](https://media.docs.plane.so/initiatives/initiative-layouts.webp#hero) #### List layout + The default view that displays Initiatives in a structured list format, showing key details like progress status, dates, connected projects and epics, leads, and states at a glance. This layout is ideal for quickly scanning through multiple Initiatives and comparing their high-level status. #### Board layout + Organizes Initiatives into columns based on grouping criteria, providing a kanban-style view of your strategic work. This layout works well for tracking Initiatives through different stages or when you want to see how work is distributed across teams or states. #### Timeline layout + Visualizes Initiative timelines on a gantt view, making it easy to see duration, overlaps, and scheduling across your strategic portfolio. Switch between Week, Month, Quarter, and Today views to adjust your time horizon. This layout is perfect for identifying timeline conflicts and understanding how Initiatives are sequenced over time. All three layouts support filtering and grouping in the top navigation. ### Initiative overview + The **Overview** gives you a bird's-eye view of your Initiative's progress. You'll see a comprehensive scope breakdown that tracks both projects and epics within your initiative, showing completion percentages and recent updates at a glance. The progress visualization at the bottom provides an instant snapshot of work distribution across different states - from backlog items to completed work. The percentages and counts for each category are automatically calculated based on the associated projects. This makes it easy to understand where your initiative stands and identify any bottlenecks in your workflow. -:::tip +::: tip Use Initiatives for a top-down view of progress. For detailed updates, navigate to individual projects. ::: ### Initiative scope + ![Initiative scope](https://media.docs.plane.so/initiatives/initiative-scope.webp#hero) Use the dropdown in the top navigation to switch to the **Scope** view to see all the building blocks of your initiative. Here you'll find detailed lists of: @@ -104,7 +106,6 @@ After you create an Initiative and add Epics from any project. From there, you c This is perfect for cross-functional teams working on company-wide objectives, product launches, or any effort that spans multiple projects. - **Projects** Connected projects showing completion rates and key details like execution status, leads, and timelines. @@ -157,7 +158,6 @@ This consolidated view enables Initiative owners to monitor progress across all ## Properties, comments, and activity - The Info tab on the side panel of an Initiative provides a quick snapshot of key properties and metadata associated with the Initiative. - - **State**: Track the Initiative's lifecycle phase (Drafts, Planned, Active, Completed, Closed) - **Projects**: Number of connected projects - **Epics**: Number of associated epics @@ -170,11 +170,11 @@ This consolidated view enables Initiative owners to monitor progress across all ![Initiative properties](https://media.docs.plane.so/initiatives/properties.webp#hero-tr) - Add comments to discuss updates or highlight issues. - + ![Initiative comments](https://media.docs.plane.so/initiatives/comments.webp#hero-tr) - View the activity log for all updates related to the Initiative. - + ![Initiative activity](https://media.docs.plane.so/initiatives/activity.webp#hero-tr) ## Sort and filter initiatives @@ -196,6 +196,7 @@ Use the filter icon in the top navigation to apply filters: Click the **Display** dropdown in the top navigation to customize how Initiatives are organized and sorted: **Group by** + - **Lead**: Group Initiatives by the person responsible for them - **Created By**: Group by the person who created the Initiative - **States**: Group by lifecycle phase (Drafts, Planned, Active, Completed, Closed) @@ -203,8 +204,9 @@ Click the **Display** dropdown in the top navigation to customize how Initiative - **None**: View all Initiatives in a flat list without grouping **Order by** + - **Manual**: Drag and drop to arrange Initiatives in your preferred order - **Last Created**: Sort by creation date, showing newest Initiatives first - **Last Updated**: Sort by last modification date, showing recently updated Initiatives first -These filtering, grouping, and sorting tools make it easier to focus on specific Initiatives or prioritize your view based on team needs and workflow preferences. \ No newline at end of file +These filtering, grouping, and sorting tools make it easier to focus on specific Initiatives or prioritize your view based on team needs and workflow preferences. diff --git a/docs/core-concepts/projects/manage-project-members.mdx b/docs/core-concepts/projects/manage-project-members.md similarity index 96% rename from docs/core-concepts/projects/manage-project-members.mdx rename to docs/core-concepts/projects/manage-project-members.md index d25e4dc3..66b8ff2b 100644 --- a/docs/core-concepts/projects/manage-project-members.mdx +++ b/docs/core-concepts/projects/manage-project-members.md @@ -1,16 +1,14 @@ --- title: Manage project members -sidebar_label: Manage members description: Add members to projects, assign roles, and configure access --- -import Tags from "@site/src/components/Tags"; - # Manage project members Manage who has access to your project and what they can do by adding members and assigning roles. -**Prerequisites:** +**Prerequisites:** + - You must be a Project Admin or Workspace Admin to manage project members - Users must be workspace members before they can be added to projects @@ -21,10 +19,12 @@ Users must be workspace members before you can add them to a project. ![Project members and teamspaces](https://media.docs.plane.so/projects/project-members-teamspaces.webp#hero) **If the user isn't in your workspace yet:** + 1. First, [invite them to the workspace](/core-concepts/workspaces/members#invite-members-to-your-workspace). 2. Once they accept the workspace invitation, proceed with adding them to the project. **Add existing workspace members to your project:** + 1. Navigate to **Project Settings > Members & Teamspaces**. 2. Scroll to the **Members** section. 3. Click **Add member**. @@ -35,6 +35,7 @@ Users must be workspace members before you can add them to a project. The member now has access to the project with the permissions defined by their role. **Project roles:** + - **Admin** - Full project access including settings, member management, and all features. - **Member** - Can create and manage work items, cycles, and modules (cannot change project settings). - **Guest** - Limited view access (cannot create or edit). @@ -64,6 +65,7 @@ Remove members who no longer need project access. The member loses access to the project immediately but remains in the workspace. **What happens when you remove a member:** + - They can no longer access the project or its work items - Work items they created remain in the project - Their comments and activity history are preserved @@ -79,6 +81,7 @@ Configure a default assignee to ensure all work items get assigned when created 4. The setting saves automatically **How default assignee works:** + - When someone creates a work item without selecting an assignee, the default assignee is automatically assigned. - This ensures no work items are left unassigned. - Useful for projects where a specific person triages new work items. @@ -99,6 +102,7 @@ Designate a project lead who serves as the primary point of contact for the proj The project lead is the go-to person for questions about the project's execution, goals, and status. This is an informational role that helps team members know who to contact, not a permission level. **Project lead vs. Project Admin:** + - Project lead is a designation that identifies a point of contact. - Project Admin is a role with specific permissions. - They can be the same person but don't have to be. @@ -131,7 +135,6 @@ By default, Guests can only see work items they've created through the Intake se This setting is project-specific. Enabling it in one project doesn't affect Guest permissions in other projects. Even with view access, Guests remain isolated to invited projects only. - ## How users join projects Users can become project members in two different ways, and understanding both helps you manage your project team effectively. @@ -142,13 +145,12 @@ Users can become project members in two different ways, and understanding both h Users can have both types of access simultaneously. When this happens, Plane automatically applies whichever role gives them higher permissions. For example, if someone is a `Guest` on your project but joins a linked teamspace, they're automatically upgraded to `Member` access. If they're already an `Admin`, they keep their `Admin` role. - -
- ## View project member activity - +
+

View project member activity

+
-:::info +::: info The Enterprise plan is currently only available for self-hosted instances. If you're interested in Enterprise features for your self-hosted deployment, contact [sales@plane.so](mailto:sales@plane.so) for pricing and licensing information. ::: @@ -160,11 +162,13 @@ Track member actions like additions, role changes, and removals to maintain visi 2. Click **Activity** in the top right corner of the Members section. The activity panel shows recent project member events: + - **Member additions** - Who added which members to the project and when. - **Role changes** - Role updates with who made the change and when. - **Member removals** - Who removed members from the project. Each activity entry shows: + - The action taken - Who performed the action - When it happened (relative time like "6 days ago" or "3 days ago") @@ -182,4 +186,5 @@ Users can become project members in two different ways, and understanding both h Users can have both types of access simultaneously. When this happens, Plane automatically applies whichever role gives them higher permissions. For example, if someone is a `Guest` on your project but joins a linked teamspace, they're automatically upgraded to `Member` access. If they're already an `Admin`, they keep their `Admin` role. ## See also -- [Manage workspace members](/core-concepts/workspaces/members) \ No newline at end of file + +- [Manage workspace members](/core-concepts/workspaces/members) diff --git a/docs/core-concepts/projects/milestones.mdx b/docs/core-concepts/projects/milestones.md similarity index 85% rename from docs/core-concepts/projects/milestones.mdx rename to docs/core-concepts/projects/milestones.md index ae4d2760..8d36b339 100644 --- a/docs/core-concepts/projects/milestones.mdx +++ b/docs/core-concepts/projects/milestones.md @@ -1,20 +1,17 @@ --- title: Align work toward target dates with Milestones -sidebar_label: Milestones -hide_title: true description: Align work items toward shared completion dates with milestones. Track progress on quarterly objectives, product launches, and strategic initiatives in Plane. --- -import Tags from "@site/src/components/Tags"; - -
- # Track goals with Milestones - +
+

Track goals with Milestones

+
Milestones provide a layer to align work items and epics toward shared completion dates, helping teams focus on strategic objectives and critical deliverables. Whether tracking quarterly goals, product launches, or major feature releases, milestones give you visibility into progress and ensure teams stay on track. ## Set up milestones + Workspace and project admins can turn on the Milestones feature in the project. ![Enable Milestones](https://media.docs.plane.so/milestones/set-up-milestones.webp#hero) @@ -26,6 +23,7 @@ To enable milestones in your project: 3. A **Milestones** section will appear in your project's Overview page. ## Create a milestone + ![Create Milestones](https://media.docs.plane.so/milestones/create-milestone.webp#hero) From your project's Overview page: @@ -33,15 +31,16 @@ From your project's Overview page: 1. Scroll down to the **Milestones** section. 2. Click **Create** or the **+** icon to add a new milestone. 3. Enter the milestone details: - - Title: Name your milestone (e.g., "Q4 Launch", "MVP Release"). - - Description: Add context about the milestone's purpose and goals. - - Target date: Set the completion deadline. - - Link work items: Associate relevant work and epics with the milestone. + - Title: Name your milestone (e.g., "Q4 Launch", "MVP Release"). + - Description: Add context about the milestone's purpose and goals. + - Target date: Set the completion deadline. + - Link work items: Associate relevant work and epics with the milestone. 4. Click **Create** to save your milestone. ## Manage milestones ### Track progress + ![Manage Milestones](https://media.docs.plane.so/milestones/manage-milestone.webp#hero) Each milestone displays: @@ -63,6 +62,7 @@ Milestones appear as visual indicators in the Timeline layout, making it easy to This helps you quickly identify whether work is on track to meet milestone deadlines and spot potential scheduling conflicts. ### Link work items and epics + You can link work items and epics to milestones in two ways: **From the milestone** @@ -74,10 +74,10 @@ Open any work item or epic and assign it to a milestone from the properties pane ![Link work items](https://media.docs.plane.so/milestones/link-work-items.webp#hero) ### Edit or delete milestones + Update milestone details anytime: - Modify the title, description, or target date. - Adjust linked work items. - Track metrics and progress indicators. - Click the ⋯ menu for additional options. - diff --git a/docs/core-concepts/projects/overview.mdx b/docs/core-concepts/projects/overview.md similarity index 83% rename from docs/core-concepts/projects/overview.mdx rename to docs/core-concepts/projects/overview.md index d4d928a6..ed30cd21 100644 --- a/docs/core-concepts/projects/overview.mdx +++ b/docs/core-concepts/projects/overview.md @@ -1,6 +1,5 @@ --- title: Create and manage projects -sidebar_label: Manage projects description: Create and manage projects, configure settings, add team members, and enable features. --- @@ -45,14 +44,17 @@ Choose who can access your project when creating it or change visibility later i ### Public projects **Who can access:** + - All workspace members (Admins and Members) - Guests cannot access public projects unless explicitly invited to them **Who can join:** + - Any workspace member can discover and join public projects on their own - No invitation required for members to join **Best for:** + - Company-wide initiatives where everyone should have visibility - Shared resources or documentation that benefits the entire team - Cross-team collaboration projects @@ -61,26 +63,30 @@ Choose who can access your project when creating it or change visibility later i ### Private projects **Who can access:** + - Only members who have been explicitly invited to the project - Workspace Admins automatically have access to all private projects **Who can join:** + - Only Project Admins can add new members to the project - Members must receive an invitation and cannot join on their own **Best for:** + - Confidential or sensitive work that needs restricted access - Client projects where only specific team members should have visibility - Small team projects where you want to control exactly who participates - Projects requiring tight access control for security or privacy reasons **Change visibility** + 1. Open **Project Settings** (click **…** next to project name in sidebar). 2. Navigate to **General** tab. 3. Change **Access** setting to Public or Private. 4. Save changes. -:::warning +::: warning When you change a project from Private to Public, it becomes visible to all workspace members immediately. Make sure this is what you want before making the change, as you cannot undo the visibility that members gained. ::: @@ -113,11 +119,12 @@ Each project can have its own timezone setting, which is independent of individu 4. Save changes. **What the project timezone affects** + - Cycle start and end dates and times - Project-level date displays in the interface **How timezone works for members** -While the project has its own timezone, individual members will see cycle and module times converted to their personal timezone (set in their [Account preferences](/core-concepts/account/settings#timezone-and-language)). +While the project has its own timezone, individual members will see cycle and module times converted to their personal timezone (set in their [Account preferences](/core-concepts/account/settings#timezone-and-language)). For example, if a cycle is set to end at 5:00 PM in the project timezone (Pacific), a member in Eastern timezone will see the cycle ending at 8:00 PM their time. This ensures everyone sees times in their local timezone while maintaining consistent scheduling across the project. @@ -135,22 +142,22 @@ Control which features are available in your project based on how your team work **Available features** - **Cycles** -Timebox your work items into sprints or iterations. Cycles help you organize work into manageable time periods, track progress over defined intervals, and build momentum with regular delivery cadence. Perfect for agile teams running sprints. + Timebox your work items into sprints or iterations. Cycles help you organize work into manageable time periods, track progress over defined intervals, and build momentum with regular delivery cadence. Perfect for agile teams running sprints. - **Modules** -Group related work items together logically. Modules help you organize large projects into manageable components or features, making it easier to track progress on specific parts of your project. Useful for breaking down complex work into logical groupings. + Group related work items together logically. Modules help you organize large projects into manageable components or features, making it easier to track progress on specific parts of your project. Useful for breaking down complex work into logical groupings. - **Views** -Create custom filtered views of your work items and save them for quick access. Views let you define specific filters, sorts, and display options, then save them so you and your team can quickly access frequently-used perspectives on your work. + Create custom filtered views of your work items and save them for quick access. Views let you define specific filters, sorts, and display options, then save them so you and your team can quickly access frequently-used perspectives on your work. - **Pages** -Document project information, create guides, and build knowledge bases. Pages provide a space for your team to collaborate on documentation, meeting notes, specifications, and any other written content related to your project. + Document project information, create guides, and build knowledge bases. Pages provide a space for your team to collaborate on documentation, meeting notes, specifications, and any other written content related to your project. - **Intake** -Capture incoming requests from team members, stakeholders, or guests. The Intake feature provides a way to collect, review, and triage requests before adding them to your project backlog. Useful for managing feature requests, bug reports, and ad-hoc work requests. + Capture incoming requests from team members, stakeholders, or guests. The Intake feature provides a way to collect, review, and triage requests before adding them to your project backlog. Useful for managing feature requests, bug reports, and ad-hoc work requests. - **Time Tracking** -Log time spent on work items and track effort across your project. Time tracking lets team members record hours worked on specific work items and provides reports on time spent. You can download worklog data for analysis or billing purposes. + Log time spent on work items and track effort across your project. Time tracking lets team members record hours worked on specific work items and provides reports on time spent. You can download worklog data for analysis or billing purposes. ## Archive a project @@ -162,12 +169,14 @@ Archive projects you're no longer actively working on but want to keep for refer 4. Confirm the action. **What happens when you archive:** + - The project is removed from your sidebar to reduce clutter. - The project remains fully accessible in the **Archived projects** section. - The project can be restored at any time with all data intact. - The project no longer appears in workspace search results or active project lists. ## Restore archived projects + 1. Navigate to **Projects** in the sidebar. 2. Scroll to the bottom to find the **Archived projects** section. 3. Click **Restore project** on any archived project. @@ -179,16 +188,18 @@ Archive projects you're no longer actively working on but want to keep for refer Permanently remove a project and all its data from your workspace. Use this when you're certain you no longer need the project or any of its contents. -:::warning +::: warning Deleting a project is permanent and cannot be undone. All work items, cycles, modules, views, pages, and other project data will be permanently deleted. Plane does not provide any way to recover a deleted project, so make sure you're certain before proceeding. ::: **Before deleting, consider:** + - Exporting any data you might need to keep for records or future reference - Notifying all project members that the project will be deleted - Archiving the project instead if you might need it later **To delete a project:** + 1. Navigate to **Project Settings**. 2. Scroll to the bottom of the **General** tab. 3. Click **Delete project**. diff --git a/docs/core-concepts/projects/project-overview.mdx b/docs/core-concepts/projects/project-overview.md similarity index 93% rename from docs/core-concepts/projects/project-overview.mdx rename to docs/core-concepts/projects/project-overview.md index 03fdce0d..7d850443 100644 --- a/docs/core-concepts/projects/project-overview.mdx +++ b/docs/core-concepts/projects/project-overview.md @@ -1,14 +1,11 @@ --- title: Project Overview -hide_title: true description: Track metrics, share status updates, and monitor overall project health from a centralized dashboard for better team alignment. --- -import Tags from "@site/src/components/Tags"; - -
- # Monitor project progress at a glance - +
+

Monitor project progress at a glance

+
Without a centralized project view, teams often face challenges like fragmented information, inefficient progress tracking, and communication gaps. @@ -56,6 +53,7 @@ Quickly view and edit project properties in the info icon tab on the side panel. - **Timeline**: Manage and monitor **Start date** and **Due date** for the project. ## Project updates + Communicate project status without meetings. Post updates with status indicators to keep your team aligned and create a historical record of progress. See **[Project updates](/communication-and-collaboration/project-updates)** for details. ![Add project updates](https://media.docs.plane.so/projects/add-project-updates.webp#hero) @@ -68,4 +66,4 @@ Get real-time updates on project activities, such as task progress, state change ## See also -- [Project updates](/communication-and-collaboration/project-updates) \ No newline at end of file +- [Project updates](/communication-and-collaboration/project-updates) diff --git a/docs/core-concepts/projects/project-states.mdx b/docs/core-concepts/projects/project-states.md similarity index 90% rename from docs/core-concepts/projects/project-states.mdx rename to docs/core-concepts/projects/project-states.md index 0deb746e..5bfefa84 100644 --- a/docs/core-concepts/projects/project-states.mdx +++ b/docs/core-concepts/projects/project-states.md @@ -1,14 +1,11 @@ --- title: Project States -hide_title: true description: Use Project States to categorize and track project progress across your workspace. --- -import Tags from "@site/src/components/Tags"; - -
- # Track your projects with states - +
+

Track your projects with states

+
Project States allows you to track the overall progress of your projects. With this tool, you can categorize projects into different states, helping you quickly identify which projects need attention and which are on track. diff --git a/docs/core-concepts/projects/recurring-work-items.mdx b/docs/core-concepts/projects/recurring-work-items.md similarity index 75% rename from docs/core-concepts/projects/recurring-work-items.mdx rename to docs/core-concepts/projects/recurring-work-items.md index e8ed2c66..f96400ac 100644 --- a/docs/core-concepts/projects/recurring-work-items.mdx +++ b/docs/core-concepts/projects/recurring-work-items.md @@ -1,15 +1,11 @@ --- title: Recurring work items to automate repetitive tasks -sidebar_label: Recurring Work Items -hide_title: true description: Learn how to set up recurring work items to automatically create repetitive tasks, maintenance schedules, and routine work on a predefined schedule. --- -import Tags from "@site/src/components/Tags"; - -
- # Automate repetitive tasks - +
+

Automate repetitive tasks

+
Keep your team on track with repetitive tasks by setting them up once and letting them automatically repeat on your schedule. @@ -30,16 +26,15 @@ Think of it like setting a recurring calendar appointment, but for your project 3. Click **Create recurring work item**. - ![Create recurring work items](https://media.docs.plane.so/projects/create-recurring-work-items.webp#hero) + ![Create recurring work items](https://media.docs.plane.so/projects/create-recurring-work-items.webp#hero) 4. Fill out your recurring work item just like any regular task - add a title, description, assignees, and any custom properties your team uses. This becomes your template that gets copied each time a new instance is created. 5. In the **Schedule** section, you'll configure when and how often your work item repeats: - - **Start and end dates** - When the recurring pattern begins and optionally when it should stop. + When the recurring pattern begins and optionally when it should stop. - **Frequency** - Choose from daily, weekly, monthly, or yearly patterns. The system will continue creating items based on your frequency until the end date you specify, or indefinitely if you don't set an end date. + Choose from daily, weekly, monthly, or yearly patterns. The system will continue creating items based on your frequency until the end date you specify, or indefinitely if you don't set an end date. 6. Click **Create recurring work item**. @@ -55,4 +50,4 @@ When you edit a recurring work item, your changes only affect future instances. --- -Recurring work items help ensure nothing falls through the cracks while reducing the administrative burden on your team. Set them up once, and focus your energy on the work that matters most. \ No newline at end of file +Recurring work items help ensure nothing falls through the cracks while reducing the administrative burden on your team. Set them up once, and focus your energy on the work that matters most. diff --git a/docs/core-concepts/projects/run-project.mdx b/docs/core-concepts/projects/run-project.md similarity index 99% rename from docs/core-concepts/projects/run-project.mdx rename to docs/core-concepts/projects/run-project.md index 0c359683..7e26568b 100644 --- a/docs/core-concepts/projects/run-project.mdx +++ b/docs/core-concepts/projects/run-project.md @@ -3,6 +3,8 @@ title: Running your project description: Projects have states, labels, estimations along with integrations and automations which can be setup to run your project smoothly. --- +# Running your project + ## Build project workflow with states Work items within a project can transition through various states to reflect the progression of work in your project. This movement of work items through states constitutes the project workflow. @@ -50,7 +52,7 @@ Start by choosing an estimate system from the two below. When you are done, you can turn on estimates by toggling on `Enable estimates for my project`. You can also change the type of the system by clicking the pencil icon next to each system you have set. -:::warning +::: warning In previous versions of Estimates we let you add more than one estimate system so you could switch between them. After overwhelming feedback to make it simpler for you, we now let you create one system per project. Inactive estimate systems from previous versions are now archived. ::: @@ -58,7 +60,7 @@ In previous versions of Estimates we let you add more than one estimate system s Similar to states, labels on projects aid in filtering, differentiating, and categorizing work items within your project. You can create and control as many work item labels as needed. -:::note +::: info Labels can also be created directly from the work item detail page. ::: diff --git a/docs/core-concepts/stickies.mdx b/docs/core-concepts/stickies.md similarity index 98% rename from docs/core-concepts/stickies.mdx rename to docs/core-concepts/stickies.md index 82a07f9e..2b28e69d 100644 --- a/docs/core-concepts/stickies.mdx +++ b/docs/core-concepts/stickies.md @@ -1,6 +1,5 @@ --- title: Quick notes and reminders for project tasks -sidebar_label: Stickies description: Use Stickies in Plane to capture quick ideas, reminders, and notes without leaving your workspace. --- diff --git a/docs/core-concepts/views.mdx b/docs/core-concepts/views.md similarity index 91% rename from docs/core-concepts/views.mdx rename to docs/core-concepts/views.md index 8f27bad5..f1c48cfd 100644 --- a/docs/core-concepts/views.mdx +++ b/docs/core-concepts/views.md @@ -1,13 +1,10 @@ --- title: Save custom views for filtered work items -sidebar_label: Views description: Create, save, and share Views in Plane to quickly access filtered work items. --- # Save custom views -import Tags from "@site/src/components/Tags"; - Views are saved collections of filters that you can apply to work items, allowing you to analyze and manage them efficiently. Instead of reapplying the same filters repeatedly, you can save them with a title for easy access and reuse. ## View types @@ -16,7 +13,7 @@ In Plane, you can create two different types of views: - **Workspace Views** These are created at the Workspace level and are available to all Members, depending on whether they are marked as public or private. These include some default system-defined Views that cannot be removed. - + ![Workspace Views](https://media.docs.plane.so/views/workspace-views.webp#hero) - **Project Views** @@ -52,9 +49,9 @@ After creating a view, you can: Workspace Views are visualized using the spreadsheet layout, while project Views support all layouts. Learn more about layouts and grouping options [here](/core-concepts/issues/layouts). -
- ## Publish Views - +
+

Publish Views

+
Publishing a View allows you to share it more interactively by enabling features like comments, reactions, and voting. Here's how to publish a view: @@ -79,11 +76,11 @@ You can remove views by deleting them from the list of views in your workspace o - Mark frequently used views as favorites for quick access. Favorited views appear on the sidebar under **Your Favorites** section. - Use the search bar in the **Views** section to locate specific views quickly. -
- ## Export views - +
+

Export views

+
You can export data from any saved view to analyze filtered work items, create custom reports, or share specific subsets of your project data. Exports respect all filters applied to the view. -Learn more about [custom exports](/core-concepts/export#custom-exports). \ No newline at end of file +Learn more about [custom exports](/core-concepts/export#custom-exports). diff --git a/docs/core-concepts/workspaces/members.mdx b/docs/core-concepts/workspaces/members.md similarity index 89% rename from docs/core-concepts/workspaces/members.mdx rename to docs/core-concepts/workspaces/members.md index d50d707a..7ff18fca 100644 --- a/docs/core-concepts/workspaces/members.mdx +++ b/docs/core-concepts/workspaces/members.md @@ -1,13 +1,11 @@ --- title: Manage workspace members -sidebar_label: Manage members description: Add, update, and remove workspace members --- -import Tags from "@site/src/components/Tags"; # Manage members -Keeping your workspace organized and secure is essential for smooth project management. Plane makes it easy to control who can access your workspace, what they can do, and how they collaborate with others. +Keeping your workspace organized and secure is essential for smooth project management. Plane makes it easy to control who can access your workspace, what they can do, and how they collaborate with others. This guide shows you how to add members to your workspace, change their roles, and remove them when needed. @@ -28,12 +26,13 @@ You can add members individually or in bulk using CSV import. The invited person receives an email notification with instructions to join your workspace. **If the invitation isn't accepted:** + - The invitation remains pending until accepted or declined. - You can manually remove pending invitations using the Remove option (see below). -
- ## Import members from CSV - +
+

Import members from CSV

+
Workspace admins can bulk invite members by importing a CSV file. This is useful when onboarding teams or migrating users from another system. @@ -41,21 +40,24 @@ Workspace admins can bulk invite members by importing a CSV file. This is useful ![Import members from CSV](https://media.docs.plane.so/workspaces/import-members.webp#hero) **To import members:** + 1. Navigate to **Workspace settings → Members**. 2. Click **Import**. 3. Upload your CSV file (drag and drop or click to browse). -4. Select **Import** to bulk invite the members. +4. Select **Import** to bulk invite the members. Imported users are added directly to the workspace. When they sign in using the imported email, they're automatically redirected to the workspace without going through onboarding. **CSV format requirements** Your CSV must contain these columns in this exact order: + ``` Email, Display Name, First Name, Last Name, Role ``` **Example CSV:** + ``` Email,Display Name,First Name,Last Name,Role alex@company.com,Alex Chen,Alex,Chen,15 @@ -64,16 +66,18 @@ mike@company.com,Mike Rodriguez,Mike,Rodriguez,5 ``` **Role values:** + - `5` – Guest - `15` – Member - `20` – Admin **Important notes** + - Only `.csv` files are supported. - Valid users appear immediately in the Members list after import. - Invalid entries are skipped (check your CSV for errors if some users don't appear). -:::caution[Self-hosted Plane instance] +::: warning Self-hosted Plane instance Ensure your SMTP server is properly configured to send invite emails successfully. See [Configure SMTP for email](https://developers.plane.so/self-hosting/govern/communication) for more information. ::: @@ -88,9 +92,9 @@ Ensure your SMTP server is properly configured to send invite emails successfull The role change takes effect immediately. -
- ## View workspace member activity - +
+

View workspace member activity

+
Track member actions like invitations, role changes, and removals to maintain visibility over workspace management. @@ -103,12 +107,14 @@ Track member actions like invitations, role changes, and removals to maintain vi 2. Click **Activity** in the top right. The activity panel shows recent workspace member events: + - **Member invitations** - Who invited which members and when - **Invitation acceptances** - When members accepted and joined the workspace - **Role changes** - Role updates with who made the change and when - **Member removals** - Who removed members from the workspace Each activity entry shows: + - The action taken - Who performed the action - When it happened (relative time like "about 1 month ago" or "5 days ago") @@ -126,9 +132,10 @@ This audit trail helps workspace admins monitor membership changes and troublesh The member loses access to the workspace and all its projects immediately. -:::warning +::: warning Removing members doesn't change your seat count or billing. You must [remove seats](/workspaces-and-users/add-remove-seats#remove-unused-seats) separately. ::: ## See also -- [Manage project members](/core-concepts/projects/manage-project-members) \ No newline at end of file + +- [Manage project members](/core-concepts/projects/manage-project-members) diff --git a/docs/core-concepts/workspaces/overview.mdx b/docs/core-concepts/workspaces/overview.md similarity index 93% rename from docs/core-concepts/workspaces/overview.mdx rename to docs/core-concepts/workspaces/overview.md index 2a8e2bfb..bd503c76 100644 --- a/docs/core-concepts/workspaces/overview.mdx +++ b/docs/core-concepts/workspaces/overview.md @@ -1,9 +1,10 @@ --- title: Create and manage workspaces -sidebar_label: Manage workspace description: Create and manage Workspaces in Plane. --- +# Create and manage workspaces + Think of a Workspace in Plane as your command center, the place where everything comes together. It’s the top-level space that holds all your projects, work items, cycles, modules, and pages. Picture it like this. A Workspace in Plane is similar to a server in Discord or an organization in Slack. It’s where your team gathers to work on projects, track progress, and get things done. You can create your own projects, invite others to join, and collaborate as a group, or just do your own thing if that’s how you roll. @@ -31,7 +32,7 @@ When you first sign up for Plane, you'll create your workspace during onboarding ![Create workspace](https://media.docs.plane.so/workspaces/workspace-creation-form.webp#hero) -:::info[Workspace URL] +::: info Workspace URL Each workspace gets a unique URL (slug). You can have duplicate workspace names, but URLs must be unique. ::: @@ -47,7 +48,7 @@ Click the invitation link in the email you received. 1. Click your workspace name in the top-left corner. 2. Select **Workspace invites** from the dropdown menu. 3. View pending invitations. -4. Click Accept on the workspace you want to join. +4. Click Accept on the workspace you want to join. ## Access workspace settings @@ -57,6 +58,7 @@ Click the invitation link in the email you received. ![workspace-settings](https://media.docs.plane.so/workspaces/workspace-settings.webp#hero-tl) From workspace settings, you can: + - Manage workspace members and roles - Configure integrations - Import or export data @@ -72,12 +74,13 @@ If you belong to multiple workspaces: All your workspaces must be associated with the same email address. ## Delete workspace -Workspace admins are the only ones who can delete a workspace. -:::warning +Workspace admins are the only ones who can delete a workspace. + +::: warning Deleting a workspace permanently removes all data including projects, work items, cycles, modules, and pages. Plane does not provide automatic backups. Export any important data before deleting. ::: 1. Navigate to **Workspace Settings**. 2. In the **General** tab, scroll to the **Delete workspace** section. -3. Confirm the deletion. \ No newline at end of file +3. Confirm the deletion. diff --git a/docs/core-concepts/workspaces/teamspaces.mdx b/docs/core-concepts/workspaces/teamspaces.md similarity index 97% rename from docs/core-concepts/workspaces/teamspaces.mdx rename to docs/core-concepts/workspaces/teamspaces.md index c9984116..bd38b4cb 100644 --- a/docs/core-concepts/workspaces/teamspaces.mdx +++ b/docs/core-concepts/workspaces/teamspaces.md @@ -1,15 +1,11 @@ --- title: Track team work with Teamspaces -sidebar_label: Teamspaces -hide_title: true description: Organize team members across projects, track team-specific work items, and create dedicated spaces for team knowledge and collaboration. --- -import Tags from "@site/src/components/Tags"; - -
- # Track work by teams - +
+

Track work by teams

+
With Teamspaces, you can mirror your real-world teams of any kind and track work separately from a project. See your team's work automatically filtered across projects, and house your team's knowledge separate from anything else in Plane. @@ -20,7 +16,7 @@ Teamspaces brings together people and projects in a neat space tucked away from ## Turn on Teamspaces -:::warning +::: warning Once on, the feature cannot be turned off in a workspace. ::: diff --git a/docs/customers.mdx b/docs/customers.md similarity index 95% rename from docs/customers.mdx rename to docs/customers.md index 17982900..d4766047 100644 --- a/docs/customers.mdx +++ b/docs/customers.md @@ -1,15 +1,11 @@ --- title: Customer management to track client requests and priorities -sidebar_label: Customers -hide_title: true description: Track client requests, link work items to specific customers, and prioritize tasks based on customer importance. --- -import Tags from "@site/src/components/Tags"; - -
+

Manage your work by customer priorities

- +
The Customers feature transforms how you organize and prioritize work by placing your clients at the center of your process. Instead of managing tasks in isolation, Customers creates direct connections between your work items and the people they serve, helping teams make better decisions about what to prioritize and ensuring customer requests receive proper attention. @@ -97,14 +93,14 @@ Customer requests serve as the bridge between what your clients need and the act ### Link work to requests - Add source information - + ![Add source](https://media.docs.plane.so/customers/add-source.webp#hero) 1. From a request, click **Add source**. 2. Enter the URL for the source. 3. Click **Submit**. - Connect existing work items - + ![Link work items](https://media.docs.plane.so/customers/link-work-items.webp#hero) 1. From a request, click **Link work items**. 2. Search and select relevant Work Items or Epics. @@ -114,6 +110,6 @@ Customer requests serve as the bridge between what your clients need and the act ![Customer property](https://media.docs.plane.so/customers/customer-property.webp#hero) -:::info[What's next] +::: info What's next Soon, you'll be able to bulk upload customer records via CSV files. ::: diff --git a/docs/dashboards.mdx b/docs/dashboards.md similarity index 89% rename from docs/dashboards.mdx rename to docs/dashboards.md index e406e004..5e9f7dbd 100644 --- a/docs/dashboards.mdx +++ b/docs/dashboards.md @@ -1,20 +1,16 @@ --- title: Custom dashboards to visualize project metrics and data -sidebar_label: Dashboards -hide_title: true description: Build custom dashboards in Plane to visualize project metrics. --- -import Tags from "@site/src/components/Tags"; - -
+

Build custom dashboards

- +
Dashboards in Plane give you a bird's-eye view of your projects through customizable visualizations. They help you monitor progress, identify bottlenecks, and make data-driven decisions without diving into individual projects. -
+
diff --git a/docs/devices/mobile.mdx b/docs/devices/mobile.md similarity index 98% rename from docs/devices/mobile.mdx rename to docs/devices/mobile.md index cf785f49..da34ba38 100644 --- a/docs/devices/mobile.mdx +++ b/docs/devices/mobile.md @@ -1,6 +1,5 @@ --- title: Project management mobile app for iOS and Android -sidebar_label: Mobile description: Learn how to use Plane's mobile app for iOS and Android. --- @@ -21,7 +20,7 @@ With the mobile app, you can easily manage your projects on the go. Whether you' Head over to [Download](https://plane.so/download) to install the app for Android or iOS. -:::caution[Limitation] +::: warning Limitation Sign-up isn't available through the mobile app. To use the app, you'll need to be a member of at least one workspace. ::: @@ -150,7 +149,7 @@ You will notice that the bottom navigation bar now shows different buttons:

- :::tip + ::: tip You can add or edit the priority, state, start date, target date, cycle, and module by tapping the pencil icon in the **Properties** section. Alternatively, use the icons on the top right for choosing Priority, Cycle, and Module. ::: @@ -177,7 +176,8 @@ You will notice that the bottom navigation bar now shows different buttons:
## Push notifications -:::info + +::: info Push notifications are currently available only for Plane Cloud users. ::: @@ -187,7 +187,7 @@ The Plane mobile app supports push notifications to keep you updated on importan ### Unable to log in to the mobile app -
Error: 404 Page Not Found
+
Error: 404 Page Not Found
This error occurs when attempting to log in to the mobile app with a self-hosted URL on the Community Edition or an outdated version of the Commercial Edition. @@ -233,8 +233,8 @@ Ensure the correct Redirect URI is configured in your OAuth service: ``` - For GitHub Sign-In: Add the following URL to the Callback URL section in your GitHub OAuth app: `bash - https:///auth/mobile/github/callback/ - ` +https:///auth/mobile/github/callback/ +` Verify that the `` part of the URL matches your self-hosted instance's domain. ### Link not opening iOS app diff --git a/docs/importers/asana.mdx b/docs/importers/asana.md similarity index 97% rename from docs/importers/asana.mdx rename to docs/importers/asana.md index b733b719..7c122b66 100644 --- a/docs/importers/asana.mdx +++ b/docs/importers/asana.md @@ -1,6 +1,5 @@ --- title: Import data from Asana -sidebar_label: Asana description: Migrate your Asana data to Plane. --- @@ -8,7 +7,7 @@ description: Migrate your Asana data to Plane. With the Asana importer, you can easily import issues, states, labels, priorities and user data from Asana to Plane and continue managing your existing projects. -:::info +::: info The Asana importert is available on Plane Cloud and on all plans of the Commercial Edition for self-hosted instances. ::: @@ -16,7 +15,7 @@ The Asana importert is available on Plane Cloud and on all plans of the Commerci > **Role**: Workspace admins -:::tip +::: tip To import issue types from Asana, make sure the [Work item types](/core-concepts/issues/issue-types) feature is enabled in your Plane project. ::: @@ -25,46 +24,46 @@ To import Asana issues to a Plane project, follow these steps: 1. Click the **∨** icon next to your workspace name on the sidebar and select **Workspace Settings**. 2. Select **Imports** on the right pane and click the **Import** button in the Asana section. - + ![Import from Asana](https://media.docs.plane.so/importers/asana/import-asana.webp#hero) 3. In the **Asana to Plane Migration Assistant** screen, enter your **Personal Access Token** to allow Plane access to your Asana account. - + ![Connect Asana](https://media.docs.plane.so/importers/asana/asana-plane-migration-assistant.webp#hero) 4. Click the **Connect Asana** button to link the accounts. 5. Click the **Import** button under the **Imports** section. - + ![Import Asana](https://media.docs.plane.so/importers/asana/import-asana-data.webp#hero) 6. **Configure Plane** Select the Plane project where you want to import your Asana data and and click **Next**. - + ![Configure Plane](https://media.docs.plane.so/importers/asana/configure-plane.webp#hero) 7. **Configure Asana** Choose the workspace and project in Asana from where you want to import data. - + ![Configure Asana](https://media.docs.plane.so/importers/asana/configure-asana.webp#hero) 8. **Map states** Map **Asana sections** to their equivalent **Plane states**. - + ![Map states](https://media.docs.plane.so/importers/asana/map-states.webp#hero) 9. **Map priorities** Map the **Asana priorities** to the corresponding **Plane priorities**. If there's no match, select **None** in the **Plane priorities** list. - + ![Map priorities](https://media.docs.plane.so/importers/asana/map-priorities.webp#hero) 10. **Summary** Review the mappings and make any changes if needed. Click **Back** to adjust, or click **Confirm** to start the migration. - + ![Review mappings](https://media.docs.plane.so/importers/asana/import-summary.webp#hero) 11. The data migration begins and takes a few minutes to complete depending on the number of issues in your Asana workspace. - + ![Migration complete](https://media.docs.plane.so/importers/asana/import-complete.webp#hero) 12. Once it's done, go to **Work items** in your Plane project to confirm that the data import is successful. @@ -86,7 +85,7 @@ Here’s a quick look at what gets imported during the migration from Asana to P | Reporter | Created by | | | Created | Created at | | | Assignee | Assignees | If you skip user import during migration, this will be blank. | -| Issue types | Labels \| Prefix in Work item title | | +| Issue types | Labels \| Prefix in Work item title | | | Images in the Issue description | Images in the Work item description | | | Summary | Work item title | | | Start date | Start date | | @@ -100,5 +99,5 @@ After the import, if there are any new or updated issues in Asana, you can easil 1. Go to **Workspace settings**. 2. Select **Imports** on the right pane. 3. Click the **Re run** button next to the project you want to sync. - + ![Sync Asana](https://media.docs.plane.so/importers/asana/rerun-import.webp#hero) diff --git a/docs/importers/clickup.mdx b/docs/importers/clickup.md similarity index 55% rename from docs/importers/clickup.mdx rename to docs/importers/clickup.md index 5050e0cd..b0bfc824 100644 --- a/docs/importers/clickup.mdx +++ b/docs/importers/clickup.md @@ -1,8 +1,8 @@ --- title: Import data from ClickUp -sidebar_label: ClickUp description: Import work items from ClickUp to Plane. --- + # Import your ClickUp data to Plane The ClickUp importer helps you transfer your project data from ClickUp to Plane. It pulls information from your ClickUp workspace and maps it to the corresponding structure in Plane. This includes your projects, tasks, team members, custom fields, attachments, and comments. @@ -12,63 +12,64 @@ The ClickUp importer helps you transfer your project data from ClickUp to Plane. - A ClickUp Personal Access Token from your ClickUp App Settings. - ClickUp Lists organized within Folders. -:::tip +::: tip To import custom task types from ClickUp, make sure the [Work item types](/core-concepts/issues/issue-types) feature is enabled in your Plane project. ::: ## Import from ClickUp + > **Role**: Workspace admins ![Import from ClickUp](https://media.docs.plane.so/importers/clickup/import-clickup.webp#hero) + 1. Go to your Workspace Settings. - 2. Select **Imports** on the left pane and click **Import** next to ClickUp. - ![Personal access token](https://media.docs.plane.so/importers/clickup/personal-access-token.webp#hero) + ![Personal access token](https://media.docs.plane.so/importers/clickup/personal-access-token.webp#hero) 3. Enter your ClickUp Personal Access Token on the Migration Assistant page. If you don't have one, go to your ClickUp settings under **Apps** to generate it. Click **Connect ClickUp** after entering the token. 4. Choose what to import: - - ![Configure ClickUp](https://media.docs.plane.so/importers/clickup/configure-clickup.webp#hero) - 1. Select your ClickUp team (workspace). - 2. Pick your ClickUp space. - 3. Choose the folders to migrate. - 4. Check "Import comments and attachments" if you want these included. - 5. Click **Next** to continue. + + ![Configure ClickUp](https://media.docs.plane.so/importers/clickup/configure-clickup.webp#hero) + 1. Select your ClickUp team (workspace). + 2. Pick your ClickUp space. + 3. Choose the folders to migrate. + 4. Check "Import comments and attachments" if you want these included. + 5. Click **Next** to continue. 5. Match your ClickUp priorities to Plane priorities using the dropdown menus. This keeps your task prioritization consistent after migration. - - ![Map priorities](https://media.docs.plane.so/importers/clickup/map-priorities.webp#hero) + + ![Map priorities](https://media.docs.plane.so/importers/clickup/map-priorities.webp#hero) 6. Review the mappings and make any changes if needed. Click **Back** to adjust. 7. You can check "Skip importing User data" if you don't want to migrate user information and manually add them later. - :::warning - If you skip user import, work items and comments will show the name of the person who performed the migration, and the Assignees field will be empty. - ::: + ::: warning + If you skip user import, work items and comments will show the name of the person who performed the migration, and the Assignees field will be empty. + ::: -9. Click **Confirm** to start. +8. Click **Confirm** to start. - The migration runs in batches with real-time status updates. You'll see progress indicators and can cancel if needed. Migration time depends on your data size rate limits. + The migration runs in batches with real-time status updates. You'll see progress indicators and can cancel if needed. Migration time depends on your data size rate limits. -10. After completion, review your imported projects in Plane. Check that work items, modules, and custom fields transferred correctly. +9. After completion, review your imported projects in Plane. Check that work items, modules, and custom fields transferred correctly. ## Data mapping Here's how your ClickUp structure converts to Plane: -| ClickUp | Plane | -|---------|--------| -| Users | Members | -| Folders | Projects | -| Lists within folders | Modules within projects | -| Tasks | Work items | -| Custom task types | Work item types | -| Custom fields | Custom properties at project level | -| Task attachments | Work item attachments | -| Task comments | Work item comments | -| Task data | Work item data | +| ClickUp | Plane | +| -------------------- | ---------------------------------- | +| Users | Members | +| Folders | Projects | +| Lists within folders | Modules within projects | +| Tasks | Work items | +| Custom task types | Work item types | +| Custom fields | Custom properties at project level | +| Task attachments | Work item attachments | +| Task comments | Work item comments | +| Task data | Work item data | ### Supported custom fields @@ -91,4 +92,3 @@ After the import, if there are any new or updated issues in ClickUp, you can eas 1. Go to **Workspace settings**. 2. Select **Imports** on the left pane. 3. Click the **Re run** button next to the project you want to sync. - diff --git a/docs/importers/confluence.mdx b/docs/importers/confluence.md similarity index 55% rename from docs/importers/confluence.mdx rename to docs/importers/confluence.md index 9ccfc849..0b744589 100644 --- a/docs/importers/confluence.mdx +++ b/docs/importers/confluence.md @@ -1,18 +1,12 @@ --- title: Import data from Confluence -sidebar_label: Confluence description: Import data from Confluence to Plane. --- -import Tags from "@site/src/components/Tags"; - -
-# Import your Confluence data to Plane +
+

Import your Confluence data to Plane

+ :tags='[{ name: "Business", link:"https://plane.so/pricing", additionalClass: "business" }]'/>
The Confluence to Plane importer lets you transfer your Confluence pages and content to Plane's Wiki. This is useful when you want to bring your documentation, notes, and structured content from Confluence into your Plane workspace as Wiki pages. @@ -28,12 +22,16 @@ First, you need to export your content from Confluence: 3. In the left sidebar, expand **General** if it's not already expanded. 4. Click on **Export space**. 5. In the export options: - - **File format**: Select **HTML**. + +- **File format**: Select **HTML**. + 6. After selecting HTML, you'll see additional options: - - Choose **Export each item, with attachments. Comments are excluded.** - :::info - Only HTML exports from Confluence are supported. Make sure to select HTML as your export format. - ::: + +- Choose **Export each item, with attachments. Comments are excluded.** + ::: info + Only HTML exports from Confluence are supported. Make sure to select HTML as your export format. + ::: + 7. Click **Export**. 8. The system will process your export and show a progress bar with time elapsed, time remaining, and completion percentage. 9. Once complete, you'll see "Export complete. Download here.". Click the download link. @@ -49,14 +47,15 @@ Once you have your exported ZIP file: 2. Click **Import** next to the Confluence option. 3. On the Confluence import page, click **Upload Confluence Exported ZIP**. 4. Select and upload the ZIP file you exported from Confluence. - - ![Upload confluence file](https://media.docs.plane.so/importers/confluence/upload-confluence-file.webp#hero) + + ![Upload confluence file](https://media.docs.plane.so/importers/confluence/upload-confluence-file.webp#hero) + 5. Wait for the upload to complete. You'll see a "Upload complete!" message. 6. Click **Start Import** to begin processing your Confluence data. 7. The import will process in phases. Once finished, the status will change to "Finished". - - ![Confluence file uploaded](https://media.docs.plane.so/importers/confluence/confluence-file-uploaded.webp#hero) + + ![Confluence file uploaded](https://media.docs.plane.so/importers/confluence/confluence-file-uploaded.webp#hero) 8. After the import completes, your Confluence pages will be available in Plane's **Wiki** section. The page hierarchy from Confluence will be preserved, with main pages and their subpages organized in the same structure. @@ -64,20 +63,20 @@ Once you have your exported ZIP file: Here's how different Confluence elements are handled during import: -| Confluence | Plane | -|-------------------|--------------| -| Markdown | Markdown | -| Videos | Links | -| Embeds | Links | -| Attachments | Links | -| Text and background colors | Text and background colors | -| Links | Links | -| Subpages | Nested pages | -| Page mentions | Links | -| User mentions | Link (Atlassian user) | -| Table background colors | Not imported | -| Block highlight | Text highlight (not supported) | -| Columns | Rendered Vertically (not supported) | -| Comments | Not supported | -| Databases | Tables | -| Collapsible | Callout | \ No newline at end of file +| Confluence | Plane | +| -------------------------- | ----------------------------------- | +| Markdown | Markdown | +| Videos | Links | +| Embeds | Links | +| Attachments | Links | +| Text and background colors | Text and background colors | +| Links | Links | +| Subpages | Nested pages | +| Page mentions | Links | +| User mentions | Link (Atlassian user) | +| Table background colors | Not imported | +| Block highlight | Text highlight (not supported) | +| Columns | Rendered Vertically (not supported) | +| Comments | Not supported | +| Databases | Tables | +| Collapsible | Callout | diff --git a/docs/importers/csv.mdx b/docs/importers/csv.md similarity index 98% rename from docs/importers/csv.mdx rename to docs/importers/csv.md index 4c2a605b..35194efa 100644 --- a/docs/importers/csv.mdx +++ b/docs/importers/csv.md @@ -1,6 +1,5 @@ --- title: Import data from CSV file -sidebar_label: CSV description: Import work items from CSV files to Plane. --- @@ -8,7 +7,7 @@ description: Import work items from CSV files to Plane. With the CSV importer, you can easily import work items from your CSV file to Plane. -:::info +::: info The CSV importer is only available on Plane Cloud. ::: @@ -16,7 +15,7 @@ The CSV importer is only available on Plane Cloud. > **Role**: Workspace admins -:::caution[Work Item Types] +::: warning Work Item Types To import work item types, make sure the [Work item types](/core-concepts/issues/issue-types) feature is enabled in your Plane project. ::: @@ -34,7 +33,7 @@ Here's how to get started: 6. Click the **Upload CSV** button. - :::warning[Prepare your CSV] + ::: warning Prepare your CSV When importing user fields like **Assignee**, make sure to use email addresses rather than usernames. This ensures your team members are correctly linked to their work items. ::: diff --git a/docs/importers/github-imp.mdx b/docs/importers/github-imp.md similarity index 99% rename from docs/importers/github-imp.mdx rename to docs/importers/github-imp.md index d819ae12..b9211eaa 100644 --- a/docs/importers/github-imp.mdx +++ b/docs/importers/github-imp.md @@ -3,6 +3,8 @@ title: GitHub Importer sidebarTitle: Github --- +# GitHub Importer + :::tipIntegrations and importers are only available on the cloud version. We plan to open-source our SDKs in the near future so that the community can request or contribute integrations as needed.::: Import issues from your Github repository into Plane. diff --git a/docs/importers/jira.mdx b/docs/importers/jira.md similarity index 98% rename from docs/importers/jira.mdx rename to docs/importers/jira.md index ab91cb15..7b77e534 100644 --- a/docs/importers/jira.mdx +++ b/docs/importers/jira.md @@ -1,6 +1,5 @@ --- title: Import data from Jira -sidebar_label: Jira description: Import your projects and issues from Jira Cloud, Jira Server, or Jira Data Center into Plane. --- @@ -8,7 +7,7 @@ description: Import your projects and issues from Jira Cloud, Jira Server, or Ji Plane supports importing from Jira Cloud, Jira Server, and Jira Data Center. Choose the import option that matches your Jira deployment. -:::info +::: info The Jira importer is available on Plane Cloud and on all plans of the Commercial Edition for self-hosted instances. ::: @@ -16,7 +15,7 @@ The Jira importer is available on Plane Cloud and on all plans of the Commercial > **Role**: Workspace admins -:::tip +::: tip To import issue types from Jira, make sure the [Issue types](/core-concepts/issues/issue-types) feature is enabled in your Plane project. ::: @@ -25,30 +24,30 @@ To import Jira issues to a Plane project, follow these steps: 1. Click the **∨** icon next to your workspace name on the sidebar and select **Workspace Settings**. 2. Select **Imports** on the right pane and click the **Import** button in the Jira section. - + ![Import from Jira](https://media.docs.plane.so/importers/jira/import-jira-cloud-server.webp#hero) 3. In the **Jira to Plane Migration Assistant** screen, enter your **Personal Access Token**, **User email** and the **Jira domain** to allow Plane access to your Atlassian account. - + ![Connect Jira](https://media.docs.plane.so/importers/jira/jira-plane-migration-assitant.webp#hero) 4. Click the **Connect Jira** button to link the accounts. 5. Click the **Import** button. - + ![Import Jira](https://media.docs.plane.so/importers/jira/import-jira-data.webp#hero) 6. **Configure Plane** Select the Plane project where you want to import your Jira data and and click **Next**. - + ![Configure Plane](https://media.docs.plane.so/importers/jira/configure-plane.webp#hero) 7. **Configure Jira** Choose the workspace and project in Jira from where you want to import data. - + ![Configure Jira](https://media.docs.plane.so/importers/jira/configure-jira.webp#hero) - :::info[Work item types] + ::: info Work item types If you're on a paid plan (Pro or higher), issue types in Jira will be imported as work item types in Plane. On the free plan, issue types from Jira won't be imported. ::: @@ -65,30 +64,30 @@ To import Jira issues to a Plane project, follow these steps: - **Skip user import** You can select the **Skip Importing User data** checkbox and manually add users later. - :::warning + ::: warning If you skip user import, work items and comments will show the name of the person who performed the migration, and the Assignees field will be empty. ::: - + ![Import users](https://media.docs.plane.so/importers/jira/import-users.webp#hero) 9. **Map states** 1. Map **Jira status** to their equivalent **Plane states**. 2. Select the **Auto create and map the remaining Jira states** checkbox to automatically create and map any missing states. - + ![Map states](https://media.docs.plane.so/importers/jira/map-states.webp#hero) 10. **Map priorities** Map the **Jira priorities** to the corresponding **Plane priorities**. If there's no match, select **None** in the **Plane priorities** list. - + ![Map priorities](https://media.docs.plane.so/importers/jira/map-priorities.webp#hero) 11. **Summary** Review the mappings and make any changes if needed. Click **Back** to adjust, or click **Confirm** to start the migration. - + ![Review mappings](https://media.docs.plane.so/importers/jira/import-summary.webp#hero) 12. The data migration begins and takes a few minutes to complete depending on the number of issues in your Jira workspace. - + ![Migration complete](https://media.docs.plane.so/importers/jira/jira-import-complete.webp#hero) 13. Once it's done, go to **Work items** in your Plane project to confirm that the data import is successful. @@ -126,5 +125,5 @@ After the import, if there are any new or updated issues in Jira, you can easily 1. Go to **Workspace settings**. 2. Select **Imports** on the right pane. 3. Click the **Re run** button next to the project you want to sync. - + ![Sync Jira](https://media.docs.plane.so/importers/jira/rerun-import.webp#hero) diff --git a/docs/importers/linear.mdx b/docs/importers/linear.md similarity index 98% rename from docs/importers/linear.mdx rename to docs/importers/linear.md index 8d31c8f1..235f5203 100644 --- a/docs/importers/linear.mdx +++ b/docs/importers/linear.md @@ -1,6 +1,5 @@ --- title: Import data from Linear -sidebar_label: Linear description: Migrate your Linear data to Plane. --- @@ -8,7 +7,7 @@ description: Migrate your Linear data to Plane. With the Linear importer, you can easily import issues, states, labels, priorities and user data from Linear to Plane and continue managing your existing projects. -:::info +::: info The Linear importert is available on Plane Cloud and on all plans of the Commercial Edition for self-hosted instances. ::: @@ -16,7 +15,7 @@ The Linear importert is available on Plane Cloud and on all plans of the Commerc > **Role**: Workspace admins -:::tip +::: tip To import issue types from Linear, make sure the [Work item types](/core-concepts/issues/issue-types) feature is enabled in your Plane project. ::: @@ -25,45 +24,45 @@ To import Linear issues to a Plane project, follow these steps: 1. Click the **∨** icon next to your workspace name on the sidebar and select **Workspace settings**. 2. Select **Imports** on the right pane and click the **Import** button in the Linear section. - + ![Import Linear](https://media.docs.plane.so/importers/linear/import-linear.webp#hero) 3. In the **Linear to Plane Migration Assistant** screen, enter your **Personal Access Token** to allow Plane access to your Linear account. - + ![Connect Linear](https://media.docs.plane.so/importers/linear/linear-plane-migration-assistant.webp#hero) 4. Click the **Connect Linear** button to link the accounts. 5. Click the **Import** button in the **Imports** section. - + ![Import Linear data](https://media.docs.plane.so/importers/linear/import-linear-data.webp#hero) 6. **Configure Plane** Select the Plane project where you want to import your Linear data and and click **Next**. - + ![Configure Plane](https://media.docs.plane.so/importers/linear/configure-plane.webp#hero) 7. **Configure Linear** Choose the Linear team from where you want to import data. - + ![Configure Linear](https://media.docs.plane.so/importers/linear/configure-linear.webp#hero) 8. **Map states** Map **Linear states** to their equivalent **Plane states**. - + ![Map states](https://media.docs.plane.so/importers/linear/map-states.webp#hero) 9. **Summary** Review the mappings and make any changes if needed. Click **Back** to adjust, or click **Confirm** to start the migration. - + ![Review mappings](https://media.docs.plane.so/importers/linear/import-summary.webp#hero) 10. The data migration begins and takes a few minutes to complete depending on the number of issues in your Linear workspace. - + ![Migration complete](https://media.docs.plane.so/importers/linear/import-complete.webp#hero) 11. Once it's done, go to **Work items** in your Plane project to confirm that the data import is successful. - + ![Verify import](https://media.docs.plane.so/importers/linear/verify-import.webp#hero) ### Imported entities @@ -99,5 +98,5 @@ After the import, if there are any new or updated issues in Linear, you can easi 1. Go to **Workspace settings**. 2. Select **Imports** on the right pane. 3. Click the **Re run** button next to the project you want to sync. - + ![Sync Linear](https://media.docs.plane.so/importers/linear/rerun-import.webp#hero) diff --git a/docs/importers/notion.md b/docs/importers/notion.md new file mode 100644 index 00000000..776fd737 --- /dev/null +++ b/docs/importers/notion.md @@ -0,0 +1,81 @@ +--- +title: Import data from Notion +description: Import data from Notion to Plane. +--- + +
+

Import your Notion data to Plane

+ +
+ +The Notion to Plane importer lets you transfer your Notion pages and content to Plane's Wiki. This is useful when you want to bring your documentation, notes, and structured content from Notion into your Plane workspace as Wiki pages. + +The importer takes exported Notion content and converts it into Plane wiki pages. It preserves your page structure, including subpages, and maintains the hierarchical organization of your Notion workspace within Plane's wiki system. + +## Export your Notion content + +1. Open the Notion page you want to export. +2. Click the three-dot menu (⋯) in the top-right corner of the page. +3. Select **Export** from the dropdown menu. +4. In the export dialog: + +- **Export format**: Choose **HTML** +- **Include databases**: Select **Current view** +- **Include content**: Choose **Everything** +- **Include subpages**: Toggle this **ON** +- **Create folders for subpages**: Toggle this **ON** +- **Export comments**: Toggle this **OFF** (unless you want comments included) + +::: info +Only HTML exports from Notion are supported. Make sure to select HTML as your export format. +::: + +5. Click **Export**. +6. Notion will generate a ZIP file containing your exported content. + +## Import Notion content + + ![Import from Notion](https://media.docs.plane.so/importers/notion/import-notion.webp#hero) + +Once you have your exported ZIP file: + +1. Go to your Workspace Settings. + +2. Select **Imports** on the left pane and click **Import** next to Notion. + +3. On the Notion import page, click **Upload Notion Exported ZIP**. +4. Select and upload the ZIP file you exported from Notion. + + ![Upload notion file](https://media.docs.plane.so/importers/notion/upload-notion-file.webp#hero) + +5. Wait for the upload to complete. You'll see a "Upload complete!" message. +6. Click **Start Import** to begin processing your Notion data. +7. The import will process in phases. Once finished, the status will change to "Finished". + + ![Notion file uploaded](https://media.docs.plane.so/importers/notion/notion-file-uploaded.webp#hero) + +8. After the import completes, your Notion pages will be available in Plane's **Wiki** section. The page hierarchy from Notion will be preserved, with main pages and their nested pages organized in the same structure. + +## Imported blocks + +Here's how different Notion elements are handled during import: + +| Notion | Plane | +| -------------------------- | ----------------------------------- | +| Markdown | Markdown | +| Videos | Links | +| Embeds | Links | +| Attachments | Links | +| Text and background colors | Text and background colors | +| Page icons | Page icons | +| Page banner | Not imported | +| Links | Links | +| Subpages | Nested pages | +| Page mentions | Links | +| User mentions | Text (Not imported) | +| Table background colors | Not imported | +| Block highlight | Text Highlight (not supported) | +| Columns | Rendered vertically (not supported) | +| Comments | Not supported | +| Databases | Tables | diff --git a/docs/importers/notion.mdx b/docs/importers/notion.mdx deleted file mode 100644 index 2be7ea1d..00000000 --- a/docs/importers/notion.mdx +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: Import data from Notion -sidebar_label: Notion -description: Import data from Notion to Plane. ---- - -import Tags from "@site/src/components/Tags"; - -
-# Import your Notion data to Plane - -
- -The Notion to Plane importer lets you transfer your Notion pages and content to Plane's Wiki. This is useful when you want to bring your documentation, notes, and structured content from Notion into your Plane workspace as Wiki pages. - -The importer takes exported Notion content and converts it into Plane wiki pages. It preserves your page structure, including subpages, and maintains the hierarchical organization of your Notion workspace within Plane's wiki system. - -## Export your Notion content - -1. Open the Notion page you want to export. -2. Click the three-dot menu (⋯) in the top-right corner of the page. -3. Select **Export** from the dropdown menu. -4. In the export dialog: - - **Export format**: Choose **HTML** - - **Include databases**: Select **Current view** - - **Include content**: Choose **Everything** - - **Include subpages**: Toggle this **ON** - - **Create folders for subpages**: Toggle this **ON** - - **Export comments**: Toggle this **OFF** (unless you want comments included) - - :::info - Only HTML exports from Notion are supported. Make sure to select HTML as your export format. - ::: - -5. Click **Export**. -6. Notion will generate a ZIP file containing your exported content. - -## Import Notion content - - ![Import from Notion](https://media.docs.plane.so/importers/notion/import-notion.webp#hero) - -Once you have your exported ZIP file: - -1. Go to your Workspace Settings. - -2. Select **Imports** on the left pane and click **Import** next to Notion. - -3. On the Notion import page, click **Upload Notion Exported ZIP**. -4. Select and upload the ZIP file you exported from Notion. - - ![Upload notion file](https://media.docs.plane.so/importers/notion/upload-notion-file.webp#hero) - -5. Wait for the upload to complete. You'll see a "Upload complete!" message. -6. Click **Start Import** to begin processing your Notion data. -7. The import will process in phases. Once finished, the status will change to "Finished". - - ![Notion file uploaded](https://media.docs.plane.so/importers/notion/notion-file-uploaded.webp#hero) - -8. After the import completes, your Notion pages will be available in Plane's **Wiki** section. The page hierarchy from Notion will be preserved, with main pages and their nested pages organized in the same structure. - -## Imported blocks - -Here's how different Notion elements are handled during import: - -| Notion | Plane | -|----------------|--------------| -| Markdown | Markdown | -| Videos | Links | -| Embeds | Links | -| Attachments | Links | -| Text and background colors | Text and background colors | -| Page icons | Page icons | -| Page banner | Not imported | -| Links | Links | -| Subpages | Nested pages | -| Page mentions | Links | -| User mentions | Text (Not imported) | -| Table background colors | Not imported | -| Block highlight | Text Highlight (not supported) | -| Columns | Rendered vertically (not supported) | -| Comments | Not supported | -| Databases | Tables | \ No newline at end of file diff --git a/docs/importers/overview.mdx b/docs/importers/overview.md similarity index 78% rename from docs/importers/overview.mdx rename to docs/importers/overview.md index ffd38746..2bddfd81 100644 --- a/docs/importers/overview.mdx +++ b/docs/importers/overview.md @@ -1,55 +1,41 @@ --- title: Importers overview -sidebar_label: Overview description: Importers to migrate your project data to Plane --- -import { CardGroup, Card } from "@site/src/components"; - # Easily migrate your project data with Plane Importers Switching to Plane? No need to start from scratch. Our importers make it simple to move your project data from other tools, saving you time and effort. Instead of manually setting up your structure and history, you can directly transfer your existing issues into Plane, keeping your team’s progress intact for a smooth transition. -:::info +::: info Importers are available on Plane Cloud and on all plans of the Commercial Edition for self-hosted instances. ::: - + Import boards from Jira into Plane, streamlining your project setup. - - + + +Bring Linear tasks into Plane, ensuring smooth transitions and continued progress. - + + +Migrate tasks from Asana to Plane, keeping your workflow intact and organized. diff --git a/docs/introduction/home.mdx b/docs/index.md similarity index 97% rename from docs/introduction/home.mdx rename to docs/index.md index f23ffd78..8a4f6f32 100644 --- a/docs/introduction/home.mdx +++ b/docs/index.md @@ -1,8 +1,6 @@ --- title: Modern project management software -sidebar_label: Introduction description: Discover Plane, the enterprise project management software for teams of all sizes. Learn how our issue tracking, sprint management, and knowledge tools can streamline your workflow. -slug: / --- # Welcome to Plane @@ -44,5 +42,6 @@ You can setup Plane in two ways: Install and run Plane on your own servers if you want full control over your data and infrastructure. ## What's next + - **New to Plane?** Start with [Tutorials](/introduction/tutorials/overview). -- **Want to understand key concepts?** Explore [Core Concepts](/introduction/core-concepts). \ No newline at end of file +- **Want to understand key concepts?** Explore [Core Concepts](/introduction/core-concepts). diff --git a/docs/intake/intake-email.mdx b/docs/intake/intake-email.md similarity index 91% rename from docs/intake/intake-email.mdx rename to docs/intake/intake-email.md index d0829b7a..62321fb6 100644 --- a/docs/intake/intake-email.mdx +++ b/docs/intake/intake-email.md @@ -1,15 +1,11 @@ --- title: Intake emails to collect work items from email submissions -sidebar_label: Intake Email -hide_title: true description: Set up a dedicated email address for your project that automatically converts incoming messages into work items for easy review and processing. --- -import Tags from "@site/src/components/Tags"; - -
+

Collect work items via email

- +
With Intake Emails, you get a dedicated email address where people can send requests that automatically appear in your project's Intake section. @@ -18,7 +14,7 @@ With Intake Emails, you get a dedicated email address where people can send requ When someone sends an email to your project's dedicated address, our system automatically converts it into a work item in your Intake section. The email subject becomes the work item title, while the body becomes the description. Any attachments are preserved and added to the work item for easy reference. -:::danger[Self-hosted Plane instance] +::: danger Self-hosted Plane instance If you're running a self-hosted instance of Plane, you'll need to set up a few extra configurations to get Intake Email working. Check out the [setup guide](https://developers.plane.so/self-hosting/govern/configure-dns-email-service) first before diving into the steps on this page. ::: @@ -45,7 +41,7 @@ From there, you can: - Accept items you want to work on (moving them into your project workflow). - Reject items that don't fit your current priorities. -:::info +::: info All work items submitted through forms appear in Intake under the **Triage** state. When you accept an item into your project, you'll choose which project state it should move to. ::: diff --git a/docs/intake/intake-forms.mdx b/docs/intake/intake-forms.md similarity index 84% rename from docs/intake/intake-forms.mdx rename to docs/intake/intake-forms.md index 59b5f558..539a836a 100644 --- a/docs/intake/intake-forms.mdx +++ b/docs/intake/intake-forms.md @@ -1,15 +1,11 @@ --- title: Intake to collect and triage external work requests -sidebar_label: Intake Forms -hide_title: true description: Set up public web forms to collect bug reports, feature requests, and support tickets from external users without giving them project access. --- -import Tags from "@site/src/components/Tags"; - -
+

Collect work items with public web forms

- +
Now, you can easily gather bug reports, feature requests, or support tickets from external users, all by sharing a simple form link. @@ -32,7 +28,7 @@ Once users submit the form, you’ll see their work item in your project's **Int ![mark-duplicate-intake-issues](https://media.docs.plane.so/intake/review-intake-form-issues.webp#hero) -:::info +::: info All work items submitted through forms appear in Intake under the **Triage** state. When you accept an item into your project, you'll choose which project state it should move to. ::: @@ -43,19 +39,21 @@ Plane provides a default intake form structure for quick setup. However, if you When you build forms with work item types, you design the form around a specific type's properties. This approach lets you: + - Build forms that match the structure of your work item types - Select exactly which properties appear on the form. - Create multiple forms for different purposes, each with its own structure. - Collect the right information based on what users are submitting. ### Create a custom form + ![custom-intake-form](https://media.docs.plane.so/intake/custom-intake-forms.webp#hero-br) -1. In your project settings, go to **Features > Intake > Forms**. +1. In your project settings, go to **Features > Intake > Forms**. 2. Click **+** next to **Create Forms using work item types**. -3. Enter a form title and select the work item type it should use to create the form. -3. Under **Properties**, choose which custom fields from that work item type to include. -4. Use **Preview** to see how the form appears to external users. -5. Click **Save** when you're ready to generate the form URL. +3. Enter a form title and select the work item type it should use to create the form. +4. Under **Properties**, choose which custom fields from that work item type to include. +5. Use **Preview** to see how the form appears to external users. +6. Click **Save** when you're ready to generate the form URL. -Each custom form gets its own unique URL that you can share. Users filling out the form will only see the fields you've selected, keeping their experience focused and straightforward. \ No newline at end of file +Each custom form gets its own unique URL that you can share. Users filling out the form will only see the fields you've selected, keeping their experience focused and straightforward. diff --git a/docs/intake/overview.mdx b/docs/intake/overview.md similarity index 93% rename from docs/intake/overview.mdx rename to docs/intake/overview.md index 71129cf7..3ead8ab6 100644 --- a/docs/intake/overview.mdx +++ b/docs/intake/overview.md @@ -1,9 +1,7 @@ --- title: Collect and triage external work requests -sidebar_label: Intake Overview description: Use Intake to collect work items from guests, forms, and email submissions, then triage and manage them before adding to your project workflow. --- -import Tags from "@site/src/components/Tags"; # Intake overview @@ -11,9 +9,10 @@ Intake helps you collect, review, and triage work items from external sources be ## How Intake works -Intake creates a buffer between external submissions and your active project work. Items submitted through any intake channel land in a *Triage* state where your team can review, add context, and decide whether to accept them into your workflow or decline them. +Intake creates a buffer between external submissions and your active project work. Items submitted through any intake channel land in a _Triage_ state where your team can review, add context, and decide whether to accept them into your workflow or decline them. This approach helps you: + - Keep your project backlog focused and intentional - Give external users an easy way to submit requests without project access - Review and add context to submissions before they enter your workflow @@ -24,16 +23,19 @@ This approach helps you: Plane offers three ways to collect work items through Intake: ### Intake In-app + Allow guests in a project to create work items through Plane's interface. Best for stakeholders who need regular access to submit requests. [Learn about Intake In-app →](/core-concepts/intake) ### Intake Forms + Share a public web form where anyone can submit work items without creating an account. Perfect for collecting bug reports, feature requests, or support tickets from a wider audience. [Learn about Intake Forms →](/intake/intake-forms) ### Intake Email + Get a dedicated email address that automatically converts incoming messages into work items. Ideal for customers or clients who prefer email communication. [Learn about Intake Email →](/intake/intake-email) @@ -49,14 +51,15 @@ Intake operates at the project level and is disabled by default. Project admins Once enabled, you'll see an **Intake** section under your project in the sidebar where all incoming work items appear. -
- ## Intake responsbility - +
+

Intake responsbility

+
Assign a team member to take ownership of incoming work items and ensure nothing falls through the cracks. When you designate an intake responsible person, they'll automatically be assigned to and notified about every new work item that comes through any intake channel (in-app, forms, or email). This helps teams: + - Ensure someone is always accountable for reviewing new requests - Get timely notifications when work items arrive - Smooth the transition from intake to your project workflow @@ -75,11 +78,12 @@ This helps teams: The designated person will now be automatically assigned to all new work items created through in-app intake, intake forms, or intake email. They'll receive notifications for each new item, allowing them to triage, add details, or reassign as needed. -:::tip +::: tip The intake responsible person can still reassign work items after initial review. This role is about ensuring accountability for the intake process, not permanent ownership of every request. ::: ## Intake state + All work items in Intake use a single state called **Triage**, regardless of which channel they came through. This intake-specific state keeps incoming requests separate from your project's workflow and doesn't appear in your project's state groups. When you accept an intake work item into your project, you can choose which project state it should move to. By default, it moves to your project's default state, but you can select any state during the acceptance process. diff --git a/docs/integrations/about.md b/docs/integrations/about.md new file mode 100644 index 00000000..63c55a0b --- /dev/null +++ b/docs/integrations/about.md @@ -0,0 +1,33 @@ +--- +title: Integrations overview +description: Connect your workspace to external tools for synchronized workflows, reduced context switching, and improved team efficiency. +--- + +# Integrations overview + +Plane's integrations make it easy to connect your workspace and projects with your favorite tools to streamline your workflow and keep everything in sync. Instead of constantly switching between different platforms, you can access and manage your external tools directly inside Plane. This creates a more efficient workflow, keeping your team focused and your projects running smoothly. + + + + Sync issues and pull requests between Plane and GitHub for a smooth, two-way workflow. + + + Sync issues and pull requests between Plane and GitHub Enterprise for a smooth, two-way workflow. + + + Connect Plane with Slack to create work items, sync discussions, and take action on tasks—all without leaving Slack. + + + Connect GitLab to Plane to automate merge request tracking, link issues seamlessly, and streamline your development workflow. + + + + Connect Sentry to Plane to automatically create work items from Sentry issues, sync issue states, and streamline your error tracking workflow. + + diff --git a/docs/integrations/about.mdx b/docs/integrations/about.mdx deleted file mode 100644 index 0882dd62..00000000 --- a/docs/integrations/about.mdx +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: Integrations overview -sidebar_label: Overview -description: Connect your workspace to external tools for synchronized workflows, reduced context switching, and improved team efficiency. ---- - -import { CardGroup, Card } from "@site/src/components"; - -Plane's integrations make it easy to connect your workspace and projects with your favorite tools to streamline your workflow and keep everything in sync. Instead of constantly switching between different platforms, you can access and manage your external tools directly inside Plane. This creates a more efficient workflow, keeping your team focused and your projects running smoothly. - - - - Sync issues and pull requests between Plane and GitHub for a smooth, two-way workflow. - - - Sync issues and pull requests between Plane and GitHub Enterprise for a smooth, two-way workflow. - - - Connect Plane with Slack to create work items, sync discussions, and take action on tasks—all without leaving Slack. - - - Connect GitLab to Plane to automate merge request tracking, link issues seamlessly, and streamline your development - workflow. - - - - - - - - } - href="/integrations/sentry" - > - Connect Sentry to Plane to automatically create work items from Sentry issues, sync issue states, and streamline your error tracking workflow. - - diff --git a/docs/integrations/draw-io.mdx b/docs/integrations/draw-io.md similarity index 82% rename from docs/integrations/draw-io.mdx rename to docs/integrations/draw-io.md index 2fe73485..55f68835 100644 --- a/docs/integrations/draw-io.mdx +++ b/docs/integrations/draw-io.md @@ -1,15 +1,11 @@ --- title: Connect Draw.io integration -sidebar_label: Draw.io -hide_title: true description: Connect Draw.io to your Plane workspace to create and edit diagrams and whiteboards directly inside Plane Pages. --- -import Tags from "@site/src/components/Tags"; - -
+

Connect Draw.io integration

- +
Connect Draw.io to create and edit powerful diagrams and whiteboards directly inside Plane Pages and Wiki. diff --git a/docs/integrations/github.mdx b/docs/integrations/github.md similarity index 92% rename from docs/integrations/github.mdx rename to docs/integrations/github.md index 9557396b..8acbf432 100644 --- a/docs/integrations/github.mdx +++ b/docs/integrations/github.md @@ -1,17 +1,11 @@ --- title: Integrate GitHub to sync repositories with projects -sidebar_label: GitHub -hide_title: true description: Integrate Plane with GitHub Cloud and GitHub Enterprise Server to synchronize issues and pull requests. Connect repositories to projects for bidirectional updates and seamless workflows. --- -import Tags from "@site/src/components/Tags"; -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -
+

Integrate with GitHub

- +
GitHub integration with Plane allows seamless synchronization between your GitHub repositories and Plane projects. By linking the two, your issues and pull requests stay updated across both platforms, enhancing collaboration and streamlining your workflow. Whether you're managing code, tasks, or both, this integration ensures your team stays in sync without the hassle of switching between platforms. @@ -19,10 +13,10 @@ GitHub integration with Plane allows seamless synchronization between your GitHu Plane supports integration with: - **GitHub Cloud** -The standard cloud-hosted GitHub service + The standard cloud-hosted GitHub service -- **GitHub Enterprise Server** -Self-hosted GitHub instances for organizations with specific compliance or security requirements +- **GitHub Enterprise Server** + Self-hosted GitHub instances for organizations with specific compliance or security requirements ## Set up GitHub integration @@ -33,28 +27,28 @@ To get started, you'll need to connect your GitHub account, organization, and re 3. [Configure PR state automation](/integrations/github#configure-pr-state-automation) ### Connect GitHub organization -Link your GitHub organization to your Plane workspace to start syncing repositories. - - - :::danger[Plane self-hosted instances] - If you're running a self-hosted instance of Plane, you'll need to first create and configure a GitHub App to get GitHub integration working. Follow this [setup guide](https://developers.plane.so/self-hosting/govern/integrations/github?edition=github-cloud#create-github-app) first before diving into the steps on this page. - ::: +Link your GitHub organization to your Plane workspace to start syncing repositories. + +### GitHub Cloud + +::: danger Plane self-hosted instances +If you're running a self-hosted instance of Plane, you'll need to first create and configure a GitHub App to get GitHub integration working. Follow this [setup guide](https://developers.plane.so/self-hosting/govern/integrations/github?edition=github-cloud#create-github-app) first before diving into the steps on this page. +::: 1. Navigate to [Workspace settings](/core-concepts/workspaces/overview#access-workspace-settings) in Plane. 2. On the right pane, select **Integrations**. 3. Find the **GitHub** integration and click **Configure**. 4. In the **Connect Organization** section, click **Connect**. - + ![Connect GitHub](https://media.docs.plane.so/integrations/github/connect-github.webp#hero) 5. On the GitHub app installation page, choose the organization you want to connect. 6. Select whether you want to sync all repositories or pick specific ones. 7. Click **Install** to finalize the connection. 8. After authorization, you’ll be redirected back to Plane, where your GitHub organization will appear as connected. - - - - :::danger[Plane Cloud and self-hosted instances] + + ### GitHub Enterprise Server + ::: danger Plane Cloud and self-hosted instances Before you can integrate with GitHub Enterprise Server, you must first create and configure a GitHub App in your GitHub Enterprise Server instance. This is required for both Plane Cloud and self-hosted users. @@ -65,17 +59,15 @@ Link your GitHub organization to your Plane workspace to start syncing repositor 2. On the right pane, select **Integrations**. 3. Find the **GitHub Enterprise** integration and click **Configure**. 4. In the **Connect Organization** section, click **Connect**. - + ![Connect GitHub Enterprise organization](https://media.docs.plane.so/integrations/github/connect-github-enterprise.webp#hero) 5. Fill the form with the details of your GitHub Enterprise instance and click **Connect**. - + ![Configure GitHub Enterprise organization](https://media.docs.plane.so/integrations/github/configure-github-enterprise.webp#hero) 6. On the GitHub app installation page, choose the organization you want to connect. 7. Select whether you want to sync all repositories or pick specific ones. 8. Click **Install** to finalize the connection. 9. After authorization, you’ll be redirected back to Plane, where your GitHub organization will appear as connected. - - ### Connect personal GitHub account @@ -93,7 +85,7 @@ Workspace admins can connect their personal GitHub accounts from Workspace setti 2. Review the required permissions GitHub requests and authorize. 3. After granting permissions, you’ll see the status updated to show that your personal account is connected. -:::info +::: info Only one Workspace Admin can connect their GitHub account via Workspace Settings. Others can connect their accounts through [Profile Settings](/integrations/github#from-profile-settings). ::: @@ -107,7 +99,7 @@ If you don’t have admin access, you can still connect your personal GitHub acc 2. Select the **Connections** tab in the sidebar. 3. Choose the workspace where you want to connect your GitHub personal account. 4. Click **Connect** in the GitHub section, which will redirect you to GitHub for authentication. - :::info + ::: info If your workspace doesn’t have GitHub integration enabled, you won’t be able to connect your personal account. In this case, contact your Workspace Admin. ::: 5. Once connected, your GitHub account will be listed in Plane. @@ -117,12 +109,14 @@ If you don’t have admin access, you can still connect your personal GitHub acc With the GitHub integration set up, you can sync issues between Plane and GitHub at the project level. This ensures GitHub issues and Plane work items stay synchronized within your configured repositories and projects. ### Add project work item sync + Once GitHub is connected to Plane, workspace admins can link GitHub repositories with Plane projects. 1. Navigate to the **Project Issue Sync** section under **Integrations**. 2. Click the (+) button to create a new sync mapping. - + ![Sync project to GitHub](https://media.docs.plane.so/integrations/github/sync-project-github.webp#hero) + 3. In the modal that appears, configure the following: 1. **Plane project** Select the Plane project you want to sync with. @@ -135,43 +129,50 @@ Once GitHub is connected to Plane, workspace admins can link GitHub repositories 4. **Select issue sync direction** Choose how issues should sync: - Unidirectional → Sync issues from GitHub to Plane only. - :::warning - This will overwrite Plane work item content with GitHub issue data. - ::: + ::: warning + This will overwrite Plane work item content with GitHub issue data. + ::: - Bidirectional → Sync issues both ways between GitHub and Plane. ![Sync direction](https://media.docs.plane.so/integrations/github/sync-direction.webp#hero) + 5. Click **Start Sync**. All configured project issue syncs will appear in a list where you can edit or remove them as needed. ### Sync issues to Plane + After configuring project work item sync, you can link existing GitHub issues into your Plane project. #### GitHub → Plane 1. In your GitHub repository, add the `Plane` label to any issue you want to sync. - + ![Add Plane label](https://media.docs.plane.so/integrations/github/add-plane-label.webp#hero) + 2. The issue will automatically be created as a work item in the linked Plane project. 3. Plane posts a comment on the GitHub issue with a link to the newly created work item, confirming the connection. - + ![Synced issue from GitHub](https://media.docs.plane.so/integrations/github/synced-issue-from-github.webp#hero) + 4. The work item in Plane will include a link back to the original GitHub issue. - + ![Creates issue in Plane](https://media.docs.plane.so/integrations/github/creates-plane-issue.webp#hero) ### Sync work items to GitHub + If you have existing work items in Plane that you want to sync to GitHub, you can do so using labels. #### Plane → GitHub 1. In your Plane project, add the `GitHub` label to any work item you want to sync. - + ![Add GitHub label](https://media.docs.plane.so/integrations/github/add-github-label.webp#hero) + 2. A new issue will automatically be created in the linked GitHub repository. - + ![Creates issue in GitHub](https://media.docs.plane.so/integrations/github/create-github-issue.webp#hero) + 3. The GitHub issue will be linked back to the Plane work item. 4. Future updates will sync according to your configured sync direction (unidirectional or bidirectional). @@ -194,7 +195,7 @@ If you have existing work items in Plane that you want to sync to GitHub, you ca ### What gets synced? -:::warning[important] +::: warning important In unidirectional sync mode (GitHub → Plane only), data from GitHub issues will overwrite corresponding data in Plane. Changes made in Plane will not sync back to GitHub unless you enable Bidirectional sync in your integration settings. ::: @@ -221,15 +222,17 @@ Once GitHub is connected to Plane, workspace admins can configure pull request s 1. Navigate to the **Pull request state mapping** section. 2. Click the (+) button to create a new mapping. - + ![Repository mapping](https://media.docs.plane.so/integrations/github/pr-state-mapping.webp#hero) + 3. In the modal that appears, configure the following: - **Plane project** Select the Plane project where PR state automation should be enabled. - **Pull request automation** - Map GitHub pull request states to Plane work item states - + Map GitHub pull request states to Plane work item states + ![Sync repo and project](https://media.docs.plane.so/integrations/github/pr-automation.webp#hero) + 4. Click **Save**. All configured pull request state mappings will appear in a list where you can edit or remove them as needed. @@ -243,6 +246,7 @@ To automate pull request state changes with Plane work items: 3. Automatic state updates will move the work item state in Plane based on the GitHub PR state defined in your mapping. #### Reference formats + There are two ways to reference Plane work items in your GitHub PRs: ##### With brackets [WEB-344] - State automation @@ -257,13 +261,15 @@ There are two ways to reference Plane work items in your GitHub PRs: - Adds a comment from Plane App showing referenced work items - Does not trigger automatic state updates -*Example* +_Example_ + ```bash PR Title: [WEB-344] Add user authentication feature PR Description: Implements login functionality for WEB-345 ``` In this example: + - WEB-344 will be fully automated (state changes with PR state) - WEB-345 will be linked as a reference only (no state automation) diff --git a/docs/integrations/gitlab.mdx b/docs/integrations/gitlab.md similarity index 71% rename from docs/integrations/gitlab.mdx rename to docs/integrations/gitlab.md index d85fb636..e2e1d08d 100644 --- a/docs/integrations/gitlab.mdx +++ b/docs/integrations/gitlab.md @@ -1,34 +1,28 @@ --- title: Integrate GitLab to sync repositories with projects -sidebar_label: GitLab -hide_title: true description: Integrate Plane with GitLab and Self-managed GitLab to automate pull requests and work item state mapping. Connect repositories to projects for bidirectional updates and seamless workflows. --- -import Tags from "@site/src/components/Tags"; -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -
+

Integrate with GitLab

- +
Integrating GitLab with Plane allows you to sync your development workflow seamlessly by linking GitLab merge requests with Plane work items. This connection enables automated updates and enhances collaboration between developers and project managers. Plane supports integration with: -- **GitLab.com** -The standard cloud-hosted GitLab service +- **GitLab.com** + The standard cloud-hosted GitLab service -- **GitLab Self-managed** -Self-hosted GitLab instances for organizations with specific compliance or security requirements +- **GitLab Self-managed** + Self-hosted GitLab instances for organizations with specific compliance or security requirements This guide walks you through the steps to connect your GitLab account, link GitLab projects to Plane, and configure pull request automation. ## Set up GitLab integration -:::danger[Self-hosted Plane instance (Commercial Edition)] +::: danger Self-hosted Plane instance (Commercial Edition) If you're running a self-hosted instance of Plane, you'll need to set up a few extra configurations to get GitLab integration working. Check out the [setup guide](https://developers.plane.so/self-hosting/govern/integrations/gitlab) first before diving into the steps on this page. ::: @@ -42,53 +36,52 @@ To get started, you'll need to connect your GitLab account, organization, and re Link your GitLab organization to your Plane workspace to start syncing repositories. This step is crucial for enabling the full range of GitLab-Plane integration. - - - :::danger[Self-hosted Plane instance (Commercial Edition)] - If you're running a self-hosted instance of Plane, you'll need to set up a few extra configurations to get GitLab integration working. Check out the [setup guide](https://developers.plane.so/self-hosting/govern/integrations/gitlab?edition=gitlab-cloud) first before diving into the steps on this page. - ::: +### GitLab.com + +::: danger Self-hosted Plane instance (Commercial Edition) +If you're running a self-hosted instance of Plane, you'll need to set up a few extra configurations to get GitLab integration working. Check out the [setup guide](https://developers.plane.so/self-hosting/govern/integrations/gitlab?edition=gitlab-cloud) first before diving into the steps on this page. +::: - 1. Navigate to Workspace **Settings** in Plane. +1. Navigate to Workspace **Settings** in Plane. - 2. Go to the **Integrations** tab. +2. Go to the **Integrations** tab. - 3. Locate the **GitLab** integration section. +3. Locate the **GitLab** integration section. - 4. Click **Connect** to authenticate your GitLab account and initiate the connection. +4. Click **Connect** to authenticate your GitLab account and initiate the connection. - ![Connect GitLab](https://media.docs.plane.so/integrations/gitlab/connect-gitlab.webp#hero) + ![Connect GitLab](https://media.docs.plane.so/integrations/gitlab/connect-gitlab.webp#hero) - 5. Review the requested permissions and click **Authorize Plane** to grant access. +5. Review the requested permissions and click **Authorize Plane** to grant access. - 6. Once authenticated, you should see your GitLab account listed as connected. - - - - :::danger[Plane Cloud and self-hosted instances] +6. Once authenticated, you should see your GitLab account listed as connected. - Before you can integrate with GitLab Self-managed, you must first set up the necessary configurations in your GitLab instance. This is required for both Plane Cloud and self-hosted users. +### GitLab Self-managed - Follow this [setup guide](https://developers.plane.so/self-hosting/govern/integrations/gitlab?edition=gitlab-self-managed) first before diving into the steps on this section. - ::: +::: danger Plane Cloud and self-hosted instances - 1. Navigate to [Workspace settings](/core-concepts/workspaces/overview#access-workspace-settings) in Plane. - 2. On the right pane, select **Integrations**. - 3. Find the **GitLab Self-managed** integration and click **Configure**. - 4. In the **Connect Organization** section, click **Connect**. - - ![Connect GitLab Enterprise organization](https://media.docs.plane.so/integrations/gitlab/connect-gitlab-self-managed.webp#hero) - 5. Fill the form with the details of your GitLab self-managed instance and click **Connect**. - - ![Configure GitLab Self-managed organization](https://media.docs.plane.so/integrations/gitlab/configure-gitlab-self-managed.webp#hero) - 6. On the GitLab app installation page, choose the organization you want to connect. - 7. Select whether you want to sync all repositories or pick specific ones. - 8. Click **Install** to finalize the connection. - 9. After authorization, you’ll be redirected back to Plane, where your GitLab organization will appear as connected. - - +Before you can integrate with GitLab Self-managed, you must first set up the necessary configurations in your GitLab instance. This is required for both Plane Cloud and self-hosted users. -At this stage, your GitLab account is linked to Plane, but you still need to connect specific GitLab projects to Plane projects. +Follow this [setup guide](https://developers.plane.so/self-hosting/govern/integrations/gitlab?edition=gitlab-self-managed) first before diving into the steps on this section. +::: + +1. Navigate to [Workspace settings](/core-concepts/workspaces/overview#access-workspace-settings) in Plane. +2. On the right pane, select **Integrations**. +3. Find the **GitLab Self-managed** integration and click **Configure**. +4. In the **Connect Organization** section, click **Connect**. + + ![Connect GitLab Enterprise organization](https://media.docs.plane.so/integrations/gitlab/connect-gitlab-self-managed.webp#hero) +5. Fill the form with the details of your GitLab self-managed instance and click **Connect**. + + ![Configure GitLab Self-managed organization](https://media.docs.plane.so/integrations/gitlab/configure-gitlab-self-managed.webp#hero) + +6. On the GitLab app installation page, choose the organization you want to connect. +7. Select whether you want to sync all repositories or pick specific ones. +8. Click **Install** to finalize the connection. +9. After authorization, you’ll be redirected back to Plane, where your GitLab organization will appear as connected. + +At this stage, your GitLab account is linked to Plane, but you still need to connect specific GitLab projects to Plane projects. ### Connect GitLab project @@ -123,12 +116,14 @@ After linking a GitLab project, the next step is to associate it with a Plane pr With the GitLab integration set up, you can sync issues between Plane and GitLab at the project level. This ensures GitLab issues and Plane work items stay synchronized within your configured GitLab Projects and Plane projects. ### Add project work item sync + Once GitLab is connected to Plane, workspace admins can link GitLab Projects with Plane projects. 1. Navigate to the **Project Issue Sync** section under **Integrations**. 2. Click the (+) button to create a new sync mapping. - + ![Sync project to GitLab](https://media.docs.plane.so/integrations/gitlab/sync-project-gitlab.webp#hero) + 3. In the modal that appears, configure the following: 1. **Plane project** Select the Plane project you want to sync with. @@ -141,42 +136,47 @@ Once GitLab is connected to Plane, workspace admins can link GitLab Projects wit 4. **Select issue sync direction** Choose how issues should sync: - Unidirectional → Sync issues from GitLab to Plane only. - :::warning - This will overwrite Plane work item content with GitLab issue data. - ::: + ::: warning + This will overwrite Plane work item content with GitLab issue data. + ::: - Bidirectional → Sync issues both ways between GitLab and Plane. ![Sync direction](https://media.docs.plane.so/integrations/gitlab/sync-direction.webp#hero) + 5. Click **Start Sync**. All configured project issue syncs will appear in a list where you can edit or remove them as needed. ### Sync issues to Plane + After configuring project work item sync, you can link existing GitLab issues into your Plane project. #### GitLab → Plane 1. In your GitLab project, add the `Plane` label to any issue you want to sync. - + ![Add Plane label](https://media.docs.plane.so/integrations/gitlab/add-plane-label.webp#hero) + 2. The issue will automatically be created as a work item in the linked Plane project. 3. Plane posts a comment on the GitLab issue with a link to the newly created work item, confirming the connection. - 4. The work item in Plane will include a link back to the original GitLab issue. - + ![Creates issue in Plane](https://media.docs.plane.so/integrations/gitlab/creates-plane-issue.webp#hero) ### Sync work items to GitLab + If you have existing work items in Plane that you want to sync to GitLab, you can do so using labels. #### Plane → GitLab 1. In your Plane project, add the `gitlab` label to any work item you want to sync. - + ![Add gitlab label](https://media.docs.plane.so/integrations/gitlab/add-gitlab-label.webp#hero) + 2. A new issue will automatically be created in the linked GitLab project. - + ![Creates issue in GitLab](https://media.docs.plane.so/integrations/gitlab/create-gitlab-issue.webp#hero) + 3. The GitLab issue will be linked back to the Plane work item. 4. Future updates will sync according to your configured sync direction (unidirectional or bidirectional). @@ -199,22 +199,21 @@ If you have existing work items in Plane that you want to sync to GitLab, you ca ### What gets synced? -:::warning[important] +::: warning important In unidirectional sync mode (GitLab → Plane only), data from GitLab issues will overwrite corresponding data in Plane. Changes made in Plane will not sync back to GitLab unless you enable Bidirectional sync in your integration settings. ::: Here’s what syncs automatically between Plane and GitLab: -| Property   | Sync direction   | Notes | -| -------------------- | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Title | Both ways | Updates in either platform reflect in the other. | -| Description | Both ways | Content remains consistent between Plane and GitLab. | -| Labels | Both ways | If a Label doesn’t exist in Plane, it will be created (and vice versa). | -| States | Both ways | Updates in either platform reflect in the other. | -| Comments | Both ways | Comments sync between platforms with source attribution. The comment appears as posted by the Admin with the username of the user who posted the comment. -| Mentions | Both ways | Mentioned users username will be displayed in Plane and in the GitLab issue. | -| Issue links | GitLab → Plane | Any issue references in GitLab descriptions or comments will be displayed in Plane with a direct link to the issue including the project name and owner. | - +| Property   | Sync direction   | Notes | +| -------------------- | ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Title | Both ways | Updates in either platform reflect in the other. | +| Description | Both ways | Content remains consistent between Plane and GitLab. | +| Labels | Both ways | If a Label doesn’t exist in Plane, it will be created (and vice versa). | +| States | Both ways | Updates in either platform reflect in the other. | +| Comments | Both ways | Comments sync between platforms with source attribution. The comment appears as posted by the Admin with the username of the user who posted the comment. | +| Mentions | Both ways | Mentioned users username will be displayed in Plane and in the GitLab issue. | +| Issue links | GitLab → Plane | Any issue references in GitLab descriptions or comments will be displayed in Plane with a direct link to the issue including the project name and owner. | ## Configure PR state automation @@ -226,6 +225,7 @@ To automate pull request state changes with Plane work items: 2. Automatic state updates will move the work item state in Plane based on the GitLab PR state defined in your mapping. #### Reference formats + There are two ways to reference Plane work items in your GitLab PRs: ##### With brackets [WEB-344] - State automation @@ -240,13 +240,15 @@ There are two ways to reference Plane work items in your GitLab PRs: - Adds a comment from Plane App showing referenced work items - Does not trigger automatic state updates -*Example* +_Example_ + ```bash PR Title: [WEB-344] Add user authentication feature PR Description: Implements login functionality for WEB-345 ``` In this example: + - WEB-344 will be fully automated (state changes with PR state) - WEB-345 will be linked as a reference only (no state automation) @@ -263,4 +265,4 @@ The lifecycle of a pull request can be mapped to workflow states in Plane. The f ### Work item backlinks in pull requests -When a PR references Plane work items, Plane will post a confirmation comment on the pull request, ensuring visibility into which issues are linked. \ No newline at end of file +When a PR references Plane work items, Plane will post a confirmation comment on the pull request, ensuring visibility into which issues are linked. diff --git a/docs/integrations/sentry.mdx b/docs/integrations/sentry.md similarity index 95% rename from docs/integrations/sentry.mdx rename to docs/integrations/sentry.md index 61dcd4f3..2ca54ba0 100644 --- a/docs/integrations/sentry.mdx +++ b/docs/integrations/sentry.md @@ -1,15 +1,11 @@ --- title: Integrate Sentry for automatic error tracking sync -sidebar_label: Sentry -hide_title: true description: Integrate Plane with Sentry to automatically create work items from Sentry issues, sync issue states, and streamline your error tracking workflow. --- -import Tags from "@site/src/components/Tags"; - -
+

Integrate with Sentry

- +
Integrating Sentry with Plane allows your team to automatically create work items from Sentry issues and keep your error tracking workflow streamlined. Whether you're syncing issue states, creating work items from errors, or collaborating on bug fixes, this integration brings the power of Sentry and Plane together for a more connected development workflow. @@ -52,7 +48,7 @@ Select resolution states for Sentry issues. Configure which states to use when a ![Post State Mapping](https://media.docs.plane.so/sentry/sentry_config.png#hero#hero) -:::info +::: info State mapping ensures that when Sentry issues are automatically synced to Plane, they appear with the correct state. You can always modify these mappings later if your workflow changes. ::: @@ -76,7 +72,7 @@ In Sentry alerts, users can setup an action to auto create a work item in Plane 6. Click **Settings** and open the modal to configure the properties on work item that will be created on Plane like priority, assignee, etc. 7. Save your alert rule. -:::info +::: info Once configured, Sentry will automatically create work items in your selected Plane project whenever the alert conditions are met. This ensures that critical errors are immediately tracked and assigned to your development team. ::: @@ -94,12 +90,12 @@ On a Sentry issue, you can use Makeplane in the "Issue Tracking" section to link ![Create / Link Work Item](https://media.docs.plane.so/sentry/create_link.png#hero) - Once linked, the Sentry issue and Plane work item will sync bi-directionally: + - If the issue is resolved on Sentry, it will be closed on Plane. - If the work item is marked as done on Plane, it will be resolved on Sentry. -:::info +::: info This bi-directional sync keeps your error tracking and project management in perfect alignment, ensuring that issue resolution status is consistent across both platforms. ::: @@ -113,7 +109,6 @@ Once the state on a work item is moved to the resolved state specified during st If the status is changed back to the unresolved state of your Sentry mapping, it will mark the Sentry issue as "unresolved" as well. -:::info +::: info This automatic status synchronization works both ways - changes in Plane reflect in Sentry, and changes in Sentry reflect in Plane, keeping your error tracking and project management perfectly synchronized. ::: - diff --git a/docs/integrations/slack.mdx b/docs/integrations/slack.md similarity index 95% rename from docs/integrations/slack.mdx rename to docs/integrations/slack.md index 66f3845f..bf6dc5bd 100644 --- a/docs/integrations/slack.mdx +++ b/docs/integrations/slack.md @@ -1,15 +1,11 @@ --- title: Integrate Slack to sync threads and create work items -sidebar_label: Slack -hide_title: true description: Integrate Plane with Slack to create work items from messages, sync thread conversations, and take actions directly from your chat interface. --- -import Tags from "@site/src/components/Tags"; - -
+

Integrate with Slack

- +
Plane's Slack integration brings your project management directly into your team's communication flow. Create work items from conversations, get notified about updates, interact with Plane AI, and keep everyone aligned — all without leaving Slack. @@ -17,7 +13,7 @@ This guide will walk you through how to set up and connect your Slack account to ## Set up Slack integration -:::danger[Self-hosted instances (Commercial Edition)] +::: danger Self-hosted instances (Commercial Edition) If you're running a self-hosted instance of Plane, you'll need to set up a few extra configurations to get Slack integration working. Check out the [setup guide](https://developers.plane.so/self-hosting/govern/integrations/slack) first before diving into the steps on this page. ::: @@ -53,7 +49,7 @@ Workspace admins can connect their personal Slack accounts from Workspace settin 2. Slack will ask for permission to integrate with Plane. Review and allow the necessary permissions. 3. After granting permissions, you’ll see the status updated to show that your personal account is connected. -:::info +::: info Only one Workspace Admin can connect their personal Slack account via Workspace Settings. Other Admins and Members can connect theirs from [Profile settings](/integrations/slack#from-workspace-settings). ::: @@ -66,8 +62,9 @@ If you don’t have admin access, you can still connect your personal Slack acco 3. In the dropdown menu, select the Plane workspace you want to connect your personal account to. ![Connect personal account member](https://media.docs.plane.so/integrations/slack/connect-personal-account-profile.webp#hero) + 4. Click **Connect** in the Slack section, which will redirect you to Slack to complete the connection. - :::info + ::: info If your workspace doesn’t have Slack integration enabled, you won’t be able to connect your personal account. In this case, contact your Workspace Admin. ::: 5. Once your account is connected, you’ll see the status update to reflect that your personal Slack account is successfully integrated. @@ -87,17 +84,19 @@ There are two easy ways to create issues from Slack, depending on your workflow: ![Thread sync](https://media.docs.plane.so/integrations/slack/create-plane-work-item.webp#hero) Convert any Slack message into a Plane work item: + 1. Hover over any message in Slack. -2. Click the three-dot menu. +2. Click the three-dot menu. 3. Select **Create a Work Item**. 4. A modal opens with options: ![Slack modal](https://media.docs.plane.so/integrations/slack/create-work-item-modal.webp#hero) - **Project** - Select which Plane project receives the work item. - **Add as** - Choose between: - - **Work Item** - Standard task in your project. - - **Intake** - Sends to your project's intake queue for triage. - - **Work Item Type** - Select from your project's work item types. This will also show mandatory custom properties associated with the work item type. + - **Work Item** - Standard task in your project. + - **Intake** - Sends to your project's intake queue for triage. + - **Work Item Type** - Select from your project's work item types. This will also show mandatory custom properties associated with the work item type. + 5. Add a title and description. The original Slack message text auto-fills as the description. 6. Assign Labels, State, Priority, and Assignees. 7. Turn on Thread Sync (optional). When enabled, Thread Sync keeps your conversation and Plane work item comments in sync. Anything you say in the Slack thread appears in the Plane work item comments, and vice versa. It’s the easiest way to keep everyone aligned without repeating updates in two places. @@ -122,8 +121,9 @@ If a Plane work item already exists, and you want to connect it to a Slack threa 1. Hover over the relevant Slack message or thread. 2. Click the three-dot menu and select **Link Work Item**. - + ![Link Work Item](https://media.docs.plane.so/integrations/slack/link-work-item-to-slack.webp#hero) + 3. In the modal, search for the work item by title or ID. 4. Select the right work item and hit **Link**. @@ -132,6 +132,7 @@ That’s it. Now the thread and the work item are connected. Comments in the thr This is perfect for situations where someone logs a work item in Plane but the conversation about it happens in Slack. Just link them up and avoid duplication. ### Add Plane to private Slack channels + When you use Plane in public Slack channels, it automatically adds the Plane bot to those channels. However, for private channels, you must manually add the bot before you can create or link work items. Here's how to add Plane to your private channels: @@ -141,11 +142,11 @@ Here's how to add Plane to your private channels: 3. Go to the **Integrations** tab. 4. Click **Add apps** in the **Apps** section. 5. Search for `Plane` in the app directory. You'll see the Plane app with the `/plane` slash command -6. Click *Add* next to the Plane app. +6. Click _Add_ next to the Plane app. This will add the Plane bot to your private channel, and Slack will show you a confirmation message. -:::note +::: info Only channel members with the right permissions can add apps to private channels. If you don't see the option to add apps, ask a channel admin or the channel creator to add Plane for you. ::: @@ -174,7 +175,7 @@ To configure this: 7. Click **Save**. -**To edit or remove a project notification**. +**To edit or remove a project notification**. Find the project-channel mapping in the Project Notifications list. Click the edit icon to change notification settings or the delete icon to remove the connection entirely. ### Get DM notifications @@ -192,10 +193,12 @@ Stay informed about work items that need your attention through Slack DMs. #### What triggers DM notifications Once enabled, you receive Slack DMs when: + - **Someone mentions you** in a work item comment or description. - **You're assigned** to a work item. Each notification includes: + - Direct link to the work item - Context about what triggered the notification - Quick actions (**View Work Item**, **Reply**) @@ -206,7 +209,7 @@ This keeps you updated on work that requires your attention without checking Pla Interact with Plane AI directly from Slack to create work items, check project status, and get updates—all through natural conversation. -:::info[Disclaimer] +::: info Disclaimer Plane uses AI models powered by Anthropic. AI-generated responses may not always be accurate. ::: @@ -215,6 +218,7 @@ Plane uses AI models powered by Anthropic. AI-generated responses may not always Tag `@Plane` in any Slack thread to ask questions or request actions: **Create work items conversationally:** + ``` @Plane create a work item 'live tail' and assign it to Mike. ``` @@ -222,11 +226,13 @@ Tag `@Plane` in any Slack thread to ask questions or request actions: Plane AI responds with clarifying questions if it needs more details (like which project), then creates the work item and confirms with a link. **Get project information:** + ``` @Plane can you provide the identifiers of these projects? ``` **Check cycle progress:** + ``` @Plane how are we doing in the current cycle for the AI project? ``` @@ -258,10 +264,11 @@ This means you can triage work items, update priorities, reassign tasks, and man When you use the Slack integration with Plane, we take your privacy seriously. The integration only accesses the minimum permissions necessary to function properly, and we handle your data in accordance with our [Privacy Policy](https://plane.so/legals/privacy-policy). The integration may collect and process: + - Messages and threads you choose to sync with Plane work items - Channel information for project notifications - Basic user information for authentication and personalization All data is encrypted in transit and at rest, and you can disconnect the integration at any time from your [Workspace Settings](/core-concepts/workspaces/overview#access-workspace-settings) or [Profile settings](/core-concepts/account/settings). ---- \ No newline at end of file +--- diff --git a/docs/introduction/core-concepts.mdx b/docs/introduction/core-concepts.md similarity index 98% rename from docs/introduction/core-concepts.mdx rename to docs/introduction/core-concepts.md index 6033fe63..412eafb0 100644 --- a/docs/introduction/core-concepts.mdx +++ b/docs/introduction/core-concepts.md @@ -3,9 +3,12 @@ title: Core concepts description: Learn the essential building blocks of Plane - workspaces, projects, work items, cycles, views, and pages. Master these concepts to organize your team's workflow effectively. --- +# Core concepts + This page explains how Plane is structured and how its features work together. Understanding these concepts helps you organize work effectively and collaborate with your team. ## Understand Plane's structure + Plane is organized in a hierarchy that reflects how teams naturally work together: At the top level, **Workspaces** contain everything - typically one per organization. Inside workspaces, you create **Projects** for specific products, initiatives, or goals. Within projects, you manage **Work items** (the individual tasks your team completes). You can organize these work items using **Cycles** (time-boxed periods) and **Views** (saved filters and layouts). Finally, **Pages** provide space to document context and decisions alongside your work. @@ -13,6 +16,7 @@ At the top level, **Workspaces** contain everything - typically one per organiza This structure gives you flexibility to work at whatever level makes sense. Sometimes you'll focus on a single work item. Other times, you'll view an entire project or cycle to understand the bigger picture. ## How features connect + Understanding relationships between Plane's features helps you use them effectively. ### Workspaces @@ -48,6 +52,7 @@ Cycles help you organize work into time-bound periods, like sprints or phases. T Learn more about [Cycles](/core-concepts/cycles). ### Views + Views help you filter and organize work items to see exactly what matters right now. Instead of manually configuring filters every time, views save your layout, filters, and display settings so you can access them instantly. The same work item can appear in multiple views simultaneously. Views exist at both project and workspace levels. Project views show work from a single project, while workspace views can display work items across all projects you have access to. @@ -64,4 +69,4 @@ Learn more about [Pages](/core-concepts/pages/overview). --- -With these core concepts under your belt, you’re ready to start exploring Plane and putting it to work for your team. Each feature is designed to help you and your team stay organized, collaborate effectively, and deliver your projects with ease. \ No newline at end of file +With these core concepts under your belt, you’re ready to start exploring Plane and putting it to work for your team. Each feature is designed to help you and your team stay organized, collaborate effectively, and deliver your projects with ease. diff --git a/docs/introduction/home.md b/docs/introduction/home.md new file mode 100644 index 00000000..8a4f6f32 --- /dev/null +++ b/docs/introduction/home.md @@ -0,0 +1,47 @@ +--- +title: Modern project management software +description: Discover Plane, the enterprise project management software for teams of all sizes. Learn how our issue tracking, sprint management, and knowledge tools can streamline your workflow. +--- + +# Welcome to Plane + +This page gives you a quick rundown of Plane and highlights why it's a great choice for managing your projects. + +![Plane interface](https://media.docs.plane.so/introduction/introduction-plane.webp#hero) + +## What is Plane + +Plane is modern project management software that helps teams plan, track, and manage their work more efficiently. + +Whether you're a startup, a growing business, or a large enterprise, Plane can adapt to your team’s specific needs, making it a perfect solution for smooth, collaborative project management. + +## Why Plane + +Plane strikes a balance between simplicity, adaptability, and powerful features: + +- **Flexible and adaptable**
+ Plane adjusts to your team's unique workflow. It evolves with your processes, whether you follow Agile, Scrum, or a hybrid approach. + +- **Intuitive and easy to use**
+ With a simple, user-friendly interface, Plane has a minimal learning curve. Anyone from startup founders to project managers can quickly get started without much setup or training. + +- **Cloud and self-hosted options**
+ Choose between cloud or self-hosted solutions. For regulated industries, running Plane on your own infrastructure provides crucial data control. + +- **Integrated workspace**
+ Combine project management and knowledge management in one software, reducing silos and keeping everything centralized. + +## Get Plane + +You can setup Plane in two ways: + +- **[Plane Cloud](https://app.plane.so/sign-up)**
+ Sign up for a free cloud account - it's the easiest and quickest way to start using Plane. + +- **[Self-host Plane](https://developers.plane.so/self-hosting/overview)**
+ Install and run Plane on your own servers if you want full control over your data and infrastructure. + +## What's next + +- **New to Plane?** Start with [Tutorials](/introduction/tutorials/overview). +- **Want to understand key concepts?** Explore [Core Concepts](/introduction/core-concepts). diff --git a/docs/introduction/quickstart.mdx b/docs/introduction/quickstart.md similarity index 69% rename from docs/introduction/quickstart.mdx rename to docs/introduction/quickstart.md index 4afb7ab9..bbe113ad 100644 --- a/docs/introduction/quickstart.mdx +++ b/docs/introduction/quickstart.md @@ -1,6 +1,5 @@ --- title: Set up Plane for your team -sidebar_label: Quickstart guide description: Get a functional workspace with team members working on their first project. --- @@ -16,9 +15,11 @@ What you'll accomplish: - Sprint planning with cycles ## Before you begin + - [Create a Plane account](/#get-plane) -## Set up your workspace +## Set up your workspace + When you sign up for the first time on Plane, we'll prompt you to create a new Workspace. In this guide, you'll see how to customize the Workspace and invite your team members. Your workspace is the central hub where all your projects and team collaboration will happen, so let’s make it feel like home. ### Customize workspace details @@ -27,11 +28,12 @@ When you sign up for the first time on Plane, we'll prompt you to create a new W 1. Click on the workspace name at the top left. 2. Select **Settings**. -2. In the **General** tab under **Administration**: - - Upload your company logo. - - Update workspace name if you need to change it. +3. In the **General** tab under **Administration**: + - Upload your company logo. + - Update workspace name if you need to change it. ### Invite your team + Get your team members into the workspace so they can start collaborating. ![Invite team members](https://media.docs.plane.so/quickstart/invite-team-members.webp#hero) @@ -39,12 +41,12 @@ Get your team members into the workspace so they can start collaborating. 1. Under Workspace Settings, click **Members** tab on the left pane. 2. Click the **Add member** button. 3. In the **Invite people to collaborate** dialog: - - Type the email address in the provided box. - - Select the role you want them to have. - - Admin: Full workspace control and settings access. - - Member (Default): Can create projects, work items, and collaborate fully. - - Guest: Limited access to specific projects they're invited to. - - Use the **+ Add more** link to invite multiple people at once. + - Type the email address in the provided box. + - Select the role you want them to have. + - Admin: Full workspace control and settings access. + - Member (Default): Can create projects, work items, and collaborate fully. + - Guest: Limited access to specific projects they're invited to. + - Use the **+ Add more** link to invite multiple people at once. 4. Click **Send invitation**. Team members will receive email invitations and can access the workspace. @@ -57,12 +59,12 @@ Now that your workspace is ready, it’s time to create your first project. Proj 1. Look for **Projects** tab under the **Workspace** section on your sidebar. 2. Click the **Add Project** button. -4. In the project creation form: - 1. Enter the name and write a brief description explaining what this project aims to accomplish. - 2. By default, the project access is **Public**. This means that all Workspace Admins and Members can see and join this project. Change this to **Private** if you want members to join only through invite. - 3. Assign a project Lead and add the Members you want to be part of this project. -5. Click **Create project** to finish the basic setup. -6. You’ll see a modal with all the features enabled for this project. Leave the defaults as they are and click **Open project**. +3. In the project creation form: + 1. Enter the name and write a brief description explaining what this project aims to accomplish. + 2. By default, the project access is **Public**. This means that all Workspace Admins and Members can see and join this project. Change this to **Private** if you want members to join only through invite. + 3. Assign a project Lead and add the Members you want to be part of this project. +4. Click **Create project** to finish the basic setup. +5. You’ll see a modal with all the features enabled for this project. Leave the defaults as they are and click **Open project**. Your team can see the project and access it from their workspace. @@ -75,19 +77,19 @@ Add tasks so your team can start working immediately. 1. Navigate to the **Work items** page under your new project. 2. Click **Add work item**. 3. Enter title and brief description about the work item. - *Example:* + _Example:_ - **Title** - *Design new homepage layout* + _Design new homepage layout_ - **Description** - *Create a fresh layout for the homepage focusing on improved navigation, modern visuals, and clear call-to-actions.* -3. Set work item properties: - - **Assignee**: `You` + _Create a fresh layout for the homepage focusing on improved navigation, modern visuals, and clear call-to-actions._ +4. Set work item properties: + - **Assignee**: `You` - **Priority**: `Medium` - **Start date**: Today - **Due date**: One week from today -6. Click **Save** to create the work item. -7. You'll see a new row added in the List layout. -8. Add a few more work items in the same manner. +5. Click **Save** to create the work item. +6. You'll see a new row added in the List layout. +7. Add a few more work items in the same manner. Team members see their assigned work and can start immediately. @@ -100,18 +102,18 @@ In this final step, you’ll learn how to organize your work into cycles (time-b 1. Click **Cycles** in your project sidebar. 2. Click the **Add cycle** button on the top right. 3. In the Create cycle modal: - - Name your cycle: `Sprint 1`. - - Set date range: 2 weeks (today through next Friday) - - Click **Create cycle**. + - Name your cycle: `Sprint 1`. + - Set date range: 2 weeks (today through next Friday) + - Click **Create cycle**. 4. Click on your newly created cycle name to open it. 5. Click **Add existing work item** -6. Select the work items you created earlier. -7. Click **Add to cycle**. +6. Select the work items you created earlier. +7. Click **Add to cycle**. 8. Return to the main Cycles page to view your active cycle with progress indicators. Your active cycle shows work items with progress tracking and burndown visualization. -:::tip +::: tip Cycles work best when they're 1-2 weeks long and contain achievable goals for your team. ::: @@ -119,6 +121,5 @@ Cycles work best when they're 1-2 weeks long and contain achievable goals for yo You've set up a complete workspace in under 20 minutes. Your team is ready to start collaborating effectively. ## What's next? -- **Ready to level up?** Explore these detailed [tutorials](/introduction/tutorials/overview). - +- **Ready to level up?** Explore these detailed [tutorials](/introduction/tutorials/overview). diff --git a/docs/introduction/tutorials/collaborate-on-work-items.mdx b/docs/introduction/tutorials/collaborate-on-work-items.md similarity index 80% rename from docs/introduction/tutorials/collaborate-on-work-items.mdx rename to docs/introduction/tutorials/collaborate-on-work-items.md index f16a64ef..e277ed89 100644 --- a/docs/introduction/tutorials/collaborate-on-work-items.mdx +++ b/docs/introduction/tutorials/collaborate-on-work-items.md @@ -1,9 +1,10 @@ --- title: Collaborate on work items -description: Learn how to collaborate effectively on work items in Plane using comments, mentions, sub-work items, and activity tracking. +description: Learn how to collaborate effectively on work items in Plane using comments, mentions, sub-work items, and activity tracking. --- # Collaborate on work items + Now that you can create and manage work items, let's learn how to collaborate with your team. In this tutorial, you'll: @@ -29,15 +30,16 @@ Start conversations that move work forward effectively. - Click in the **Add comment** text area. - Write a comment that provides value to the team. - *Example:* - ``` - Started working on this - I've identified the CSS issue and should have a fix ready by tomorrow. The problem is with the media query breakpoint at 375px. - ``` + _Example:_ + + ``` + Started working on this - I've identified the CSS issue and should have a fix ready by tomorrow. The problem is with the media query breakpoint at 375px. + ``` 3. **Use formatting options** - Bold important information with **text**. - Create lists for multiple points. - - Add code snippets or quotes. + - Add code snippets or quotes. 4. **Post your comment** - Click **Comment** to publish. @@ -45,11 +47,13 @@ Start conversations that move work forward effectively. - Relevant team members receive notifications. ## Use @mentions + Ensure the right people see important messages and requests. + 1. Type @ followed by a team member's name. 2. Select the person from the dropdown that appears. -3. Continue writing your message with context. - +3. Continue writing your message with context. + ## Divide work with sub-work items Organize large tasks into manageable, assignable pieces. @@ -57,6 +61,7 @@ Organize large tasks into manageable, assignable pieces. ![Sub-work items](https://media.docs.plane.so/tutorials/create-sub-work-items.webp#hero) 1. **Use sub-work items for:** + - Large tasks requiring multiple steps - Tasks needing different skills or team members - Work that can be done in parallel @@ -66,20 +71,20 @@ Organize large tasks into manageable, assignable pieces. - Click to create a related, smaller task. - Fill in the sub-item details with specificity. - *Example:* - - **Parent task:** "Implement user authentication system" - - **Sub-work items:** - - "Design login page wireframes" → Designer - - "Set up authentication database tables" → Backend developer - - "Create password reset flow" → Frontend developer - - "Write user registration API endpoints" → Backend developer + _Example:_ + + - **Parent task:** "Implement user authentication system" + - **Sub-work items:** + - "Design login page wireframes" → Designer + - "Set up authentication database tables" → Backend developer + - "Create password reset flow" → Frontend developer + - "Write user registration API endpoints" → Backend developer 3. **Understand sub-item benefits** - Each sub-item has independent lifecycle and can be worked on separately. - Team members focus on specific sub-items while staying connected to bigger picture. - Clear ownership and accountability for different aspects of complex work. - ## Track activity and filter updates Stay informed about work progress without information overload. @@ -92,9 +97,9 @@ Stay informed about work progress without information overload. 2. **Use activity filters** - Click **Filters** button in the Activity section. - Control what information you see: - - **Updates:** Show only property changes (state, priority, assignments) - - **Comments:** Display only team discussions and communications - - **Worklogs:** View only time tracking entries + - **Updates:** Show only property changes (state, priority, assignments) + - **Comments:** Display only team discussions and communications + - **Worklogs:** View only time tracking entries 3. **Use activity tracking strategically** - **Catch up quickly:** See what happened while you were away. @@ -133,18 +138,19 @@ Set up email notifications to stay informed about important updates. - Select **Notifications** in the left pane. 2. **Ensure all notifications are enabled** - - This ensures you receive email updates about all important work item activity. + - This ensures you receive email updates about all important work item activity. ### Understand notification triggers **You receive notifications when:** + - Someone @mentions you in comments. - Work items assigned to you are updated. - Work items you created have activity. - Someone comments on work items you're subscribed to. ## What's next? + Your collaboration skills are solid! You're ready to: - [Create custom views](/introduction/tutorials/organize-and-view-work) to filter and organize work items for different contexts. - diff --git a/docs/introduction/tutorials/create-pages.mdx b/docs/introduction/tutorials/create-pages.md similarity index 88% rename from docs/introduction/tutorials/create-pages.mdx rename to docs/introduction/tutorials/create-pages.md index ed110c30..64d8311e 100644 --- a/docs/introduction/tutorials/create-pages.mdx +++ b/docs/introduction/tutorials/create-pages.md @@ -1,17 +1,19 @@ --- -title: Write content with Pages +title: Write content with Pages description: Learn to create documentation, meeting notes, and project requirements using Plane's built-in rich text editor with blocks and formatting options. --- +# Write content with Pages + Learn to create and share documentation, meeting notes, and project requirements using Plane's powerful Pages. You'll master the basics of content creation, formatting, and sharing in just a few minutes. By the end of this tutorial, you'll: + - Create and customize pages in your project - Use editor blocks to structure content effectively - Share pages with your team - Configure page settings for different use cases - ## Create your first page Start by creating a new page in your project. @@ -28,7 +30,6 @@ Start by creating a new page in your project. 5. Click on "Untitled" and replace with `Project Requirements Document`. The page automatically saves your changes. - ## Add content using editor blocks Learn to structure your content with Plane's powerful block-based editor. @@ -51,29 +52,30 @@ Learn to structure your content with Plane's powerful block-based editor. ![Format content](https://media.docs.plane.so/tutorials/format-content.webp#hero) -1. Select text to see formatting options or use the formatting toolbar at the top for all styling options. +1. Select text to see formatting options or use the formatting toolbar at the top for all styling options. 2. Add links by selecting text and using the link option. -4. Create a complete document structure: +3. Create a complete document structure: + ``` # Project Requirements Document - + ## Project Overview Brief description of project goals and scope. - + ## Key Requirements • Requirement 1 - • Requirement 2 + • Requirement 2 • Requirement 3 - + ## Action Items ☐ Task 1 ☐ Task 2 ☐ Task 3 ``` -:::tip +::: tip Explore all available editor blocks in our complete editor blocks [reference guide](/core-concepts/pages/editor-blocks). ::: @@ -82,10 +84,11 @@ Explore all available editor blocks in our complete editor blocks [reference gui ![Page settings menu](https://media.docs.plane.so/tutorials/page-options.webp#hero) ### Get shareable link - - Click the link icon in the top toolbar - - The page URL is copied to your clipboard - - Paste this link in Slack, email, or anywhere you want to share the page - - Anyone with project access can view the page using this link + +- Click the link icon in the top toolbar +- The page URL is copied to your clipboard +- Paste this link in Slack, email, or anywhere you want to share the page +- Anyone with project access can view the page using this link ### Configure page options diff --git a/docs/introduction/tutorials/create-project.md b/docs/introduction/tutorials/create-project.md new file mode 100644 index 00000000..ec455910 --- /dev/null +++ b/docs/introduction/tutorials/create-project.md @@ -0,0 +1,174 @@ +--- +title: Create projects +description: Learn how to create and configure your first Plane project with the right features, workflow states, and team members +--- + +# Create projects + +Set up your first project where your team can organize work, track progress, and collaborate effectively. + +In this tutorial, you'll: + +- Navigate the Projects section and understand project visibility +- Create a project with proper configuration +- Enable essential features for your team's workflow +- Set up workflow states that match how your team works +- Add team members and organize work with labels + +## Explore the Projects section + +Before creating your project, let's understand where all projects live in your workspace. + +![Workspace Projects](https://media.docs.plane.so/tutorials/workspace-projects.webp#hero) + +1. Look for **Projects** under the Workspace section in your sidebar. +2. Select **Browse all projects** in the dropdown at the top. +3. You might see a few projects already there that other members may have created. +4. This is where all workspace projects are displayed. + +### Understand project visibility + +- Public projects show for all workspace members (except Guests) with the **Join** option. +- Projects you're part of display directly in your sidebar under the **Projects** section. +- Private projects are only visible if you're specifically invited. + +## Create your project + +Start building a space for your team's work and collaboration. + +1. **Begin the creation process** + - Click **Projects** in your workspace sidebar to view all projects. + - Click **Add Project** button (top-right). + - The project creation form opens. + + ::: tip + You can also create projects quickly using the **+** button next to the **Projects** section in your sidebar. + ::: + +2. **Configure basic project information** + + ![Create project](https://media.docs.plane.so/tutorials/create-project.webp#hero) + - **Project name**: Enter something clear and recognizable. Choose names your team will instantly understand. + _Examples_: "Website Redesign", "Mobile App v2.0", "Q4 Marketing Campaign" + + - **Description**: Add 1-2 sentences explaining the project's purpose. + _Example_: "Complete redesign of company website focusing on improved user experience and modern design" + + - **Project ID**: Plane automatically suggests a Project ID based on your project name (like "WEB" for "Website Redesign"). This ID will prefix all your work items (WEB-1, WEB-2, etc.). You can customize it, but keep it short (3-5 characters). + + - **Set project access**: Keep **Public** selected for now. This allows all workspace Admins and Members to see and join the project. You can change this to **Private** later if needed. + +3. **Create the project** + - Click **Create project** to finish basic setup. + - You’ll see a modal with all the features enabled for this project. Leave the defaults as they are and click **Open project**. + - Your new project appears in the sidebar under the **Projects** section. + +## Configure project settings + +Customize your project to match how your team works. + +![Project settings](https://media.docs.plane.so/tutorials/access-project-settings.webp#hero) + +1. **Access project settings** + - Click the three dots (...) next to your project name in the sidebar. + - Select **Settings**. + - You'll land on the **General** tab by default. + +2. **Customize project details** + +![Project general settings](https://media.docs.plane.so/tutorials/project-general-settings.webp#hero) - **Project icon and cover**: Choose an emoji and a header image for your project. + + - **Project visibility (Network)**: Choose based on your team's collaboration needs. + - **Public**: All workspace members can see and join the project. + - **Private**: Only invited members can access the project. + + - **Project timezone**: Set the timezone for project scheduling and deadlines. + +3. **Save your changes** + - Click **Update project** to apply your modifications. + - Your project now reflects the updated configuration. + +## Add team members to your project + +Get the right people contributing to your project. + +![Project members](https://media.docs.plane.so/tutorials/add-project-members.webp#hero) + +1. **Access member management** + - In project settings, select **Members** in the left pane. + - You'll see the Members section with current project members + +2. **Configure project lead** + - **Project Lead** - Select a project lead from the dropdown. + - **Default Assignee** - Set a default assignee for new work items. + - **Guest access** - Toggle ON to allow guests view access to all project work items. + +3. **Add team members** + - Click **Add member**. + - Click **Select co-worker** to see all workspace members. + - Add 2-3 key team members who will actively contribute. + +Key team members are added and can access the project to start contributing. + +## Set up workflow states + +Workflow states define how work moves through your team's process. + +![Project states](https://media.docs.plane.so/tutorials/project-states.webp#hero) + +1. **Access states configuration** + - In project settings, click **States** in the left pane. + - You'll see default state groups already created + +2. **Understand state groups** + - **Backlog**: For ideas and future work + - **Unstarted**: Ready to work on but not yet started + - **Started**: Work currently in progress + - **Completed**: Finished work + - **Cancelled**: Work that won't be completed + +3. **Customize states for your workflow** + - Click on any state group to see individual states inside. + - Use the **+** button to add new states. + - Rename states to match your team's language. + - Reorder states to reflect your actual process. + + **Example workflows** + + _Simple development workflow_: + - Backlog: "Backlog" + - Unstarted: "Ready", "Assigned" + - Started: "In Progress", "In Review" + - Completed: "Done" + + _Design workflow_: + - Backlog: "Ideas" + - Unstarted: "Scheduled", "Ready for Design" + - Started: "Designing", "Review", "Revisions" + - Completed: "Approved" + +Don't overthink this - you can always adjust states later as your team's process evolves. + +## Create useful labels + +Labels help categorize and organize your work. + +![Project labels](https://media.docs.plane.so/tutorials/project-labels.webp#hero) + +1. **Access labels configuration** + - In project settings, click **Labels** in the sidebar. + - You'll see any existing labels (may be empty). + +2. **Create essential labels** + - Click **Add label** to create new labels. + - Add a few labels that match your work types + Examples: `frontend`, `backend`, `database`, `API`, `design`, `documentation`, `testing`, `research` + +3. **Customize label appearance** + - Choose colors for each label to make them easily distinguishable. + +## What's next? + +Your project foundation is complete. You're ready to: + +- [Create your first work items](/introduction/tutorials/create-work-items) to begin tracking tasks. diff --git a/docs/introduction/tutorials/create-project.mdx b/docs/introduction/tutorials/create-project.mdx deleted file mode 100644 index 225b2c1e..00000000 --- a/docs/introduction/tutorials/create-project.mdx +++ /dev/null @@ -1,171 +0,0 @@ ---- -title: Create projects -description: Learn how to create and configure your first Plane project with the right features, workflow states, and team members ---- - -Set up your first project where your team can organize work, track progress, and collaborate effectively. - -In this tutorial, you'll: - -- Navigate the Projects section and understand project visibility -- Create a project with proper configuration -- Enable essential features for your team's workflow -- Set up workflow states that match how your team works -- Add team members and organize work with labels - -## Explore the Projects section -Before creating your project, let's understand where all projects live in your workspace. - -![Workspace Projects](https://media.docs.plane.so/tutorials/workspace-projects.webp#hero) - -1. Look for **Projects** under the Workspace section in your sidebar. -2. Select **Browse all projects** in the dropdown at the top. -3. You might see a few projects already there that other members may have created. -4. This is where all workspace projects are displayed. - -### Understand project visibility -- Public projects show for all workspace members (except Guests) with the **Join** option. -- Projects you're part of display directly in your sidebar under the **Projects** section. -- Private projects are only visible if you're specifically invited. - -## Create your project - -Start building a space for your team's work and collaboration. - -1. **Begin the creation process** - - Click **Projects** in your workspace sidebar to view all projects. - - Click **Add Project** button (top-right). - - The project creation form opens. - - :::tip - You can also create projects quickly using the **+** button next to the **Projects** section in your sidebar. - ::: - -2. **Configure basic project information** - - ![Create project](https://media.docs.plane.so/tutorials/create-project.webp#hero) - - - **Project name**: Enter something clear and recognizable. Choose names your team will instantly understand. - *Examples*: "Website Redesign", "Mobile App v2.0", "Q4 Marketing Campaign" - - - **Description**: Add 1-2 sentences explaining the project's purpose. - *Example*: "Complete redesign of company website focusing on improved user experience and modern design" - - - **Project ID**: Plane automatically suggests a Project ID based on your project name (like "WEB" for "Website Redesign"). This ID will prefix all your work items (WEB-1, WEB-2, etc.). You can customize it, but keep it short (3-5 characters). - - - **Set project access**: Keep **Public** selected for now. This allows all workspace Admins and Members to see and join the project. You can change this to **Private** later if needed. - -3. **Create the project** - - Click **Create project** to finish basic setup. - - You’ll see a modal with all the features enabled for this project. Leave the defaults as they are and click **Open project**. - - Your new project appears in the sidebar under the **Projects** section. - -## Configure project settings -Customize your project to match how your team works. - -![Project settings](https://media.docs.plane.so/tutorials/access-project-settings.webp#hero) -1. **Access project settings** - - Click the three dots (...) next to your project name in the sidebar. - - Select **Settings**. - - You'll land on the **General** tab by default. - -2. **Customize project details** - - ![Project general settings](https://media.docs.plane.so/tutorials/project-general-settings.webp#hero) - - **Project icon and cover**: Choose an emoji and a header image for your project. - - - **Project visibility (Network)**: Choose based on your team's collaboration needs. - - **Public**: All workspace members can see and join the project. - - **Private**: Only invited members can access the project. - - - **Project timezone**: Set the timezone for project scheduling and deadlines. - -3. **Save your changes** - - Click **Update project** to apply your modifications. - - Your project now reflects the updated configuration. - -## Add team members to your project -Get the right people contributing to your project. - -![Project members](https://media.docs.plane.so/tutorials/add-project-members.webp#hero) - -1. **Access member management** - - In project settings, select **Members** in the left pane. - - You'll see the Members section with current project members - -2. **Configure project lead** - - **Project Lead** - Select a project lead from the dropdown. - - **Default Assignee** - Set a default assignee for new work items. - - **Guest access** - Toggle ON to allow guests view access to all project work items. - -3. **Add team members** - - Click **Add member**. - - Click **Select co-worker** to see all workspace members. - - Add 2-3 key team members who will actively contribute. - -Key team members are added and can access the project to start contributing. - -## Set up workflow states - -Workflow states define how work moves through your team's process. - -![Project states](https://media.docs.plane.so/tutorials/project-states.webp#hero) - -1. **Access states configuration** - - In project settings, click **States** in the left pane. - - You'll see default state groups already created - -2. **Understand state groups** - - **Backlog**: For ideas and future work - - **Unstarted**: Ready to work on but not yet started - - **Started**: Work currently in progress - - **Completed**: Finished work - - **Cancelled**: Work that won't be completed - -3. **Customize states for your workflow** - - - Click on any state group to see individual states inside. - - Use the **+** button to add new states. - - Rename states to match your team's language. - - Reorder states to reflect your actual process. - - **Example workflows** - - *Simple development workflow*: - - - Backlog: "Backlog" - - Unstarted: "Ready", "Assigned" - - Started: "In Progress", "In Review" - - Completed: "Done" - - *Design workflow*: - - - Backlog: "Ideas" - - Unstarted: "Scheduled", "Ready for Design" - - Started: "Designing", "Review", "Revisions" - - Completed: "Approved" - -Don't overthink this - you can always adjust states later as your team's process evolves. - -## Create useful labels -Labels help categorize and organize your work. - -![Project labels](https://media.docs.plane.so/tutorials/project-labels.webp#hero) - -1. **Access labels configuration** - - In project settings, click **Labels** in the sidebar. - - You'll see any existing labels (may be empty). - -2. **Create essential labels** - - Click **Add label** to create new labels. - - Add a few labels that match your work types - Examples: `frontend`, `backend`, `database`, `API`, `design`, `documentation`, `testing`, `research` - -3. **Customize label appearance** - - Choose colors for each label to make them easily distinguishable. - -## What's next? -Your project foundation is complete. You're ready to: - -- [Create your first work items](/introduction/tutorials/create-work-items) to begin tracking tasks. - diff --git a/docs/introduction/tutorials/create-work-items.mdx b/docs/introduction/tutorials/create-work-items.md similarity index 52% rename from docs/introduction/tutorials/create-work-items.mdx rename to docs/introduction/tutorials/create-work-items.md index d89fc3ff..a4170c89 100644 --- a/docs/introduction/tutorials/create-work-items.mdx +++ b/docs/introduction/tutorials/create-work-items.md @@ -4,6 +4,7 @@ description: Learn how to create, organize, and track work items in Plane with t --- # Create and manage work items + Now that your project is set up, let's add your first piece of work to track. Work items are the fundamental building blocks in Plane - they represent any task or piece of work your team needs to complete. In this tutorial, you'll: @@ -15,62 +16,64 @@ In this tutorial, you'll: - Complete the full work item lifecycle ## Create your first work item + Add a real piece of work to your project with proper details and organization. ![Create work items](https://media.docs.plane.so/tutorials/create-work-items.webp#hero) 1. **Navigate to your project** - - Click your project name in the sidebar. - - Make sure you're in the Work items tab. + - Click your project name in the sidebar. + - Make sure you're in the Work items tab. 2. **Start creating tasks** - - Click **Add work item** in the top-right corner. - - The work item creation dialog opens + - Click **Add work item** in the top-right corner. + - The work item creation dialog opens 3. **Add title and description** - - Title: Be specific and actionable - - Description: Provide context and details - :::tip[Example] - **Title** - "Fix login button alignment on mobile" + - Title: Be specific and actionable + - Description: Provide context and details + ::: tip Example + **Title** + "Fix login button alignment on mobile" - **Description** - The login button on mobile devices is misaligned and appears cut off on screens smaller than 375px width. + **Description** + The login button on mobile devices is misaligned and appears cut off on screens smaller than 375px width. - Steps to reproduce: - a) Visit login page on mobile device. - b) Notice button extends beyond screen edge. + Steps to reproduce: + a) Visit login page on mobile device. + b) Notice button extends beyond screen edge. - Expected result: - Button should be fully visible and properly centered. - ::: + Expected result: + Button should be fully visible and properly centered. + ::: 4. **Configure work item properties** - - **State:** - - Choose where this work fits in your workflow. - - Select `Planned` since you're ready to work on it. - - **Priority:** - - Indicate urgency level. - - Choose `Medium` priority for this tutorial. - - **Assignees:** - - Choose who will do the work. - - Assign this first work item to yourself. - - **Labels:** - - Categorize the work type. - - Select `frontend` label for this example. - - **Dates:** - - Set timeline expectations - - For this tutorial, set a due date a few days from now or skip dates. + - **State:** + - Choose where this work fits in your workflow. + - Select `Planned` since you're ready to work on it. + - **Priority:** + - Indicate urgency level. + - Choose `Medium` priority for this tutorial. + - **Assignees:** + - Choose who will do the work. + - Assign this first work item to yourself. + - **Labels:** + - Categorize the work type. + - Select `frontend` label for this example. + - **Dates:** + - Set timeline expectations + - For this tutorial, set a due date a few days from now or skip dates. 5. **Save your work item** - Click **Save** to create the work item. - You'll see it appear in the List layout with a unique ID (like "ENG-1" or "PROJ-1") -:::info +::: info Unfinished work items automatically save to your **Drafts** section, so you can always come back to complete them later. ::: ## View and update work items + Learn different ways to view and access your work items. ![View and update work items](https://media.docs.plane.so/tutorials/view-and-update-work-items.webp#hero) @@ -92,10 +95,10 @@ Learn different ways to view and access your work items. - Provides full editing and collaboration interface. 3. **Update work item state** - - Open your work item in peek view or full view - - Click on the **State** field. - - Change it from `Planned` to `In Progress`. - - The change saves automatically. Notice how the work item moves to a different section in your layout view, reflecting its new state. + - Open your work item in peek view or full view + - Click on the **State** field. + - Change it from `Planned` to `In Progress`. + - The change saves automatically. Notice how the work item moves to a different section in your layout view, reflecting its new state. 4. **Modify other properties** - **Priority:** Change based on new urgency levels @@ -103,38 +106,39 @@ Learn different ways to view and access your work items. - **Labels:** Add or remove as you learn more about the work - **Assignees:** Reassign if responsibility changes - All changes save automatically, and you'll see them reflected immediately in your view. - -4. **Move work to completion** + All changes save automatically, and you'll see them reflected immediately in your view. - ![Switch to board layout](https://media.docs.plane.so/tutorials/switch-to-board-layout.webp#hero) +5. **Move work to completion** - - Look for the layout options on the top right of the screen. - - Click the Board icon. - - You'll now see your work items organized in columns by state. - - Find your work item in the current state column (likely "In Progress"). - - Drag and drop the work item card to the "Done" column. + ![Switch to board layout](https://media.docs.plane.so/tutorials/switch-to-board-layout.webp#hero) + - Look for the layout options on the top right of the screen. + - Click the Board icon. + - You'll now see your work items organized in columns by state. + - Find your work item in the current state column (likely "In Progress"). + - Drag and drop the work item card to the "Done" column. - The work item automatically updates its state when you drop it, and you'll see it move visually from one column to another. + The work item automatically updates its state when you drop it, and you'll see it move visually from one column to another. - If you prefer, you can still update the state directly by opening your work item and clicking the **State** field to select `Done`. + If you prefer, you can still update the state directly by opening your work item and clicking the **State** field to select `Done`. - Both methods accomplish the same result - the drag and drop approach gives you a visual, intuitive way to move work through your workflow states. + Both methods accomplish the same result - the drag and drop approach gives you a visual, intuitive way to move work through your workflow states. -You've successfully created and managed your first work item! +You've successfully created and managed your first work item! ## Practice with real work + Now create 2-3 more work items using actual tasks from your project. This gives you realistic data to work with as you learn more Plane features. **Examples:** + - "Update company logo on homepage" -- "Research competitor pricing strategies" +- "Research competitor pricing strategies" - "Fix bug in user registration flow" - "Create onboarding email template" ## What's next? + You now understand the complete work item lifecycle and can effectively track work in Plane. - You're ready to: +You're ready to: - Collaborate on work items to learn comments, mentions, and team communication - diff --git a/docs/introduction/tutorials/create-workspace.mdx b/docs/introduction/tutorials/create-workspace.md similarity index 95% rename from docs/introduction/tutorials/create-workspace.mdx rename to docs/introduction/tutorials/create-workspace.md index edeb71ca..d9dbcd1d 100644 --- a/docs/introduction/tutorials/create-workspace.mdx +++ b/docs/introduction/tutorials/create-workspace.md @@ -4,6 +4,7 @@ description: Learn how to create and set up your first Plane workspace. Get star --- # Create workspace + Let's get you set up your workspace where you and your team can collaborate on projects. In this tutorial, you'll: @@ -14,9 +15,10 @@ In this tutorial, you'll: - Access workspace settings and support resources ## Create new workspace + If you've already signed up for Plane, you have your first workspace created during [signup](https://app.plane.so/sign-up). This tutorial shows you how to create additional workspaces. -:::info +::: info 💡 Don't need another workspace right now? You can skip to the next section. ::: @@ -39,14 +41,14 @@ If you've already signed up for Plane, you have your first workspace created dur 4. **Set workspace URL** - Your URL is auto-generated from the workspace name. - Customize it if needed: `app.plane.so/`. - - :::warning + + ::: warning This URL choice is permanent and cannot be changed later. Make sure it's exactly how you want it. ::: 5. **Select team size** - Choose the range that matches your expected team size. This helps optimize your Plane experience. - - You can always invite more people later. + - You can always invite more people later. 6. **Complete setup** - Click **Create workspace** to finish. @@ -63,6 +65,7 @@ After creating your workspace, you'll land on the Home page. ### Understanding the Home page **Key sections you'll see:** + - **Quicklinks:** Save links to frequently accessed resources - **Recents:** Recently accessed work items, pages, and projects - **Your stickies:** Personal notes and reminders @@ -72,18 +75,21 @@ After creating your workspace, you'll land on the Home page. Understanding the sidebar helps you move efficiently around Plane. ### Personal section + - **Home:** Your workspace home - **Your work:** All work items assigned to you across projects ### Workspace section + - **Projects:** All projects in your workspace - **More:** Click to pin additional workspace features like Views, Analytics, Drafts, and Archives to your sidebar for quick access. -:::tip[Search] - Use the search bar at the top to quickly find work items, projects, or pages across your workspace. +::: tip Search +Use the search bar at the top to quickly find work items, projects, or pages across your workspace. ::: ### Projects section + - Direct links to individual projects for both configuration and daily work - Shows all projects you're part of or have access to @@ -106,10 +112,12 @@ Learn to work with multiple workspaces effectively. ### Join other workspaces **When someone invites you:** + - You'll receive an email notification. - Accept from email or directly in Plane. **To join from within Plane:** + - Look for **Workspace invites** at the bottom of the switcher. - Pending invitations appear here. - Click to accept invitations from other teams. @@ -133,4 +141,5 @@ Customize your workspace to match your team's needs. You can successfully navigate to workspace settings and see customization options. ## What's next? + - [Invite members](/introduction/tutorials/invite-members) to get your team on board diff --git a/docs/introduction/tutorials/invite-members.mdx b/docs/introduction/tutorials/invite-members.md similarity index 85% rename from docs/introduction/tutorials/invite-members.mdx rename to docs/introduction/tutorials/invite-members.md index 86ce99fa..8efc3ba4 100644 --- a/docs/introduction/tutorials/invite-members.mdx +++ b/docs/introduction/tutorials/invite-members.md @@ -1,6 +1,6 @@ --- title: Invite members -description: Learn how to invite team members to your Plane workspace, assign roles, and manage member permissions. +description: Learn how to invite team members to your Plane workspace, assign roles, and manage member permissions. --- # Invite members @@ -8,22 +8,24 @@ description: Learn how to invite team members to your Plane workspace, assign r Let's get your colleagues set up so you can start collaborating on projects together. In this tutorial, you'll: + - Invite team members to your workspace with appropriate roles - Understand workspace roles and permissions - Manage team members after they join - Handle pending invitations and role adjustments ## Access Members page + There are two ways to invite team members to your workspace: -**From the workspace switcher** +**From the workspace switcher** ![Switcher invite members](https://media.docs.plane.so/tutorials/switcher-invite-members.webp#hero) 1. Click on your workspace name in the top-left corner. 2. Next to your current workspace, click **Invite members**. -**From workspace settings** +**From workspace settings** ![Workspace members](https://media.docs.plane.so/tutorials/invite-team-members.webp#hero) @@ -34,20 +36,19 @@ There are two ways to invite team members to your workspace: Both options open the same invitation dialog. ## Add team members + Configure who joins your workspace and what they can do. ![Add members](https://media.docs.plane.so/tutorials/add-members.webp#hero) -In the **Invite people to collaborate** dialog: - - Type email address in the provided field. - - Use the **+ Add more** link to invite multiple people at once. - :::tip - 💡 Start with core team members who will actively use Plane. You can always add more people later. - ::: +In the **Invite people to collaborate** dialog: - Type email address in the provided field. - Use the **+ Add more** link to invite multiple people at once. +::: tip +💡 Start with core team members who will actively use Plane. You can always add more people later. +::: ### Choose member roles -For each person you're inviting, select their role from the dropdown. +For each person you're inviting, select their role from the dropdown. #### 👑 Admin @@ -67,11 +68,12 @@ For each person you're inviting, select their role from the dropdown. - Cannot see other projects or workspace-level information. - Best for external contractors, clients, temporary collaborators. -:::tip +::: tip 💡 Want a deeper breakdown? Check out the [full guide](/workspaces-and-users/permissions) on roles and permissions. ::: ## Send invitations + Once you've added email addresses and selected roles: 1. Review your invitation list. @@ -87,6 +89,7 @@ Once you've added email addresses and selected roles: - Join with the role you assigned them. ## Manage your members + Learn to adjust roles and monitor team membership. ### View member information @@ -96,6 +99,7 @@ Learn to adjust roles and monitor team membership. Go to **Settings → Members** to see complete member information: **Member details displayed:** + - Full name and display name - Email address and account type - Current role (Admin/Member/Guest) @@ -107,7 +111,7 @@ Go to **Settings → Members** to see complete member information: 1. Click the role dropdown next to any member's name. 2. Change between **Admin**, **Member**, or **Guest** as needed. -3. Changes take effect immediately. +3. Changes take effect immediately. ### Remove members from workspace @@ -120,7 +124,8 @@ Go to **Settings → Members** to see complete member information: Removed members lose access to all workspace projects and data immediately. They can be re-invited later if needed. ## What's next? -Your team now has access to collaborate effectively in Plane. + +Your team now has access to collaborate effectively in Plane. **Ready to start collaborating?** diff --git a/docs/introduction/tutorials/organize-and-view-work.mdx b/docs/introduction/tutorials/organize-and-view-work.md similarity index 84% rename from docs/introduction/tutorials/organize-and-view-work.mdx rename to docs/introduction/tutorials/organize-and-view-work.md index 68129f7f..717e3f64 100644 --- a/docs/introduction/tutorials/organize-and-view-work.mdx +++ b/docs/introduction/tutorials/organize-and-view-work.md @@ -4,15 +4,18 @@ description: Learn how to organize and visualize your work items using layouts, --- # Organize and view your work + Now that you can create and collaborate on work items, let's learn how to organize and view them effectively. Plane provides powerful tools to help you see exactly the work that matters to you, when you need to see it. In this tutorial, you'll: + - Switch between different layout views to match your workflow - Navigate workspace and project level views - Use filters and display options to focus on relevant work - Create and save custom views for recurring organizational needs ## Explore different layouts + Layouts change how your work items are visually organized. Each layout shows the same work items but optimized for different tasks. ![Explore layouts](https://media.docs.plane.so/tutorials/explore-layouts.webp#hero) @@ -26,19 +29,19 @@ Layouts change how your work items are visually organized. Each layout shows the **List** - Text-based view for task organization - Best for: Quick scanning of all project activities, grouping work items by properties, viewing parent-child relationships - Use when: Reviewing status updates, bulk property changes, organizing tasks by priority/assignee - - **Board** - Visual workflow cards + + **Board** - Visual workflow cards - Best for: Drag-and-drop state management, team discussions - Use when: Sprint planning, workflow visualization - + **Calendar** - Timeline view - Best for: Deadline management and scheduling - Use when: Planning due dates, avoiding conflicts - + **Table** - Excel-like grid - Best for: Bulk editing and data manipulation - Use when: Mass updates, data analysis - + **Timeline** - Project timeline view - Best for: Dependencies and milestone tracking - Use when: Project planning, dependency management @@ -46,21 +49,22 @@ Layouts change how your work items are visually organized. Each layout shows the **Try switching between layouts** to see which feels more natural for your current work. ## Apply filters to work items + Filters help you see only the work items relevant to your current task. ![Explore layouts](https://media.docs.plane.so/tutorials/filter-work-items.webp#hero) 1. **Access the filters interface** - - Click the **Filters** button between the toolbar and your work items. - - Filters are applied as visual chips that you can see and modify easily. + - Click the **Filters** button between the toolbar and your work items. + - Filters are applied as visual chips that you can see and modify easily. 2. **Smart filter combinations** - - Each filter appears as a chip showing the property and selected values: - - Priority: "Priority is any of High, Urgent" - - Assignee: "Assignees is any of alex, amara" - - State: "State is not Completed" + - Each filter appears as a chip showing the property and selected values: + - Priority: "Priority is any of High, Urgent" + - Assignee: "Assignees is any of alex, amara" + - State: "State is not Completed" - Multiple filters work together automatically, no need to manually combine them. + Multiple filters work together automatically, no need to manually combine them. 3. Click the **x** on any filter chip to remove it. @@ -69,22 +73,23 @@ Filters help you see only the work items relevant to your current task. The work items list updates in real-time as you add or remove filters, giving you exactly the view you need for your current context. ## Customize display options + Display options control what information you see for each work item. The display options change based on your layout. ![Display options](https://media.docs.plane.so/tutorials/display-options.webp#hero) -1. **Control visible information** - - Click the **Display** dropdown on the top right of the screen. - - Toggle properties on/off to reduce visual clutter. +1. **Control visible information** + - Click the **Display** dropdown on the top right of the screen. + - Toggle properties on/off to reduce visual clutter. 2. **Organize your work items** - - **Group by:** Cluster work items logically (by State, Assignee, Priority, or Labels). - - **Order by:** Sort items within groups (by Priority for planning, Due date for deadlines, or Updated date for recent activity). - - **Sub-work items:** Show or hide nested tasks depending on detail needs. + - **Group by:** Cluster work items logically (by State, Assignee, Priority, or Labels). + - **Order by:** Sort items within groups (by Priority for planning, Due date for deadlines, or Updated date for recent activity). + - **Sub-work items:** Show or hide nested tasks depending on detail needs. ## Save and manage custom views -Views save your perfect combination of layout, filters, and display settings so you can reuse them instantly. +Views save your perfect combination of layout, filters, and display settings so you can reuse them instantly. 1. **Create a view from your current configuration** - Set up your ideal combination: Board layout + your assignee + active states @@ -101,6 +106,7 @@ Views save your perfect combination of layout, filters, and display settings so Both methods create views that appear in your project sidebar under **Views**. ## Use Your work dashboard + Your work dashboard gives you a unified view of all your work across every project in your workspace. ![Your work dashboard](https://media.docs.plane.so/tutorials/explore-your-work.webp#hero) @@ -136,6 +142,7 @@ Your work dashboard gives you a unified view of all your work across every proje - Use for: Catching up on updates and team progress ### Build a daily routine + Use Your work as your starting point each morning. Check the Summary tab for workload balance and priority distribution, then switch to Assigned to see today's specific tasks. The Activity tab catches you up on overnight updates and team progress. @@ -143,6 +150,7 @@ Check the Summary tab for workload balance and priority distribution, then switc This cross-project view helps you prioritize when you're working on multiple projects and ensures nothing falls through the cracks. Your work dashboard becomes your personal mission control for staying organized across your entire workspace. ## What's next? + Your work organization skills are solid! You're ready to: - [Plan work with cycles](/introduction/tutorials/plan-and-create-cycles) to group work into time-based iterations. diff --git a/docs/introduction/tutorials/overview.mdx b/docs/introduction/tutorials/overview.md similarity index 89% rename from docs/introduction/tutorials/overview.mdx rename to docs/introduction/tutorials/overview.md index e8fafe1b..a7074e78 100644 --- a/docs/introduction/tutorials/overview.mdx +++ b/docs/introduction/tutorials/overview.md @@ -13,15 +13,15 @@ Build your workspace and team structure: **[Create workspace](/introduction/tutorials/create-workspace)** Set up your dedicated workspace, navigate the Plane interface, and understand the sidebar. Learn to switch between workspaces and access essential settings and support resources. -*Time: 5 minutes* +_Time: 5 minutes_ **[Invite members](/introduction/tutorials/invite-members)** Bring your team into Plane with appropriate roles and permissions. Master workspace roles, manage team members, and handle invitations effectively. -*Time: 3-5 minutes* +_Time: 3-5 minutes_ **[Create projects](/introduction/tutorials/create-project)** Set up your first project where teams organize work and collaborate. Configure project settings, add team members, customize workflows, and organize work with labels. -*Time: 8-10 minutes* +_Time: 8-10 minutes_ ## Working with tasks and collaboration @@ -29,11 +29,11 @@ Learn to create, manage, and collaborate on work: **[Create work items](/introduction/tutorials/create-work-items)** Add your first tasks with clear titles, descriptions, and properties. Navigate different views, move work through workflow states, and complete the full work item lifecycle. -*Time: 8-10 minutes* +_Time: 8-10 minutes_ **[Collaborate on work items](/introduction/tutorials/collaborate-on-work-items)** Transform individual tasks into team collaboration opportunities. Use comments and mentions, create sub-work items, manage notifications, and track activity effectively. -*Time: 10-12 minutes* +_Time: 10-12 minutes_ ## Organization and planning @@ -41,40 +41,45 @@ Organize and plan work for maximum team effectiveness: **[Organize and view your work](/introduction/tutorials/organize-and-view-work)** Master work organization using layouts, filters, and custom views. Create workspace-level views, use personal dashboards, and build effective daily routines. -*Time: 12-15 minutes* +_Time: 12-15 minutes_ **[Plan work with Cycles](/introduction/tutorials/plan-and-create-cycles)** Transform scattered work into focused, time-boxed periods. Create cycles with clear boundaries, track team velocity, and build sustainable planning rhythms. -*Time: 10-12 minutes* +_Time: 10-12 minutes_ **[Write content with Pages](/introduction/tutorials/create-pages)** Create professional documentation, meeting notes, and project requirements. Master the block-based editor, share pages effectively, and configure settings for different use cases. -*Time: 5 minutes* +_Time: 5 minutes_ --- ## Tutorial pathways ### For workspace administrators + - Create workspace → Invite members → Create projects → Advanced organization features -### For project managers +### For project managers + - Create projects → Create work items → Plan with Cycles → Organize and view work ### For team contributors -- Create work items → Collaborate on work items → Organize and view work → Write content with Pages + +- Create work items → Collaborate on work items → Organize and view work → Write content with Pages ## What you'll accomplish By completing these tutorials, you'll have: **Essential skills:** + - Functional workspace with proper team access and permissions - Project structure that matches your team's workflow - Work creation and management capabilities - Effective collaboration patterns and communication practices **Advanced capabilities:** + - Custom views and organization systems that support different work contexts - Time-based planning with cycles for consistent delivery - Documentation and knowledge sharing through Pages @@ -82,4 +87,4 @@ By completing these tutorials, you'll have: --- -*These tutorials provide the foundation for effective team collaboration in Plane. Work through them at your own pace, and don't hesitate to revisit sections.* \ No newline at end of file +_These tutorials provide the foundation for effective team collaboration in Plane. Work through them at your own pace, and don't hesitate to revisit sections._ diff --git a/docs/introduction/tutorials/plan-and-create-cycles.mdx b/docs/introduction/tutorials/plan-and-create-cycles.md similarity index 97% rename from docs/introduction/tutorials/plan-and-create-cycles.mdx rename to docs/introduction/tutorials/plan-and-create-cycles.md index b5272452..377814bf 100644 --- a/docs/introduction/tutorials/plan-and-create-cycles.mdx +++ b/docs/introduction/tutorials/plan-and-create-cycles.md @@ -8,6 +8,7 @@ description: Learn how to create and manage cycles in Plane to organize work int Cycles help you organize work into focused time periods - like sprints. Instead of endless lists of work items, cycles create clear boundaries with start dates, end dates, and specific goals your team can work toward together. In this tutorial, you'll: + - Understand when and why to use cycles for time-based planning - Create cycles with clear timeframes and achievable goals - Add and organize work items within cycle boundaries @@ -19,6 +20,7 @@ In this tutorial, you'll: **Cycles are time-boxed containers** for your work that create focused periods where your team commits to completing specific work items within set timeframes. **Key benefits:** + - Clear deadlines create urgency and focus - Team alignment on what's being worked on when - Progress tracking shows velocity and capacity over time @@ -32,12 +34,13 @@ In this tutorial, you'll: - **Goal-driven work** - Organize work around specific outcomes or milestones ## Create your first cycle + Build a focused work period with clear boundaries and achievable goals. ![Create cycle dialog](https://media.docs.plane.so/tutorials/create-cycle.webp#hero) 1. **Begin creating your cycle** - - In your project sidebar, click **Cycles**. + - In your project sidebar, click **Cycles**. - Click **Add cycle** button (top-right). - The cycle creation dialog opens. @@ -68,13 +71,15 @@ Explore how Plane organizes your cycles and provides timeline visibility. ![Cycles overview](https://media.docs.plane.so/tutorials/cycles-interface.webp#hero) **Understand cycle organization:** - - **Active** - Currently running cycles - - **Upcoming** - Planned but not yet started - - **Completed** - Finished cycles with results + +- **Active** - Currently running cycles +- **Upcoming** - Planned but not yet started +- **Completed** - Finished cycles with results This gives you comprehensive perspective on your project's planned work across past, present, and future periods. ## Add work items to your cycle + Populate your cycle with the right amount of work for your team's capacity. ![Cycle detail view](https://media.docs.plane.so/tutorials/add-work-items-to-cycle.webp#hero) @@ -99,6 +104,7 @@ Populate your cycle with the right amount of work for your team's capacity. - You can always add more items if you finish early. ## Track cycle progress + Once your cycle is active with work items, monitor progress regularly to ensure successful delivery and continuous improvement. ![Cycle progress tracking](https://media.docs.plane.so/tutorials/view-cycle-progress.webp#hero) @@ -145,6 +151,7 @@ Finish cycles with clear outcomes and learning for future improvement. You've created your first cycle and learned the fundamentals of time-boxed work planning. This approach helps teams deliver consistently and makes progress visible to everyone. ## What's next? + Your cycle planning skills are established! You're ready to: -- [Create content with Pages](/introduction/tutorials/create-pages) for documentation, meeting notes, and other project requirements. \ No newline at end of file +- [Create content with Pages](/introduction/tutorials/create-pages) for documentation, meeting notes, and other project requirements. diff --git a/docs/support/get-help.mdx b/docs/support/get-help.md similarity index 92% rename from docs/support/get-help.mdx rename to docs/support/get-help.md index e36f6674..c0e2338f 100644 --- a/docs/support/get-help.mdx +++ b/docs/support/get-help.md @@ -1,6 +1,5 @@ --- -title: Support and help resources -sidebar_label: Get help +title: Support and help resources description: Find support for Plane through in-app chat, email, Discord community, and developer resources. Report bugs, request features, and get answers to your questions. --- @@ -10,13 +9,12 @@ Need assistance with Plane? We're here to help you get unstuck and make the most ## Chat with us -The fastest way to get help is through our in-app support chat. +The fastest way to get help is through our in-app support chat. ![Get help](https://media.docs.plane.so/support/get-help-plane.webp#hero-bl) Click the **?** icon in your Plane workspace to start a conversation with our team. We're available to answer questions, troubleshoot issues, and guide you through features. - ## Join our community Connect with other Plane users, share tips, and get community support on our [Discord server](https://discord.com/invite/A92xrEGCge). It's a great place to see how others are using Plane, get quick answers, and stay updated on what's new. @@ -35,4 +33,4 @@ Found a bug? Help us improve Plane by reporting it on [GitHub Issues](https://gi ## Improve these docs -Notice something unclear or missing in our documentation? Let us know on the [docs GitHub repository](https://github.com/makeplane/docs). Your feedback helps us create better resources for everyone. \ No newline at end of file +Notice something unclear or missing in our documentation? Let us know on the [docs GitHub repository](https://github.com/makeplane/docs). Your feedback helps us create better resources for everyone. diff --git a/docs/support/keyboard-shortcuts.md b/docs/support/keyboard-shortcuts.md new file mode 100644 index 00000000..e6fe5e2c --- /dev/null +++ b/docs/support/keyboard-shortcuts.md @@ -0,0 +1,123 @@ +--- +title: Complete list of keyboard shortcuts and hotkeys +description: Complete list of keyboard shortcuts in Plane. Speed up your workflow with shortcuts for work items, navigation, cycles, modules, pages, and more. Press Cmd+/ to access anytime. +--- + +# Keyboard shortcuts + +Speed up your workflow in Plane with keyboard shortcuts. Access this list anytime by pressing `Cmd + /` (Mac) or `Ctrl + /` (Windows/Linux). + +## Work item actions + +| Action | Shortcut | +| -------------------------- | ----------- | +| Change state | `S` | +| Change priority | `P` | +| Assign to | `A` | +| Assign to me | `I` | +| Change estimate | `⌘ + E` | +| Add to cycle | `⌘ + C` | +| Add to modules | `⌘ + M` | +| Add labels | `L` | +| Subscribe to notifications | `⌘ + S` | +| Delete | `⌘ + ⌫` | +| Copy ID | `⌘ + .` | +| Copy title | `⌘ + ⇧ + '` | +| Copy URL | `⌘ + ⇧ + ,` | + +## Cycle actions + +| Action | Shortcut | +| ---------------- | ----------- | +| Add to favorites | `⌘ + F` | +| Copy URL | `⌘ + ⇧ + ,` | + +## Module actions + +| Action | Shortcut | +| ------------------ | ----------- | +| Add/remove members | `M` | +| Change status | `S` | +| Add to favorites | `⌘ + F` | +| Copy URL | `⌘ + ⇧ + ,` | + +## Page actions + +| Action | Shortcut | +| ---------------- | ----------- | +| Lock | `⌘ + L` | +| Make public | `⌘ + A` | +| Archive | `⌘ + R` | +| Add to favorites | `⌘ + F` | +| Copy URL | `⌘ + ⇧ + ,` | + +## Initiative actions + +| Action | Shortcut | +| ------------ | ----------- | +| Change state | `S` | +| Change lead | `L` | +| Copy URL | `⌘ + ⇧ + ,` | + +## Create + +| Action | Shortcut | +| -------------- | ------------ | +| New work item | `N` then `I` | +| New page | `N` then `D` | +| New view | `N` then `V` | +| New cycle | `N` then `C` | +| New module | `N` then `M` | +| New project | `N` then `P` | +| New teamspace | `N` then `T` | +| New initiative | `N` then `N` | +| New dashboard | `N` then `B` | +| New customer | `N` then `U` | + +## Navigate + +| Action | Shortcut | +| ------------------------- | ------------ | +| Open a cycle | `O` then `C` | +| Open a module | `O` then `M` | +| Open a project view | `O` then `V` | +| Open a project setting | `O` then `S` | +| Open a project | `O` then `P` | +| Open a teamspace | `O` then `T` | +| Open an initiative | `O` then `N` | +| Open a customer record | `O` then `U` | +| Open a workspace setting | `O` then `S` | +| Open a workspace | `O` then `W` | +| Go to home | `G` then `H` | +| Go to inbox | `G` then `X` | +| Go to your work | `G` then `Y` | +| Go to epics | `G` then `E` | +| Go to work items | `G` then `I` | +| Go to pages | `G` then `D` | +| Go to cycles | `G` then `C` | +| Go to modules | `G` then `M` | +| Go to project views | `G` then `V` | +| Go to intake | `G` then `K` | +| Go to project settings | `G` then `S` | +| Go to project archives | `G` then `R` | +| Go to workspace analytics | `G` then `A` | +| Go to workspace settings | `G` then `S` | +| Go to workspace drafts | `G` then `J` | +| Go to workspace archives | `G` then `R` | +| Go to teamspaces | `G` then `T` | +| Go to initiatives | `G` then `N` | +| Go to dashboards | `G` then `B` | +| Go to customer records | `G` then `U` | +| Go to projects list | `G` then `P` | + +## Miscellaneous + +| Action | Shortcut | +| ----------------------- | ----------- | +| Toggle app sidebar | `⌘ + B` | +| Copy current page URL | `⌘ + ⇧ + C` | +| Open keyboard shortcuts | `⌘ + /` | + +--- + +**Note:** `⌘` represents Command on Mac and Ctrl on Windows/Linux. `⇧` represents Shift, and `⌫` represents Delete/Backspace. diff --git a/docs/support/keyboard-shortcuts.mdx b/docs/support/keyboard-shortcuts.mdx deleted file mode 100644 index 66d2ae8a..00000000 --- a/docs/support/keyboard-shortcuts.mdx +++ /dev/null @@ -1,124 +0,0 @@ ---- -title: Complete list of keyboard shortcuts and hotkeys -sidebar_label: Keyboard shortcuts -description: Complete list of keyboard shortcuts in Plane. Speed up your workflow with shortcuts for work items, navigation, cycles, modules, pages, and more. Press Cmd+/ to access anytime. ---- - -# Keyboard shortcuts - -Speed up your workflow in Plane with keyboard shortcuts. Access this list anytime by pressing `Cmd + /` (Mac) or `Ctrl + /` (Windows/Linux). - -## Work item actions - -| Action | Shortcut | -|--------|----------| -| Change state | `S` | -| Change priority | `P` | -| Assign to | `A` | -| Assign to me | `I` | -| Change estimate | `⌘ + E` | -| Add to cycle | `⌘ + C` | -| Add to modules | `⌘ + M` | -| Add labels | `L` | -| Subscribe to notifications | `⌘ + S` | -| Delete | `⌘ + ⌫` | -| Copy ID | `⌘ + .` | -| Copy title | `⌘ + ⇧ + '` | -| Copy URL | `⌘ + ⇧ + ,` | - -## Cycle actions - -| Action | Shortcut | -|--------|----------| -| Add to favorites | `⌘ + F` | -| Copy URL | `⌘ + ⇧ + ,` | - -## Module actions - -| Action | Shortcut | -|--------|----------| -| Add/remove members | `M` | -| Change status | `S` | -| Add to favorites | `⌘ + F` | -| Copy URL | `⌘ + ⇧ + ,` | - -## Page actions - -| Action | Shortcut | -|--------|----------| -| Lock | `⌘ + L` | -| Make public | `⌘ + A` | -| Archive | `⌘ + R` | -| Add to favorites | `⌘ + F` | -| Copy URL | `⌘ + ⇧ + ,` | - -## Initiative actions - -| Action | Shortcut | -|--------|----------| -| Change state | `S` | -| Change lead | `L` | -| Copy URL | `⌘ + ⇧ + ,` | - -## Create - -| Action | Shortcut | -|--------|----------| -| New work item | `N` then `I` | -| New page | `N` then `D` | -| New view | `N` then `V` | -| New cycle | `N` then `C` | -| New module | `N` then `M` | -| New project | `N` then `P` | -| New teamspace | `N` then `T` | -| New initiative | `N` then `N` | -| New dashboard | `N` then `B` | -| New customer | `N` then `U` | - -## Navigate - -| Action | Shortcut | -|--------|----------| -| Open a cycle | `O` then `C` | -| Open a module | `O` then `M` | -| Open a project view | `O` then `V` | -| Open a project setting | `O` then `S` | -| Open a project | `O` then `P` | -| Open a teamspace | `O` then `T` | -| Open an initiative | `O` then `N` | -| Open a customer record | `O` then `U` | -| Open a workspace setting | `O` then `S` | -| Open a workspace | `O` then `W` | -| Go to home | `G` then `H` | -| Go to inbox | `G` then `X` | -| Go to your work | `G` then `Y` | -| Go to epics | `G` then `E` | -| Go to work items | `G` then `I` | -| Go to pages | `G` then `D` | -| Go to cycles | `G` then `C` | -| Go to modules | `G` then `M` | -| Go to project views | `G` then `V` | -| Go to intake | `G` then `K` | -| Go to project settings | `G` then `S` | -| Go to project archives | `G` then `R` | -| Go to workspace analytics | `G` then `A` | -| Go to workspace settings | `G` then `S` | -| Go to workspace drafts | `G` then `J` | -| Go to workspace archives | `G` then `R` | -| Go to teamspaces | `G` then `T` | -| Go to initiatives | `G` then `N` | -| Go to dashboards | `G` then `B` | -| Go to customer records | `G` then `U` | -| Go to projects list | `G` then `P` | - -## Miscellaneous - -| Action | Shortcut | -|--------|----------| -| Toggle app sidebar | `⌘ + B` | -| Copy current page URL | `⌘ + ⇧ + C` | -| Open keyboard shortcuts | `⌘ + /` | - ---- - -**Note:** `⌘` represents Command on Mac and Ctrl on Windows/Linux. `⇧` represents Shift, and `⌫` represents Delete/Backspace. \ No newline at end of file diff --git a/docs/templates/page-templates.mdx b/docs/templates/page-templates.md similarity index 94% rename from docs/templates/page-templates.mdx rename to docs/templates/page-templates.md index 264f4136..35a63f9c 100644 --- a/docs/templates/page-templates.mdx +++ b/docs/templates/page-templates.md @@ -1,15 +1,11 @@ --- title: Page templates to standardize documentation structure -sidebar_label: Page Templates -hide_title: true description: Create Page templates to standardize documentation and build reusable page structures. Save time and ensure consistency with our step-by-step guide. --- -import Tags from "@site/src/components/Tags"; - -
+

Create pages faster with templates

- +
Page Templates help you standardize and streamline your documentation workflow by providing reusable page structures for common content types. Instead of manually creating similar pages from scratch, templates allow you to quickly apply predefined formats and content, saving time and ensuring consistency across your workspace. @@ -24,8 +20,9 @@ Templates are perfect for teams who: ## Create page template 1. Navigate to [Workspace Settings](https://docs.plane.so/core-concepts/workspaces/overview#access-workspace-settings). - + ![Create page template](https://media.docs.plane.so/templates/create-page-templates.webp#hero-tr) + 2. Select the **Templates** tab on the right pane. 3. Click the **Create template** button in the top-right corner. 4. Select **Page template** from the dropdown options. @@ -37,6 +34,7 @@ Templates are perfect for teams who: - Design your page layout and add any standard content, headers, or formatting. - Include placeholder text or instructions for future users. - Set up any recurring elements like tables, checklists, or sections. + 6. Click **Create page template** to save. ## Use page templates diff --git a/docs/templates/project-templates.mdx b/docs/templates/project-templates.md similarity index 94% rename from docs/templates/project-templates.mdx rename to docs/templates/project-templates.md index 2a297ed0..ad942ecb 100644 --- a/docs/templates/project-templates.mdx +++ b/docs/templates/project-templates.md @@ -1,15 +1,11 @@ --- title: Project templates to standardize new project setup -sidebar_label: Project Templates -hide_title: true description: Create and use Project Templates to standardize projects, save setup time, and ensure consistency across your workspace with predefined settings. --- -import Tags from "@site/src/components/Tags"; - -
+

Create projects faster with templates

- +
Project Templates help you standardize and streamline your workflow by providing reusable structures for common project types. Instead of manually configuring similar projects from scratch, templates allow you to quickly apply predefined settings, saving time and ensuring consistency across your workspace. @@ -26,6 +22,7 @@ Templates are perfect for teams who: 1. Navigate to [Workspace Settings](https://docs.plane.so/core-concepts/workspaces/overview#access-workspace-settings). ![Create project template](https://media.docs.plane.so/templates/create-project-template.webp#hero-tr) + 2. Select the **Templates** tab on the right pane. 3. Click the **Create template** button in the top-right corner. 4. Select **Project template** from the options. @@ -39,8 +36,10 @@ Templates are perfect for teams who: - Set up optional features like **States**, **Labels**, and **Work item types**. ![Configure project template](https://media.docs.plane.so/templates/configure-project-template.webp#hero) + - Enable or disable **Epics** based on project needs. - You can optionally define initial work items that will automatically create when teams start new projects, helping them get up and running faster with pre-structured tasks. + 6. Click **Create project template** to save. ## Use project templates diff --git a/docs/templates/work-item-templates.mdx b/docs/templates/work-item-templates.md similarity index 94% rename from docs/templates/work-item-templates.mdx rename to docs/templates/work-item-templates.md index 5bf496c1..5cf3f7cf 100644 --- a/docs/templates/work-item-templates.mdx +++ b/docs/templates/work-item-templates.md @@ -1,15 +1,11 @@ --- title: Work item templates for recurring tasks -sidebar_label: Work Item Templates -hide_title: true description: Create and use Work Item Templates to standardize recurring tasks, save setup time, and ensure consistency with predefined fields and properties. --- -import Tags from "@site/src/components/Tags"; - -
+

Create work items faster with templates

- +
Work Item Templates help you standardize and streamline your workflow by providing reusable templates for common tasks. Instead of manually recreating similar work items, templates allow you to quickly apply predefined structures, saving time and ensuring consistency. @@ -25,12 +21,14 @@ Templates are perfect for teams who: 1. Navigate to [Project Settings](https://docs.plane.so/core-concepts/projects/overview#configure-project-settings). 2. Select the **Templates** tab on the right pane. - + ![Create work item template](https://media.docs.plane.so/templates/create-work-item-template.webp#hero-bl) + 3. Click the **Create template** button in the top-right corner. 4. Select **Work Item template** from the options. - + ![Add template details](https://media.docs.plane.so/templates/add-template-details.webp#hero) + 5. Fill in the template details: - Give your template a clear, descriptive name. - Add a description explaining when and how to use this template. diff --git a/docs/workflows-and-approvals/workflows.mdx b/docs/workflows-and-approvals/workflows.md similarity index 88% rename from docs/workflows-and-approvals/workflows.mdx rename to docs/workflows-and-approvals/workflows.md index 3d898c00..6fdbfb82 100644 --- a/docs/workflows-and-approvals/workflows.mdx +++ b/docs/workflows-and-approvals/workflows.md @@ -1,15 +1,11 @@ --- title: Workflows to control work item state transitions -sidebar_label: Workflows -hide_title: true description: Set up Workflows to control work item transitions, require approval from specific reviewers, and ensure work follows your team's established processes. --- -import Tags from "@site/src/components/Tags"; - -
+

Control your work item transitions

- +
Workflows give you control over how work items move through your process. Think of it as creating guardrails that ensure work follows your team's agreed-upon path, with the right people making decisions at each step. @@ -21,7 +17,7 @@ This means you can: - Prevent work items from moving backward in your process unexpectedly. - Control which states can receive new work items. -
+
@@ -43,16 +39,16 @@ Getting started with Workflows takes just a few minutes: 2. You'll see all your workflow states listed. Each state represents a stage in your process (like "Backlog," "Todo," "In Progress"). 3. For each state, you'll notice a toggle labeled **Allow new work items**. This controls whether team members can create new items directly in this state. Toggle it off for states that should only be reached through progression (like "Ready to Publish"). - + ![Allow new work items](https://media.docs.plane.so/workflows/allow-new-work-items.webp#hero) 4. Under the state, click **Add permitted state change** to define possible transitions. - When you click this option, a menu appears where you can select which states this work item can move to next. For example, from "Backlog," you might allow transitions to "Todo" or "Sprint Backlog". - + ![Add permitted state change](https://media.docs.plane.so/workflows/add-state-change.webp#hero) - Click **Add reviewers** to specify Members who are permitted to make this change. If you don't add any reviewers, any team member can move items to this state. - + ![Add reviewers](https://media.docs.plane.so/workflows/add-reviewers.webp#hero) 5. Add all the state transitions your team needs, building out your complete workflow. @@ -60,7 +56,7 @@ Getting started with Workflows takes just a few minutes: 6. When everything looks good, click the **Live** toggle at the top right to activate your workflow. 7. The three-dot menu in the top-right provides additional options: - + ![Additional options](https://media.docs.plane.so/workflows/additional-options.webp#hero) - **Reset workflow** Removes all your custom workflow settings @@ -72,10 +68,11 @@ Getting started with Workflows takes just a few minutes: Once your workflow is live, you'll notice some changes in how work items behave: - A special icon appears next to the state column, indicating a workflow is active. - + ![Transition active icon](https://media.docs.plane.so/workflows/transition-change-icon.webp#hero) + - Items can only be created in states where "Allow new work items" is enabled. - Members will only be able to move items to the states you've permitted. - If someone tries to make a state change they're not authorized for, they'll see a blocker message. - + ![Transition blocker](https://media.docs.plane.so/workflows/transition-blocker.webp#hero) diff --git a/docs/workspaces-and-users/add-remove-seats.mdx b/docs/workspaces-and-users/add-remove-seats.md similarity index 79% rename from docs/workspaces-and-users/add-remove-seats.mdx rename to docs/workspaces-and-users/add-remove-seats.md index fd143e9e..d6ad72ae 100644 --- a/docs/workspaces-and-users/add-remove-seats.mdx +++ b/docs/workspaces-and-users/add-remove-seats.md @@ -8,7 +8,7 @@ description: Manage paid seats in your workspace Manage the number of paid seats in your workspace to control your subscription costs. Seats determine how many Admins and Members you can have. -:::info +::: info Guests don't count as paid seats. You get 5 Guest users per paid seat automatically. ::: @@ -18,26 +18,24 @@ Add seats when you need to invite more Admins or Members than your current seat 1. Navigate to **Workspace Settings > Members**. - ![Manage seats](https://media.docs.plane.so/activate-license/manage-seats.webp#hero-tr) +![Manage seats](https://media.docs.plane.so/activate-license/manage-seats.webp#hero-tr) 2. Click **Manage Seats**. 3. Select **Add seats**. - ![Add seats](https://media.docs.plane.so/activate-license/add-paid-seats.webp#hero) -4. Enter the number of seats to add. -5. Click **Change**. -6. Complete payment in Stripe. +![Add seats](https://media.docs.plane.so/activate-license/add-paid-seats.webp#hero) 4. Enter the number of seats to add. 5. Click **Change**. 6. Complete payment in Stripe. + +::: info Billing impact -:::info[Billing impact] - New seats are charged immediately. - Future bills include the full price of all seats. -::: + ::: ## Remove unused seats Remove unused seats to reduce your subscription cost. You can only remove seats that aren't currently assigned to members. -:::tip +::: tip If you want to remove seats currently in use, remove the members first or change their role to Guest. See [Manage members](/core-concepts/workspaces/members), then remove the unused seats. ::: @@ -46,5 +44,3 @@ If you want to remove seats currently in use, remove the members first or change 3. Select **Remove unused seats**. This removes all paid seats not currently assigned to Admins or Members. - - diff --git a/docs/workspaces-and-users/billing-and-plans.mdx b/docs/workspaces-and-users/billing-and-plans.md similarity index 99% rename from docs/workspaces-and-users/billing-and-plans.mdx rename to docs/workspaces-and-users/billing-and-plans.md index d65c293d..448bc6a5 100644 --- a/docs/workspaces-and-users/billing-and-plans.mdx +++ b/docs/workspaces-and-users/billing-and-plans.md @@ -4,6 +4,8 @@ toc_max_heading_level: 4 description: Learn how Plane's per-seat billing works, how to manage seats for admins and members and upgrade workspaces. --- +# How billing works + Unlike a majority of SaaS, our subscription models on Pro and higher plans are per-seat, not per-users. Learn why this model works great for you and how to manage your members versus seats. ## Per-seat model and billing @@ -19,7 +21,7 @@ Unlike a majority of SaaS, our subscription models on Pro and higher plans are p ![Add seats](https://media.docs.plane.so/activate-license/add-seats.webp#hero) - When you want to add members or change non-paid roles—Guests—to paid ones—Admins or Members—, you must add seats first. All new seats are immediately charged to the card on file. Depending on when you are adding more seats, your bill will either be prorated or show the full price of those seats. - :::warning + ::: warning If we don't have your card on file, you will have to reach out to us each time you want to increase the number of seats or get your bill adjusted to a lower number of seats. ::: @@ -58,8 +60,9 @@ We don’t offer refunds except in the most unusual circumstances. Your Plane bi Should you think you have an exceptional circumstance and deserve a refund, write to us. ## AI credits and usage + Plane AI uses a separate credit-based system for AI features. Credits measure the computational work required for AI tasks, from quick queries to bulk automations. Each plan includes monthly AI credits per seat that pool at the workspace level. -AI credits are separate from your seat-based subscription. You can run out of AI credits without affecting your paid seats, and vice versa. Learn more about [how AI credits work](/ai/plane-ai-credits) including consumption rates, rollover policies, and top-up options. \ No newline at end of file +AI credits are separate from your seat-based subscription. You can run out of AI credits without affecting your paid seats, and vice versa. Learn more about [how AI credits work](/ai/plane-ai-credits) including consumption rates, rollover policies, and top-up options. diff --git a/docs/workspaces-and-users/customize-navigation.mdx b/docs/workspaces-and-users/customize-navigation.md similarity index 96% rename from docs/workspaces-and-users/customize-navigation.mdx rename to docs/workspaces-and-users/customize-navigation.md index 32bfc9ac..ad100417 100644 --- a/docs/workspaces-and-users/customize-navigation.mdx +++ b/docs/workspaces-and-users/customize-navigation.md @@ -8,6 +8,7 @@ description: Personalize your Plane sidebar by showing or hiding sections. Custo Personalize your sidebar by choosing which items stay visible and how your project navigation is displayed. These settings are personal to you and won't affect anyone else in your workspace. ## Customize sidebar items + Control which sections appear in your sidebar to streamline your navigation and focus on what matters most to you. ![Customize personal and workspace items](https://media.docs.plane.so/workspaces/customize-personal-and-workspace-items.webp#hero) @@ -25,14 +26,14 @@ Selected items will always appear in your sidebar. Unchecked items can still be Choose how feature tabs appear within your projects: -**Accordion navigation control** +**Accordion navigation control** ![Accordion navigation style](https://media.docs.plane.so/workspaces/accordion-navigation-style.webp#hero) Feature tabs appear as nested items under each project in the sidebar and act as an accordion. When you expand one project, others automatically collapse. This works well when you focus on one project at a time and want a compact sidebar. -**Horizontal navigation bar** +**Horizontal navigation bar** ![Horizontal navigation bar](https://media.docs.plane.so/workspaces/horizontal-navigation-bar.webp#hero) @@ -46,6 +47,7 @@ To change your project navigation: 3. Choose either **Accordion navigation control** or **Horizontal navigation bar**. ## Limit sidebar projects + If you're a member of many projects, you can limit how many appear directly in your sidebar to keep it manageable. ![Limit sidebar projects](https://media.docs.plane.so/workspaces/limit-sidebar-projects.webp#hero) @@ -55,4 +57,4 @@ If you're a member of many projects, you can limit how many appear directly in y 3. Your most recently accessed projects will appear in the sidebar. 4. Access other projects through the ... More menu. -This helps keep your sidebar focused on active projects while maintaining access to everything else. \ No newline at end of file +This helps keep your sidebar focused on active projects while maintaining access to everything else. diff --git a/docs/workspaces-and-users/manage-licenses.mdx b/docs/workspaces-and-users/manage-licenses.md similarity index 98% rename from docs/workspaces-and-users/manage-licenses.mdx rename to docs/workspaces-and-users/manage-licenses.md index c6dab59d..d3fe47bd 100644 --- a/docs/workspaces-and-users/manage-licenses.mdx +++ b/docs/workspaces-and-users/manage-licenses.md @@ -2,28 +2,31 @@ title: Manage licenses description: Upgrade to paid plans in Plane, activate license keys on self-hosted instances, manage seats, and handle subscription changes. --- + # Manage licenses for Commercial Edition -:::warning +::: warning If you are on the self-hosted Community edition and want to upgrade to the Commercial Edition, see [Upgrade from Community](https://developers.plane.so/self-hosting/upgrade-from-community). ::: -## Activate license -Activate a paid plan license on your self-hosted Plane instance using a license key from the Prime portal. +## Activate license +Activate a paid plan license on your self-hosted Plane instance using a license key from the Prime portal. 1. Login to the [Prime portal](https://prime.plane.so/licenses) with the same email address you used to purchase one of our paid plans. -2. Go to [Manage licenses](https://prime.plane.so/licenses). Copy the value of the **License key** for the license you want to activate. +2. Go to [Manage licenses](https://prime.plane.so/licenses). Copy the value of the **License key** for the license you want to activate. ![Manage licenses](https://media.docs.plane.so/activate-license/copy-license-key.webp#hero) - :::note + ::: note Click the **Get more licenses** button as in the image above on the [Prime portal](https://prime.plane.so/licenses/plans) to buy more licenses. ::: -3. On the Plane app, navigate to **Workspace Settings > Billing and plans** + +3. On the Plane app, navigate to **Workspace Settings > Billing and plans** 4. Click the **Activate this Workspace** button. ![Activate workspace](https://media.docs.plane.so/activate-license/enter-license-key-selfhosted.webp#hero-tr) + 5. Paste the license key in the **Enter license key** box. 6. Click **Activate**. You will see a confirmation. 7. That's it. To check your plan at any time and find additional details, just go to the **Billing and plans** tab in **Workspace Settings**. @@ -56,8 +59,7 @@ Here’s how to delink your license key from a workspace: 2. Click **Delink license key**. This will release the license key, making it available for use on another machine or workspace. ![Delink license key](https://media.docs.plane.so/activate-license/delink-license-key.webp#hero-tl) + 3. Restart the instance using `prime-cli restart`. 4. If you’re switching machines or reinstalling the Commercial edition, see [Move Plane instance to another server](https://developers.plane.so/self-hosting/manage/migrate-plane). 5. Ensure you are connected to the internet and reactivate the new workspace using the license key you delinked earlier. - - diff --git a/docs/workspaces-and-users/permissions.md b/docs/workspaces-and-users/permissions.md new file mode 100644 index 00000000..2b70ddef --- /dev/null +++ b/docs/workspaces-and-users/permissions.md @@ -0,0 +1,2006 @@ +--- +title: Permissions matrix +description: Manage user roles and permissions in workspaces. +--- + +# Permissions matrix + +Permissions define what actions users can take within a workspace or project. + +This reference provides a comprehensive breakdown of what each role can do across workspaces and projects. Use this matrix to understand exact permission boundaries when planning your team structure or troubleshooting access issues. + +## Permission levels + +
+ Workspaces + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PermissionAdminMemberGuest
Access Workspace settingsxx
Create Workspacexx
Update Workspacexx
Delete Workspacexx
Add userxx
Remove userxx
Change user rolexx
Manage Project statesxx
Manage Billing and plansxx
Manage Integrationsxx
Manage Importsxx
Manage Exportsxx
Manage Webhooksxx
Manage API tokensxx
Manage Worklogsxx
Home
Your workx
Inbox
Draftsx
Projectsx
View private projectsxx
View public projectsx
Join private projectsxx
Join public projectsx
Cyclesx
Views
Analyticsx
Your favouritesx
+ +
+ +
+ + Projects + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PermissionWorkspace AdminProject AdminMemberGuest
Access Project settings + + + + + x + + x +
Create Project + + + + + + + x +
Update Project + + + + + x + + x +
Archive Project + + + + + x + + x +
Delete Project + + + + + x + + x +
Add user + + + + + x + + x +
Remove user + + + + + x + + x +
Change user role + + + + + x + + x +
Enable features + + + + + x + + x +
Manage work item states + + + + + x + + x +
Manage work item labels + + + + + x + + x +
Manage Estimates + + + + + x + + x +
Manage Automations + + + + + x + + x +
Manage work item types and custom properties + + + + + x + + x +
Add Project to favorites + + + + + + + x +
Publish Project + + + + + x + + x +
Copy link + + + + + + + x +
View Archived projects + + + + + + + x +
+
+ +
+ + Work items + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PermissionWorkspace AdminProject AdminMemberGuest + Guest with
view access +
Comments
Create Work item + + + + + + + x + + x +
View Work items + + + + + + + x + + + Guests without view access can only see their own work items accepted through Intake.
Edit Work item + + + + + + + x + + x +
Duplicate Work item + + + + + + + x + + x +
Copy link + + + + + + + x + + x +
Archive Work item + + + + + + + x + + x +
Delete Work item + + + + + + + x + + x +
Edit Work item properties + + + + + + + x + + x +
View Work item activity + + + + + + + x + + +
Log work + + + + + + + x + + x +
Add Comments + + + + + + + x + + +
View Comments + + + + + + + x + + +
Add Reactions + + + + + + + x + + +
View work item types + + + + + + + + + +
Use work item types + + + + + + + x + + x +
+
+ +
+ + Cycles + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PermissionWorkspace AdminProject AdminMemberGuest
Create Cycle + + + + + + + x +
View Cycles + + + + + + + x +
View Cycle work items + + + + + + + x +
Edit Cycle + + + + + + + x +
Add work items + + + + + + + x +
Archive Cycle + + + + + + + x +
Delete Cycle + + + + + + + x +
Copy link + + + + + + + x +
Add Cycle to favorites + + + + + + + x +
View Cycle details + + + + + + + x +
Filter Cycles + + + + + + + x +
Search Cycles + + + + + + + x +
+
+ +
+ + Modules + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PermissionWorkspace AdminProject AdminMemberGuest
Create Module + + + + + + + x +
View Modules + + + + + + + x +
View Module work items + + + + + + + x +
Edit Module + + + + + + + x +
Add work items + + + + + + + x +
Archive Module + + + + + + + x +
Delete Module + + + + + + + x +
Copy link + + + + + + + x +
Add Module to favorites + + + + + + + x +
View Module details + + + + + + + x +
Add links to Module + + + + + + + x +
Sort Modules + + + + + + + x +
Filter Modules + + + + + + + x +
Search Modules + + + + + + + x +
+
+ +
+ + Views + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PermissionWorkspace AdminProject AdminMemberGuest + Guest with
view access +
Comments
Create View + + + + + + + + + +
See Views + + + + + + + x + + + Guests without view access can only see the Views they create
Edit View + + + + + + + x + + +
Add work items + + + + + + + x + + x +
Delete View + + + + + + + x + + +
Sort Views + + + + + + + x + + +
Filter Views + + + + + + + x + + +
Search Views + + + + + + + x + + +
Add View to favorites + + + + + + + x + + x +
Publish View + + + + + + + x + + x +
Copy link + + + + + + + x + + x +
+
+ +
+ + Pages + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PermissionWorkspace AdminProject AdminMemberGuest + Guest with
view access +
Create Page + + + + + + + x + + x +
View Pages + + + + + + + x + + +
Edit Page + + + + + + + x + + x +
Archive Page + + + + + + + x + + x +
Delete Page + + + + + + + x + + x +
Add Page to favorites + + + + + + + x + + x +
Publish Page + + + + + + + x + + x +
Copy link + + + + + + + x + + x +
Sort Pages + + + + + + + x + + +
Filter Pages + + + + + + + x + + +
Search Pages + + + + + + + x + + +
+
+ +
+ + Intake + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PermissionWorkspace AdminProject AdminMemberGuest + Guest with
view access +
Comments
Create Intake work item + + + + + + + + + +
View Intake work items + + + + + + + + + + Guest without view access can only view the Intake work items they create
Edit Intake work item + + + + + x + + + + x + Guest without view access can only modify the Intake work items they create
Accept Intake work item + + + + + x + + x + + x +
Reject Intake work item + + + + + x + + x + + x +
Snooze Intake work item + + + + + + + x + + x + Members can't snooze work items created by other users
Mark duplicate + + + + + + + x + + x + Members can't mark duplicate Intake work items created by other users
Delete Intake work item + + + + + + + x + + x + Members can't delete Intake work items created by other users
Add attachments + + + + + + + + + + Members and Guests can only attach files to the Intake work items they create
Modify Intake work item properties + + + + + + + + + + Members and Guests can only modify Intake work item properties they create
View activity + + + + + + + x + + +
Add comments + + + + + + + x + + +
Add reactions + + + + + + + x + + +
Copy link + + + + + + + x + + +
Sort Intake work items + + + + + + + + + +
Filter Intake work items + + + + + + + + + +
+
+ +## See also + +- [Member roles](/workspaces-and-users/roles) +- [Manage members](/core-concepts/workspaces/members) diff --git a/docs/workspaces-and-users/permissions.mdx b/docs/workspaces-and-users/permissions.mdx deleted file mode 100644 index 2d3b1353..00000000 --- a/docs/workspaces-and-users/permissions.mdx +++ /dev/null @@ -1,2036 +0,0 @@ ---- -title: Permissions matrix -description: Manage user roles and permissions in workspaces. ---- - -Permissions define what actions users can take within a workspace or project. - -This reference provides a comprehensive breakdown of what each role can do across workspaces and projects. Use this matrix to understand exact permission boundaries when planning your team structure or troubleshooting access issues. - -## Permission levels - -
- Workspaces -

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PermissionAdminMemberGuest
Access Workspace settingsxx
Create Workspacexx
Update Workspacexx
Delete Workspacexx
Add userxx
Remove userxx
Change user rolexx
Manage Project statesxx
Manage Billing and plansxx
Manage Integrationsxx
Manage Importsxx
Manage Exportsxx
Manage Webhooksxx
Manage API tokensxx
Manage Worklogsxx
Home
Your workx
Inbox
Draftsx
Projectsx
View private projectsxx
View public projectsx
Join private projectsxx
Join public projectsx
Cyclesx
Views
Analyticsx
Your favouritesx
-
- -

- -
- -
- - Projects - -

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PermissionWorkspace AdminProject AdminMemberGuest
Access Project settings - - - - - x - - x -
Create Project - - - - - - - x -
Update Project - - - - - x - - x -
Archive Project - - - - - x - - x -
Delete Project - - - - - x - - x -
Add user - - - - - x - - x -
Remove user - - - - - x - - x -
Change user role - - - - - x - - x -
Enable features - - - - - x - - x -
Manage work item states - - - - - x - - x -
Manage work item labels - - - - - x - - x -
Manage Estimates - - - - - x - - x -
Manage Automations - - - - - x - - x -
Manage work item types and custom properties - - - - - x - - x -
Add Project to favorites - - - - - - - x -
Publish Project - - - - - x - - x -
Copy link - - - - - - - x -
View Archived projects - - - - - - - x -
-
-

-
- -
- - Work items - -

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PermissionWorkspace AdminProject AdminMemberGuest - Guest with
view access -
Comments
Create Work item - - - - - - - x - - x -
View Work items - - - - - - - x - - - Guests without view access can only see their own work items accepted through Intake.
Edit Work item - - - - - - - x - - x -
Duplicate Work item - - - - - - - x - - x -
Copy link - - - - - - - x - - x -
Archive Work item - - - - - - - x - - x -
Delete Work item - - - - - - - x - - x -
Edit Work item properties - - - - - - - x - - x -
View Work item activity - - - - - - - x - - -
Log work - - - - - - - x - - x -
Add Comments - - - - - - - x - - -
View Comments - - - - - - - x - - -
Add Reactions - - - - - - - x - - -
View work item types - - - - - - - - - -
Use work item types - - - - - - - x - - x -
-
-

-
- -
- - Cycles - -

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PermissionWorkspace AdminProject AdminMemberGuest
Create Cycle - - - - - - - x -
View Cycles - - - - - - - x -
View Cycle work items - - - - - - - x -
Edit Cycle - - - - - - - x -
Add work items - - - - - - - x -
Archive Cycle - - - - - - - x -
Delete Cycle - - - - - - - x -
Copy link - - - - - - - x -
Add Cycle to favorites - - - - - - - x -
View Cycle details - - - - - - - x -
Filter Cycles - - - - - - - x -
Search Cycles - - - - - - - x -
-
-

-
- -
- - Modules - -

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PermissionWorkspace AdminProject AdminMemberGuest
Create Module - - - - - - - x -
View Modules - - - - - - - x -
View Module work items - - - - - - - x -
Edit Module - - - - - - - x -
Add work items - - - - - - - x -
Archive Module - - - - - - - x -
Delete Module - - - - - - - x -
Copy link - - - - - - - x -
Add Module to favorites - - - - - - - x -
View Module details - - - - - - - x -
Add links to Module - - - - - - - x -
Sort Modules - - - - - - - x -
Filter Modules - - - - - - - x -
Search Modules - - - - - - - x -
-
-

-
- -
- - Views - -

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PermissionWorkspace AdminProject AdminMemberGuest - Guest with
view access -
Comments
Create View - - - - - - - - - -
See Views - - - - - - - x - - - Guests without view access can only see the Views they create
Edit View - - - - - - - x - - -
Add work items - - - - - - - x - - x -
Delete View - - - - - - - x - - -
Sort Views - - - - - - - x - - -
Filter Views - - - - - - - x - - -
Search Views - - - - - - - x - - -
Add View to favorites - - - - - - - x - - x -
Publish View - - - - - - - x - - x -
Copy link - - - - - - - x - - x -
-
-

-
- -
- - Pages - -

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PermissionWorkspace AdminProject AdminMemberGuest - Guest with
view access -
Create Page - - - - - - - x - - x -
View Pages - - - - - - - x - - -
Edit Page - - - - - - - x - - x -
Archive Page - - - - - - - x - - x -
Delete Page - - - - - - - x - - x -
Add Page to favorites - - - - - - - x - - x -
Publish Page - - - - - - - x - - x -
Copy link - - - - - - - x - - x -
Sort Pages - - - - - - - x - - -
Filter Pages - - - - - - - x - - -
Search Pages - - - - - - - x - - -
-
-

-
- -
- - Intake - -

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PermissionWorkspace AdminProject AdminMemberGuest - Guest with
view access -
Comments
Create Intake work item - - - - - - - - - -
View Intake work items - - - - - - - - - - Guest without view access can only view the Intake work items they create
Edit Intake work item - - - - - x - - - - x - Guest without view access can only modify the Intake work items they create
Accept Intake work item - - - - - x - - x - - x -
Reject Intake work item - - - - - x - - x - - x -
Snooze Intake work item - - - - - - - x - - x - Members can't snooze work items created by other users
Mark duplicate - - - - - - - x - - x - Members can't mark duplicate Intake work items created by other users
Delete Intake work item - - - - - - - x - - x - Members can't delete Intake work items created by other users
Add attachments - - - - - - - - - - Members and Guests can only attach files to the Intake work items they create
Modify Intake work item properties - - - - - - - - - - Members and Guests can only modify Intake work item properties they create
View activity - - - - - - - x - - -
Add comments - - - - - - - x - - -
Add reactions - - - - - - - x - - -
Copy link - - - - - - - x - - -
Sort Intake work items - - - - - - - - - -
Filter Intake work items - - - - - - - - - -
-
-

-
- -## See also -- [Member roles](/workspaces-and-users/roles) -- [Manage members](/core-concepts/workspaces/members) \ No newline at end of file diff --git a/docs/workspaces-and-users/roles.mdx b/docs/workspaces-and-users/roles.md similarity index 98% rename from docs/workspaces-and-users/roles.mdx rename to docs/workspaces-and-users/roles.md index b2a64326..9ea2ec17 100644 --- a/docs/workspaces-and-users/roles.mdx +++ b/docs/workspaces-and-users/roles.md @@ -4,42 +4,49 @@ description: Learn about workspace roles in Plane - Admin, Member, and Guest per --- # Member roles + Every user in your workspace has a role that determines their access level and permissions. Plane uses three role types - Admin, Member, and Guest - each designed for different levels of involvement and responsibility. ## Types of roles ### Admin -**Workspace governance** + +**Workspace governance** Admins control the workspace itself - settings, members, features, and access. They determine what capabilities are available to all Members. It provide complete control for workspace owners and senior stakeholders who need to manage team structure and configuration. This centralized authority prevents configuration conflicts and maintains consistent workspace policies. ### Member + **Contributor autonomy** Members can do their work - create projects, manage work items, collaborate with the team - without needing administrative overhead. They see the full workspace membership (fostering transparency) and can discover public projects (encouraging collaboration), but cannot alter workspace structure or invite others. This separation keeps Members focused on execution rather than governance. -### Guest +### Guest + **Controlled external access** Organizations frequently need to give clients, contractors, or stakeholders visibility into work without exposing the entire workspace or allowing them to be assigned tasks. Guests exist outside the workspace's core structure. They cannot see workspace members, settings, or the broader project landscape. Their access is project-specific and tightly scoped, ensuring external collaborators only interact with content relevant to them. - ## When to use each role **Choose Admin for:** + - Workspace owners - Technical leads responsible for workspace governance - People who need to manage team membership and workspace settings - Anyone responsible for enabling features, configuring integrations, or managing billing **Choose Member for:** + - Full-time team members who actively contribute to projects - Internal collaborators who should have visibility into the workspace team - Anyone who needs to create projects or access workspace features **Choose Guest for:** + - External clients who need to review specific project deliverables - Contractors contributing to particular work items via the Intake section - Stakeholders who need visibility into specific projects without editing permissions - Anyone who should remain isolated from the broader workspace structure and membership ## See also + - [Permissions matrix](/workspaces-and-users/permissions) - Complete breakdown of what each role can do - [Manage members](/core-concepts/workspaces/members) - Invite users, change roles, and remove members diff --git a/docs/workspaces-and-users/search-workspace.mdx b/docs/workspaces-and-users/search-workspace.md similarity index 95% rename from docs/workspaces-and-users/search-workspace.mdx rename to docs/workspaces-and-users/search-workspace.md index d4b63de7..786e51a1 100644 --- a/docs/workspaces-and-users/search-workspace.mdx +++ b/docs/workspaces-and-users/search-workspace.md @@ -1,6 +1,5 @@ --- title: Search your workspace -sidebar_label: Search workspace description: Find work items, projects, pages, and other content across your workspace. --- @@ -9,6 +8,7 @@ description: Find work items, projects, pages, and other content across your wor Use workspace search to quickly find work items, projects, cycles, modules, pages, and other content across your entire workspace. ## Open search + Click the search icon (🔍) in the top navigation or press `Cmd/Ctrl + K`. ![Search workspace](https://media.docs.plane.so/workspaces/search-workspace.webp#hero-tr) @@ -19,7 +19,7 @@ Type your query and results appear instantly, organized by type. Use the tabs at - **All** - Shows everything across all categories - **Projects** - Your workspace projects -- **Work items** - Tasks across projects +- **Work items** - Tasks across projects - **Cycles** - Project cycles - **Modules** - Project modules - **Views** - Saved views @@ -55,6 +55,7 @@ Search finds comments containing your keywords. ## What you can search Search looks through: + - Work item titles and descriptions - Project names and identifiers - Cycle and module names @@ -64,6 +65,7 @@ Search looks through: - Teamspace names **Search features:** + - **Real-time results** - Updates as you type - **Partial matching** - "dev" finds "development" - **Case insensitive** - Capitalization doesn't matter @@ -71,6 +73,7 @@ Search looks through: ## What you won't see Search only shows content you have permission to access: + - Private projects you're not a member of won't appear - Archived and deleted items are hidden - Work items from projects you can't access are filtered out @@ -78,4 +81,5 @@ Search only shows content you have permission to access: This keeps your search results relevant and maintains project security. ## See also -- [Power K](/core-concepts/power-k) \ No newline at end of file + +- [Power K](/core-concepts/power-k) diff --git a/docs/workspaces-and-users/upgrade-plan.mdx b/docs/workspaces-and-users/upgrade-plan.md similarity index 82% rename from docs/workspaces-and-users/upgrade-plan.mdx rename to docs/workspaces-and-users/upgrade-plan.md index 2bc51ec1..9b5398b9 100644 --- a/docs/workspaces-and-users/upgrade-plan.mdx +++ b/docs/workspaces-and-users/upgrade-plan.md @@ -1,8 +1,8 @@ --- -title: Upgrade to paid plans -sidebar_label: Upgrade plan +title: Upgrade to paid plans description: Upgrade to paid plans in Plane, activate license keys on self-hosted instances, manage seats, and handle subscription changes. --- + # Upgrade to a paid plan You can upgrade from the Free plan to a paid plan to access premium features. @@ -11,11 +11,12 @@ You can upgrade from the Free plan to a paid plan to access premium features. ![Workspace settings](https://media.docs.plane.so/workspaces/workspace-settings.webp#hero-tl) -2. Navigate to the **Billing and plans** tab. +2. Navigate to the **Billing and plans** tab. ![Billing and plans](https://media.docs.plane.so/activate-license/billing-and-plans-cloud.webp#hero-tl) + 3. Select the **Monthly** or **Yearly** tab to choose your billing cycle. 4. Click the **Upgrade** button. 5. This will redirect you to the Stripe payment page. Enter your payment info and click **Subscribe**. -6. If your transaction goes through, you will see a confirmation that your plan is now active. -7. If you're self-hosting Plane, see **[Activate license](/workspaces-and-users/manage-licenses#activate-license)** for instructions on activating your workspace with the license key. \ No newline at end of file +6. If your transaction goes through, you will see a confirmation that your plan is now active. +7. If you're self-hosting Plane, see **[Activate license](/workspaces-and-users/manage-licenses#activate-license)** for instructions on activating your workspace with the license key. diff --git a/docs/your-work.mdx b/docs/your-work.md similarity index 98% rename from docs/your-work.mdx rename to docs/your-work.md index e6331c97..edc383f9 100644 --- a/docs/your-work.mdx +++ b/docs/your-work.md @@ -1,6 +1,5 @@ --- title: Dashboard to track assigned tasks and workload -sidebar_label: Your Work description: Track assigned tasks, monitor your workload, visualize priorities, and stay on top of your personal project contributions. --- diff --git a/docusaurus-v3.js b/docusaurus-v3.js deleted file mode 100644 index 5e002bbc..00000000 --- a/docusaurus-v3.js +++ /dev/null @@ -1,75 +0,0 @@ -new Crawler({ - appId: "AXICJJC8RP", - apiKey: "23df4157dee1d9a8d435cadd6cae3f26", - rateLimit: 8, - maxDepth: 10, - startUrls: ["https://docs.plane.so/"], - sitemaps: ["https://docs.plane.so/sitemap.xml"], - ignoreCanonicalTo: true, - discoveryPatterns: ["https://docs.plane.so/**"], - actions: [ - { - indexName: "plane-docs-v3", - pathsToMatch: ["https://docs.plane.so/**"], - recordExtractor: ({ $, helpers }) => { - // priority order: deepest active sub list header -> navbar active item -> 'Documentation' - const lvl0 = - $(".menu__link.menu__link--sublist.menu__link--active, .navbar__item.navbar__link--active").last().text() || - "Documentation"; - - return helpers.docsearch({ - recordProps: { - lvl0: { - selectors: "", - defaultValue: lvl0, - }, - lvl1: ["header h1", "article h1"], - lvl2: "article h2", - lvl3: "article h3", - lvl4: "article h4", - lvl5: "article h5, article td:first-child", - lvl6: "article h6", - content: "article p, article li, article td:last-child", - }, - indexHeadings: true, - aggregateContent: true, - recordVersion: "v3", - }); - }, - }, - ], - initialIndexSettings: { - "plane-docs-v3": { - attributesForFaceting: ["type", "lang", "language", "version", "docusaurus_tag"], - attributesToRetrieve: ["hierarchy", "content", "anchor", "url", "url_without_anchor", "type"], - attributesToHighlight: ["hierarchy", "content"], - attributesToSnippet: ["content:10"], - camelCaseAttributes: ["hierarchy", "content"], - searchableAttributes: [ - "unordered(hierarchy.lvl0)", - "unordered(hierarchy.lvl1)", - "unordered(hierarchy.lvl2)", - "unordered(hierarchy.lvl3)", - "unordered(hierarchy.lvl4)", - "unordered(hierarchy.lvl5)", - "unordered(hierarchy.lvl6)", - "content", - ], - distinct: true, - attributeForDistinct: "url", - customRanking: ["desc(weight.pageRank)", "desc(weight.level)", "asc(weight.position)"], - ranking: ["words", "filters", "typo", "attribute", "proximity", "exact", "custom"], - highlightPreTag: '', - highlightPostTag: "", - minWordSizefor1Typo: 3, - minWordSizefor2Typos: 7, - allowTyposOnNumericTokens: false, - minProximity: 1, - ignorePlurals: true, - advancedSyntax: true, - attributeCriteriaComputedByMinProximity: true, - removeWordsIfNoResults: "allOptional", - separatorsToIndex: "_", - }, - }, -}); diff --git a/docusaurus.config.ts b/docusaurus.config.ts deleted file mode 100644 index 2127f677..00000000 --- a/docusaurus.config.ts +++ /dev/null @@ -1,227 +0,0 @@ -import { themes as prismThemes } from "prism-react-renderer"; -import type { Config } from "@docusaurus/types"; -import type * as Preset from "@docusaurus/preset-classic"; - -// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) - -const config: Config = { - title: "Plane", - tagline: "Modern project management software", - favicon: "https://media.docs.plane.so/logo/favicon-32x32.png", - trailingSlash: false, - // Set the production url of your site here - url: "https://docs.plane.so", - // Future flags, see https://docusaurus.io/docs/api/docusaurus-config#future - future: { - v4: true, // Improve compatibility with the upcoming Docusaurus v4 - }, - // Set the // pathname under which your site is served - // For GitHub pages deployment, it is often '//' - baseUrl: "/", - // GitHub pages deployment config. - // If you aren't using GitHub pages, you don't need these. - organizationName: "makeplane", // Usually your GitHub org/user name. - projectName: "docs", // Usually your repo name. - // Broken links - onBrokenLinks: "throw", - onBrokenMarkdownLinks: "warn", - onBrokenAnchors: "warn", - - // Even if you don't use internationalization, you can use this field to set - // useful metadata like html lang. For example, if your site is Chinese, you - // may want to replace "en" with "zh-Hans". - i18n: { - defaultLocale: "en", - locales: ["en"], - }, - - presets: [ - [ - "classic", - { - docs: { - path: "docs", - routeBasePath: "/", - sidebarPath: "./sidebars.ts", - include: ["**/*.md", "**/*.mdx"], - }, - blog: false, - theme: { - customCss: "./src/css/custom.css", - }, - sitemap: { - lastmod: "date", - changefreq: "weekly", - priority: 0.5, - ignorePatterns: ["/tags/**"], - filename: "sitemap.xml", - }, - gtag: { - trackingID: "G-G578SD4VZD", - anonymizeIP: true, - }, - } satisfies Preset.Options, - ], - ], - - scripts: [ - { - src: "https://plausible.io/js/script.js", - defer: true, - "data-domain": "docs.plane.so", - }, - { - src: "https://cdn.cr-relay.com/v1/site/b1fcbcbd-67f6-4736-940f-033731801664/signals.js", - async: true, - }, - ], - - plugins: [ - [ - "posthog-docusaurus", - { - apiKey: "phc_HskAKGRy7x0BEoWfyeHzYWWzcMmKG9DCail7ot7WQkA", - appUrl: "https://us.i.posthog.com", // optional - enableInDevelopment: false, // optional - }, - ], - [ - "@docusaurus/plugin-google-tag-manager", - { - containerId: "G-G578SD4VZD", - }, - ], - ], - - headTags: [ - { - tagName: "link", - attributes: { - rel: "preload", - href: "/fonts/Satoshi/Satoshi-Variable.ttf", - as: "font", - type: "font/ttf", - crossorigin: "anonymous", - }, - }, - { - tagName: "link", - attributes: { - rel: "preload", - href: "/fonts/IBM/IBMPlexMono-Light.ttf", - as: "font", - type: "font/ttf", - crossorigin: "anonymous", - }, - }, - { - tagName: "link", - attributes: { - rel: "preload", - href: "/fonts/IBM/IBMPlexMono-Regular.ttf", - as: "font", - type: "font/ttf", - crossorigin: "anonymous", - }, - }, - { - tagName: "link", - attributes: { - rel: "preload", - href: "/fonts/IBM/IBMPlexMono-SemiBold.ttf", - as: "font", - type: "font/ttf", - crossorigin: "anonymous", - }, - }, - { - tagName: "link", - attributes: { - rel: "preload", - href: "/fonts/IBM/IBMPlexMono-Bold.ttf", - as: "font", - type: "font/ttf", - crossorigin: "anonymous", - }, - }, - ], - - themeConfig: { - image: "https://media.docs.plane.so/logo.svg", - docs: { - sidebar: { - hideable: false, - autoCollapseCategories: false, - }, - }, - metadata: [ - { - property: "og:image", - content: "https://media.docs.plane.so/logo/og-docs.webp", - }, - { - name: "twitter:image", - content: "https://media.docs.plane.so/logo/og-docs.webp", - }, - { - name: "keywords", - content: "project management, issue tracking, sprint management, agile, scrum, create projects, track sprints", - }, - ], - colorMode: { - defaultMode: "dark", - disableSwitch: false, - respectPrefersColorScheme: false, - }, - algolia: { - appId: "AXICJJC8RP", - apiKey: "23df4157dee1d9a8d435cadd6cae3f26", - indexName: "plane-docs-v3", - }, - navbar: { - title: "", - logo: { - alt: "Plane", - src: "https://media.docs.plane.so/logo/new-logo-white.png", - srcDark: "https://media.docs.plane.so/logo/new-logo-dark.png", - }, - items: [ - { - type: "search", - position: "left", - }, - { - href: "https://discord.com/invite/A92xrEGCge", - "aria-label": "Discord", - position: "right", - className: "navbar--discord-link", - }, - { - href: "https://github.com/makeplane/plane", - "aria-label": "GitHub", - position: "right", - className: "navbar--github-link", - }, - { - href: "https://app.plane.so/sign-in", - label: "Sign in", - position: "right", - }, - ], - }, - footer: {}, - prism: { - theme: prismThemes.github, - darkTheme: prismThemes.dracula, - }, - } satisfies Preset.ThemeConfig, - - stylesheets: [ - { - href: "https://fonts.googleapis.com/css2?family=Instrument+Sans:ital,wght@0,400..700;1,400..700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=National+Park:wght@200..800&family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&family=PT+Sans:ital,wght@0,400;0,700;1,400;1,700&family=Raleway:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100..900;1,100..900&family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap", - type: "text/css", - }, - ], -}; - -export default config; diff --git a/package.json b/package.json index 358e24cb..c3414aa5 100644 --- a/package.json +++ b/package.json @@ -2,63 +2,26 @@ "name": "docs", "version": "3.0.0", "private": true, - "author": "Plane", - "license": "MIT", "homepage": "https://plane.so", + "license": "MIT", + "author": "Plane", "repository": { "type": "git", "url": "https://github.com/makeplane/docs.git" }, + "type": "module", "scripts": { - "docusaurus": "docusaurus", - "start": "docusaurus start", - "build": "docusaurus build", - "swizzle": "docusaurus swizzle", - "deploy": "docusaurus deploy", - "clear": "docusaurus clear", - "serve": "docusaurus serve", - "write-translations": "docusaurus write-translations", - "write-heading-ids": "docusaurus write-heading-ids", - "typecheck": "tsc", - "format": "prettier --write ." + "dev": "vitepress dev docs", + "build": "vitepress build docs", + "preview": "vitepress preview docs", + "format": "oxfmt --write ." }, "dependencies": { - "@docusaurus/core": "^3.9.2", - "@docusaurus/preset-classic": "^3.9.2", - "@mdx-js/react": "^3.0.0", - "clsx": "^2.0.0", - "posthog-docusaurus": "^2.0.4", - "prism-react-renderer": "^2.3.0", - "react": "^19.2.1", - "react-dom": "^19.2.1", - "react-icons": "^5.5.0" + "vitepress": "^1.6.3", + "vue": "^3.5.13" }, "devDependencies": { - "@docusaurus/module-type-aliases": "^3.9.2", - "@docusaurus/tsconfig": "^3.9.2", - "@docusaurus/types": "^3.9.2", - "prettier": "^3.6.2", - "typescript": "~5.6.2" - }, - "pnpm": { - "overrides": { - "webpack-dev-server": "5.2.1", - "js-yaml": "3.14.2", - "qs": "6.14.1", - "lodash": "4.17.23" - } - }, - "browserslist": { - "production": [ - ">0.5%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 3 chrome version", - "last 3 firefox version", - "last 5 safari version" - ] + "oxfmt": "^0.36.0" }, "engines": { "node": ">=24.0.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fba13a7b..897c1e37 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,11143 +4,1746 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false -overrides: - webpack-dev-server: 5.2.1 - js-yaml: 3.14.2 - qs: 6.14.1 - lodash: 4.17.23 - importers: .: dependencies: - '@docusaurus/core': - specifier: ^3.9.2 - version: 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/preset-classic': - specifier: ^3.9.2 - version: 3.9.2(@algolia/client-search@5.46.0)(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(@types/react@19.2.7)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(search-insights@2.17.3)(typescript@5.6.3) - '@mdx-js/react': - specifier: ^3.0.0 - version: 3.1.1(@types/react@19.2.7)(react@19.2.1) - clsx: - specifier: ^2.0.0 - version: 2.1.1 - posthog-docusaurus: - specifier: ^2.0.4 - version: 2.0.5 - prism-react-renderer: - specifier: ^2.3.0 - version: 2.4.1(react@19.2.1) - react: - specifier: ^19.2.1 - version: 19.2.1 - react-dom: - specifier: ^19.2.1 - version: 19.2.1(react@19.2.1) - react-icons: - specifier: ^5.5.0 - version: 5.5.0(react@19.2.1) + vitepress: + specifier: ^1.6.3 + version: 1.6.4(@algolia/client-search@5.49.1)(postcss@8.5.8)(search-insights@2.17.3) + vue: + specifier: ^3.5.13 + version: 3.5.29 devDependencies: - '@docusaurus/module-type-aliases': - specifier: ^3.9.2 - version: 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/tsconfig': - specifier: ^3.9.2 - version: 3.9.2 - '@docusaurus/types': - specifier: ^3.9.2 - version: 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - prettier: - specifier: ^3.6.2 - version: 3.7.4 - typescript: - specifier: ~5.6.2 - version: 5.6.3 + oxfmt: + specifier: ^0.36.0 + version: 0.36.0 packages: - '@ai-sdk/gateway@2.0.18': - resolution: {integrity: sha512-sDQcW+6ck2m0pTIHW6BPHD7S125WD3qNkx/B8sEzJp/hurocmJ5Cni0ybExg6sQMGo+fr/GWOwpHF1cmCdg5rQ==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - - '@ai-sdk/provider-utils@3.0.18': - resolution: {integrity: sha512-ypv1xXMsgGcNKUP+hglKqtdDuMg68nWHucPPAhIENrbFAI+xCHiqPVN8Zllxyv1TNZwGWUghPxJXU+Mqps0YRQ==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - - '@ai-sdk/provider@2.0.0': - resolution: {integrity: sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==} - engines: {node: '>=18'} - - '@ai-sdk/react@2.0.109': - resolution: {integrity: sha512-5qM8KuN7bv7E+g6BXkSAYLFjwIfMSTKOA1prjg1zEShJXJyLSc+Yqkd3EfGibm75b7nJAqJNShurDmR/IlQqFQ==} - engines: {node: '>=18'} - peerDependencies: - react: ^18 || ^19 || ^19.0.0-rc - zod: ^3.25.76 || ^4.1.8 - peerDependenciesMeta: - zod: - optional: true - - '@algolia/abtesting@1.12.0': - resolution: {integrity: sha512-EfW0bfxjPs+C7ANkJDw2TATntfBKsFiy7APh+KO0pQ8A6HYa5I0NjFuCGCXWfzzzLXNZta3QUl3n5Kmm6aJo9Q==} + '@algolia/abtesting@1.15.1': + resolution: {integrity: sha512-2yuIC48rUuHGhU1U5qJ9kJHaxYpJ0jpDHJVI5ekOxSMYXlH4+HP+pA31G820lsAznfmu2nzDV7n5RO44zIY1zw==} engines: {node: '>= 14.0.0'} - '@algolia/autocomplete-core@1.19.2': - resolution: {integrity: sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw==} + '@algolia/autocomplete-core@1.17.7': + resolution: {integrity: sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==} - '@algolia/autocomplete-plugin-algolia-insights@1.19.2': - resolution: {integrity: sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg==} + '@algolia/autocomplete-plugin-algolia-insights@1.17.7': + resolution: {integrity: sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==} peerDependencies: search-insights: '>= 1 < 3' - '@algolia/autocomplete-shared@1.19.2': - resolution: {integrity: sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w==} + '@algolia/autocomplete-preset-algolia@1.17.7': + resolution: {integrity: sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' - '@algolia/client-abtesting@5.46.0': - resolution: {integrity: sha512-eG5xV8rujK4ZIHXrRshvv9O13NmU/k42Rnd3w43iKH5RaQ2zWuZO6Q7XjaoJjAFVCsJWqRbXzbYyPGrbF3wGNg==} - engines: {node: '>= 14.0.0'} + '@algolia/autocomplete-shared@1.17.7': + resolution: {integrity: sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' - '@algolia/client-analytics@5.46.0': - resolution: {integrity: sha512-AYh2uL8IUW9eZrbbT+wZElyb7QkkeV3US2NEKY7doqMlyPWE8lErNfkVN1NvZdVcY4/SVic5GDbeDz2ft8YIiQ==} + '@algolia/client-abtesting@5.49.1': + resolution: {integrity: sha512-h6M7HzPin+45/l09q0r2dYmocSSt2MMGOOk5c4O5K/bBBlEwf1BKfN6z+iX4b8WXcQQhf7rgQwC52kBZJt/ZZw==} engines: {node: '>= 14.0.0'} - '@algolia/client-common@5.46.0': - resolution: {integrity: sha512-0emZTaYOeI9WzJi0TcNd2k3SxiN6DZfdWc2x2gHt855Jl9jPUOzfVTL6gTvCCrOlT4McvpDGg5nGO+9doEjjig==} + '@algolia/client-analytics@5.49.1': + resolution: {integrity: sha512-048T9/Z8OeLmTk8h76QUqaNFp7Rq2VgS2Zm6Y2tNMYGQ1uNuzePY/udB5l5krlXll7ZGflyCjFvRiOtlPZpE9g==} engines: {node: '>= 14.0.0'} - '@algolia/client-insights@5.46.0': - resolution: {integrity: sha512-wrBJ8fE+M0TDG1As4DDmwPn2TXajrvmvAN72Qwpuv8e2JOKNohF7+JxBoF70ZLlvP1A1EiH8DBu+JpfhBbNphQ==} + '@algolia/client-common@5.49.1': + resolution: {integrity: sha512-vp5/a9ikqvf3mn9QvHN8PRekn8hW34aV9eX+O0J5mKPZXeA6Pd5OQEh2ZWf7gJY6yyfTlLp5LMFzQUAU+Fpqpg==} engines: {node: '>= 14.0.0'} - '@algolia/client-personalization@5.46.0': - resolution: {integrity: sha512-LnkeX4p0ENt0DoftDJJDzQQJig/sFQmD1eQifl/iSjhUOGUIKC/7VTeXRcKtQB78naS8njUAwpzFvxy1CDDXDQ==} + '@algolia/client-insights@5.49.1': + resolution: {integrity: sha512-B6N7PgkvYrul3bntTz/l6uXnhQ2bvP+M7NqTcayh681tSqPaA5cJCUBp/vrP7vpPRpej4Eeyx2qz5p0tE/2N2g==} engines: {node: '>= 14.0.0'} - '@algolia/client-query-suggestions@5.46.0': - resolution: {integrity: sha512-aF9tc4ex/smypXw+W3lBPB1jjKoaGHpZezTqofvDOI/oK1dR2sdTpFpK2Ru+7IRzYgwtRqHF3znmTlyoNs9dpA==} + '@algolia/client-personalization@5.49.1': + resolution: {integrity: sha512-v+4DN+lkYfBd01Hbnb9ZrCHe7l+mvihyx218INRX/kaCXROIWUDIT1cs3urQxfE7kXBFnLsqYeOflQALv/gA5w==} engines: {node: '>= 14.0.0'} - '@algolia/client-search@5.46.0': - resolution: {integrity: sha512-22SHEEVNjZfFWkFks3P6HilkR3rS7a6GjnCIqR22Zz4HNxdfT0FG+RE7efTcFVfLUkTTMQQybvaUcwMrHXYa7Q==} + '@algolia/client-query-suggestions@5.49.1': + resolution: {integrity: sha512-Un11cab6ZCv0W+Jiak8UktGIqoa4+gSNgEZNfG8m8eTsXGqwIEr370H3Rqwj87zeNSlFpH2BslMXJ/cLNS1qtg==} engines: {node: '>= 14.0.0'} - '@algolia/events@4.0.1': - resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==} + '@algolia/client-search@5.49.1': + resolution: {integrity: sha512-Nt9hri7nbOo0RipAsGjIssHkpLMHHN/P7QqENywAq5TLsoYDzUyJGny8FEiD/9KJUxtGH8blGpMedilI6kK3rA==} + engines: {node: '>= 14.0.0'} - '@algolia/ingestion@1.46.0': - resolution: {integrity: sha512-2LT0/Z+/sFwEpZLH6V17WSZ81JX2uPjgvv5eNlxgU7rPyup4NXXfuMbtCJ+6uc4RO/LQpEJd3Li59ke3wtyAsA==} + '@algolia/ingestion@1.49.1': + resolution: {integrity: sha512-b5hUXwDqje0Y4CpU6VL481DXgPgxpTD5sYMnfQTHKgUispGnaCLCm2/T9WbJo1YNUbX3iHtYDArp804eD6CmRQ==} engines: {node: '>= 14.0.0'} - '@algolia/monitoring@1.46.0': - resolution: {integrity: sha512-uivZ9wSWZ8mz2ZU0dgDvQwvVZV8XBv6lYBXf8UtkQF3u7WeTqBPeU8ZoeTyLpf0jAXCYOvc1mAVmK0xPLuEwOQ==} + '@algolia/monitoring@1.49.1': + resolution: {integrity: sha512-bvrXwZ0WsL3rN6Q4m4QqxsXFCo6WAew7sAdrpMQMK4Efn4/W920r9ptOuckejOSSvyLr9pAWgC5rsHhR2FYuYw==} engines: {node: '>= 14.0.0'} - '@algolia/recommend@5.46.0': - resolution: {integrity: sha512-O2BB8DuySuddgOAbhyH4jsGbL+KyDGpzJRtkDZkv091OMomqIA78emhhMhX9d/nIRrzS1wNLWB/ix7Hb2eV5rg==} + '@algolia/recommend@5.49.1': + resolution: {integrity: sha512-h2yz3AGeGkQwNgbLmoe3bxYs8fac4An1CprKTypYyTU/k3Q+9FbIvJ8aS1DoBKaTjSRZVoyQS7SZQio6GaHbZw==} engines: {node: '>= 14.0.0'} - '@algolia/requester-browser-xhr@5.46.0': - resolution: {integrity: sha512-eW6xyHCyYrJD0Kjk9Mz33gQ40LfWiEA51JJTVfJy3yeoRSw/NXhAL81Pljpa0qslTs6+LO/5DYPZddct6HvISQ==} + '@algolia/requester-browser-xhr@5.49.1': + resolution: {integrity: sha512-2UPyRuUR/qpqSqH8mxFV5uBZWEpxhGPHLlx9Xf6OVxr79XO2ctzZQAhsmTZ6X22x+N8MBWpB9UEky7YU2HGFgA==} engines: {node: '>= 14.0.0'} - '@algolia/requester-fetch@5.46.0': - resolution: {integrity: sha512-Vn2+TukMGHy4PIxmdvP667tN/MhS7MPT8EEvEhS6JyFLPx3weLcxSa1F9gVvrfHWCUJhLWoMVJVB2PT8YfRGcw==} + '@algolia/requester-fetch@5.49.1': + resolution: {integrity: sha512-N+xlE4lN+wpuT+4vhNEwPVlrfN+DWAZmSX9SYhbz986Oq8AMsqdntOqUyiOXVxYsQtfLwmiej24vbvJGYv1Qtw==} engines: {node: '>= 14.0.0'} - '@algolia/requester-node-http@5.46.0': - resolution: {integrity: sha512-xaqXyna5yBZ+r1SJ9my/DM6vfTqJg9FJgVydRJ0lnO+D5NhqGW/qaRG/iBGKr/d4fho34el6WakV7BqJvrl/HQ==} + '@algolia/requester-node-http@5.49.1': + resolution: {integrity: sha512-zA5bkUOB5PPtTr182DJmajCiizHp0rCJQ0Chf96zNFvkdESKYlDeYA3tQ7r2oyHbu/8DiohAQ5PZ85edctzbXA==} engines: {node: '>= 14.0.0'} - '@babel/code-frame@7.27.1': - resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.28.5': - resolution: {integrity: sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==} + '@babel/helper-validator-identifier@7.28.5': + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} engines: {node: '>=6.9.0'} - '@babel/core@7.28.5': - resolution: {integrity: sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==} - engines: {node: '>=6.9.0'} + '@babel/parser@7.29.0': + resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==} + engines: {node: '>=6.0.0'} + hasBin: true - '@babel/generator@7.28.5': - resolution: {integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==} + '@babel/types@7.29.0': + resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} - '@babel/helper-annotate-as-pure@7.27.3': - resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} - engines: {node: '>=6.9.0'} + '@docsearch/css@3.8.2': + resolution: {integrity: sha512-y05ayQFyUmCXze79+56v/4HpycYF3uFqB78pLPrSV5ZKAlDuIAAJNhaRi8tTdRNXh05yxX/TyNnzD6LwSM89vQ==} - '@babel/helper-compilation-targets@7.27.2': - resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} - engines: {node: '>=6.9.0'} + '@docsearch/js@3.8.2': + resolution: {integrity: sha512-Q5wY66qHn0SwA7Taa0aDbHiJvaFJLOJyHmooQ7y8hlwwQLQ/5WwCcoX0g7ii04Qi2DJlHsd0XXzJ8Ypw9+9YmQ==} - '@babel/helper-create-class-features-plugin@7.28.5': - resolution: {integrity: sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==} - engines: {node: '>=6.9.0'} + '@docsearch/react@3.8.2': + resolution: {integrity: sha512-xCRrJQlTt8N9GU0DG4ptwHRkfnSnD/YpdeaXe02iKfqs97TkZJv60yE+1eq/tjPcVnTW8dP5qLP7itifFVV5eg==} peerDependencies: - '@babel/core': ^7.0.0 + '@types/react': '>= 16.8.0 < 19.0.0' + react: '>= 16.8.0 < 19.0.0' + react-dom: '>= 16.8.0 < 19.0.0' + search-insights: '>= 1 < 3' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + search-insights: + optional: true - '@babel/helper-create-regexp-features-plugin@7.28.5': - resolution: {integrity: sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] - '@babel/helper-define-polyfill-provider@0.6.5': - resolution: {integrity: sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] - '@babel/helper-globals@7.28.0': - resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} - engines: {node: '>=6.9.0'} + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] - '@babel/helper-member-expression-to-functions@7.28.5': - resolution: {integrity: sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==} - engines: {node: '>=6.9.0'} + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] - '@babel/helper-module-imports@7.27.1': - resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} - engines: {node: '>=6.9.0'} + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] - '@babel/helper-module-transforms@7.28.3': - resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] - '@babel/helper-optimise-call-expression@7.27.1': - resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==} - engines: {node: '>=6.9.0'} + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] - '@babel/helper-plugin-utils@7.27.1': - resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} - engines: {node: '>=6.9.0'} + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] - '@babel/helper-remap-async-to-generator@7.27.1': - resolution: {integrity: sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] - '@babel/helper-replace-supers@7.27.1': - resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] - '@babel/helper-skip-transparent-expression-wrappers@7.27.1': - resolution: {integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==} - engines: {node: '>=6.9.0'} + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] - '@babel/helper-string-parser@7.27.1': - resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} - engines: {node: '>=6.9.0'} + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] - '@babel/helper-validator-identifier@7.28.5': - resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} - engines: {node: '>=6.9.0'} + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] - '@babel/helper-validator-option@7.27.1': - resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} - engines: {node: '>=6.9.0'} + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] - '@babel/helper-wrap-function@7.28.3': - resolution: {integrity: sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==} - engines: {node: '>=6.9.0'} + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] - '@babel/helpers@7.28.4': - resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} - engines: {node: '>=6.9.0'} + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] - '@babel/parser@7.28.5': - resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} - engines: {node: '>=6.0.0'} - hasBin: true + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5': - resolution: {integrity: sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1': - resolution: {integrity: sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1': - resolution: {integrity: sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1': - resolution: {integrity: sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.13.0 + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3': - resolution: {integrity: sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': - resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] - '@babel/plugin-syntax-dynamic-import@7.8.3': - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@iconify-json/simple-icons@1.2.72': + resolution: {integrity: sha512-wkcixntHvaCoqPqerGrNFcHQ3Yx1ux4ZkhscCDK0DEHpP62XCH+cxq1HTsRjbUiQl/M9K8bj03HF6Wgn5iE2rQ==} - '@babel/plugin-syntax-import-assertions@7.27.1': - resolution: {integrity: sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@iconify/types@2.0.0': + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - '@babel/plugin-syntax-import-attributes@7.27.1': - resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - '@babel/plugin-syntax-jsx@7.27.1': - resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@oxfmt/binding-android-arm-eabi@0.36.0': + resolution: {integrity: sha512-Z4yVHJWx/swHHjtr0dXrBZb6LxS+qNz1qdza222mWwPTUK4L790+5i3LTgjx3KYGBzcYpjaiZBw4vOx94dH7MQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + + '@oxfmt/binding-android-arm64@0.36.0': + resolution: {integrity: sha512-3ElCJRFNPQl7jexf2CAa9XmAm8eC5JPrIDSjc9jSchkVSFTEqyL0NtZinBB2h1a4i4JgP1oGl/5G5n8YR4FN8Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@oxfmt/binding-darwin-arm64@0.36.0': + resolution: {integrity: sha512-nak4znWCqIExKhYSY/mz/lWsqWIpdsS7o0+SRzXR1Q0m7GrMcG1UrF1pS7TLGZhhkf7nTfEF7q6oZzJiodRDuw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] - '@babel/plugin-syntax-typescript@7.27.1': - resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@oxfmt/binding-darwin-x64@0.36.0': + resolution: {integrity: sha512-V4GP96thDnpKx6ADnMDnhIXNdtV+Ql9D4HUU+a37VTeVbs5qQSF/s6hhUP1b3xUqU7iRcwh72jUU2Y12rtGHAw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] - '@babel/plugin-syntax-unicode-sets-regex@7.18.6': - resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@oxfmt/binding-freebsd-x64@0.36.0': + resolution: {integrity: sha512-/xapWCADfI5wrhxpEUjhI9fnw7MV5BUZizVa8e24n3VSK6A3Y1TB/ClOP1tfxNspykFKXp4NBWl6NtDJP3osqQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@oxfmt/binding-linux-arm-gnueabihf@0.36.0': + resolution: {integrity: sha512-1lOmv61XMFIH5uNm27620kRRzWt/RK6tdn250BRDoG9W7OXGOQ5UyI1HVT+SFkoOoKztBiinWgi68+NA1MjBVQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxfmt/binding-linux-arm-musleabihf@0.36.0': + resolution: {integrity: sha512-vMH23AskdR1ujUS9sPck2Df9rBVoZUnCVY86jisILzIQ/QQ/yKUTi7tgnIvydPx7TyB/48wsQ5QMr5Knq5p/aw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxfmt/binding-linux-arm64-gnu@0.36.0': + resolution: {integrity: sha512-Hy1V+zOBHpBiENRx77qrUTt5aPDHeCASRc8K5KwwAHkX2AKP0nV89eL17hsZrE9GmnXFjsNmd80lyf7aRTXsbw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@oxfmt/binding-linux-arm64-musl@0.36.0': + resolution: {integrity: sha512-SPGLJkOIHSIC6ABUQ5V8NqJpvYhMJueJv26NYqfCnwi/Mn6A61amkpJJ9Suy0Nmvs+OWESJpcebrBUbXPGZyQQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@oxfmt/binding-linux-ppc64-gnu@0.36.0': + resolution: {integrity: sha512-3EuoyB8x9x8ysYJjbEO/M9fkSk72zQKnXCvpZMDHXlnY36/1qMp55Nm0PrCwjGO/1pen5hdOVkz9WmP3nAp2IQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@oxfmt/binding-linux-riscv64-gnu@0.36.0': + resolution: {integrity: sha512-MpY3itLwpGh8dnywtrZtaZ604T1m715SydCKy0+qTxetv+IHzuA+aO/AGzrlzUNYZZmtWtmDBrChZGibvZxbRQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@oxfmt/binding-linux-riscv64-musl@0.36.0': + resolution: {integrity: sha512-mmDhe4Vtx+XwQPRPn/V25+APnkApYgZ23q+6GVsNYY98pf3aU0aI3Me96pbRs/AfJ1jIiGC+/6q71FEu8dHcHw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@oxfmt/binding-linux-s390x-gnu@0.36.0': + resolution: {integrity: sha512-AYXhU+DmNWLSnvVwkHM92fuYhogtVHab7UQrPNaDf1sxadugg9gWVmcgJDlIwxJdpk5CVW/TFvwUKwI432zhhA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@oxfmt/binding-linux-x64-gnu@0.36.0': + resolution: {integrity: sha512-H16QhhQ3usoakMleiAAQ2mg0NsBDAdyE9agUgfC8IHHh3jZEbr0rIKwjEqwbOHK5M0EmfhJmr+aGO/MgZPsneA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@oxfmt/binding-linux-x64-musl@0.36.0': + resolution: {integrity: sha512-EFFGkixA39BcmHiCe2ECdrq02D6FCve5ka6ObbvrheXl4V+R0U/E+/uLyVx1X65LW8TA8QQHdnbdDallRekohw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@oxfmt/binding-openharmony-arm64@0.36.0': + resolution: {integrity: sha512-zr/t369wZWFOj1qf06Z5gGNjFymfUNDrxKMmr7FKiDRVI1sNsdKRCuRL4XVjtcptKQ+ao3FfxLN1vrynivmCYg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@oxfmt/binding-win32-arm64-msvc@0.36.0': + resolution: {integrity: sha512-FxO7UksTv8h4olzACgrqAXNF6BP329+H322323iDrMB5V/+a1kcAw07fsOsUmqNrb9iJBsCQgH/zqcqp5903ag==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxfmt/binding-win32-ia32-msvc@0.36.0': + resolution: {integrity: sha512-OjoMQ89H01M0oLMfr/CPNH1zi48ZIwxAKObUl57oh7ssUBNDp/2Vjf7E1TQ8M4oj4VFQ/byxl2SmcPNaI2YNDg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + + '@oxfmt/binding-win32-x64-msvc@0.36.0': + resolution: {integrity: sha512-MoyeQ9S36ZTz/4bDhOKJgOBIDROd4dQ5AkT9iezhEaUBxAPdNX9Oq0jD8OSnCj3G4wam/XNxVWKMA52kmzmPtQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@rollup/rollup-android-arm-eabi@4.59.0': + resolution: {integrity: sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.59.0': + resolution: {integrity: sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.59.0': + resolution: {integrity: sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==} + cpu: [arm64] + os: [darwin] - '@babel/plugin-transform-arrow-functions@7.27.1': - resolution: {integrity: sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@rollup/rollup-darwin-x64@4.59.0': + resolution: {integrity: sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==} + cpu: [x64] + os: [darwin] - '@babel/plugin-transform-async-generator-functions@7.28.0': - resolution: {integrity: sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@rollup/rollup-freebsd-arm64@4.59.0': + resolution: {integrity: sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.59.0': + resolution: {integrity: sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.59.0': + resolution: {integrity: sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-arm-musleabihf@4.59.0': + resolution: {integrity: sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==} + cpu: [arm] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-arm64-gnu@4.59.0': + resolution: {integrity: sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-arm64-musl@4.59.0': + resolution: {integrity: sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-loong64-gnu@4.59.0': + resolution: {integrity: sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==} + cpu: [loong64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-loong64-musl@4.59.0': + resolution: {integrity: sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==} + cpu: [loong64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-ppc64-gnu@4.59.0': + resolution: {integrity: sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-ppc64-musl@4.59.0': + resolution: {integrity: sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==} + cpu: [ppc64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-riscv64-gnu@4.59.0': + resolution: {integrity: sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-riscv64-musl@4.59.0': + resolution: {integrity: sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-s390x-gnu@4.59.0': + resolution: {integrity: sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-x64-gnu@4.59.0': + resolution: {integrity: sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-x64-musl@4.59.0': + resolution: {integrity: sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@rollup/rollup-openbsd-x64@4.59.0': + resolution: {integrity: sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==} + cpu: [x64] + os: [openbsd] + + '@rollup/rollup-openharmony-arm64@4.59.0': + resolution: {integrity: sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.59.0': + resolution: {integrity: sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.59.0': + resolution: {integrity: sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-gnu@4.59.0': + resolution: {integrity: sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.59.0': + resolution: {integrity: sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==} + cpu: [x64] + os: [win32] + + '@shikijs/core@2.5.0': + resolution: {integrity: sha512-uu/8RExTKtavlpH7XqnVYBrfBkUc20ngXiX9NSrBhOVZYv/7XQRKUyhtkeflY5QsxC0GbJThCerruZfsUaSldg==} + + '@shikijs/engine-javascript@2.5.0': + resolution: {integrity: sha512-VjnOpnQf8WuCEZtNUdjjwGUbtAVKuZkVQ/5cHy/tojVVRIRtlWMYVjyWhxOmIq05AlSOv72z7hRNRGVBgQOl0w==} + + '@shikijs/engine-oniguruma@2.5.0': + resolution: {integrity: sha512-pGd1wRATzbo/uatrCIILlAdFVKdxImWJGQ5rFiB5VZi2ve5xj3Ax9jny8QvkaV93btQEwR/rSz5ERFpC5mKNIw==} + + '@shikijs/langs@2.5.0': + resolution: {integrity: sha512-Qfrrt5OsNH5R+5tJ/3uYBBZv3SuGmnRPejV9IlIbFH3HTGLDlkqgHymAlzklVmKBjAaVmkPkyikAV/sQ1wSL+w==} + + '@shikijs/themes@2.5.0': + resolution: {integrity: sha512-wGrk+R8tJnO0VMzmUExHR+QdSaPUl/NKs+a4cQQRWyoc3YFbUzuLEi/KWK1hj+8BfHRKm2jNhhJck1dfstJpiw==} + + '@shikijs/transformers@2.5.0': + resolution: {integrity: sha512-SI494W5X60CaUwgi8u4q4m4s3YAFSxln3tzNjOSYqq54wlVgz0/NbbXEb3mdLbqMBztcmS7bVTaEd2w0qMmfeg==} + + '@shikijs/types@2.5.0': + resolution: {integrity: sha512-ygl5yhxki9ZLNuNpPitBWvcy9fsSKKaRuO4BAlMyagszQidxcpLAr0qiW/q43DtSIDxO6hEbtYLiFZNXO/hdGw==} + + '@shikijs/vscode-textmate@10.0.2': + resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} - '@babel/plugin-transform-async-to-generator@7.27.1': - resolution: {integrity: sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - '@babel/plugin-transform-block-scoped-functions@7.27.1': - resolution: {integrity: sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} - '@babel/plugin-transform-block-scoping@7.28.5': - resolution: {integrity: sha512-45DmULpySVvmq9Pj3X9B+62Xe+DJGov27QravQJU1LLcapR6/10i+gYVAucGGJpHBp5mYxIMK4nDAT/QDLr47g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/linkify-it@5.0.0': + resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} - '@babel/plugin-transform-class-properties@7.27.1': - resolution: {integrity: sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/markdown-it@14.1.2': + resolution: {integrity: sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==} - '@babel/plugin-transform-class-static-block@7.28.3': - resolution: {integrity: sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.12.0 + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} - '@babel/plugin-transform-classes@7.28.4': - resolution: {integrity: sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/mdurl@2.0.0': + resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} - '@babel/plugin-transform-computed-properties@7.27.1': - resolution: {integrity: sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - '@babel/plugin-transform-destructuring@7.28.5': - resolution: {integrity: sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@types/web-bluetooth@0.0.21': + resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==} - '@babel/plugin-transform-dotall-regex@7.27.1': - resolution: {integrity: sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@ungap/structured-clone@1.3.0': + resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} - '@babel/plugin-transform-duplicate-keys@7.27.1': - resolution: {integrity: sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==} - engines: {node: '>=6.9.0'} + '@vitejs/plugin-vue@5.2.4': + resolution: {integrity: sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==} + engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: - '@babel/core': ^7.0.0-0 + vite: ^5.0.0 || ^6.0.0 + vue: ^3.2.25 - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1': - resolution: {integrity: sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@vue/compiler-core@3.5.29': + resolution: {integrity: sha512-cuzPhD8fwRHk8IGfmYaR4eEe4cAyJEL66Ove/WZL7yWNL134nqLddSLwNRIsFlnnW1kK+p8Ck3viFnC0chXCXw==} - '@babel/plugin-transform-dynamic-import@7.27.1': - resolution: {integrity: sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@vue/compiler-dom@3.5.29': + resolution: {integrity: sha512-n0G5o7R3uBVmVxjTIYcz7ovr8sy7QObFG8OQJ3xGCDNhbG60biP/P5KnyY8NLd81OuT1WJflG7N4KWYHaeeaIg==} - '@babel/plugin-transform-explicit-resource-management@7.28.0': - resolution: {integrity: sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@vue/compiler-sfc@3.5.29': + resolution: {integrity: sha512-oJZhN5XJs35Gzr50E82jg2cYdZQ78wEwvRO6Y63TvLVTc+6xICzJHP1UIecdSPPYIbkautNBanDiWYa64QSFIA==} - '@babel/plugin-transform-exponentiation-operator@7.28.5': - resolution: {integrity: sha512-D4WIMaFtwa2NizOp+dnoFjRez/ClKiC2BqqImwKd1X28nqBtZEyCYJ2ozQrrzlxAFrcrjxo39S6khe9RNDlGzw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@vue/compiler-ssr@3.5.29': + resolution: {integrity: sha512-Y/ARJZE6fpjzL5GH/phJmsFwx3g6t2KmHKHx5q+MLl2kencADKIrhH5MLF6HHpRMmlRAYBRSvv347Mepf1zVNw==} - '@babel/plugin-transform-export-namespace-from@7.27.1': - resolution: {integrity: sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@vue/devtools-api@7.7.9': + resolution: {integrity: sha512-kIE8wvwlcZ6TJTbNeU2HQNtaxLx3a84aotTITUuL/4bzfPxzajGBOoqjMhwZJ8L9qFYDU/lAYMEEm11dnZOD6g==} - '@babel/plugin-transform-for-of@7.27.1': - resolution: {integrity: sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@vue/devtools-kit@7.7.9': + resolution: {integrity: sha512-PyQ6odHSgiDVd4hnTP+aDk2X4gl2HmLDfiyEnn3/oV+ckFDuswRs4IbBT7vacMuGdwY/XemxBoh302ctbsptuA==} - '@babel/plugin-transform-function-name@7.27.1': - resolution: {integrity: sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@vue/devtools-shared@7.7.9': + resolution: {integrity: sha512-iWAb0v2WYf0QWmxCGy0seZNDPdO3Sp5+u78ORnyeonS6MT4PC7VPrryX2BpMJrwlDeaZ6BD4vP4XKjK0SZqaeA==} - '@babel/plugin-transform-json-strings@7.27.1': - resolution: {integrity: sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@vue/reactivity@3.5.29': + resolution: {integrity: sha512-zcrANcrRdcLtmGZETBxWqIkoQei8HaFpZWx/GHKxx79JZsiZ8j1du0VUJtu4eJjgFvU/iKL5lRXFXksVmI+5DA==} - '@babel/plugin-transform-literals@7.27.1': - resolution: {integrity: sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@vue/runtime-core@3.5.29': + resolution: {integrity: sha512-8DpW2QfdwIWOLqtsNcds4s+QgwSaHSJY/SUe04LptianUQ/0xi6KVsu/pYVh+HO3NTVvVJjIPL2t6GdeKbS4Lg==} - '@babel/plugin-transform-logical-assignment-operators@7.28.5': - resolution: {integrity: sha512-axUuqnUTBuXyHGcJEVVh9pORaN6wC5bYfE7FGzPiaWa3syib9m7g+/IT/4VgCOe2Upef43PHzeAvcrVek6QuuA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@vue/runtime-dom@3.5.29': + resolution: {integrity: sha512-AHvvJEtcY9tw/uk+s/YRLSlxxQnqnAkjqvK25ZiM4CllCZWzElRAoQnCM42m9AHRLNJ6oe2kC5DCgD4AUdlvXg==} - '@babel/plugin-transform-member-expression-literals@7.27.1': - resolution: {integrity: sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==} - engines: {node: '>=6.9.0'} + '@vue/server-renderer@3.5.29': + resolution: {integrity: sha512-G/1k6WK5MusLlbxSE2YTcqAAezS+VuwHhOvLx2KnQU7G2zCH6KIb+5Wyt6UjMq7a3qPzNEjJXs1hvAxDclQH+g==} peerDependencies: - '@babel/core': ^7.0.0-0 + vue: 3.5.29 - '@babel/plugin-transform-modules-amd@7.27.1': - resolution: {integrity: sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@vue/shared@3.5.29': + resolution: {integrity: sha512-w7SR0A5zyRByL9XUkCfdLs7t9XOHUyJ67qPGQjOou3p6GvBeBW+AVjUUmlxtZ4PIYaRvE+1LmK44O4uajlZwcg==} - '@babel/plugin-transform-modules-commonjs@7.27.1': - resolution: {integrity: sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@vueuse/core@12.8.2': + resolution: {integrity: sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==} - '@babel/plugin-transform-modules-systemjs@7.28.5': - resolution: {integrity: sha512-vn5Jma98LCOeBy/KpeQhXcV2WZgaRUtjwQmjoBuLNlOmkg0fB5pdvYVeWRYI69wWKwK2cD1QbMiUQnoujWvrew==} - engines: {node: '>=6.9.0'} + '@vueuse/integrations@12.8.2': + resolution: {integrity: sha512-fbGYivgK5uBTRt7p5F3zy6VrETlV9RtZjBqd1/HxGdjdckBgBM4ugP8LHpjolqTj14TXTxSK1ZfgPbHYyGuH7g==} peerDependencies: - '@babel/core': ^7.0.0-0 + async-validator: ^4 + axios: ^1 + change-case: ^5 + drauu: ^0.4 + focus-trap: ^7 + fuse.js: ^7 + idb-keyval: ^6 + jwt-decode: ^4 + nprogress: ^0.2 + qrcode: ^1.5 + sortablejs: ^1 + universal-cookie: ^7 + peerDependenciesMeta: + async-validator: + optional: true + axios: + optional: true + change-case: + optional: true + drauu: + optional: true + focus-trap: + optional: true + fuse.js: + optional: true + idb-keyval: + optional: true + jwt-decode: + optional: true + nprogress: + optional: true + qrcode: + optional: true + sortablejs: + optional: true + universal-cookie: + optional: true - '@babel/plugin-transform-modules-umd@7.27.1': - resolution: {integrity: sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@vueuse/metadata@12.8.2': + resolution: {integrity: sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==} - '@babel/plugin-transform-named-capturing-groups-regex@7.27.1': - resolution: {integrity: sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@vueuse/shared@12.8.2': + resolution: {integrity: sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==} - '@babel/plugin-transform-new-target@7.27.1': - resolution: {integrity: sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + algoliasearch@5.49.1: + resolution: {integrity: sha512-X3Pp2aRQhg4xUC6PQtkubn5NpRKuUPQ9FPDQlx36SmpFwwH2N0/tw4c+NXV3nw3PsgeUs+BuWGP0gjz3TvENLQ==} + engines: {node: '>= 14.0.0'} - '@babel/plugin-transform-nullish-coalescing-operator@7.27.1': - resolution: {integrity: sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + birpc@2.9.0: + resolution: {integrity: sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==} - '@babel/plugin-transform-numeric-separator@7.27.1': - resolution: {integrity: sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - '@babel/plugin-transform-object-rest-spread@7.28.4': - resolution: {integrity: sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} - '@babel/plugin-transform-object-super@7.27.1': - resolution: {integrity: sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} - '@babel/plugin-transform-optional-catch-binding@7.27.1': - resolution: {integrity: sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} - '@babel/plugin-transform-optional-chaining@7.28.5': - resolution: {integrity: sha512-N6fut9IZlPnjPwgiQkXNhb+cT8wQKFlJNqcZkWlcTqkcqx6/kU4ynGmLFoa4LViBSirn05YAwk+sQBbPfxtYzQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + copy-anything@4.0.5: + resolution: {integrity: sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==} + engines: {node: '>=18'} - '@babel/plugin-transform-parameters@7.27.7': - resolution: {integrity: sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} - '@babel/plugin-transform-private-methods@7.27.1': - resolution: {integrity: sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} - '@babel/plugin-transform-private-property-in-object@7.27.1': - resolution: {integrity: sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - '@babel/plugin-transform-property-literals@7.27.1': - resolution: {integrity: sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + emoji-regex-xs@1.0.0: + resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} - '@babel/plugin-transform-react-constant-elements@7.27.1': - resolution: {integrity: sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + entities@7.0.1: + resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} + engines: {node: '>=0.12'} - '@babel/plugin-transform-react-display-name@7.28.0': - resolution: {integrity: sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true - '@babel/plugin-transform-react-jsx-development@7.27.1': - resolution: {integrity: sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - '@babel/plugin-transform-react-jsx@7.27.1': - resolution: {integrity: sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + focus-trap@7.8.0: + resolution: {integrity: sha512-/yNdlIkpWbM0ptxno3ONTuf+2g318kh2ez3KSeZN5dZ8YC6AAmgeWz+GasYYiBJPFaYcSAPeu4GfhUaChzIJXA==} - '@babel/plugin-transform-react-pure-annotations@7.27.1': - resolution: {integrity: sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] - '@babel/plugin-transform-regenerator@7.28.4': - resolution: {integrity: sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-regexp-modifiers@7.27.1': - resolution: {integrity: sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-reserved-words@7.27.1': - resolution: {integrity: sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-runtime@7.28.5': - resolution: {integrity: sha512-20NUVgOrinudkIBzQ2bNxP08YpKprUkRTiRSd2/Z5GOdPImJGkoN4Z7IQe1T5AdyKI1i5L6RBmluqdSzvaq9/w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-shorthand-properties@7.27.1': - resolution: {integrity: sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-spread@7.27.1': - resolution: {integrity: sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-sticky-regex@7.27.1': - resolution: {integrity: sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-template-literals@7.27.1': - resolution: {integrity: sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-typeof-symbol@7.27.1': - resolution: {integrity: sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-typescript@7.28.5': - resolution: {integrity: sha512-x2Qa+v/CuEoX7Dr31iAfr0IhInrVOWZU/2vJMJ00FOR/2nM0BcBEclpaf9sWCDc+v5e9dMrhSH8/atq/kX7+bA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-escapes@7.27.1': - resolution: {integrity: sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-property-regex@7.27.1': - resolution: {integrity: sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-regex@7.27.1': - resolution: {integrity: sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-sets-regex@7.27.1': - resolution: {integrity: sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/preset-env@7.28.5': - resolution: {integrity: sha512-S36mOoi1Sb6Fz98fBfE+UZSpYw5mJm0NUHtIKrOuNcqeFauy1J6dIvXm2KRVKobOSaGq4t/hBXdN4HGU3wL9Wg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/preset-modules@0.1.6-no-external-plugins': - resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} - peerDependencies: - '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - - '@babel/preset-react@7.28.5': - resolution: {integrity: sha512-Z3J8vhRq7CeLjdC58jLv4lnZ5RKFUJWqH5emvxmv9Hv3BD1T9R/Im713R4MTKwvFaV74ejZ3sM01LyEKk4ugNQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/preset-typescript@7.28.5': - resolution: {integrity: sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/runtime-corejs3@7.28.4': - resolution: {integrity: sha512-h7iEYiW4HebClDEhtvFObtPmIvrd1SSfpI9EhOeKk4CtIK/ngBWFpuhCzhdmRKtg71ylcue+9I6dv54XYO1epQ==} - engines: {node: '>=6.9.0'} - - '@babel/runtime@7.28.4': - resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==} - engines: {node: '>=6.9.0'} - - '@babel/template@7.27.2': - resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.28.5': - resolution: {integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.28.5': - resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} - engines: {node: '>=6.9.0'} - - '@colors/colors@1.5.0': - resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} - engines: {node: '>=0.1.90'} - - '@csstools/cascade-layer-name-parser@2.0.5': - resolution: {integrity: sha512-p1ko5eHgV+MgXFVa4STPKpvPxr6ReS8oS2jzTukjR74i5zJNyWO1ZM1m8YKBXnzDKWfBN1ztLYlHxbVemDD88A==} - engines: {node: '>=18'} - peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 - - '@csstools/color-helpers@5.1.0': - resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==} - engines: {node: '>=18'} - - '@csstools/css-calc@2.1.4': - resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} - engines: {node: '>=18'} - peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 - - '@csstools/css-color-parser@3.1.0': - resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==} - engines: {node: '>=18'} - peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 - - '@csstools/css-parser-algorithms@3.0.5': - resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} - engines: {node: '>=18'} - peerDependencies: - '@csstools/css-tokenizer': ^3.0.4 - - '@csstools/css-tokenizer@3.0.4': - resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} - engines: {node: '>=18'} - - '@csstools/media-query-list-parser@4.0.3': - resolution: {integrity: sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==} - engines: {node: '>=18'} - peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 - - '@csstools/postcss-alpha-function@1.0.1': - resolution: {integrity: sha512-isfLLwksH3yHkFXfCI2Gcaqg7wGGHZZwunoJzEZk0yKYIokgre6hYVFibKL3SYAoR1kBXova8LB+JoO5vZzi9w==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-cascade-layers@5.0.2': - resolution: {integrity: sha512-nWBE08nhO8uWl6kSAeCx4im7QfVko3zLrtgWZY4/bP87zrSPpSyN/3W3TDqz1jJuH+kbKOHXg5rJnK+ZVYcFFg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-color-function-display-p3-linear@1.0.1': - resolution: {integrity: sha512-E5qusdzhlmO1TztYzDIi8XPdPoYOjoTY6HBYBCYSj+Gn4gQRBlvjgPQXzfzuPQqt8EhkC/SzPKObg4Mbn8/xMg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-color-function@4.0.12': - resolution: {integrity: sha512-yx3cljQKRaSBc2hfh8rMZFZzChaFgwmO2JfFgFr1vMcF3C/uyy5I4RFIBOIWGq1D+XbKCG789CGkG6zzkLpagA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-color-mix-function@3.0.12': - resolution: {integrity: sha512-4STERZfCP5Jcs13P1U5pTvI9SkgLgfMUMhdXW8IlJWkzOOOqhZIjcNhWtNJZes2nkBDsIKJ0CJtFtuaZ00moag==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-color-mix-variadic-function-arguments@1.0.2': - resolution: {integrity: sha512-rM67Gp9lRAkTo+X31DUqMEq+iK+EFqsidfecmhrteErxJZb6tUoJBVQca1Vn1GpDql1s1rD1pKcuYzMsg7Z1KQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-content-alt-text@2.0.8': - resolution: {integrity: sha512-9SfEW9QCxEpTlNMnpSqFaHyzsiRpZ5J5+KqCu1u5/eEJAWsMhzT40qf0FIbeeglEvrGRMdDzAxMIz3wqoGSb+Q==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-contrast-color-function@2.0.12': - resolution: {integrity: sha512-YbwWckjK3qwKjeYz/CijgcS7WDUCtKTd8ShLztm3/i5dhh4NaqzsbYnhm4bjrpFpnLZ31jVcbK8YL77z3GBPzA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-exponential-functions@2.0.9': - resolution: {integrity: sha512-abg2W/PI3HXwS/CZshSa79kNWNZHdJPMBXeZNyPQFbbj8sKO3jXxOt/wF7juJVjyDTc6JrvaUZYFcSBZBhaxjw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-font-format-keywords@4.0.0': - resolution: {integrity: sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-gamut-mapping@2.0.11': - resolution: {integrity: sha512-fCpCUgZNE2piVJKC76zFsgVW1apF6dpYsqGyH8SIeCcM4pTEsRTWTLCaJIMKFEundsCKwY1rwfhtrio04RJ4Dw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-gradients-interpolation-method@5.0.12': - resolution: {integrity: sha512-jugzjwkUY0wtNrZlFeyXzimUL3hN4xMvoPnIXxoZqxDvjZRiSh+itgHcVUWzJ2VwD/VAMEgCLvtaJHX+4Vj3Ow==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-hwb-function@4.0.12': - resolution: {integrity: sha512-mL/+88Z53KrE4JdePYFJAQWFrcADEqsLprExCM04GDNgHIztwFzj0Mbhd/yxMBngq0NIlz58VVxjt5abNs1VhA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-ic-unit@4.0.4': - resolution: {integrity: sha512-yQ4VmossuOAql65sCPppVO1yfb7hDscf4GseF0VCA/DTDaBc0Wtf8MTqVPfjGYlT5+2buokG0Gp7y0atYZpwjg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-initial@2.0.1': - resolution: {integrity: sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-is-pseudo-class@5.0.3': - resolution: {integrity: sha512-jS/TY4SpG4gszAtIg7Qnf3AS2pjcUM5SzxpApOrlndMeGhIbaTzWBzzP/IApXoNWEW7OhcjkRT48jnAUIFXhAQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-light-dark-function@2.0.11': - resolution: {integrity: sha512-fNJcKXJdPM3Lyrbmgw2OBbaioU7yuKZtiXClf4sGdQttitijYlZMD5K7HrC/eF83VRWRrYq6OZ0Lx92leV2LFA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-logical-float-and-clear@3.0.0': - resolution: {integrity: sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-logical-overflow@2.0.0': - resolution: {integrity: sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-logical-overscroll-behavior@2.0.0': - resolution: {integrity: sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-logical-resize@3.0.0': - resolution: {integrity: sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-logical-viewport-units@3.0.4': - resolution: {integrity: sha512-q+eHV1haXA4w9xBwZLKjVKAWn3W2CMqmpNpZUk5kRprvSiBEGMgrNH3/sJZ8UA3JgyHaOt3jwT9uFa4wLX4EqQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-media-minmax@2.0.9': - resolution: {integrity: sha512-af9Qw3uS3JhYLnCbqtZ9crTvvkR+0Se+bBqSr7ykAnl9yKhk6895z9rf+2F4dClIDJWxgn0iZZ1PSdkhrbs2ig==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5': - resolution: {integrity: sha512-zhAe31xaaXOY2Px8IYfoVTB3wglbJUVigGphFLj6exb7cjZRH9A6adyE22XfFK3P2PzwRk0VDeTJmaxpluyrDg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-nested-calc@4.0.0': - resolution: {integrity: sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-normalize-display-values@4.0.0': - resolution: {integrity: sha512-HlEoG0IDRoHXzXnkV4in47dzsxdsjdz6+j7MLjaACABX2NfvjFS6XVAnpaDyGesz9gK2SC7MbNwdCHusObKJ9Q==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-oklab-function@4.0.12': - resolution: {integrity: sha512-HhlSmnE1NKBhXsTnNGjxvhryKtO7tJd1w42DKOGFD6jSHtYOrsJTQDKPMwvOfrzUAk8t7GcpIfRyM7ssqHpFjg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-position-area-property@1.0.0': - resolution: {integrity: sha512-fUP6KR8qV2NuUZV3Cw8itx0Ep90aRjAZxAEzC3vrl6yjFv+pFsQbR18UuQctEKmA72K9O27CoYiKEgXxkqjg8Q==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-progressive-custom-properties@4.2.1': - resolution: {integrity: sha512-uPiiXf7IEKtUQXsxu6uWtOlRMXd2QWWy5fhxHDnPdXKCQckPP3E34ZgDoZ62r2iT+UOgWsSbM4NvHE5m3mAEdw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-random-function@2.0.1': - resolution: {integrity: sha512-q+FQaNiRBhnoSNo+GzqGOIBKoHQ43lYz0ICrV+UudfWnEF6ksS6DsBIJSISKQT2Bvu3g4k6r7t0zYrk5pDlo8w==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-relative-color-syntax@3.0.12': - resolution: {integrity: sha512-0RLIeONxu/mtxRtf3o41Lq2ghLimw0w9ByLWnnEVuy89exmEEq8bynveBxNW3nyHqLAFEeNtVEmC1QK9MZ8Huw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-scope-pseudo-class@4.0.1': - resolution: {integrity: sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-sign-functions@1.1.4': - resolution: {integrity: sha512-P97h1XqRPcfcJndFdG95Gv/6ZzxUBBISem0IDqPZ7WMvc/wlO+yU0c5D/OCpZ5TJoTt63Ok3knGk64N+o6L2Pg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-stepped-value-functions@4.0.9': - resolution: {integrity: sha512-h9btycWrsex4dNLeQfyU3y3w40LMQooJWFMm/SK9lrKguHDcFl4VMkncKKoXi2z5rM9YGWbUQABI8BT2UydIcA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-system-ui-font-family@1.0.0': - resolution: {integrity: sha512-s3xdBvfWYfoPSBsikDXbuorcMG1nN1M6GdU0qBsGfcmNR0A/qhloQZpTxjA3Xsyrk1VJvwb2pOfiOT3at/DuIQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-text-decoration-shorthand@4.0.3': - resolution: {integrity: sha512-KSkGgZfx0kQjRIYnpsD7X2Om9BUXX/Kii77VBifQW9Ih929hK0KNjVngHDH0bFB9GmfWcR9vJYJJRvw/NQjkrA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-trigonometric-functions@4.0.9': - resolution: {integrity: sha512-Hnh5zJUdpNrJqK9v1/E3BbrQhaDTj5YiX7P61TOvUhoDHnUmsNNxcDAgkQ32RrcWx9GVUvfUNPcUkn8R3vIX6A==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/postcss-unset-value@4.0.0': - resolution: {integrity: sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@csstools/selector-resolve-nested@3.1.0': - resolution: {integrity: sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g==} - engines: {node: '>=18'} - peerDependencies: - postcss-selector-parser: ^7.0.0 - - '@csstools/selector-specificity@5.0.0': - resolution: {integrity: sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==} - engines: {node: '>=18'} - peerDependencies: - postcss-selector-parser: ^7.0.0 - - '@csstools/utilities@2.0.0': - resolution: {integrity: sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - '@discoveryjs/json-ext@0.5.7': - resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} - engines: {node: '>=10.0.0'} - - '@docsearch/core@4.3.1': - resolution: {integrity: sha512-ktVbkePE+2h9RwqCUMbWXOoebFyDOxHqImAqfs+lC8yOU+XwEW4jgvHGJK079deTeHtdhUNj0PXHSnhJINvHzQ==} - peerDependencies: - '@types/react': '>= 16.8.0 < 20.0.0' - react: '>= 16.8.0 < 20.0.0' - react-dom: '>= 16.8.0 < 20.0.0' - peerDependenciesMeta: - '@types/react': - optional: true - react: - optional: true - react-dom: - optional: true - - '@docsearch/css@4.3.2': - resolution: {integrity: sha512-K3Yhay9MgkBjJJ0WEL5MxnACModX9xuNt3UlQQkDEDZJZ0+aeWKtOkxHNndMRkMBnHdYvQjxkm6mdlneOtU1IQ==} - - '@docsearch/react@4.3.2': - resolution: {integrity: sha512-74SFD6WluwvgsOPqifYOviEEVwDxslxfhakTlra+JviaNcs7KK/rjsPj89kVEoQc9FUxRkAofaJnHIR7pb4TSQ==} - peerDependencies: - '@types/react': '>= 16.8.0 < 20.0.0' - react: '>= 16.8.0 < 20.0.0' - react-dom: '>= 16.8.0 < 20.0.0' - search-insights: '>= 1 < 3' - peerDependenciesMeta: - '@types/react': - optional: true - react: - optional: true - react-dom: - optional: true - search-insights: - optional: true - - '@docusaurus/babel@3.9.2': - resolution: {integrity: sha512-GEANdi/SgER+L7Japs25YiGil/AUDnFFHaCGPBbundxoWtCkA2lmy7/tFmgED4y1htAy6Oi4wkJEQdGssnw9MA==} - engines: {node: '>=20.0'} - - '@docusaurus/bundler@3.9.2': - resolution: {integrity: sha512-ZOVi6GYgTcsZcUzjblpzk3wH1Fya2VNpd5jtHoCCFcJlMQ1EYXZetfAnRHLcyiFeBABaI1ltTYbOBtH/gahGVA==} - engines: {node: '>=20.0'} - peerDependencies: - '@docusaurus/faster': '*' - peerDependenciesMeta: - '@docusaurus/faster': - optional: true - - '@docusaurus/core@3.9.2': - resolution: {integrity: sha512-HbjwKeC+pHUFBfLMNzuSjqFE/58+rLVKmOU3lxQrpsxLBOGosYco/Q0GduBb0/jEMRiyEqjNT/01rRdOMWq5pw==} - engines: {node: '>=20.0'} - hasBin: true - peerDependencies: - '@mdx-js/react': ^3.0.0 - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/cssnano-preset@3.9.2': - resolution: {integrity: sha512-8gBKup94aGttRduABsj7bpPFTX7kbwu+xh3K9NMCF5K4bWBqTFYW+REKHF6iBVDHRJ4grZdIPbvkiHd/XNKRMQ==} - engines: {node: '>=20.0'} - - '@docusaurus/logger@3.9.2': - resolution: {integrity: sha512-/SVCc57ByARzGSU60c50rMyQlBuMIJCjcsJlkphxY6B0GV4UH3tcA1994N8fFfbJ9kX3jIBe/xg3XP5qBtGDbA==} - engines: {node: '>=20.0'} - - '@docusaurus/mdx-loader@3.9.2': - resolution: {integrity: sha512-wiYoGwF9gdd6rev62xDU8AAM8JuLI/hlwOtCzMmYcspEkzecKrP8J8X+KpYnTlACBUUtXNJpSoCwFWJhLRevzQ==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/module-type-aliases@3.9.2': - resolution: {integrity: sha512-8qVe2QA9hVLzvnxP46ysuofJUIc/yYQ82tvA/rBTrnpXtCjNSFLxEZfd5U8cYZuJIVlkPxamsIgwd5tGZXfvew==} - peerDependencies: - react: '*' - react-dom: '*' - - '@docusaurus/plugin-content-blog@3.9.2': - resolution: {integrity: sha512-3I2HXy3L1QcjLJLGAoTvoBnpOwa6DPUa3Q0dMK19UTY9mhPkKQg/DYhAGTiBUKcTR0f08iw7kLPqOhIgdV3eVQ==} - engines: {node: '>=20.0'} - peerDependencies: - '@docusaurus/plugin-content-docs': '*' - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/plugin-content-docs@3.9.2': - resolution: {integrity: sha512-C5wZsGuKTY8jEYsqdxhhFOe1ZDjH0uIYJ9T/jebHwkyxqnr4wW0jTkB72OMqNjsoQRcb0JN3PcSeTwFlVgzCZg==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/plugin-content-pages@3.9.2': - resolution: {integrity: sha512-s4849w/p4noXUrGpPUF0BPqIAfdAe76BLaRGAGKZ1gTDNiGxGcpsLcwJ9OTi1/V8A+AzvsmI9pkjie2zjIQZKA==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/plugin-css-cascade-layers@3.9.2': - resolution: {integrity: sha512-w1s3+Ss+eOQbscGM4cfIFBlVg/QKxyYgj26k5AnakuHkKxH6004ZtuLe5awMBotIYF2bbGDoDhpgQ4r/kcj4rQ==} - engines: {node: '>=20.0'} - - '@docusaurus/plugin-debug@3.9.2': - resolution: {integrity: sha512-j7a5hWuAFxyQAkilZwhsQ/b3T7FfHZ+0dub6j/GxKNFJp2h9qk/P1Bp7vrGASnvA9KNQBBL1ZXTe7jlh4VdPdA==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/plugin-google-analytics@3.9.2': - resolution: {integrity: sha512-mAwwQJ1Us9jL/lVjXtErXto4p4/iaLlweC54yDUK1a97WfkC6Z2k5/769JsFgwOwOP+n5mUQGACXOEQ0XDuVUw==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/plugin-google-gtag@3.9.2': - resolution: {integrity: sha512-YJ4lDCphabBtw19ooSlc1MnxtYGpjFV9rEdzjLsUnBCeis2djUyCozZaFhCg6NGEwOn7HDDyMh0yzcdRpnuIvA==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/plugin-google-tag-manager@3.9.2': - resolution: {integrity: sha512-LJtIrkZN/tuHD8NqDAW1Tnw0ekOwRTfobWPsdO15YxcicBo2ykKF0/D6n0vVBfd3srwr9Z6rzrIWYrMzBGrvNw==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/plugin-sitemap@3.9.2': - resolution: {integrity: sha512-WLh7ymgDXjG8oPoM/T4/zUP7KcSuFYRZAUTl8vR6VzYkfc18GBM4xLhcT+AKOwun6kBivYKUJf+vlqYJkm+RHw==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/plugin-svgr@3.9.2': - resolution: {integrity: sha512-n+1DE+5b3Lnf27TgVU5jM1d4x5tUh2oW5LTsBxJX4PsAPV0JGcmI6p3yLYtEY0LRVEIJh+8RsdQmRE66wSV8mw==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/preset-classic@3.9.2': - resolution: {integrity: sha512-IgyYO2Gvaigi21LuDIe+nvmN/dfGXAiMcV/murFqcpjnZc7jxFAxW+9LEjdPt61uZLxG4ByW/oUmX/DDK9t/8w==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/react-loadable@6.0.0': - resolution: {integrity: sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==} - peerDependencies: - react: '*' - - '@docusaurus/theme-classic@3.9.2': - resolution: {integrity: sha512-IGUsArG5hhekXd7RDb11v94ycpJpFdJPkLnt10fFQWOVxAtq5/D7hT6lzc2fhyQKaaCE62qVajOMKL7OiAFAIA==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/theme-common@3.9.2': - resolution: {integrity: sha512-6c4DAbR6n6nPbnZhY2V3tzpnKnGL+6aOsLvFL26VRqhlczli9eWG0VDUNoCQEPnGwDMhPS42UhSAnz5pThm5Ag==} - engines: {node: '>=20.0'} - peerDependencies: - '@docusaurus/plugin-content-docs': '*' - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/theme-search-algolia@3.9.2': - resolution: {integrity: sha512-GBDSFNwjnh5/LdkxCKQHkgO2pIMX1447BxYUBG2wBiajS21uj64a+gH/qlbQjDLxmGrbrllBrtJkUHxIsiwRnw==} - engines: {node: '>=20.0'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/theme-translations@3.9.2': - resolution: {integrity: sha512-vIryvpP18ON9T9rjgMRFLr2xJVDpw1rtagEGf8Ccce4CkTrvM/fRB8N2nyWYOW5u3DdjkwKw5fBa+3tbn9P4PA==} - engines: {node: '>=20.0'} - - '@docusaurus/tsconfig@3.9.2': - resolution: {integrity: sha512-j6/Fp4Rlpxsc632cnRnl5HpOWeb6ZKssDj6/XzzAzVGXXfm9Eptx3rxCC+fDzySn9fHTS+CWJjPineCR1bB5WQ==} - - '@docusaurus/types@3.9.2': - resolution: {integrity: sha512-Ux1JUNswg+EfUEmajJjyhIohKceitY/yzjRUpu04WXgvVz+fbhVC0p+R0JhvEu4ytw8zIAys2hrdpQPBHRIa8Q==} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - - '@docusaurus/utils-common@3.9.2': - resolution: {integrity: sha512-I53UC1QctruA6SWLvbjbhCpAw7+X7PePoe5pYcwTOEXD/PxeP8LnECAhTHHwWCblyUX5bMi4QLRkxvyZ+IT8Aw==} - engines: {node: '>=20.0'} - - '@docusaurus/utils-validation@3.9.2': - resolution: {integrity: sha512-l7yk3X5VnNmATbwijJkexdhulNsQaNDwoagiwujXoxFbWLcxHQqNQ+c/IAlzrfMMOfa/8xSBZ7KEKDesE/2J7A==} - engines: {node: '>=20.0'} - - '@docusaurus/utils@3.9.2': - resolution: {integrity: sha512-lBSBiRruFurFKXr5Hbsl2thmGweAPmddhF3jb99U4EMDA5L+e5Y1rAkOS07Nvrup7HUMBDrCV45meaxZnt28nQ==} - engines: {node: '>=20.0'} - - '@hapi/hoek@9.3.0': - resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} - - '@hapi/topo@5.1.0': - resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} - - '@jest/schemas@29.6.3': - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/types@29.6.3': - resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jridgewell/gen-mapping@0.3.13': - resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} - - '@jridgewell/remapping@2.3.5': - resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} - - '@jridgewell/resolve-uri@3.1.2': - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - - '@jridgewell/source-map@0.3.11': - resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} - - '@jridgewell/sourcemap-codec@1.5.5': - resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - - '@jridgewell/trace-mapping@0.3.31': - resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - - '@jsonjoy.com/base64@1.1.2': - resolution: {integrity: sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' - - '@jsonjoy.com/buffers@1.2.1': - resolution: {integrity: sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' - - '@jsonjoy.com/codegen@1.0.0': - resolution: {integrity: sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' - - '@jsonjoy.com/json-pack@1.21.0': - resolution: {integrity: sha512-+AKG+R2cfZMShzrF2uQw34v3zbeDYUqnQ+jg7ORic3BGtfw9p/+N6RJbq/kkV8JmYZaINknaEQ2m0/f693ZPpg==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' - - '@jsonjoy.com/json-pointer@1.0.2': - resolution: {integrity: sha512-Fsn6wM2zlDzY1U+v4Nc8bo3bVqgfNTGcn6dMgs6FjrEnt4ZCe60o6ByKRjOGlI2gow0aE/Q41QOigdTqkyK5fg==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' - - '@jsonjoy.com/util@1.9.0': - resolution: {integrity: sha512-pLuQo+VPRnN8hfPqUTLTHk126wuYdXVxE6aDmjSeV4NCAgyxWbiOIeNJVtID3h1Vzpoi9m4jXezf73I6LgabgQ==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' - - '@leichtgewicht/ip-codec@2.0.5': - resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} - - '@mdx-js/mdx@3.1.1': - resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} - - '@mdx-js/react@3.1.1': - resolution: {integrity: sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw==} - peerDependencies: - '@types/react': '>=16' - react: '>=16' - - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - - '@opentelemetry/api@1.9.0': - resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} - engines: {node: '>=8.0.0'} - - '@pnpm/config.env-replace@1.1.0': - resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} - engines: {node: '>=12.22.0'} - - '@pnpm/network.ca-file@1.0.2': - resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} - engines: {node: '>=12.22.0'} - - '@pnpm/npm-conf@2.3.1': - resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==} - engines: {node: '>=12'} - - '@polka/url@1.0.0-next.29': - resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} - - '@sideway/address@4.1.5': - resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} - - '@sideway/formula@3.0.1': - resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} - - '@sideway/pinpoint@2.0.0': - resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} - - '@sinclair/typebox@0.27.8': - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - - '@sindresorhus/is@4.6.0': - resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} - engines: {node: '>=10'} - - '@sindresorhus/is@5.6.0': - resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} - engines: {node: '>=14.16'} - - '@slorber/react-helmet-async@1.3.0': - resolution: {integrity: sha512-e9/OK8VhwUSc67diWI8Rb3I0YgI9/SBQtnhe9aEuK6MhZm7ntZZimXgwXnd8W96YTmSOb9M4d8LwhRZyhWr/1A==} - peerDependencies: - react: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - - '@slorber/remark-comment@1.0.0': - resolution: {integrity: sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==} - - '@standard-schema/spec@1.0.0': - resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} - - '@svgr/babel-plugin-add-jsx-attribute@8.0.0': - resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@svgr/babel-plugin-remove-jsx-attribute@8.0.0': - resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0': - resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0': - resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@svgr/babel-plugin-svg-dynamic-title@8.0.0': - resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@svgr/babel-plugin-svg-em-dimensions@8.0.0': - resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@svgr/babel-plugin-transform-react-native-svg@8.1.0': - resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@svgr/babel-plugin-transform-svg-component@8.0.0': - resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==} - engines: {node: '>=12'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@svgr/babel-preset@8.1.0': - resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@svgr/core@8.1.0': - resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==} - engines: {node: '>=14'} - - '@svgr/hast-util-to-babel-ast@8.0.0': - resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==} - engines: {node: '>=14'} - - '@svgr/plugin-jsx@8.1.0': - resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==} - engines: {node: '>=14'} - peerDependencies: - '@svgr/core': '*' - - '@svgr/plugin-svgo@8.1.0': - resolution: {integrity: sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==} - engines: {node: '>=14'} - peerDependencies: - '@svgr/core': '*' - - '@svgr/webpack@8.1.0': - resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==} - engines: {node: '>=14'} - - '@szmarczak/http-timer@5.0.1': - resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} - engines: {node: '>=14.16'} - - '@trysound/sax@0.2.0': - resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} - engines: {node: '>=10.13.0'} - - '@types/body-parser@1.19.6': - resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} - - '@types/bonjour@3.5.13': - resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} - - '@types/connect-history-api-fallback@1.5.4': - resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} - - '@types/connect@3.4.38': - resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} - - '@types/debug@4.1.12': - resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - - '@types/eslint-scope@3.7.7': - resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} - - '@types/eslint@9.6.1': - resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} - - '@types/estree-jsx@1.0.5': - resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} - - '@types/estree@1.0.8': - resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - - '@types/express-serve-static-core@4.19.7': - resolution: {integrity: sha512-FvPtiIf1LfhzsaIXhv/PHan/2FeQBbtBDtfX2QfvPxdUelMDEckK08SM6nqo1MIZY3RUlfA+HV8+hFUSio78qg==} - - '@types/express@4.17.25': - resolution: {integrity: sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==} - - '@types/gtag.js@0.0.12': - resolution: {integrity: sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==} - - '@types/hast@3.0.4': - resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} - - '@types/history@4.7.11': - resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==} - - '@types/html-minifier-terser@6.1.0': - resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} - - '@types/http-cache-semantics@4.0.4': - resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} - - '@types/http-errors@2.0.5': - resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} - - '@types/http-proxy@1.17.17': - resolution: {integrity: sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==} - - '@types/istanbul-lib-coverage@2.0.6': - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - - '@types/istanbul-lib-report@3.0.3': - resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} - - '@types/istanbul-reports@3.0.4': - resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - - '@types/json-schema@7.0.15': - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - - '@types/mdast@4.0.4': - resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} - - '@types/mdx@2.0.13': - resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} - - '@types/mime@1.3.5': - resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - - '@types/ms@2.1.0': - resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - - '@types/node-forge@1.3.14': - resolution: {integrity: sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==} - - '@types/node@17.0.45': - resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - - '@types/node@24.10.2': - resolution: {integrity: sha512-WOhQTZ4G8xZ1tjJTvKOpyEVSGgOTvJAfDK3FNFgELyaTpzhdgHVHeqW8V+UJvzF5BT+/B54T/1S2K6gd9c7bbA==} - - '@types/prismjs@1.26.5': - resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==} - - '@types/qs@6.14.0': - resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} - - '@types/range-parser@1.2.7': - resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} - - '@types/react-router-config@5.0.11': - resolution: {integrity: sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==} - - '@types/react-router-dom@5.3.3': - resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==} - - '@types/react-router@5.1.20': - resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} - - '@types/react@19.2.7': - resolution: {integrity: sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==} - - '@types/retry@0.12.2': - resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==} - - '@types/sax@1.2.7': - resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} - - '@types/send@0.17.6': - resolution: {integrity: sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==} - - '@types/send@1.2.1': - resolution: {integrity: sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==} - - '@types/serve-index@1.9.4': - resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} - - '@types/serve-static@1.15.10': - resolution: {integrity: sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==} - - '@types/sockjs@0.3.36': - resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} - - '@types/unist@2.0.11': - resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} - - '@types/unist@3.0.3': - resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - - '@types/ws@8.18.1': - resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} - - '@types/yargs-parser@21.0.3': - resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - - '@types/yargs@17.0.35': - resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} - - '@ungap/structured-clone@1.3.0': - resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} - - '@vercel/oidc@3.0.5': - resolution: {integrity: sha512-fnYhv671l+eTTp48gB4zEsTW/YtRgRPnkI2nT7x6qw5rkI1Lq2hTmQIpHPgyThI0znLK+vX2n9XxKdXZ7BUbbw==} - engines: {node: '>= 20'} - - '@webassemblyjs/ast@1.14.1': - resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} - - '@webassemblyjs/floating-point-hex-parser@1.13.2': - resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} - - '@webassemblyjs/helper-api-error@1.13.2': - resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} - - '@webassemblyjs/helper-buffer@1.14.1': - resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} - - '@webassemblyjs/helper-numbers@1.13.2': - resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} - - '@webassemblyjs/helper-wasm-bytecode@1.13.2': - resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} - - '@webassemblyjs/helper-wasm-section@1.14.1': - resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} - - '@webassemblyjs/ieee754@1.13.2': - resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} - - '@webassemblyjs/leb128@1.13.2': - resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} - - '@webassemblyjs/utf8@1.13.2': - resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} - - '@webassemblyjs/wasm-edit@1.14.1': - resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} - - '@webassemblyjs/wasm-gen@1.14.1': - resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} - - '@webassemblyjs/wasm-opt@1.14.1': - resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} - - '@webassemblyjs/wasm-parser@1.14.1': - resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} - - '@webassemblyjs/wast-printer@1.14.1': - resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} - - '@xtuc/ieee754@1.2.0': - resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} - - '@xtuc/long@4.2.2': - resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} - - accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} - - acorn-import-phases@1.0.4: - resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==} - engines: {node: '>=10.13.0'} - peerDependencies: - acorn: ^8.14.0 - - acorn-jsx@5.3.2: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - - acorn-walk@8.3.4: - resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} - engines: {node: '>=0.4.0'} - - acorn@8.15.0: - resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} - engines: {node: '>=0.4.0'} - hasBin: true - - address@1.2.2: - resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} - engines: {node: '>= 10.0.0'} - - aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - - ai@5.0.108: - resolution: {integrity: sha512-Jex3Lb7V41NNpuqJHKgrwoU6BCLHdI1Pg4qb4GJH4jRIDRXUBySJErHjyN4oTCwbiYCeb/8II9EnqSRPq9EifA==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - - ajv-formats@2.1.1: - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - - ajv-keywords@3.5.2: - resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} - peerDependencies: - ajv: ^6.9.1 - - ajv-keywords@5.1.0: - resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} - peerDependencies: - ajv: ^8.8.2 - - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - - ajv@8.17.1: - resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} - - algoliasearch-helper@3.26.1: - resolution: {integrity: sha512-CAlCxm4fYBXtvc5MamDzP6Svu8rW4z9me4DCBY1rQ2UDJ0u0flWmusQ8M3nOExZsLLRcUwUPoRAPMrhzOG3erw==} - peerDependencies: - algoliasearch: '>= 3.1 < 6' - - algoliasearch@5.46.0: - resolution: {integrity: sha512-7ML6fa2K93FIfifG3GMWhDEwT5qQzPTmoHKCTvhzGEwdbQ4n0yYUWZlLYT75WllTGJCJtNUI0C1ybN4BCegqvg==} - engines: {node: '>= 14.0.0'} - - ansi-align@3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} - - ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - - ansi-html-community@0.0.8: - resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} - engines: {'0': node >= 0.8.0} - hasBin: true - - ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - - ansi-regex@6.2.2: - resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} - engines: {node: '>=12'} - - ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - - ansi-styles@6.2.3: - resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} - engines: {node: '>=12'} - - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - - arg@5.0.2: - resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} - - argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - - array-flatten@1.1.1: - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - - array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - - astring@1.9.0: - resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} - hasBin: true - - autoprefixer@10.4.22: - resolution: {integrity: sha512-ARe0v/t9gO28Bznv6GgqARmVqcWOV3mfgUPn9becPHMiD3o9BwlRgaeccZnwTpZ7Zwqrm+c1sUSsMxIzQzc8Xg==} - engines: {node: ^10 || ^12 || >=14} - hasBin: true - peerDependencies: - postcss: ^8.1.0 - - babel-loader@9.2.1: - resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@babel/core': ^7.12.0 - webpack: '>=5' - - babel-plugin-dynamic-import-node@2.3.3: - resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} - - babel-plugin-polyfill-corejs2@0.4.14: - resolution: {integrity: sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-plugin-polyfill-corejs3@0.13.0: - resolution: {integrity: sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-plugin-polyfill-regenerator@0.6.5: - resolution: {integrity: sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - bail@2.0.2: - resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} - - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - - baseline-browser-mapping@2.9.5: - resolution: {integrity: sha512-D5vIoztZOq1XM54LUdttJVc96ggEsIfju2JBvht06pSzpckp3C7HReun67Bghzrtdsq9XdMGbSSB3v3GhMNmAA==} - hasBin: true - - batch@0.6.1: - resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} - - big.js@5.2.2: - resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} - - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - - body-parser@1.20.4: - resolution: {integrity: sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - - bonjour-service@1.3.0: - resolution: {integrity: sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==} - - boolbase@1.0.0: - resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - - boxen@6.2.1: - resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - boxen@7.1.1: - resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} - engines: {node: '>=14.16'} - - brace-expansion@1.1.12: - resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} - - braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} - - browserslist@4.28.1: - resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - - buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - - bundle-name@4.1.0: - resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} - engines: {node: '>=18'} - - bytes@3.0.0: - resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} - engines: {node: '>= 0.8'} - - bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} - - cacheable-lookup@7.0.0: - resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} - engines: {node: '>=14.16'} - - cacheable-request@10.2.14: - resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} - engines: {node: '>=14.16'} - - call-bind-apply-helpers@1.0.2: - resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} - engines: {node: '>= 0.4'} - - call-bind@1.0.8: - resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} - engines: {node: '>= 0.4'} - - call-bound@1.0.4: - resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} - engines: {node: '>= 0.4'} - - callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - - camel-case@4.1.2: - resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} - - camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - - camelcase@7.0.1: - resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} - engines: {node: '>=14.16'} - - caniuse-api@3.0.0: - resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - - caniuse-lite@1.0.30001760: - resolution: {integrity: sha512-7AAMPcueWELt1p3mi13HR/LHH0TJLT11cnwDJEs3xA4+CK/PLKeO9Kl1oru24htkyUKtkGCvAx4ohB0Ttry8Dw==} - - ccount@2.0.1: - resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - - chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - - chalk@5.6.2: - resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - - char-regex@1.0.2: - resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} - engines: {node: '>=10'} - - character-entities-html4@2.1.0: - resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} - - character-entities-legacy@3.0.0: - resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} - - character-entities@2.0.2: - resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} - - character-reference-invalid@2.0.1: - resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} - - cheerio-select@2.1.0: - resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} - - cheerio@1.0.0-rc.12: - resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} - engines: {node: '>= 6'} - - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - - chrome-trace-event@1.0.4: - resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} - engines: {node: '>=6.0'} - - ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} - engines: {node: '>=8'} - - clean-css@5.3.3: - resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} - engines: {node: '>= 10.0'} - - clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - - cli-boxes@3.0.0: - resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} - engines: {node: '>=10'} - - cli-table3@0.6.5: - resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} - engines: {node: 10.* || >= 12.*} - - clone-deep@4.0.1: - resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} - engines: {node: '>=6'} - - clsx@2.1.1: - resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} - engines: {node: '>=6'} - - collapse-white-space@2.1.0: - resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} - - color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - - color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - - colord@2.9.3: - resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} - - colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - - combine-promises@1.2.0: - resolution: {integrity: sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==} - engines: {node: '>=10'} - - comma-separated-tokens@2.0.3: - resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} - - commander@10.0.1: - resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} - engines: {node: '>=14'} - - commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - - commander@5.1.0: - resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} - engines: {node: '>= 6'} - - commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} - - commander@8.3.0: - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} - engines: {node: '>= 12'} - - common-path-prefix@3.0.0: - resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} - - compressible@2.0.18: - resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} - engines: {node: '>= 0.6'} - - compression@1.8.1: - resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==} - engines: {node: '>= 0.8.0'} - - concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - - config-chain@1.1.13: - resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} - - configstore@6.0.0: - resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==} - engines: {node: '>=12'} - - connect-history-api-fallback@2.0.0: - resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} - engines: {node: '>=0.8'} - - consola@3.4.2: - resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} - engines: {node: ^14.18.0 || >=16.10.0} - - content-disposition@0.5.2: - resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==} - engines: {node: '>= 0.6'} - - content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} - - content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} - - convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - - cookie-signature@1.0.7: - resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==} - - cookie@0.7.2: - resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} - engines: {node: '>= 0.6'} - - copy-webpack-plugin@11.0.0: - resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} - engines: {node: '>= 14.15.0'} - peerDependencies: - webpack: ^5.1.0 - - core-js-compat@3.47.0: - resolution: {integrity: sha512-IGfuznZ/n7Kp9+nypamBhvwdwLsW6KC8IOaURw2doAK5e98AG3acVLdh0woOnEqCfUtS+Vu882JE4k/DAm3ItQ==} - - core-js-pure@3.47.0: - resolution: {integrity: sha512-BcxeDbzUrRnXGYIVAGFtcGQVNpFcUhVjr6W7F8XktvQW2iJP9e66GP6xdKotCRFlrxBvNIBrhwKteRXqMV86Nw==} - - core-js@3.47.0: - resolution: {integrity: sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg==} - - core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - - cosmiconfig@8.3.6: - resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} - engines: {node: '>=14'} - peerDependencies: - typescript: '>=4.9.5' - peerDependenciesMeta: - typescript: - optional: true - - cross-spawn@7.0.6: - resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} - engines: {node: '>= 8'} - - crypto-random-string@4.0.0: - resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} - engines: {node: '>=12'} - - css-blank-pseudo@7.0.1: - resolution: {integrity: sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - css-declaration-sorter@7.3.0: - resolution: {integrity: sha512-LQF6N/3vkAMYF4xoHLJfG718HRJh34Z8BnNhd6bosOMIVjMlhuZK5++oZa3uYAgrI5+7x2o27gUqTR2U/KjUOQ==} - engines: {node: ^14 || ^16 || >=18} - peerDependencies: - postcss: ^8.0.9 - - css-has-pseudo@7.0.3: - resolution: {integrity: sha512-oG+vKuGyqe/xvEMoxAQrhi7uY16deJR3i7wwhBerVrGQKSqUC5GiOVxTpM9F9B9hw0J+eKeOWLH7E9gZ1Dr5rA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - css-loader@6.11.0: - resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} - engines: {node: '>= 12.13.0'} - peerDependencies: - '@rspack/core': 0.x || 1.x - webpack: ^5.0.0 - peerDependenciesMeta: - '@rspack/core': - optional: true - webpack: - optional: true - - css-minimizer-webpack-plugin@5.0.1: - resolution: {integrity: sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@parcel/css': '*' - '@swc/css': '*' - clean-css: '*' - csso: '*' - esbuild: '*' - lightningcss: '*' - webpack: ^5.0.0 - peerDependenciesMeta: - '@parcel/css': - optional: true - '@swc/css': - optional: true - clean-css: - optional: true - csso: - optional: true - esbuild: - optional: true - lightningcss: - optional: true - - css-prefers-color-scheme@10.0.0: - resolution: {integrity: sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - css-select@4.3.0: - resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} - - css-select@5.2.2: - resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} - - css-tree@2.2.1: - resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - - css-tree@2.3.1: - resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} - - css-what@6.2.2: - resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} - engines: {node: '>= 6'} - - cssdb@8.5.2: - resolution: {integrity: sha512-Pmoj9RmD8RIoIzA2EQWO4D4RMeDts0tgAH0VXdlNdxjuBGI3a9wMOIcUwaPNmD4r2qtIa06gqkIf7sECl+cBCg==} - - cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} - hasBin: true - - cssnano-preset-advanced@6.1.2: - resolution: {integrity: sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - cssnano-preset-default@6.1.2: - resolution: {integrity: sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - cssnano-utils@4.0.2: - resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - cssnano@6.1.2: - resolution: {integrity: sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - csso@5.0.5: - resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - - csstype@3.2.3: - resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} - - debounce@1.2.1: - resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} - - debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - debug@4.4.3: - resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - decode-named-character-reference@1.2.0: - resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==} - - decompress-response@6.0.0: - resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} - engines: {node: '>=10'} - - deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - - deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} - - default-browser-id@5.0.1: - resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==} - engines: {node: '>=18'} - - default-browser@5.4.0: - resolution: {integrity: sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==} - engines: {node: '>=18'} - - defer-to-connect@2.0.1: - resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} - engines: {node: '>=10'} - - define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} - - define-lazy-prop@2.0.0: - resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} - engines: {node: '>=8'} - - define-lazy-prop@3.0.0: - resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} - engines: {node: '>=12'} - - define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} - - depd@1.1.2: - resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} - engines: {node: '>= 0.6'} - - depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - - dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} - - destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - - detect-node@2.1.0: - resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} - - detect-port@1.6.1: - resolution: {integrity: sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==} - engines: {node: '>= 4.0.0'} - hasBin: true - - devlop@1.1.0: - resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - - dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - - dns-packet@5.6.1: - resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} - engines: {node: '>=6'} - - dom-converter@0.2.0: - resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} - - dom-serializer@1.4.1: - resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} - - dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - - domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - - domhandler@4.3.1: - resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} - engines: {node: '>= 4'} - - domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} - - domutils@2.8.0: - resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} - - domutils@3.2.2: - resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} - - dot-case@3.0.4: - resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} - - dot-prop@6.0.1: - resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} - engines: {node: '>=10'} - - dunder-proto@1.0.1: - resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} - engines: {node: '>= 0.4'} - - duplexer@0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - - eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - - ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - - electron-to-chromium@1.5.267: - resolution: {integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==} - - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - - emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - - emojilib@2.4.0: - resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} - - emojis-list@3.0.0: - resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} - engines: {node: '>= 4'} - - emoticon@4.1.0: - resolution: {integrity: sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==} - - encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} - - encodeurl@2.0.0: - resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} - engines: {node: '>= 0.8'} - - enhanced-resolve@5.18.3: - resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==} - engines: {node: '>=10.13.0'} - - entities@2.2.0: - resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} - - entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} - - entities@6.0.1: - resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} - engines: {node: '>=0.12'} - - error-ex@1.3.4: - resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} - - es-define-property@1.0.1: - resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} - engines: {node: '>= 0.4'} - - es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} - - es-module-lexer@1.7.0: - resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} - - es-object-atoms@1.1.1: - resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} - engines: {node: '>= 0.4'} - - esast-util-from-estree@2.0.0: - resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} - - esast-util-from-js@2.0.1: - resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} - - escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} - engines: {node: '>=6'} - - escape-goat@4.0.0: - resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==} - engines: {node: '>=12'} - - escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - - escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - - escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - - escape-string-regexp@5.0.0: - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} - engines: {node: '>=12'} - - eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - - esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - - esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - - estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - - estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - - estree-util-attach-comments@3.0.0: - resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} - - estree-util-build-jsx@3.0.1: - resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} - - estree-util-is-identifier-name@3.0.0: - resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} - - estree-util-scope@1.0.0: - resolution: {integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==} - - estree-util-to-js@2.0.0: - resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} - - estree-util-value-to-estree@3.5.0: - resolution: {integrity: sha512-aMV56R27Gv3QmfmF1MY12GWkGzzeAezAX+UplqHVASfjc9wNzI/X6hC0S9oxq61WT4aQesLGslWP9tKk6ghRZQ==} - - estree-util-visit@2.0.0: - resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} - - estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - - esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - - eta@2.2.0: - resolution: {integrity: sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==} - engines: {node: '>=6.0.0'} - - etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} - - eval@0.1.8: - resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==} - engines: {node: '>= 0.8'} - - eventemitter3@4.0.7: - resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} - - events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - - eventsource-parser@3.0.6: - resolution: {integrity: sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==} - engines: {node: '>=18.0.0'} - - execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - - express@4.22.1: - resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} - engines: {node: '>= 0.10.0'} - - extend-shallow@2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} - - extend@3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - - fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - - fast-glob@3.3.3: - resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} - engines: {node: '>=8.6.0'} - - fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - - fast-uri@3.1.0: - resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} - - fastq@1.19.1: - resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} - - fault@2.0.1: - resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} - - faye-websocket@0.11.4: - resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} - engines: {node: '>=0.8.0'} - - feed@4.2.2: - resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==} - engines: {node: '>=0.4.0'} - - figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} - - file-loader@6.2.0: - resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} - engines: {node: '>= 10.13.0'} - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - - fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} - - finalhandler@1.3.2: - resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==} - engines: {node: '>= 0.8'} - - find-cache-dir@4.0.0: - resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} - engines: {node: '>=14.16'} - - find-up@6.3.0: - resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - flat@5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} - hasBin: true - - follow-redirects@1.15.11: - resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - - form-data-encoder@2.1.4: - resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} - engines: {node: '>= 14.17'} - - format@0.2.2: - resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} - engines: {node: '>=0.4.x'} - - forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - - fraction.js@5.3.4: - resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} - - fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} - - fs-extra@11.3.2: - resolution: {integrity: sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==} - engines: {node: '>=14.14'} - - fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - - function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - - gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - - get-intrinsic@1.3.0: - resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} - engines: {node: '>= 0.4'} - - get-own-enumerable-property-symbols@3.0.2: - resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} - - get-proto@1.0.1: - resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} - engines: {node: '>= 0.4'} - - get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - - github-slugger@1.5.0: - resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} - - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - - glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - - glob-to-regex.js@1.2.0: - resolution: {integrity: sha512-QMwlOQKU/IzqMUOAZWubUOT8Qft+Y0KQWnX9nK3ch0CJg0tTp4TvGZsTfudYKv2NzoQSyPcnA6TYeIQ3jGichQ==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' - - glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - - global-dirs@3.0.1: - resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} - engines: {node: '>=10'} - - globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - - globby@13.2.2: - resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - gopd@1.2.0: - resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} - engines: {node: '>= 0.4'} - - got@12.6.1: - resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} - engines: {node: '>=14.16'} - - graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} - - graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - - gray-matter@4.0.3: - resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} - engines: {node: '>=6.0'} - - gzip-size@6.0.0: - resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} - engines: {node: '>=10'} - - handle-thing@2.0.1: - resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} - - has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - - has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - - has-symbols@1.1.0: - resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} - engines: {node: '>= 0.4'} - - has-yarn@3.0.0: - resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} - - hast-util-from-parse5@8.0.3: - resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==} - - hast-util-parse-selector@4.0.0: - resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} - - hast-util-raw@9.1.0: - resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==} - - hast-util-to-estree@3.1.3: - resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==} - - hast-util-to-jsx-runtime@2.3.6: - resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==} - - hast-util-to-parse5@8.0.1: - resolution: {integrity: sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==} - - hast-util-whitespace@3.0.0: - resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} - - hastscript@9.0.1: - resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} - - he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true - - history@4.10.1: - resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} - - hoist-non-react-statics@3.3.2: - resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} - - hpack.js@2.1.6: - resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} - - html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - - html-minifier-terser@6.1.0: - resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} - engines: {node: '>=12'} - hasBin: true - - html-minifier-terser@7.2.0: - resolution: {integrity: sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==} - engines: {node: ^14.13.1 || >=16.0.0} - hasBin: true - - html-tags@3.3.1: - resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} - engines: {node: '>=8'} - - html-void-elements@3.0.0: - resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} - - html-webpack-plugin@5.6.5: - resolution: {integrity: sha512-4xynFbKNNk+WlzXeQQ+6YYsH2g7mpfPszQZUi3ovKlj+pDmngQ7vRXjrrmGROabmKwyQkcgcX5hqfOwHbFmK5g==} - engines: {node: '>=10.13.0'} - peerDependencies: - '@rspack/core': 0.x || 1.x - webpack: ^5.20.0 - peerDependenciesMeta: - '@rspack/core': - optional: true - webpack: - optional: true - - htmlparser2@6.1.0: - resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} - - htmlparser2@8.0.2: - resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} - - http-cache-semantics@4.2.0: - resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} - - http-deceiver@1.2.7: - resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} - - http-errors@1.6.3: - resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} - engines: {node: '>= 0.6'} - - http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} - - http-errors@2.0.1: - resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} - engines: {node: '>= 0.8'} - - http-parser-js@0.5.10: - resolution: {integrity: sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==} - - http-proxy-middleware@2.0.9: - resolution: {integrity: sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@types/express': ^4.17.13 - peerDependenciesMeta: - '@types/express': - optional: true - - http-proxy@1.18.1: - resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} - engines: {node: '>=8.0.0'} - - http2-wrapper@2.2.1: - resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} - engines: {node: '>=10.19.0'} - - human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - - hyperdyperid@1.2.0: - resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==} - engines: {node: '>=10.18'} - - iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - - icss-utils@5.1.0: - resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - - ignore@5.3.2: - resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} - engines: {node: '>= 4'} - - image-size@2.0.2: - resolution: {integrity: sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==} - engines: {node: '>=16.x'} - hasBin: true - - import-fresh@3.3.1: - resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} - engines: {node: '>=6'} - - import-lazy@4.0.0: - resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} - engines: {node: '>=8'} - - imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - - indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - - infima@0.2.0-alpha.45: - resolution: {integrity: sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw==} - engines: {node: '>=12'} - - inherits@2.0.3: - resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} - - inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - - ini@2.0.0: - resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} - engines: {node: '>=10'} - - inline-style-parser@0.2.7: - resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==} - - invariant@2.2.4: - resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} - - ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - - ipaddr.js@2.3.0: - resolution: {integrity: sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==} - engines: {node: '>= 10'} - - is-alphabetical@2.0.1: - resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} - - is-alphanumerical@2.0.1: - resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} - - is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - - is-ci@3.0.1: - resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} - hasBin: true - - is-core-module@2.16.1: - resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} - engines: {node: '>= 0.4'} - - is-decimal@2.0.1: - resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} - - is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - - is-docker@3.0.0: - resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - hasBin: true - - is-extendable@0.1.1: - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} - engines: {node: '>=0.10.0'} - - is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - - is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - - is-hexadecimal@2.0.1: - resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} - - is-inside-container@1.0.0: - resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} - engines: {node: '>=14.16'} - hasBin: true - - is-installed-globally@0.4.0: - resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} - engines: {node: '>=10'} - - is-network-error@1.3.0: - resolution: {integrity: sha512-6oIwpsgRfnDiyEDLMay/GqCl3HoAtH5+RUKW29gYkL0QA+ipzpDLA16yQs7/RHCSu+BwgbJaOUqa4A99qNVQVw==} - engines: {node: '>=16'} - - is-npm@6.1.0: - resolution: {integrity: sha512-O2z4/kNgyjhQwVR1Wpkbfc19JIhggF97NZNCpWTnjH7kVcZMUrnut9XSN7txI7VdyIYk5ZatOq3zvSuWpU8hoA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - - is-obj@1.0.1: - resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} - engines: {node: '>=0.10.0'} - - is-obj@2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} - - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - - is-plain-obj@3.0.0: - resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} - engines: {node: '>=10'} - - is-plain-obj@4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} - - is-plain-object@2.0.4: - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} - engines: {node: '>=0.10.0'} - - is-regexp@1.0.0: - resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} - engines: {node: '>=0.10.0'} - - is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - - is-typedarray@1.0.0: - resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - - is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - - is-wsl@3.1.0: - resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} - engines: {node: '>=16'} - - is-yarn-global@0.4.1: - resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==} - engines: {node: '>=12'} - - isarray@0.0.1: - resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} - - isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - - isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - - isobject@3.0.1: - resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} - engines: {node: '>=0.10.0'} - - jest-util@29.7.0: - resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-worker@27.5.1: - resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} - engines: {node: '>= 10.13.0'} - - jest-worker@29.7.0: - resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jiti@1.21.7: - resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} - hasBin: true - - joi@17.13.3: - resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} - - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - - js-yaml@3.14.2: - resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==} - hasBin: true - - jsesc@3.1.0: - resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} - engines: {node: '>=6'} - hasBin: true - - json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - - json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - - json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - - json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - - json-schema@0.4.0: - resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} - - json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - - jsonfile@6.2.0: - resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} - - keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - - kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - - kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - - latest-version@7.0.0: - resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} - engines: {node: '>=14.16'} - - launch-editor@2.12.0: - resolution: {integrity: sha512-giOHXoOtifjdHqUamwKq6c49GzBdLjvxrd2D+Q4V6uOHopJv7p9VJxikDsQ/CBXZbEITgUqSVHXLTG3VhPP1Dg==} - - leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} - - lilconfig@3.1.3: - resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} - engines: {node: '>=14'} - - lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - - loader-runner@4.3.1: - resolution: {integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==} - engines: {node: '>=6.11.5'} - - loader-utils@2.0.4: - resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} - engines: {node: '>=8.9.0'} - - locate-path@7.2.0: - resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - - lodash.memoize@4.1.2: - resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} - - lodash.uniq@4.5.0: - resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} - - lodash@4.17.23: - resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==} - - longest-streak@3.1.0: - resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - - loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - hasBin: true - - lower-case@2.0.2: - resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} - - lowercase-keys@3.0.0: - resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - - markdown-extensions@2.0.0: - resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} - engines: {node: '>=16'} - - markdown-table@2.0.0: - resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==} - - markdown-table@3.0.4: - resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} - - marked@16.4.2: - resolution: {integrity: sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==} - engines: {node: '>= 20'} - hasBin: true - - math-intrinsics@1.1.0: - resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} - engines: {node: '>= 0.4'} - - mdast-util-directive@3.1.0: - resolution: {integrity: sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==} - - mdast-util-find-and-replace@3.0.2: - resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} - - mdast-util-from-markdown@2.0.2: - resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} - - mdast-util-frontmatter@2.0.1: - resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} - - mdast-util-gfm-autolink-literal@2.0.1: - resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} - - mdast-util-gfm-footnote@2.1.0: - resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} - - mdast-util-gfm-strikethrough@2.0.0: - resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} - - mdast-util-gfm-table@2.0.0: - resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} - - mdast-util-gfm-task-list-item@2.0.0: - resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} - - mdast-util-gfm@3.1.0: - resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} - - mdast-util-mdx-expression@2.0.1: - resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} - - mdast-util-mdx-jsx@3.2.0: - resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==} - - mdast-util-mdx@3.0.0: - resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} - - mdast-util-mdxjs-esm@2.0.1: - resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} - - mdast-util-phrasing@4.1.0: - resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} - - mdast-util-to-hast@13.2.1: - resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==} - - mdast-util-to-markdown@2.1.2: - resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} - - mdast-util-to-string@4.0.0: - resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} - - mdn-data@2.0.28: - resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} - - mdn-data@2.0.30: - resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} - - media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - - memfs@4.51.1: - resolution: {integrity: sha512-Eyt3XrufitN2ZL9c/uIRMyDwXanLI88h/L3MoWqNY747ha3dMR9dWqp8cRT5ntjZ0U1TNuq4U91ZXK0sMBjYOQ==} - - merge-descriptors@1.0.3: - resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} - - merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - - merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - - methods@1.1.2: - resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} - engines: {node: '>= 0.6'} - - micromark-core-commonmark@2.0.3: - resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} - - micromark-extension-directive@3.0.2: - resolution: {integrity: sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==} - - micromark-extension-frontmatter@2.0.0: - resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} - - micromark-extension-gfm-autolink-literal@2.1.0: - resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} - - micromark-extension-gfm-footnote@2.1.0: - resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} - - micromark-extension-gfm-strikethrough@2.1.0: - resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} - - micromark-extension-gfm-table@2.1.1: - resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} - - micromark-extension-gfm-tagfilter@2.0.0: - resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} - - micromark-extension-gfm-task-list-item@2.1.0: - resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} - - micromark-extension-gfm@3.0.0: - resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} - - micromark-extension-mdx-expression@3.0.1: - resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==} - - micromark-extension-mdx-jsx@3.0.2: - resolution: {integrity: sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==} - - micromark-extension-mdx-md@2.0.0: - resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} - - micromark-extension-mdxjs-esm@3.0.0: - resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} - - micromark-extension-mdxjs@3.0.0: - resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} - - micromark-factory-destination@2.0.1: - resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} - - micromark-factory-label@2.0.1: - resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} - - micromark-factory-mdx-expression@2.0.3: - resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==} - - micromark-factory-space@1.1.0: - resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} - - micromark-factory-space@2.0.1: - resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} - - micromark-factory-title@2.0.1: - resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} - - micromark-factory-whitespace@2.0.1: - resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} - - micromark-util-character@1.2.0: - resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} - - micromark-util-character@2.1.1: - resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} - - micromark-util-chunked@2.0.1: - resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} - - micromark-util-classify-character@2.0.1: - resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} - - micromark-util-combine-extensions@2.0.1: - resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} - - micromark-util-decode-numeric-character-reference@2.0.2: - resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} - - micromark-util-decode-string@2.0.1: - resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} - - micromark-util-encode@2.0.1: - resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} - - micromark-util-events-to-acorn@2.0.3: - resolution: {integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==} - - micromark-util-html-tag-name@2.0.1: - resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} - - micromark-util-normalize-identifier@2.0.1: - resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} - - micromark-util-resolve-all@2.0.1: - resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} - - micromark-util-sanitize-uri@2.0.1: - resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} - - micromark-util-subtokenize@2.1.0: - resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} - - micromark-util-symbol@1.1.0: - resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} - - micromark-util-symbol@2.0.1: - resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} - - micromark-util-types@1.1.0: - resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} - - micromark-util-types@2.0.2: - resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} - - micromark@4.0.2: - resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} - - micromatch@4.0.8: - resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} - engines: {node: '>=8.6'} - - mime-db@1.33.0: - resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==} - engines: {node: '>= 0.6'} - - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - mime-db@1.54.0: - resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} - engines: {node: '>= 0.6'} - - mime-types@2.1.18: - resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==} - engines: {node: '>= 0.6'} - - mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - - mime-types@3.0.2: - resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} - engines: {node: '>=18'} - - mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - - mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - - mimic-response@3.1.0: - resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} - engines: {node: '>=10'} - - mimic-response@4.0.0: - resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - mini-css-extract-plugin@2.9.4: - resolution: {integrity: sha512-ZWYT7ln73Hptxqxk2DxPU9MmapXRhxkJD6tkSR04dnQxm8BGu2hzgKLugK5yySD97u/8yy7Ma7E76k9ZdvtjkQ==} - engines: {node: '>= 12.13.0'} - peerDependencies: - webpack: ^5.0.0 - - minimalistic-assert@1.0.1: - resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - - minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - - minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - - mrmime@2.0.1: - resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} - engines: {node: '>=10'} - - ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - - ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - - multicast-dns@7.2.5: - resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} - hasBin: true - - nanoid@3.3.11: - resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - - negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - - negotiator@0.6.4: - resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} - engines: {node: '>= 0.6'} - - neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - - no-case@3.0.4: - resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} - - node-emoji@2.2.0: - resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==} - engines: {node: '>=18'} - - node-forge@1.3.3: - resolution: {integrity: sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==} - engines: {node: '>= 6.13.0'} - - node-releases@2.0.27: - resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} - - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - - normalize-range@0.1.2: - resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} - engines: {node: '>=0.10.0'} - - normalize-url@8.1.0: - resolution: {integrity: sha512-X06Mfd/5aKsRHc0O0J5CUedwnPmnDtLF2+nq+KN9KSDlJHkPuh0JUviWjEWMe0SW/9TDdSLVPuk7L5gGTIA1/w==} - engines: {node: '>=14.16'} - - npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - - nprogress@0.2.0: - resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} - - nth-check@2.1.1: - resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - - null-loader@4.0.1: - resolution: {integrity: sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==} - engines: {node: '>= 10.13.0'} - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - - object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - - object-inspect@1.13.4: - resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} - engines: {node: '>= 0.4'} - - object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - - object.assign@4.1.7: - resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} - engines: {node: '>= 0.4'} - - obuf@1.1.2: - resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} - - on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} - - on-headers@1.1.0: - resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} - engines: {node: '>= 0.8'} - - onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - - open@10.2.0: - resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} - engines: {node: '>=18'} - - open@8.4.2: - resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} - engines: {node: '>=12'} - - opener@1.5.2: - resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} - hasBin: true - - p-cancelable@3.0.0: - resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} - engines: {node: '>=12.20'} - - p-finally@1.0.0: - resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} - engines: {node: '>=4'} - - p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - p-locate@6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - - p-queue@6.6.2: - resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} - engines: {node: '>=8'} - - p-retry@6.2.1: - resolution: {integrity: sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==} - engines: {node: '>=16.17'} - - p-timeout@3.2.0: - resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} - engines: {node: '>=8'} - - package-json@8.1.1: - resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==} - engines: {node: '>=14.16'} - - param-case@3.0.4: - resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} - - parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - - parse-entities@4.0.2: - resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} - - parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - - parse-numeric-range@1.3.0: - resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} - - parse5-htmlparser2-tree-adapter@7.1.0: - resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==} - - parse5@7.3.0: - resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} - - parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - - pascal-case@3.1.2: - resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} - - path-exists@5.0.0: - resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - path-is-inside@1.0.2: - resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==} - - path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - - path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - - path-to-regexp@0.1.12: - resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} - - path-to-regexp@1.9.0: - resolution: {integrity: sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==} - - path-to-regexp@3.3.0: - resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==} - - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - - picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - - pkg-dir@7.0.0: - resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} - engines: {node: '>=14.16'} - - postcss-attribute-case-insensitive@7.0.1: - resolution: {integrity: sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-calc@9.0.1: - resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.2.2 - - postcss-clamp@4.1.0: - resolution: {integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==} - engines: {node: '>=7.6.0'} - peerDependencies: - postcss: ^8.4.6 - - postcss-color-functional-notation@7.0.12: - resolution: {integrity: sha512-TLCW9fN5kvO/u38/uesdpbx3e8AkTYhMvDZYa9JpmImWuTE99bDQ7GU7hdOADIZsiI9/zuxfAJxny/khknp1Zw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-color-hex-alpha@10.0.0: - resolution: {integrity: sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-color-rebeccapurple@10.0.0: - resolution: {integrity: sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-colormin@6.1.0: - resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-convert-values@6.1.0: - resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-custom-media@11.0.6: - resolution: {integrity: sha512-C4lD4b7mUIw+RZhtY7qUbf4eADmb7Ey8BFA2px9jUbwg7pjTZDl4KY4bvlUV+/vXQvzQRfiGEVJyAbtOsCMInw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-custom-properties@14.0.6: - resolution: {integrity: sha512-fTYSp3xuk4BUeVhxCSJdIPhDLpJfNakZKoiTDx7yRGCdlZrSJR7mWKVOBS4sBF+5poPQFMj2YdXx1VHItBGihQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-custom-selectors@8.0.5: - resolution: {integrity: sha512-9PGmckHQswiB2usSO6XMSswO2yFWVoCAuih1yl9FVcwkscLjRKjwsjM3t+NIWpSU2Jx3eOiK2+t4vVTQaoCHHg==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-dir-pseudo-class@9.0.1: - resolution: {integrity: sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-discard-comments@6.0.2: - resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-discard-duplicates@6.0.3: - resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-discard-empty@6.0.3: - resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-discard-overridden@6.0.2: - resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-discard-unused@6.0.5: - resolution: {integrity: sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-double-position-gradients@6.0.4: - resolution: {integrity: sha512-m6IKmxo7FxSP5nF2l63QbCC3r+bWpFUWmZXZf096WxG0m7Vl1Q1+ruFOhpdDRmKrRS+S3Jtk+TVk/7z0+BVK6g==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-focus-visible@10.0.1: - resolution: {integrity: sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-focus-within@9.0.1: - resolution: {integrity: sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-font-variant@5.0.0: - resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==} - peerDependencies: - postcss: ^8.1.0 - - postcss-gap-properties@6.0.0: - resolution: {integrity: sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-image-set-function@7.0.0: - resolution: {integrity: sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-lab-function@7.0.12: - resolution: {integrity: sha512-tUcyRk1ZTPec3OuKFsqtRzW2Go5lehW29XA21lZ65XmzQkz43VY2tyWEC202F7W3mILOjw0voOiuxRGTsN+J9w==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-loader@7.3.4: - resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==} - engines: {node: '>= 14.15.0'} - peerDependencies: - postcss: ^7.0.0 || ^8.0.1 - webpack: ^5.0.0 - - postcss-logical@8.1.0: - resolution: {integrity: sha512-pL1hXFQ2fEXNKiNiAgtfA005T9FBxky5zkX6s4GZM2D8RkVgRqz3f4g1JUoq925zXv495qk8UNldDwh8uGEDoA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-merge-idents@6.0.3: - resolution: {integrity: sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-merge-longhand@6.0.5: - resolution: {integrity: sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-merge-rules@6.1.1: - resolution: {integrity: sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-minify-font-values@6.1.0: - resolution: {integrity: sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-minify-gradients@6.0.3: - resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-minify-params@6.1.0: - resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-minify-selectors@6.0.4: - resolution: {integrity: sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-modules-extract-imports@3.1.0: - resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - - postcss-modules-local-by-default@4.2.0: - resolution: {integrity: sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - - postcss-modules-scope@3.2.1: - resolution: {integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - - postcss-modules-values@4.0.0: - resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 - - postcss-nesting@13.0.2: - resolution: {integrity: sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-normalize-charset@6.0.2: - resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-display-values@6.0.2: - resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-positions@6.0.2: - resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-repeat-style@6.0.2: - resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-string@6.0.2: - resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-timing-functions@6.0.2: - resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-unicode@6.1.0: - resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-url@6.0.2: - resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-normalize-whitespace@6.0.2: - resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-opacity-percentage@3.0.0: - resolution: {integrity: sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-ordered-values@6.0.2: - resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-overflow-shorthand@6.0.0: - resolution: {integrity: sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-page-break@3.0.4: - resolution: {integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==} - peerDependencies: - postcss: ^8 - - postcss-place@10.0.0: - resolution: {integrity: sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-preset-env@10.5.0: - resolution: {integrity: sha512-xgxFQPAPxeWmsgy8cR7GM1PGAL/smA5E9qU7K//D4vucS01es3M0fDujhDJn3kY8Ip7/vVYcecbe1yY+vBo3qQ==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-pseudo-class-any-link@10.0.1: - resolution: {integrity: sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-reduce-idents@6.0.3: - resolution: {integrity: sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-reduce-initial@6.1.0: - resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-reduce-transforms@6.0.2: - resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-replace-overflow-wrap@4.0.0: - resolution: {integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==} - peerDependencies: - postcss: ^8.0.3 - - postcss-selector-not@8.0.1: - resolution: {integrity: sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==} - engines: {node: '>=18'} - peerDependencies: - postcss: ^8.4 - - postcss-selector-parser@6.1.2: - resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} - engines: {node: '>=4'} - - postcss-selector-parser@7.1.1: - resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} - engines: {node: '>=4'} - - postcss-sort-media-queries@5.2.0: - resolution: {integrity: sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==} - engines: {node: '>=14.0.0'} - peerDependencies: - postcss: ^8.4.23 - - postcss-svgo@6.0.3: - resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==} - engines: {node: ^14 || ^16 || >= 18} - peerDependencies: - postcss: ^8.4.31 - - postcss-unique-selectors@6.0.4: - resolution: {integrity: sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - - postcss-zindex@6.0.2: - resolution: {integrity: sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - postcss@8.5.6: - resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} - engines: {node: ^10 || ^12 || >=14} - - posthog-docusaurus@2.0.5: - resolution: {integrity: sha512-Ray65LYEJrMMqDtsBUBXunEVP/g4wtATvq/xz9rchUoLy/9mSkkFgUko/8DVtGxgiP3vivpFMgfb9HpCuDrBHg==} - engines: {node: '>=10.15.1'} - - prettier@3.7.4: - resolution: {integrity: sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==} - engines: {node: '>=14'} - hasBin: true - - pretty-error@4.0.0: - resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} - - pretty-time@1.1.0: - resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==} - engines: {node: '>=4'} - - prism-react-renderer@2.4.1: - resolution: {integrity: sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig==} - peerDependencies: - react: '>=16.0.0' - - prismjs@1.30.0: - resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} - engines: {node: '>=6'} - - process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - - prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} - - prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} - - property-information@7.1.0: - resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} - - proto-list@1.2.4: - resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} - - proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} - - punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - - pupa@3.3.0: - resolution: {integrity: sha512-LjgDO2zPtoXP2wJpDjZrGdojii1uqO0cnwKoIoUzkfS98HDmbeiGmYiXo3lXeFlq2xvne1QFQhwYXSUCLKtEuA==} - engines: {node: '>=12.20'} - - qs@6.14.1: - resolution: {integrity: sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==} - engines: {node: '>=0.6'} - - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - - quick-lru@5.1.1: - resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} - engines: {node: '>=10'} - - randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - - range-parser@1.2.0: - resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==} - engines: {node: '>= 0.6'} - - range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} - - raw-body@2.5.3: - resolution: {integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==} - engines: {node: '>= 0.8'} - - rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true - - react-dom@19.2.1: - resolution: {integrity: sha512-ibrK8llX2a4eOskq1mXKu/TGZj9qzomO+sNfO98M6d9zIPOEhlBkMkBUBLd1vgS0gQsLDBzA+8jJBVXDnfHmJg==} - peerDependencies: - react: ^19.2.1 - - react-fast-compare@3.2.2: - resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} - - react-icons@5.5.0: - resolution: {integrity: sha512-MEFcXdkP3dLo8uumGI5xN3lDFNsRtrjbOEKDLD7yv76v4wpnEq2Lt2qeHaQOr34I/wPN3s3+N08WkQ+CW37Xiw==} - peerDependencies: - react: '*' - - react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - - react-json-view-lite@2.5.0: - resolution: {integrity: sha512-tk7o7QG9oYyELWHL8xiMQ8x4WzjCzbWNyig3uexmkLb54r8jO0yH3WCWx8UZS0c49eSA4QUmG5caiRJ8fAn58g==} - engines: {node: '>=18'} - peerDependencies: - react: ^18.0.0 || ^19.0.0 - - react-loadable-ssr-addon-v5-slorber@1.0.1: - resolution: {integrity: sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==} - engines: {node: '>=10.13.0'} - peerDependencies: - react-loadable: '*' - webpack: '>=4.41.1 || 5.x' - - react-router-config@5.1.1: - resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==} - peerDependencies: - react: '>=15' - react-router: '>=5' - - react-router-dom@5.3.4: - resolution: {integrity: sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==} - peerDependencies: - react: '>=15' - - react-router@5.3.4: - resolution: {integrity: sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==} - peerDependencies: - react: '>=15' - - react@19.2.1: - resolution: {integrity: sha512-DGrYcCWK7tvYMnWh79yrPHt+vdx9tY+1gPZa7nJQtO/p8bLTDaHp4dzwEhQB7pZ4Xe3ok4XKuEPrVuc+wlpkmw==} - engines: {node: '>=0.10.0'} - - readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} - - readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - - recma-build-jsx@1.0.0: - resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} - - recma-jsx@1.0.1: - resolution: {integrity: sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - - recma-parse@1.0.0: - resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==} - - recma-stringify@1.0.0: - resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==} - - regenerate-unicode-properties@10.2.2: - resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==} - engines: {node: '>=4'} - - regenerate@1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - - regexpu-core@6.4.0: - resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==} - engines: {node: '>=4'} - - registry-auth-token@5.1.0: - resolution: {integrity: sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==} - engines: {node: '>=14'} - - registry-url@6.0.1: - resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} - engines: {node: '>=12'} - - regjsgen@0.8.0: - resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} - - regjsparser@0.13.0: - resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==} - hasBin: true - - rehype-raw@7.0.0: - resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} - - rehype-recma@1.0.0: - resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==} - - relateurl@0.2.7: - resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} - engines: {node: '>= 0.10'} - - remark-directive@3.0.1: - resolution: {integrity: sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==} - - remark-emoji@4.0.1: - resolution: {integrity: sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - remark-frontmatter@5.0.0: - resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==} - - remark-gfm@4.0.1: - resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} - - remark-mdx@3.1.1: - resolution: {integrity: sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==} - - remark-parse@11.0.0: - resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} - - remark-rehype@11.1.2: - resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} - - remark-stringify@11.0.0: - resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} - - renderkid@3.0.0: - resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} - - repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - - require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - - require-like@0.1.2: - resolution: {integrity: sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==} - - requires-port@1.0.0: - resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - - resolve-alpn@1.2.1: - resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} - - resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - - resolve-pathname@3.0.0: - resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==} - - resolve@1.22.11: - resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} - engines: {node: '>= 0.4'} - hasBin: true - - responselike@3.0.0: - resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} - engines: {node: '>=14.16'} - - retry@0.13.1: - resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} - engines: {node: '>= 4'} - - reusify@1.1.0: - resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - rtlcss@4.3.0: - resolution: {integrity: sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig==} - engines: {node: '>=12.0.0'} - hasBin: true - - run-applescript@7.1.0: - resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} - engines: {node: '>=18'} - - run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - - safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - - safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - - safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - - sax@1.4.3: - resolution: {integrity: sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==} - - scheduler@0.27.0: - resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} - - schema-dts@1.1.5: - resolution: {integrity: sha512-RJr9EaCmsLzBX2NDiO5Z3ux2BVosNZN5jo0gWgsyKvxKIUL5R3swNvoorulAeL9kLB0iTSX7V6aokhla2m7xbg==} - - schema-utils@3.3.0: - resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} - engines: {node: '>= 10.13.0'} - - schema-utils@4.3.3: - resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==} - engines: {node: '>= 10.13.0'} - - search-insights@2.17.3: - resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==} - - section-matter@1.0.0: - resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} - engines: {node: '>=4'} - - select-hose@2.0.0: - resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} - - selfsigned@2.4.1: - resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} - engines: {node: '>=10'} - - semver-diff@4.0.0: - resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} - engines: {node: '>=12'} - - semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - - semver@7.7.3: - resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} - engines: {node: '>=10'} - hasBin: true - - send@0.19.0: - resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} - engines: {node: '>= 0.8.0'} - - send@0.19.1: - resolution: {integrity: sha512-p4rRk4f23ynFEfcD9LA0xRYngj+IyGiEYyqqOak8kaN0TvNmuxC2dcVeBn62GpCeR2CpWqyHCNScTP91QbAVFg==} - engines: {node: '>= 0.8.0'} - - serialize-javascript@6.0.2: - resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} - - serve-handler@6.1.6: - resolution: {integrity: sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==} - - serve-index@1.9.1: - resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} - engines: {node: '>= 0.8.0'} - - serve-static@1.16.2: - resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} - engines: {node: '>= 0.8.0'} - - set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} - - setprototypeof@1.1.0: - resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} - - setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - - shallow-clone@3.0.1: - resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} - engines: {node: '>=8'} - - shallowequal@1.1.0: - resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} - - shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - - shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - - shell-quote@1.8.3: - resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} - engines: {node: '>= 0.4'} - - side-channel-list@1.0.0: - resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} - engines: {node: '>= 0.4'} - - side-channel-map@1.0.1: - resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} - engines: {node: '>= 0.4'} - - side-channel-weakmap@1.0.2: - resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} - engines: {node: '>= 0.4'} - - side-channel@1.1.0: - resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} - engines: {node: '>= 0.4'} - - signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - - sirv@2.0.4: - resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} - engines: {node: '>= 10'} - - sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - - sitemap@7.1.2: - resolution: {integrity: sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==} - engines: {node: '>=12.0.0', npm: '>=5.6.0'} - hasBin: true - - skin-tone@2.0.0: - resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} - engines: {node: '>=8'} - - slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - - slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} - - snake-case@3.0.4: - resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} - - sockjs@0.3.24: - resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} - - sort-css-media-queries@2.2.0: - resolution: {integrity: sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==} - engines: {node: '>= 6.3.0'} - - source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} - engines: {node: '>=0.10.0'} - - source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - - source-map@0.7.6: - resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} - engines: {node: '>= 12'} - - space-separated-tokens@2.0.2: - resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - - spdy-transport@3.0.0: - resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} - - spdy@4.0.2: - resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} - engines: {node: '>=6.0.0'} - - sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - - srcset@4.0.0: - resolution: {integrity: sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==} - engines: {node: '>=12'} - - statuses@1.5.0: - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} - engines: {node: '>= 0.6'} - - statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - - statuses@2.0.2: - resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} - engines: {node: '>= 0.8'} - - std-env@3.10.0: - resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} - - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - - string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - - string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - - string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - - stringify-entities@4.0.4: - resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} - - stringify-object@3.3.0: - resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} - engines: {node: '>=4'} - - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - - strip-ansi@7.1.2: - resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} - engines: {node: '>=12'} - - strip-bom-string@1.0.0: - resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} - engines: {node: '>=0.10.0'} - - strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - - strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} - - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - style-to-js@1.1.21: - resolution: {integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==} - - style-to-object@1.0.14: - resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==} - - stylehacks@6.1.1: - resolution: {integrity: sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - - supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - - supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - - supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - - svg-parser@2.0.4: - resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} - - svgo@3.3.2: - resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==} - engines: {node: '>=14.0.0'} - hasBin: true - - swr@2.3.7: - resolution: {integrity: sha512-ZEquQ82QvalqTxhBVv/DlAg2mbmUjF4UgpPg9wwk4ufb9rQnZXh1iKyyKBqV6bQGu1Ie7L1QwSYO07qFIa1p+g==} - peerDependencies: - react: ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - - tapable@2.3.0: - resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} - engines: {node: '>=6'} - - terser-webpack-plugin@5.3.15: - resolution: {integrity: sha512-PGkOdpRFK+rb1TzVz+msVhw4YMRT9txLF4kRqvJhGhCM324xuR3REBSHALN+l+sAhKUmz0aotnjp5D+P83mLhQ==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@swc/core': '*' - esbuild: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@swc/core': - optional: true - esbuild: - optional: true - uglify-js: - optional: true - - terser@5.44.1: - resolution: {integrity: sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==} - engines: {node: '>=10'} - hasBin: true - - thingies@2.5.0: - resolution: {integrity: sha512-s+2Bwztg6PhWUD7XMfeYm5qliDdSiZm7M7n8KjTkIsm3l/2lgVRc2/Gx/v+ZX8lT4FMA+i8aQvhcWylldc+ZNw==} - engines: {node: '>=10.18'} - peerDependencies: - tslib: ^2 - - throttleit@2.1.0: - resolution: {integrity: sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==} - engines: {node: '>=18'} - - thunky@1.1.0: - resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} - - tiny-invariant@1.3.3: - resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} - - tiny-warning@1.0.3: - resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} - - tinypool@1.1.1: - resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} - engines: {node: ^18.0.0 || >=20.0.0} - - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - - toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - - totalist@3.0.1: - resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} - engines: {node: '>=6'} - - tree-dump@1.1.0: - resolution: {integrity: sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==} - engines: {node: '>=10.0'} - peerDependencies: - tslib: '2' - - trim-lines@3.0.1: - resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - - trough@2.2.0: - resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - - tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - - type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - - type-fest@1.4.0: - resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} - engines: {node: '>=10'} - - type-fest@2.19.0: - resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} - engines: {node: '>=12.20'} - - type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} - - typedarray-to-buffer@3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - - typescript@5.6.3: - resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} - engines: {node: '>=14.17'} - hasBin: true - - undici-types@7.16.0: - resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} - - unicode-canonical-property-names-ecmascript@2.0.1: - resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} - engines: {node: '>=4'} - - unicode-emoji-modifier-base@1.0.0: - resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} - engines: {node: '>=4'} - - unicode-match-property-ecmascript@2.0.0: - resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} - engines: {node: '>=4'} - - unicode-match-property-value-ecmascript@2.2.1: - resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==} - engines: {node: '>=4'} - - unicode-property-aliases-ecmascript@2.2.0: - resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} - engines: {node: '>=4'} - - unified@11.0.5: - resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} - - unique-string@3.0.0: - resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} - engines: {node: '>=12'} - - unist-util-is@6.0.1: - resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} - - unist-util-position-from-estree@2.0.0: - resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} - - unist-util-position@5.0.0: - resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} - - unist-util-stringify-position@4.0.0: - resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} - - unist-util-visit-parents@6.0.2: - resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} - - unist-util-visit@5.0.0: - resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} - - universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} - - unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - - update-browserslist-db@1.2.2: - resolution: {integrity: sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - - update-notifier@6.0.2: - resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==} - engines: {node: '>=14.16'} - - uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - - url-loader@4.1.1: - resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==} - engines: {node: '>= 10.13.0'} - peerDependencies: - file-loader: '*' - webpack: ^4.0.0 || ^5.0.0 - peerDependenciesMeta: - file-loader: - optional: true - - use-sync-external-store@1.6.0: - resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - - util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - utila@0.4.0: - resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} - - utility-types@3.11.0: - resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==} - engines: {node: '>= 4'} - - utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} - - uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - - value-equal@1.0.1: - resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==} - - vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - - vfile-location@5.0.3: - resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} - - vfile-message@4.0.3: - resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} - - vfile@6.0.3: - resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - - watchpack@2.4.4: - resolution: {integrity: sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==} - engines: {node: '>=10.13.0'} - - wbuf@1.7.3: - resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} - - web-namespaces@2.0.1: - resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} - - webpack-bundle-analyzer@4.10.2: - resolution: {integrity: sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==} - engines: {node: '>= 10.13.0'} - hasBin: true - - webpack-dev-middleware@7.4.5: - resolution: {integrity: sha512-uxQ6YqGdE4hgDKNf7hUiPXOdtkXvBJXrfEGYSx7P7LC8hnUYGK70X6xQXUvXeNyBDDcsiQXpG2m3G9vxowaEuA==} - engines: {node: '>= 18.12.0'} - peerDependencies: - webpack: ^5.0.0 - peerDependenciesMeta: - webpack: - optional: true - - webpack-dev-server@5.2.1: - resolution: {integrity: sha512-ml/0HIj9NLpVKOMq+SuBPLHcmbG+TGIjXRHsYfZwocUBIqEvws8NnS/V9AFQ5FKP+tgn5adwVwRrTEpGL33QFQ==} - engines: {node: '>= 18.12.0'} - hasBin: true - peerDependencies: - webpack: ^5.0.0 - webpack-cli: '*' - peerDependenciesMeta: - webpack: - optional: true - webpack-cli: - optional: true - - webpack-merge@5.10.0: - resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} - engines: {node: '>=10.0.0'} - - webpack-merge@6.0.1: - resolution: {integrity: sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==} - engines: {node: '>=18.0.0'} - - webpack-sources@3.3.3: - resolution: {integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==} - engines: {node: '>=10.13.0'} - - webpack@5.103.0: - resolution: {integrity: sha512-HU1JOuV1OavsZ+mfigY0j8d1TgQgbZ6M+J75zDkpEAwYeXjWSqrGJtgnPblJjd/mAyTNQ7ygw0MiKOn6etz8yw==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - - webpackbar@6.0.1: - resolution: {integrity: sha512-TnErZpmuKdwWBdMoexjio3KKX6ZtoKHRVvLIU0A47R0VVBDtx3ZyOJDktgYixhoJokZTYTt1Z37OkO9pnGJa9Q==} - engines: {node: '>=14.21.3'} - peerDependencies: - webpack: 3 || 4 || 5 - - websocket-driver@0.7.4: - resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} - engines: {node: '>=0.8.0'} - - websocket-extensions@0.1.4: - resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} - engines: {node: '>=0.8.0'} - - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - - widest-line@4.0.1: - resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} - engines: {node: '>=12'} - - wildcard@2.0.1: - resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} - - wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - - wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - - write-file-atomic@3.0.3: - resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} - - ws@7.5.10: - resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - ws@8.18.3: - resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - wsl-utils@0.1.0: - resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==} - engines: {node: '>=18'} - - xdg-basedir@5.1.0: - resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} - engines: {node: '>=12'} - - xml-js@1.6.11: - resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} - hasBin: true - - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - - yocto-queue@1.2.2: - resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==} - engines: {node: '>=12.20'} - - zod@4.1.13: - resolution: {integrity: sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig==} - - zwitch@2.0.4: - resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - -snapshots: - - '@ai-sdk/gateway@2.0.18(zod@4.1.13)': - dependencies: - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.18(zod@4.1.13) - '@vercel/oidc': 3.0.5 - zod: 4.1.13 - - '@ai-sdk/provider-utils@3.0.18(zod@4.1.13)': - dependencies: - '@ai-sdk/provider': 2.0.0 - '@standard-schema/spec': 1.0.0 - eventsource-parser: 3.0.6 - zod: 4.1.13 - - '@ai-sdk/provider@2.0.0': - dependencies: - json-schema: 0.4.0 - - '@ai-sdk/react@2.0.109(react@19.2.1)(zod@4.1.13)': - dependencies: - '@ai-sdk/provider-utils': 3.0.18(zod@4.1.13) - ai: 5.0.108(zod@4.1.13) - react: 19.2.1 - swr: 2.3.7(react@19.2.1) - throttleit: 2.1.0 - optionalDependencies: - zod: 4.1.13 - - '@algolia/abtesting@1.12.0': - dependencies: - '@algolia/client-common': 5.46.0 - '@algolia/requester-browser-xhr': 5.46.0 - '@algolia/requester-fetch': 5.46.0 - '@algolia/requester-node-http': 5.46.0 - - '@algolia/autocomplete-core@1.19.2(@algolia/client-search@5.46.0)(algoliasearch@5.46.0)(search-insights@2.17.3)': - dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.19.2(@algolia/client-search@5.46.0)(algoliasearch@5.46.0)(search-insights@2.17.3) - '@algolia/autocomplete-shared': 1.19.2(@algolia/client-search@5.46.0)(algoliasearch@5.46.0) - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - search-insights - - '@algolia/autocomplete-plugin-algolia-insights@1.19.2(@algolia/client-search@5.46.0)(algoliasearch@5.46.0)(search-insights@2.17.3)': - dependencies: - '@algolia/autocomplete-shared': 1.19.2(@algolia/client-search@5.46.0)(algoliasearch@5.46.0) - search-insights: 2.17.3 - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - '@algolia/autocomplete-shared@1.19.2(@algolia/client-search@5.46.0)(algoliasearch@5.46.0)': - dependencies: - '@algolia/client-search': 5.46.0 - algoliasearch: 5.46.0 - - '@algolia/client-abtesting@5.46.0': - dependencies: - '@algolia/client-common': 5.46.0 - '@algolia/requester-browser-xhr': 5.46.0 - '@algolia/requester-fetch': 5.46.0 - '@algolia/requester-node-http': 5.46.0 - - '@algolia/client-analytics@5.46.0': - dependencies: - '@algolia/client-common': 5.46.0 - '@algolia/requester-browser-xhr': 5.46.0 - '@algolia/requester-fetch': 5.46.0 - '@algolia/requester-node-http': 5.46.0 - - '@algolia/client-common@5.46.0': {} - - '@algolia/client-insights@5.46.0': - dependencies: - '@algolia/client-common': 5.46.0 - '@algolia/requester-browser-xhr': 5.46.0 - '@algolia/requester-fetch': 5.46.0 - '@algolia/requester-node-http': 5.46.0 - - '@algolia/client-personalization@5.46.0': - dependencies: - '@algolia/client-common': 5.46.0 - '@algolia/requester-browser-xhr': 5.46.0 - '@algolia/requester-fetch': 5.46.0 - '@algolia/requester-node-http': 5.46.0 - - '@algolia/client-query-suggestions@5.46.0': - dependencies: - '@algolia/client-common': 5.46.0 - '@algolia/requester-browser-xhr': 5.46.0 - '@algolia/requester-fetch': 5.46.0 - '@algolia/requester-node-http': 5.46.0 - - '@algolia/client-search@5.46.0': - dependencies: - '@algolia/client-common': 5.46.0 - '@algolia/requester-browser-xhr': 5.46.0 - '@algolia/requester-fetch': 5.46.0 - '@algolia/requester-node-http': 5.46.0 - - '@algolia/events@4.0.1': {} - - '@algolia/ingestion@1.46.0': - dependencies: - '@algolia/client-common': 5.46.0 - '@algolia/requester-browser-xhr': 5.46.0 - '@algolia/requester-fetch': 5.46.0 - '@algolia/requester-node-http': 5.46.0 - - '@algolia/monitoring@1.46.0': - dependencies: - '@algolia/client-common': 5.46.0 - '@algolia/requester-browser-xhr': 5.46.0 - '@algolia/requester-fetch': 5.46.0 - '@algolia/requester-node-http': 5.46.0 - - '@algolia/recommend@5.46.0': - dependencies: - '@algolia/client-common': 5.46.0 - '@algolia/requester-browser-xhr': 5.46.0 - '@algolia/requester-fetch': 5.46.0 - '@algolia/requester-node-http': 5.46.0 - - '@algolia/requester-browser-xhr@5.46.0': - dependencies: - '@algolia/client-common': 5.46.0 - - '@algolia/requester-fetch@5.46.0': - dependencies: - '@algolia/client-common': 5.46.0 - - '@algolia/requester-node-http@5.46.0': - dependencies: - '@algolia/client-common': 5.46.0 - - '@babel/code-frame@7.27.1': - dependencies: - '@babel/helper-validator-identifier': 7.28.5 - js-tokens: 4.0.0 - picocolors: 1.1.1 - - '@babel/compat-data@7.28.5': {} - - '@babel/core@7.28.5': - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.5 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) - '@babel/helpers': 7.28.4 - '@babel/parser': 7.28.5 - '@babel/template': 7.27.2 - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 - '@jridgewell/remapping': 2.3.5 - convert-source-map: 2.0.0 - debug: 4.4.3 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/generator@7.28.5': - dependencies: - '@babel/parser': 7.28.5 - '@babel/types': 7.28.5 - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - jsesc: 3.1.0 - - '@babel/helper-annotate-as-pure@7.27.3': - dependencies: - '@babel/types': 7.28.5 - - '@babel/helper-compilation-targets@7.27.2': - dependencies: - '@babel/compat-data': 7.28.5 - '@babel/helper-validator-option': 7.27.1 - browserslist: 4.28.1 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-create-class-features-plugin@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-member-expression-to-functions': 7.28.5 - '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/traverse': 7.28.5 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - regexpu-core: 6.4.0 - semver: 6.3.1 - - '@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - debug: 4.4.3 - lodash.debounce: 4.0.8 - resolve: 1.22.11 - transitivePeerDependencies: - - supports-color - - '@babel/helper-globals@7.28.0': {} - - '@babel/helper-member-expression-to-functions@7.28.5': - dependencies: - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-imports@7.27.1': - dependencies: - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/helper-optimise-call-expression@7.27.1': - dependencies: - '@babel/types': 7.28.5 - - '@babel/helper-plugin-utils@7.27.1': {} - - '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-wrap-function': 7.28.3 - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-member-expression-to-functions': 7.28.5 - '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/helper-skip-transparent-expression-wrappers@7.27.1': - dependencies: - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/helper-string-parser@7.27.1': {} - - '@babel/helper-validator-identifier@7.28.5': {} - - '@babel/helper-validator-option@7.27.1': {} - - '@babel/helper-wrap-function@7.28.3': - dependencies: - '@babel/template': 7.27.2 - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/helpers@7.28.4': - dependencies: - '@babel/template': 7.27.2 - '@babel/types': 7.28.5 - - '@babel/parser@7.28.5': - dependencies: - '@babel/types': 7.28.5 - - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.5) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.5) - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.5) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-block-scoping@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-class-static-block@7.28.3(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-classes@7.28.4(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-globals': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/template': 7.27.2 - - '@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-explicit-resource-management@7.28.0(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-exponentiation-operator@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-logical-assignment-operators@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-systemjs@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-object-rest-spread@7.28.4(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-optional-chaining@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-react-constant-elements@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-react-jsx-development@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.5) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) - '@babel/types': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-react-pure-annotations@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-regenerator@7.28.4(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-runtime@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-plugin-utils': 7.27.1 - babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.5) - babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.5) - babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.5) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-typescript@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.5) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/preset-env@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/compat-data': 7.28.5 - '@babel/core': 7.28.5 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.3(@babel/core@7.28.5) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.5) - '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.5) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.5) - '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-block-scoping': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.5) - '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.5) - '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-explicit-resource-management': 7.28.0(@babel/core@7.28.5) - '@babel/plugin-transform-exponentiation-operator': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-logical-assignment-operators': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-modules-systemjs': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-object-rest-spread': 7.28.4(@babel/core@7.28.5) - '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) - '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-regenerator': 7.28.4(@babel/core@7.28.5) - '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-unicode-property-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-unicode-sets-regex': 7.27.1(@babel/core@7.28.5) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.5) - babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.5) - babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.5) - babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.5) - core-js-compat: 3.47.0 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/types': 7.28.5 - esutils: 2.0.3 - - '@babel/preset-react@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.5) - '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-react-pure-annotations': 7.27.1(@babel/core@7.28.5) - transitivePeerDependencies: - - supports-color - - '@babel/preset-typescript@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-typescript': 7.28.5(@babel/core@7.28.5) - transitivePeerDependencies: - - supports-color - - '@babel/runtime-corejs3@7.28.4': - dependencies: - core-js-pure: 3.47.0 - - '@babel/runtime@7.28.4': {} - - '@babel/template@7.27.2': - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/parser': 7.28.5 - '@babel/types': 7.28.5 - - '@babel/traverse@7.28.5': - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.5 - '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.28.5 - '@babel/template': 7.27.2 - '@babel/types': 7.28.5 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - - '@babel/types@7.28.5': - dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 - - '@colors/colors@1.5.0': - optional: true - - '@csstools/cascade-layer-name-parser@2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - - '@csstools/color-helpers@5.1.0': {} - - '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - - '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': - dependencies: - '@csstools/color-helpers': 5.1.0 - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - - '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': - dependencies: - '@csstools/css-tokenizer': 3.0.4 - - '@csstools/css-tokenizer@3.0.4': {} - - '@csstools/media-query-list-parser@4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - - '@csstools/postcss-alpha-function@1.0.1(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-cascade-layers@5.0.2(postcss@8.5.6)': - dependencies: - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.1) - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 - - '@csstools/postcss-color-function-display-p3-linear@1.0.1(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-color-function@4.0.12(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-color-mix-function@3.0.12(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-color-mix-variadic-function-arguments@1.0.2(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-content-alt-text@2.0.8(postcss@8.5.6)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-contrast-color-function@2.0.12(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-exponential-functions@2.0.9(postcss@8.5.6)': - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - - '@csstools/postcss-font-format-keywords@4.0.0(postcss@8.5.6)': - dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-gamut-mapping@2.0.11(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - - '@csstools/postcss-gradients-interpolation-method@5.0.12(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-hwb-function@4.0.12(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-ic-unit@4.0.4(postcss@8.5.6)': - dependencies: - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-initial@2.0.1(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - - '@csstools/postcss-is-pseudo-class@5.0.3(postcss@8.5.6)': - dependencies: - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.1) - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 - - '@csstools/postcss-light-dark-function@2.0.11(postcss@8.5.6)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-logical-float-and-clear@3.0.0(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - - '@csstools/postcss-logical-overflow@2.0.0(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - - '@csstools/postcss-logical-overscroll-behavior@2.0.0(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - - '@csstools/postcss-logical-resize@3.0.0(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-logical-viewport-units@3.0.4(postcss@8.5.6)': - dependencies: - '@csstools/css-tokenizer': 3.0.4 - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-media-minmax@2.0.9(postcss@8.5.6)': - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - postcss: 8.5.6 - - '@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.5(postcss@8.5.6)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - postcss: 8.5.6 - - '@csstools/postcss-nested-calc@4.0.0(postcss@8.5.6)': - dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-normalize-display-values@4.0.0(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-oklab-function@4.0.12(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-position-area-property@1.0.0(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - - '@csstools/postcss-progressive-custom-properties@4.2.1(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-random-function@2.0.1(postcss@8.5.6)': - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - - '@csstools/postcss-relative-color-syntax@3.0.12(postcss@8.5.6)': - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - '@csstools/postcss-scope-pseudo-class@4.0.1(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 - - '@csstools/postcss-sign-functions@1.1.4(postcss@8.5.6)': - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - - '@csstools/postcss-stepped-value-functions@4.0.9(postcss@8.5.6)': - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - - '@csstools/postcss-system-ui-font-family@1.0.0(postcss@8.5.6)': - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - - '@csstools/postcss-text-decoration-shorthand@4.0.3(postcss@8.5.6)': - dependencies: - '@csstools/color-helpers': 5.1.0 - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - '@csstools/postcss-trigonometric-functions@4.0.9(postcss@8.5.6)': - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - - '@csstools/postcss-unset-value@4.0.0(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - - '@csstools/selector-resolve-nested@3.1.0(postcss-selector-parser@7.1.1)': - dependencies: - postcss-selector-parser: 7.1.1 - - '@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.1.1)': - dependencies: - postcss-selector-parser: 7.1.1 - - '@csstools/utilities@2.0.0(postcss@8.5.6)': - dependencies: - postcss: 8.5.6 - - '@discoveryjs/json-ext@0.5.7': {} - - '@docsearch/core@4.3.1(@types/react@19.2.7)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': - optionalDependencies: - '@types/react': 19.2.7 - react: 19.2.1 - react-dom: 19.2.1(react@19.2.1) - - '@docsearch/css@4.3.2': {} - - '@docsearch/react@4.3.2(@algolia/client-search@5.46.0)(@types/react@19.2.7)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(search-insights@2.17.3)': - dependencies: - '@ai-sdk/react': 2.0.109(react@19.2.1)(zod@4.1.13) - '@algolia/autocomplete-core': 1.19.2(@algolia/client-search@5.46.0)(algoliasearch@5.46.0)(search-insights@2.17.3) - '@docsearch/core': 4.3.1(@types/react@19.2.7)(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docsearch/css': 4.3.2 - ai: 5.0.108(zod@4.1.13) - algoliasearch: 5.46.0 - marked: 16.4.2 - zod: 4.1.13 - optionalDependencies: - '@types/react': 19.2.7 - react: 19.2.1 - react-dom: 19.2.1(react@19.2.1) - search-insights: 2.17.3 - transitivePeerDependencies: - - '@algolia/client-search' - - '@docusaurus/babel@3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': - dependencies: - '@babel/core': 7.28.5 - '@babel/generator': 7.28.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.28.5) - '@babel/plugin-transform-runtime': 7.28.5(@babel/core@7.28.5) - '@babel/preset-env': 7.28.5(@babel/core@7.28.5) - '@babel/preset-react': 7.28.5(@babel/core@7.28.5) - '@babel/preset-typescript': 7.28.5(@babel/core@7.28.5) - '@babel/runtime': 7.28.4 - '@babel/runtime-corejs3': 7.28.4 - '@babel/traverse': 7.28.5 - '@docusaurus/logger': 3.9.2 - '@docusaurus/utils': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - babel-plugin-dynamic-import-node: 2.3.3 - fs-extra: 11.3.2 - tslib: 2.8.1 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - react - - react-dom - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/bundler@3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3)': - dependencies: - '@babel/core': 7.28.5 - '@docusaurus/babel': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/cssnano-preset': 3.9.2 - '@docusaurus/logger': 3.9.2 - '@docusaurus/types': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - babel-loader: 9.2.1(@babel/core@7.28.5)(webpack@5.103.0) - clean-css: 5.3.3 - copy-webpack-plugin: 11.0.0(webpack@5.103.0) - css-loader: 6.11.0(webpack@5.103.0) - css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.103.0) - cssnano: 6.1.2(postcss@8.5.6) - file-loader: 6.2.0(webpack@5.103.0) - html-minifier-terser: 7.2.0 - mini-css-extract-plugin: 2.9.4(webpack@5.103.0) - null-loader: 4.0.1(webpack@5.103.0) - postcss: 8.5.6 - postcss-loader: 7.3.4(postcss@8.5.6)(typescript@5.6.3)(webpack@5.103.0) - postcss-preset-env: 10.5.0(postcss@8.5.6) - terser-webpack-plugin: 5.3.15(webpack@5.103.0) - tslib: 2.8.1 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.103.0))(webpack@5.103.0) - webpack: 5.103.0 - webpackbar: 6.0.1(webpack@5.103.0) - transitivePeerDependencies: - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - csso - - esbuild - - lightningcss - - react - - react-dom - - supports-color - - typescript - - uglify-js - - webpack-cli - - '@docusaurus/core@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3)': - dependencies: - '@docusaurus/babel': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/bundler': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/logger': 3.9.2 - '@docusaurus/mdx-loader': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils-common': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils-validation': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@mdx-js/react': 3.1.1(@types/react@19.2.7)(react@19.2.1) - boxen: 6.2.1 - chalk: 4.1.2 - chokidar: 3.6.0 - cli-table3: 0.6.5 - combine-promises: 1.2.0 - commander: 5.1.0 - core-js: 3.47.0 - detect-port: 1.6.1 - escape-html: 1.0.3 - eta: 2.2.0 - eval: 0.1.8 - execa: 5.1.1 - fs-extra: 11.3.2 - html-tags: 3.3.1 - html-webpack-plugin: 5.6.5(webpack@5.103.0) - leven: 3.1.0 - lodash: 4.17.23 - open: 8.4.2 - p-map: 4.0.0 - prompts: 2.4.2 - react: 19.2.1 - react-dom: 19.2.1(react@19.2.1) - react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1)' - react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.2.1)' - react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@19.2.1))(webpack@5.103.0) - react-router: 5.3.4(react@19.2.1) - react-router-config: 5.1.1(react-router@5.3.4(react@19.2.1))(react@19.2.1) - react-router-dom: 5.3.4(react@19.2.1) - semver: 7.7.3 - serve-handler: 6.1.6 - tinypool: 1.1.1 - tslib: 2.8.1 - update-notifier: 6.0.2 - webpack: 5.103.0 - webpack-bundle-analyzer: 4.10.2 - webpack-dev-server: 5.2.1(webpack@5.103.0) - webpack-merge: 6.0.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/cssnano-preset@3.9.2': - dependencies: - cssnano-preset-advanced: 6.1.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-sort-media-queries: 5.2.0(postcss@8.5.6) - tslib: 2.8.1 - - '@docusaurus/logger@3.9.2': - dependencies: - chalk: 4.1.2 - tslib: 2.8.1 - - '@docusaurus/mdx-loader@3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': - dependencies: - '@docusaurus/logger': 3.9.2 - '@docusaurus/utils': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils-validation': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@mdx-js/mdx': 3.1.1 - '@slorber/remark-comment': 1.0.0 - escape-html: 1.0.3 - estree-util-value-to-estree: 3.5.0 - file-loader: 6.2.0(webpack@5.103.0) - fs-extra: 11.3.2 - image-size: 2.0.2 - mdast-util-mdx: 3.0.0 - mdast-util-to-string: 4.0.0 - react: 19.2.1 - react-dom: 19.2.1(react@19.2.1) - rehype-raw: 7.0.0 - remark-directive: 3.0.1 - remark-emoji: 4.0.1 - remark-frontmatter: 5.0.0 - remark-gfm: 4.0.1 - stringify-object: 3.3.0 - tslib: 2.8.1 - unified: 11.0.5 - unist-util-visit: 5.0.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.103.0))(webpack@5.103.0) - vfile: 6.0.3 - webpack: 5.103.0 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/module-type-aliases@3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': - dependencies: - '@docusaurus/types': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@types/history': 4.7.11 - '@types/react': 19.2.7 - '@types/react-router-config': 5.0.11 - '@types/react-router-dom': 5.3.3 - react: 19.2.1 - react-dom: 19.2.1(react@19.2.1) - react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1)' - react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.2.1)' - transitivePeerDependencies: - - '@swc/core' - - esbuild - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/plugin-content-blog@3.9.2(@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3)': - dependencies: - '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/logger': 3.9.2 - '@docusaurus/mdx-loader': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/plugin-content-docs': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/theme-common': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3))(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/types': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils-common': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils-validation': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - cheerio: 1.0.0-rc.12 - feed: 4.2.2 - fs-extra: 11.3.2 - lodash: 4.17.23 - react: 19.2.1 - react-dom: 19.2.1(react@19.2.1) - schema-dts: 1.1.5 - srcset: 4.0.0 - tslib: 2.8.1 - unist-util-visit: 5.0.0 - utility-types: 3.11.0 - webpack: 5.103.0 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3)': - dependencies: - '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/logger': 3.9.2 - '@docusaurus/mdx-loader': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/module-type-aliases': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/theme-common': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3))(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/types': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils-common': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils-validation': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@types/react-router-config': 5.0.11 - combine-promises: 1.2.0 - fs-extra: 11.3.2 - js-yaml: 3.14.2 - lodash: 4.17.23 - react: 19.2.1 - react-dom: 19.2.1(react@19.2.1) - schema-dts: 1.1.5 - tslib: 2.8.1 - utility-types: 3.11.0 - webpack: 5.103.0 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-content-pages@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3)': - dependencies: - '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/mdx-loader': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/types': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils-validation': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - fs-extra: 11.3.2 - react: 19.2.1 - react-dom: 19.2.1(react@19.2.1) - tslib: 2.8.1 - webpack: 5.103.0 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-css-cascade-layers@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3)': - dependencies: - '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/types': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils-validation': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - react - - react-dom - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-debug@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3)': - dependencies: - '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/types': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - fs-extra: 11.3.2 - react: 19.2.1 - react-dom: 19.2.1(react@19.2.1) - react-json-view-lite: 2.5.0(react@19.2.1) - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-google-analytics@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3)': - dependencies: - '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/types': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils-validation': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - react: 19.2.1 - react-dom: 19.2.1(react@19.2.1) - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-google-gtag@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3)': - dependencies: - '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/types': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils-validation': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@types/gtag.js': 0.0.12 - react: 19.2.1 - react-dom: 19.2.1(react@19.2.1) - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-google-tag-manager@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3)': - dependencies: - '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/types': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils-validation': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - react: 19.2.1 - react-dom: 19.2.1(react@19.2.1) - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-sitemap@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3)': - dependencies: - '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/logger': 3.9.2 - '@docusaurus/types': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils-common': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils-validation': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - fs-extra: 11.3.2 - react: 19.2.1 - react-dom: 19.2.1(react@19.2.1) - sitemap: 7.1.2 - tslib: 2.8.1 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/plugin-svgr@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3)': - dependencies: - '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/types': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils-validation': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@svgr/core': 8.1.0(typescript@5.6.3) - '@svgr/webpack': 8.1.0(typescript@5.6.3) - react: 19.2.1 - react-dom: 19.2.1(react@19.2.1) - tslib: 2.8.1 - webpack: 5.103.0 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/preset-classic@3.9.2(@algolia/client-search@5.46.0)(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(@types/react@19.2.7)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(search-insights@2.17.3)(typescript@5.6.3)': - dependencies: - '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/plugin-content-blog': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/plugin-content-docs': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/plugin-content-pages': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/plugin-css-cascade-layers': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/plugin-debug': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/plugin-google-analytics': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/plugin-google-gtag': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/plugin-google-tag-manager': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/plugin-sitemap': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/plugin-svgr': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/theme-classic': 3.9.2(@types/react@19.2.7)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/theme-common': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3))(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/theme-search-algolia': 3.9.2(@algolia/client-search@5.46.0)(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(@types/react@19.2.7)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(search-insights@2.17.3)(typescript@5.6.3) - '@docusaurus/types': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - react: 19.2.1 - react-dom: 19.2.1(react@19.2.1) - transitivePeerDependencies: - - '@algolia/client-search' - - '@docusaurus/faster' - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@types/react' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - search-insights - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/react-loadable@6.0.0(react@19.2.1)': - dependencies: - '@types/react': 19.2.7 - react: 19.2.1 - - '@docusaurus/theme-classic@3.9.2(@types/react@19.2.7)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3)': - dependencies: - '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/logger': 3.9.2 - '@docusaurus/mdx-loader': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/module-type-aliases': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/plugin-content-blog': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3))(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/plugin-content-docs': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/plugin-content-pages': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/theme-common': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3))(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/theme-translations': 3.9.2 - '@docusaurus/types': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils-common': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils-validation': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@mdx-js/react': 3.1.1(@types/react@19.2.7)(react@19.2.1) - clsx: 2.1.1 - infima: 0.2.0-alpha.45 - lodash: 4.17.23 - nprogress: 0.2.0 - postcss: 8.5.6 - prism-react-renderer: 2.4.1(react@19.2.1) - prismjs: 1.30.0 - react: 19.2.1 - react-dom: 19.2.1(react@19.2.1) - react-router-dom: 5.3.4(react@19.2.1) - rtlcss: 4.3.0 - tslib: 2.8.1 - utility-types: 3.11.0 - transitivePeerDependencies: - - '@docusaurus/faster' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@types/react' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/theme-common@3.9.2(@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': - dependencies: - '@docusaurus/mdx-loader': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/module-type-aliases': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/plugin-content-docs': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/utils': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils-common': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@types/history': 4.7.11 - '@types/react': 19.2.7 - '@types/react-router-config': 5.0.11 - clsx: 2.1.1 - parse-numeric-range: 1.3.0 - prism-react-renderer: 2.4.1(react@19.2.1) - react: 19.2.1 - react-dom: 19.2.1(react@19.2.1) - tslib: 2.8.1 - utility-types: 3.11.0 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/theme-search-algolia@3.9.2(@algolia/client-search@5.46.0)(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(@types/react@19.2.7)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(search-insights@2.17.3)(typescript@5.6.3)': - dependencies: - '@docsearch/react': 4.3.2(@algolia/client-search@5.46.0)(@types/react@19.2.7)(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(search-insights@2.17.3) - '@docusaurus/core': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/logger': 3.9.2 - '@docusaurus/plugin-content-docs': 3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3) - '@docusaurus/theme-common': 3.9.2(@docusaurus/plugin-content-docs@3.9.2(@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1))(react-dom@19.2.1(react@19.2.1))(react@19.2.1)(typescript@5.6.3))(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/theme-translations': 3.9.2 - '@docusaurus/utils': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils-validation': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - algoliasearch: 5.46.0 - algoliasearch-helper: 3.26.1(algoliasearch@5.46.0) - clsx: 2.1.1 - eta: 2.2.0 - fs-extra: 11.3.2 - lodash: 4.17.23 - react: 19.2.1 - react-dom: 19.2.1(react@19.2.1) - tslib: 2.8.1 - utility-types: 3.11.0 - transitivePeerDependencies: - - '@algolia/client-search' - - '@docusaurus/faster' - - '@mdx-js/react' - - '@parcel/css' - - '@rspack/core' - - '@swc/core' - - '@swc/css' - - '@types/react' - - bufferutil - - csso - - debug - - esbuild - - lightningcss - - search-insights - - supports-color - - typescript - - uglify-js - - utf-8-validate - - webpack-cli - - '@docusaurus/theme-translations@3.9.2': - dependencies: - fs-extra: 11.3.2 - tslib: 2.8.1 - - '@docusaurus/tsconfig@3.9.2': {} - - '@docusaurus/types@3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': - dependencies: - '@mdx-js/mdx': 3.1.1 - '@types/history': 4.7.11 - '@types/mdast': 4.0.4 - '@types/react': 19.2.7 - commander: 5.1.0 - joi: 17.13.3 - react: 19.2.1 - react-dom: 19.2.1(react@19.2.1) - react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1)' - utility-types: 3.11.0 - webpack: 5.103.0 - webpack-merge: 5.10.0 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/utils-common@3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': - dependencies: - '@docusaurus/types': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - tslib: 2.8.1 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - react - - react-dom - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/utils-validation@3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': - dependencies: - '@docusaurus/logger': 3.9.2 - '@docusaurus/utils': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils-common': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - fs-extra: 11.3.2 - joi: 17.13.3 - js-yaml: 3.14.2 - lodash: 4.17.23 - tslib: 2.8.1 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - react - - react-dom - - supports-color - - uglify-js - - webpack-cli - - '@docusaurus/utils@3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': - dependencies: - '@docusaurus/logger': 3.9.2 - '@docusaurus/types': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - '@docusaurus/utils-common': 3.9.2(react-dom@19.2.1(react@19.2.1))(react@19.2.1) - escape-string-regexp: 4.0.0 - execa: 5.1.1 - file-loader: 6.2.0(webpack@5.103.0) - fs-extra: 11.3.2 - github-slugger: 1.5.0 - globby: 11.1.0 - gray-matter: 4.0.3 - jiti: 1.21.7 - js-yaml: 3.14.2 - lodash: 4.17.23 - micromatch: 4.0.8 - p-queue: 6.6.2 - prompts: 2.4.2 - resolve-pathname: 3.0.0 - tslib: 2.8.1 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.103.0))(webpack@5.103.0) - utility-types: 3.11.0 - webpack: 5.103.0 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - react - - react-dom - - supports-color - - uglify-js - - webpack-cli - - '@hapi/hoek@9.3.0': {} - - '@hapi/topo@5.1.0': - dependencies: - '@hapi/hoek': 9.3.0 - - '@jest/schemas@29.6.3': - dependencies: - '@sinclair/typebox': 0.27.8 - - '@jest/types@29.6.3': - dependencies: - '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 - '@types/node': 24.10.2 - '@types/yargs': 17.0.35 - chalk: 4.1.2 - - '@jridgewell/gen-mapping@0.3.13': - dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 - '@jridgewell/trace-mapping': 0.3.31 - - '@jridgewell/remapping@2.3.5': - dependencies: - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - - '@jridgewell/resolve-uri@3.1.2': {} - - '@jridgewell/source-map@0.3.11': - dependencies: - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - - '@jridgewell/sourcemap-codec@1.5.5': {} - - '@jridgewell/trace-mapping@0.3.31': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.5 - - '@jsonjoy.com/base64@1.1.2(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/buffers@1.2.1(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/codegen@1.0.0(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/json-pack@1.21.0(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/base64': 1.1.2(tslib@2.8.1) - '@jsonjoy.com/buffers': 1.2.1(tslib@2.8.1) - '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1) - '@jsonjoy.com/json-pointer': 1.0.2(tslib@2.8.1) - '@jsonjoy.com/util': 1.9.0(tslib@2.8.1) - hyperdyperid: 1.2.0 - thingies: 2.5.0(tslib@2.8.1) - tree-dump: 1.1.0(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/json-pointer@1.0.2(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1) - '@jsonjoy.com/util': 1.9.0(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/util@1.9.0(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/buffers': 1.2.1(tslib@2.8.1) - '@jsonjoy.com/codegen': 1.0.0(tslib@2.8.1) - tslib: 2.8.1 - - '@leichtgewicht/ip-codec@2.0.5': {} - - '@mdx-js/mdx@3.1.1': - dependencies: - '@types/estree': 1.0.8 - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdx': 2.0.13 - acorn: 8.15.0 - collapse-white-space: 2.1.0 - devlop: 1.1.0 - estree-util-is-identifier-name: 3.0.0 - estree-util-scope: 1.0.0 - estree-walker: 3.0.3 - hast-util-to-jsx-runtime: 2.3.6 - markdown-extensions: 2.0.0 - recma-build-jsx: 1.0.0 - recma-jsx: 1.0.1(acorn@8.15.0) - recma-stringify: 1.0.0 - rehype-recma: 1.0.0 - remark-mdx: 3.1.1 - remark-parse: 11.0.0 - remark-rehype: 11.1.2 - source-map: 0.7.6 - unified: 11.0.5 - unist-util-position-from-estree: 2.0.0 - unist-util-stringify-position: 4.0.0 - unist-util-visit: 5.0.0 - vfile: 6.0.3 - transitivePeerDependencies: - - supports-color - - '@mdx-js/react@3.1.1(@types/react@19.2.7)(react@19.2.1)': - dependencies: - '@types/mdx': 2.0.13 - '@types/react': 19.2.7 - react: 19.2.1 - - '@nodelib/fs.scandir@2.1.5': - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - - '@nodelib/fs.stat@2.0.5': {} - - '@nodelib/fs.walk@1.2.8': - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.19.1 - - '@opentelemetry/api@1.9.0': {} - - '@pnpm/config.env-replace@1.1.0': {} - - '@pnpm/network.ca-file@1.0.2': - dependencies: - graceful-fs: 4.2.10 - - '@pnpm/npm-conf@2.3.1': - dependencies: - '@pnpm/config.env-replace': 1.1.0 - '@pnpm/network.ca-file': 1.0.2 - config-chain: 1.1.13 - - '@polka/url@1.0.0-next.29': {} - - '@sideway/address@4.1.5': - dependencies: - '@hapi/hoek': 9.3.0 - - '@sideway/formula@3.0.1': {} - - '@sideway/pinpoint@2.0.0': {} - - '@sinclair/typebox@0.27.8': {} - - '@sindresorhus/is@4.6.0': {} - - '@sindresorhus/is@5.6.0': {} - - '@slorber/react-helmet-async@1.3.0(react-dom@19.2.1(react@19.2.1))(react@19.2.1)': - dependencies: - '@babel/runtime': 7.28.4 - invariant: 2.2.4 - prop-types: 15.8.1 - react: 19.2.1 - react-dom: 19.2.1(react@19.2.1) - react-fast-compare: 3.2.2 - shallowequal: 1.1.0 - - '@slorber/remark-comment@1.0.0': - dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - - '@standard-schema/spec@1.0.0': {} - - '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - - '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - - '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - - '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - - '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - - '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - - '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - - '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - - '@svgr/babel-preset@8.1.0(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.28.5) - '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.28.5) - '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.28.5) - '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.28.5) - '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.28.5) - '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.28.5) - '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.28.5) - '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.28.5) - - '@svgr/core@8.1.0(typescript@5.6.3)': - dependencies: - '@babel/core': 7.28.5 - '@svgr/babel-preset': 8.1.0(@babel/core@7.28.5) - camelcase: 6.3.0 - cosmiconfig: 8.3.6(typescript@5.6.3) - snake-case: 3.0.4 - transitivePeerDependencies: - - supports-color - - typescript - - '@svgr/hast-util-to-babel-ast@8.0.0': - dependencies: - '@babel/types': 7.28.5 - entities: 4.5.0 - - '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.6.3))': - dependencies: - '@babel/core': 7.28.5 - '@svgr/babel-preset': 8.1.0(@babel/core@7.28.5) - '@svgr/core': 8.1.0(typescript@5.6.3) - '@svgr/hast-util-to-babel-ast': 8.0.0 - svg-parser: 2.0.4 - transitivePeerDependencies: - - supports-color - - '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.6.3))(typescript@5.6.3)': - dependencies: - '@svgr/core': 8.1.0(typescript@5.6.3) - cosmiconfig: 8.3.6(typescript@5.6.3) - deepmerge: 4.3.1 - svgo: 3.3.2 - transitivePeerDependencies: - - typescript - - '@svgr/webpack@8.1.0(typescript@5.6.3)': - dependencies: - '@babel/core': 7.28.5 - '@babel/plugin-transform-react-constant-elements': 7.27.1(@babel/core@7.28.5) - '@babel/preset-env': 7.28.5(@babel/core@7.28.5) - '@babel/preset-react': 7.28.5(@babel/core@7.28.5) - '@babel/preset-typescript': 7.28.5(@babel/core@7.28.5) - '@svgr/core': 8.1.0(typescript@5.6.3) - '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.6.3)) - '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.6.3))(typescript@5.6.3) - transitivePeerDependencies: - - supports-color - - typescript - - '@szmarczak/http-timer@5.0.1': - dependencies: - defer-to-connect: 2.0.1 - - '@trysound/sax@0.2.0': {} - - '@types/body-parser@1.19.6': - dependencies: - '@types/connect': 3.4.38 - '@types/node': 24.10.2 - - '@types/bonjour@3.5.13': - dependencies: - '@types/node': 24.10.2 - - '@types/connect-history-api-fallback@1.5.4': - dependencies: - '@types/express-serve-static-core': 4.19.7 - '@types/node': 24.10.2 - - '@types/connect@3.4.38': - dependencies: - '@types/node': 24.10.2 - - '@types/debug@4.1.12': - dependencies: - '@types/ms': 2.1.0 - - '@types/eslint-scope@3.7.7': - dependencies: - '@types/eslint': 9.6.1 - '@types/estree': 1.0.8 - - '@types/eslint@9.6.1': - dependencies: - '@types/estree': 1.0.8 - '@types/json-schema': 7.0.15 - - '@types/estree-jsx@1.0.5': - dependencies: - '@types/estree': 1.0.8 - - '@types/estree@1.0.8': {} - - '@types/express-serve-static-core@4.19.7': - dependencies: - '@types/node': 24.10.2 - '@types/qs': 6.14.0 - '@types/range-parser': 1.2.7 - '@types/send': 1.2.1 - - '@types/express@4.17.25': - dependencies: - '@types/body-parser': 1.19.6 - '@types/express-serve-static-core': 4.19.7 - '@types/qs': 6.14.0 - '@types/serve-static': 1.15.10 - - '@types/gtag.js@0.0.12': {} - - '@types/hast@3.0.4': - dependencies: - '@types/unist': 3.0.3 - - '@types/history@4.7.11': {} - - '@types/html-minifier-terser@6.1.0': {} - - '@types/http-cache-semantics@4.0.4': {} - - '@types/http-errors@2.0.5': {} - - '@types/http-proxy@1.17.17': - dependencies: - '@types/node': 24.10.2 - - '@types/istanbul-lib-coverage@2.0.6': {} - - '@types/istanbul-lib-report@3.0.3': - dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - - '@types/istanbul-reports@3.0.4': - dependencies: - '@types/istanbul-lib-report': 3.0.3 - - '@types/json-schema@7.0.15': {} - - '@types/mdast@4.0.4': - dependencies: - '@types/unist': 3.0.3 - - '@types/mdx@2.0.13': {} - - '@types/mime@1.3.5': {} - - '@types/ms@2.1.0': {} - - '@types/node-forge@1.3.14': - dependencies: - '@types/node': 24.10.2 - - '@types/node@17.0.45': {} - - '@types/node@24.10.2': - dependencies: - undici-types: 7.16.0 - - '@types/prismjs@1.26.5': {} - - '@types/qs@6.14.0': {} - - '@types/range-parser@1.2.7': {} - - '@types/react-router-config@5.0.11': - dependencies: - '@types/history': 4.7.11 - '@types/react': 19.2.7 - '@types/react-router': 5.1.20 - - '@types/react-router-dom@5.3.3': - dependencies: - '@types/history': 4.7.11 - '@types/react': 19.2.7 - '@types/react-router': 5.1.20 - - '@types/react-router@5.1.20': - dependencies: - '@types/history': 4.7.11 - '@types/react': 19.2.7 - - '@types/react@19.2.7': - dependencies: - csstype: 3.2.3 - - '@types/retry@0.12.2': {} - - '@types/sax@1.2.7': - dependencies: - '@types/node': 17.0.45 - - '@types/send@0.17.6': - dependencies: - '@types/mime': 1.3.5 - '@types/node': 24.10.2 - - '@types/send@1.2.1': - dependencies: - '@types/node': 24.10.2 - - '@types/serve-index@1.9.4': - dependencies: - '@types/express': 4.17.25 - - '@types/serve-static@1.15.10': - dependencies: - '@types/http-errors': 2.0.5 - '@types/node': 24.10.2 - '@types/send': 0.17.6 - - '@types/sockjs@0.3.36': - dependencies: - '@types/node': 24.10.2 - - '@types/unist@2.0.11': {} - - '@types/unist@3.0.3': {} - - '@types/ws@8.18.1': - dependencies: - '@types/node': 24.10.2 - - '@types/yargs-parser@21.0.3': {} - - '@types/yargs@17.0.35': - dependencies: - '@types/yargs-parser': 21.0.3 - - '@ungap/structured-clone@1.3.0': {} - - '@vercel/oidc@3.0.5': {} - - '@webassemblyjs/ast@1.14.1': - dependencies: - '@webassemblyjs/helper-numbers': 1.13.2 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - - '@webassemblyjs/floating-point-hex-parser@1.13.2': {} - - '@webassemblyjs/helper-api-error@1.13.2': {} - - '@webassemblyjs/helper-buffer@1.14.1': {} - - '@webassemblyjs/helper-numbers@1.13.2': - dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.13.2 - '@webassemblyjs/helper-api-error': 1.13.2 - '@xtuc/long': 4.2.2 - - '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} - - '@webassemblyjs/helper-wasm-section@1.14.1': - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-buffer': 1.14.1 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/wasm-gen': 1.14.1 - - '@webassemblyjs/ieee754@1.13.2': - dependencies: - '@xtuc/ieee754': 1.2.0 - - '@webassemblyjs/leb128@1.13.2': - dependencies: - '@xtuc/long': 4.2.2 - - '@webassemblyjs/utf8@1.13.2': {} - - '@webassemblyjs/wasm-edit@1.14.1': - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-buffer': 1.14.1 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/helper-wasm-section': 1.14.1 - '@webassemblyjs/wasm-gen': 1.14.1 - '@webassemblyjs/wasm-opt': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - '@webassemblyjs/wast-printer': 1.14.1 - - '@webassemblyjs/wasm-gen@1.14.1': - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/ieee754': 1.13.2 - '@webassemblyjs/leb128': 1.13.2 - '@webassemblyjs/utf8': 1.13.2 - - '@webassemblyjs/wasm-opt@1.14.1': - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-buffer': 1.14.1 - '@webassemblyjs/wasm-gen': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - - '@webassemblyjs/wasm-parser@1.14.1': - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-api-error': 1.13.2 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/ieee754': 1.13.2 - '@webassemblyjs/leb128': 1.13.2 - '@webassemblyjs/utf8': 1.13.2 - - '@webassemblyjs/wast-printer@1.14.1': - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@xtuc/long': 4.2.2 - - '@xtuc/ieee754@1.2.0': {} - - '@xtuc/long@4.2.2': {} - - accepts@1.3.8: - dependencies: - mime-types: 2.1.35 - negotiator: 0.6.3 - - acorn-import-phases@1.0.4(acorn@8.15.0): - dependencies: - acorn: 8.15.0 - - acorn-jsx@5.3.2(acorn@8.15.0): - dependencies: - acorn: 8.15.0 - - acorn-walk@8.3.4: - dependencies: - acorn: 8.15.0 - - acorn@8.15.0: {} - - address@1.2.2: {} - - aggregate-error@3.1.0: - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - - ai@5.0.108(zod@4.1.13): - dependencies: - '@ai-sdk/gateway': 2.0.18(zod@4.1.13) - '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.18(zod@4.1.13) - '@opentelemetry/api': 1.9.0 - zod: 4.1.13 - - ajv-formats@2.1.1(ajv@8.17.1): - optionalDependencies: - ajv: 8.17.1 - - ajv-keywords@3.5.2(ajv@6.12.6): - dependencies: - ajv: 6.12.6 - - ajv-keywords@5.1.0(ajv@8.17.1): - dependencies: - ajv: 8.17.1 - fast-deep-equal: 3.1.3 - - ajv@6.12.6: - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - - ajv@8.17.1: - dependencies: - fast-deep-equal: 3.1.3 - fast-uri: 3.1.0 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - - algoliasearch-helper@3.26.1(algoliasearch@5.46.0): - dependencies: - '@algolia/events': 4.0.1 - algoliasearch: 5.46.0 - - algoliasearch@5.46.0: - dependencies: - '@algolia/abtesting': 1.12.0 - '@algolia/client-abtesting': 5.46.0 - '@algolia/client-analytics': 5.46.0 - '@algolia/client-common': 5.46.0 - '@algolia/client-insights': 5.46.0 - '@algolia/client-personalization': 5.46.0 - '@algolia/client-query-suggestions': 5.46.0 - '@algolia/client-search': 5.46.0 - '@algolia/ingestion': 1.46.0 - '@algolia/monitoring': 1.46.0 - '@algolia/recommend': 5.46.0 - '@algolia/requester-browser-xhr': 5.46.0 - '@algolia/requester-fetch': 5.46.0 - '@algolia/requester-node-http': 5.46.0 - - ansi-align@3.0.1: - dependencies: - string-width: 4.2.3 - - ansi-escapes@4.3.2: - dependencies: - type-fest: 0.21.3 - - ansi-html-community@0.0.8: {} - - ansi-regex@5.0.1: {} - - ansi-regex@6.2.2: {} - - ansi-styles@4.3.0: - dependencies: - color-convert: 2.0.1 - - ansi-styles@6.2.3: {} - - anymatch@3.1.3: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - - arg@5.0.2: {} - - argparse@1.0.10: - dependencies: - sprintf-js: 1.0.3 - - array-flatten@1.1.1: {} - - array-union@2.1.0: {} - - astring@1.9.0: {} - - autoprefixer@10.4.22(postcss@8.5.6): - dependencies: - browserslist: 4.28.1 - caniuse-lite: 1.0.30001760 - fraction.js: 5.3.4 - normalize-range: 0.1.2 - picocolors: 1.1.1 - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - babel-loader@9.2.1(@babel/core@7.28.5)(webpack@5.103.0): - dependencies: - '@babel/core': 7.28.5 - find-cache-dir: 4.0.0 - schema-utils: 4.3.3 - webpack: 5.103.0 - - babel-plugin-dynamic-import-node@2.3.3: - dependencies: - object.assign: 4.1.7 - - babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.5): - dependencies: - '@babel/compat-data': 7.28.5 - '@babel/core': 7.28.5 - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.28.5): - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) - core-js-compat: 3.47.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.28.5): - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) - transitivePeerDependencies: - - supports-color - - bail@2.0.2: {} - - balanced-match@1.0.2: {} - - baseline-browser-mapping@2.9.5: {} - - batch@0.6.1: {} - - big.js@5.2.2: {} - - binary-extensions@2.3.0: {} - - body-parser@1.20.4: - dependencies: - bytes: 3.1.2 - content-type: 1.0.5 - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - http-errors: 2.0.1 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.14.1 - raw-body: 2.5.3 - type-is: 1.6.18 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - - bonjour-service@1.3.0: - dependencies: - fast-deep-equal: 3.1.3 - multicast-dns: 7.2.5 - - boolbase@1.0.0: {} - - boxen@6.2.1: - dependencies: - ansi-align: 3.0.1 - camelcase: 6.3.0 - chalk: 4.1.2 - cli-boxes: 3.0.0 - string-width: 5.1.2 - type-fest: 2.19.0 - widest-line: 4.0.1 - wrap-ansi: 8.1.0 - - boxen@7.1.1: - dependencies: - ansi-align: 3.0.1 - camelcase: 7.0.1 - chalk: 5.6.2 - cli-boxes: 3.0.0 - string-width: 5.1.2 - type-fest: 2.19.0 - widest-line: 4.0.1 - wrap-ansi: 8.1.0 - - brace-expansion@1.1.12: - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - - braces@3.0.3: - dependencies: - fill-range: 7.1.1 - - browserslist@4.28.1: - dependencies: - baseline-browser-mapping: 2.9.5 - caniuse-lite: 1.0.30001760 - electron-to-chromium: 1.5.267 - node-releases: 2.0.27 - update-browserslist-db: 1.2.2(browserslist@4.28.1) - - buffer-from@1.1.2: {} - - bundle-name@4.1.0: - dependencies: - run-applescript: 7.1.0 - - bytes@3.0.0: {} - - bytes@3.1.2: {} - - cacheable-lookup@7.0.0: {} - - cacheable-request@10.2.14: - dependencies: - '@types/http-cache-semantics': 4.0.4 - get-stream: 6.0.1 - http-cache-semantics: 4.2.0 - keyv: 4.5.4 - mimic-response: 4.0.0 - normalize-url: 8.1.0 - responselike: 3.0.0 - - call-bind-apply-helpers@1.0.2: - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - - call-bind@1.0.8: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 - get-intrinsic: 1.3.0 - set-function-length: 1.2.2 - - call-bound@1.0.4: - dependencies: - call-bind-apply-helpers: 1.0.2 - get-intrinsic: 1.3.0 - - callsites@3.1.0: {} - - camel-case@4.1.2: - dependencies: - pascal-case: 3.1.2 - tslib: 2.8.1 - - camelcase@6.3.0: {} - - camelcase@7.0.1: {} - - caniuse-api@3.0.0: - dependencies: - browserslist: 4.28.1 - caniuse-lite: 1.0.30001760 - lodash.memoize: 4.1.2 - lodash.uniq: 4.5.0 - - caniuse-lite@1.0.30001760: {} - - ccount@2.0.1: {} - - chalk@4.1.2: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - - chalk@5.6.2: {} - - char-regex@1.0.2: {} - - character-entities-html4@2.1.0: {} - - character-entities-legacy@3.0.0: {} - - character-entities@2.0.2: {} - - character-reference-invalid@2.0.1: {} - - cheerio-select@2.1.0: - dependencies: - boolbase: 1.0.0 - css-select: 5.2.2 - css-what: 6.2.2 - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.2.2 - - cheerio@1.0.0-rc.12: - dependencies: - cheerio-select: 2.1.0 - dom-serializer: 2.0.0 - domhandler: 5.0.3 - domutils: 3.2.2 - htmlparser2: 8.0.2 - parse5: 7.3.0 - parse5-htmlparser2-tree-adapter: 7.1.0 - - chokidar@3.6.0: - dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - - chrome-trace-event@1.0.4: {} - - ci-info@3.9.0: {} - - clean-css@5.3.3: - dependencies: - source-map: 0.6.1 - - clean-stack@2.2.0: {} - - cli-boxes@3.0.0: {} - - cli-table3@0.6.5: - dependencies: - string-width: 4.2.3 - optionalDependencies: - '@colors/colors': 1.5.0 - - clone-deep@4.0.1: - dependencies: - is-plain-object: 2.0.4 - kind-of: 6.0.3 - shallow-clone: 3.0.1 - - clsx@2.1.1: {} - - collapse-white-space@2.1.0: {} - - color-convert@2.0.1: - dependencies: - color-name: 1.1.4 - - color-name@1.1.4: {} - - colord@2.9.3: {} - - colorette@2.0.20: {} - - combine-promises@1.2.0: {} - - comma-separated-tokens@2.0.3: {} - - commander@10.0.1: {} - - commander@2.20.3: {} - - commander@5.1.0: {} - - commander@7.2.0: {} - - commander@8.3.0: {} - - common-path-prefix@3.0.0: {} - - compressible@2.0.18: - dependencies: - mime-db: 1.54.0 - - compression@1.8.1: - dependencies: - bytes: 3.1.2 - compressible: 2.0.18 - debug: 2.6.9 - negotiator: 0.6.4 - on-headers: 1.1.0 - safe-buffer: 5.2.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - - concat-map@0.0.1: {} - - config-chain@1.1.13: - dependencies: - ini: 1.3.8 - proto-list: 1.2.4 - - configstore@6.0.0: - dependencies: - dot-prop: 6.0.1 - graceful-fs: 4.2.11 - unique-string: 3.0.0 - write-file-atomic: 3.0.3 - xdg-basedir: 5.1.0 - - connect-history-api-fallback@2.0.0: {} - - consola@3.4.2: {} - - content-disposition@0.5.2: {} - - content-disposition@0.5.4: - dependencies: - safe-buffer: 5.2.1 - - content-type@1.0.5: {} - - convert-source-map@2.0.0: {} - - cookie-signature@1.0.7: {} - - cookie@0.7.2: {} - - copy-webpack-plugin@11.0.0(webpack@5.103.0): - dependencies: - fast-glob: 3.3.3 - glob-parent: 6.0.2 - globby: 13.2.2 - normalize-path: 3.0.0 - schema-utils: 4.3.3 - serialize-javascript: 6.0.2 - webpack: 5.103.0 - - core-js-compat@3.47.0: - dependencies: - browserslist: 4.28.1 - - core-js-pure@3.47.0: {} - - core-js@3.47.0: {} - - core-util-is@1.0.3: {} - - cosmiconfig@8.3.6(typescript@5.6.3): - dependencies: - import-fresh: 3.3.1 - js-yaml: 3.14.2 - parse-json: 5.2.0 - path-type: 4.0.0 - optionalDependencies: - typescript: 5.6.3 - - cross-spawn@7.0.6: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - - crypto-random-string@4.0.0: - dependencies: - type-fest: 1.4.0 - - css-blank-pseudo@7.0.1(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 - - css-declaration-sorter@7.3.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - - css-has-pseudo@7.0.3(postcss@8.5.6): - dependencies: - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.1) - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 - postcss-value-parser: 4.2.0 - - css-loader@6.11.0(webpack@5.103.0): - dependencies: - icss-utils: 5.1.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.6) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.6) - postcss-modules-scope: 3.2.1(postcss@8.5.6) - postcss-modules-values: 4.0.0(postcss@8.5.6) - postcss-value-parser: 4.2.0 - semver: 7.7.3 - optionalDependencies: - webpack: 5.103.0 - - css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.103.0): - dependencies: - '@jridgewell/trace-mapping': 0.3.31 - cssnano: 6.1.2(postcss@8.5.6) - jest-worker: 29.7.0 - postcss: 8.5.6 - schema-utils: 4.3.3 - serialize-javascript: 6.0.2 - webpack: 5.103.0 - optionalDependencies: - clean-css: 5.3.3 - - css-prefers-color-scheme@10.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - - css-select@4.3.0: - dependencies: - boolbase: 1.0.0 - css-what: 6.2.2 - domhandler: 4.3.1 - domutils: 2.8.0 - nth-check: 2.1.1 - - css-select@5.2.2: - dependencies: - boolbase: 1.0.0 - css-what: 6.2.2 - domhandler: 5.0.3 - domutils: 3.2.2 - nth-check: 2.1.1 - - css-tree@2.2.1: - dependencies: - mdn-data: 2.0.28 - source-map-js: 1.2.1 - - css-tree@2.3.1: - dependencies: - mdn-data: 2.0.30 - source-map-js: 1.2.1 - - css-what@6.2.2: {} - - cssdb@8.5.2: {} - - cssesc@3.0.0: {} - - cssnano-preset-advanced@6.1.2(postcss@8.5.6): - dependencies: - autoprefixer: 10.4.22(postcss@8.5.6) - browserslist: 4.28.1 - cssnano-preset-default: 6.1.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-discard-unused: 6.0.5(postcss@8.5.6) - postcss-merge-idents: 6.0.3(postcss@8.5.6) - postcss-reduce-idents: 6.0.3(postcss@8.5.6) - postcss-zindex: 6.0.2(postcss@8.5.6) - - cssnano-preset-default@6.1.2(postcss@8.5.6): - dependencies: - browserslist: 4.28.1 - css-declaration-sorter: 7.3.0(postcss@8.5.6) - cssnano-utils: 4.0.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-calc: 9.0.1(postcss@8.5.6) - postcss-colormin: 6.1.0(postcss@8.5.6) - postcss-convert-values: 6.1.0(postcss@8.5.6) - postcss-discard-comments: 6.0.2(postcss@8.5.6) - postcss-discard-duplicates: 6.0.3(postcss@8.5.6) - postcss-discard-empty: 6.0.3(postcss@8.5.6) - postcss-discard-overridden: 6.0.2(postcss@8.5.6) - postcss-merge-longhand: 6.0.5(postcss@8.5.6) - postcss-merge-rules: 6.1.1(postcss@8.5.6) - postcss-minify-font-values: 6.1.0(postcss@8.5.6) - postcss-minify-gradients: 6.0.3(postcss@8.5.6) - postcss-minify-params: 6.1.0(postcss@8.5.6) - postcss-minify-selectors: 6.0.4(postcss@8.5.6) - postcss-normalize-charset: 6.0.2(postcss@8.5.6) - postcss-normalize-display-values: 6.0.2(postcss@8.5.6) - postcss-normalize-positions: 6.0.2(postcss@8.5.6) - postcss-normalize-repeat-style: 6.0.2(postcss@8.5.6) - postcss-normalize-string: 6.0.2(postcss@8.5.6) - postcss-normalize-timing-functions: 6.0.2(postcss@8.5.6) - postcss-normalize-unicode: 6.1.0(postcss@8.5.6) - postcss-normalize-url: 6.0.2(postcss@8.5.6) - postcss-normalize-whitespace: 6.0.2(postcss@8.5.6) - postcss-ordered-values: 6.0.2(postcss@8.5.6) - postcss-reduce-initial: 6.1.0(postcss@8.5.6) - postcss-reduce-transforms: 6.0.2(postcss@8.5.6) - postcss-svgo: 6.0.3(postcss@8.5.6) - postcss-unique-selectors: 6.0.4(postcss@8.5.6) - - cssnano-utils@4.0.2(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - - cssnano@6.1.2(postcss@8.5.6): - dependencies: - cssnano-preset-default: 6.1.2(postcss@8.5.6) - lilconfig: 3.1.3 - postcss: 8.5.6 - - csso@5.0.5: - dependencies: - css-tree: 2.2.1 - - csstype@3.2.3: {} - - debounce@1.2.1: {} - - debug@2.6.9: - dependencies: - ms: 2.0.0 - - debug@4.4.3: - dependencies: - ms: 2.1.3 - - decode-named-character-reference@1.2.0: - dependencies: - character-entities: 2.0.2 - - decompress-response@6.0.0: - dependencies: - mimic-response: 3.1.0 - - deep-extend@0.6.0: {} - - deepmerge@4.3.1: {} - - default-browser-id@5.0.1: {} - - default-browser@5.4.0: - dependencies: - bundle-name: 4.1.0 - default-browser-id: 5.0.1 - - defer-to-connect@2.0.1: {} - - define-data-property@1.1.4: - dependencies: - es-define-property: 1.0.1 - es-errors: 1.3.0 - gopd: 1.2.0 - - define-lazy-prop@2.0.0: {} - - define-lazy-prop@3.0.0: {} - - define-properties@1.2.1: - dependencies: - define-data-property: 1.1.4 - has-property-descriptors: 1.0.2 - object-keys: 1.1.1 - - depd@1.1.2: {} - - depd@2.0.0: {} - - dequal@2.0.3: {} - - destroy@1.2.0: {} - - detect-node@2.1.0: {} - - detect-port@1.6.1: - dependencies: - address: 1.2.2 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - - devlop@1.1.0: - dependencies: - dequal: 2.0.3 - - dir-glob@3.0.1: - dependencies: - path-type: 4.0.0 - - dns-packet@5.6.1: - dependencies: - '@leichtgewicht/ip-codec': 2.0.5 - - dom-converter@0.2.0: - dependencies: - utila: 0.4.0 - - dom-serializer@1.4.1: - dependencies: - domelementtype: 2.3.0 - domhandler: 4.3.1 - entities: 2.2.0 - - dom-serializer@2.0.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - entities: 4.5.0 - - domelementtype@2.3.0: {} - - domhandler@4.3.1: - dependencies: - domelementtype: 2.3.0 - - domhandler@5.0.3: - dependencies: - domelementtype: 2.3.0 - - domutils@2.8.0: - dependencies: - dom-serializer: 1.4.1 - domelementtype: 2.3.0 - domhandler: 4.3.1 - - domutils@3.2.2: - dependencies: - dom-serializer: 2.0.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 - - dot-case@3.0.4: - dependencies: - no-case: 3.0.4 - tslib: 2.8.1 - - dot-prop@6.0.1: - dependencies: - is-obj: 2.0.0 - - dunder-proto@1.0.1: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-errors: 1.3.0 - gopd: 1.2.0 - - duplexer@0.1.2: {} - - eastasianwidth@0.2.0: {} - - ee-first@1.1.1: {} - - electron-to-chromium@1.5.267: {} - - emoji-regex@8.0.0: {} - - emoji-regex@9.2.2: {} - - emojilib@2.4.0: {} - - emojis-list@3.0.0: {} - - emoticon@4.1.0: {} - - encodeurl@1.0.2: {} - - encodeurl@2.0.0: {} - - enhanced-resolve@5.18.3: - dependencies: - graceful-fs: 4.2.11 - tapable: 2.3.0 - - entities@2.2.0: {} - - entities@4.5.0: {} - - entities@6.0.1: {} - - error-ex@1.3.4: - dependencies: - is-arrayish: 0.2.1 - - es-define-property@1.0.1: {} - - es-errors@1.3.0: {} - - es-module-lexer@1.7.0: {} - - es-object-atoms@1.1.1: - dependencies: - es-errors: 1.3.0 - - esast-util-from-estree@2.0.0: - dependencies: - '@types/estree-jsx': 1.0.5 - devlop: 1.1.0 - estree-util-visit: 2.0.0 - unist-util-position-from-estree: 2.0.0 - - esast-util-from-js@2.0.1: - dependencies: - '@types/estree-jsx': 1.0.5 - acorn: 8.15.0 - esast-util-from-estree: 2.0.0 - vfile-message: 4.0.3 - - escalade@3.2.0: {} - - escape-goat@4.0.0: {} - - escape-html@1.0.3: {} - - escape-string-regexp@1.0.5: {} - - escape-string-regexp@4.0.0: {} - - escape-string-regexp@5.0.0: {} - - eslint-scope@5.1.1: - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - - esprima@4.0.1: {} - - esrecurse@4.3.0: - dependencies: - estraverse: 5.3.0 - - estraverse@4.3.0: {} - - estraverse@5.3.0: {} - - estree-util-attach-comments@3.0.0: - dependencies: - '@types/estree': 1.0.8 - - estree-util-build-jsx@3.0.1: - dependencies: - '@types/estree-jsx': 1.0.5 - devlop: 1.1.0 - estree-util-is-identifier-name: 3.0.0 - estree-walker: 3.0.3 - - estree-util-is-identifier-name@3.0.0: {} - - estree-util-scope@1.0.0: - dependencies: - '@types/estree': 1.0.8 - devlop: 1.1.0 - - estree-util-to-js@2.0.0: - dependencies: - '@types/estree-jsx': 1.0.5 - astring: 1.9.0 - source-map: 0.7.6 - - estree-util-value-to-estree@3.5.0: - dependencies: - '@types/estree': 1.0.8 - - estree-util-visit@2.0.0: - dependencies: - '@types/estree-jsx': 1.0.5 - '@types/unist': 3.0.3 - - estree-walker@3.0.3: - dependencies: - '@types/estree': 1.0.8 - - esutils@2.0.3: {} - - eta@2.2.0: {} - - etag@1.8.1: {} - - eval@0.1.8: - dependencies: - '@types/node': 24.10.2 - require-like: 0.1.2 - - eventemitter3@4.0.7: {} - - events@3.3.0: {} - - eventsource-parser@3.0.6: {} - - execa@5.1.1: - dependencies: - cross-spawn: 7.0.6 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - - express@4.22.1: - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.4 - content-disposition: 0.5.4 - content-type: 1.0.5 - cookie: 0.7.2 - cookie-signature: 1.0.7 - debug: 2.6.9 - depd: 2.0.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.3.2 - fresh: 0.5.2 - http-errors: 2.0.1 - merge-descriptors: 1.0.3 - methods: 1.1.2 - on-finished: 2.4.1 - parseurl: 1.3.3 - path-to-regexp: 0.1.12 - proxy-addr: 2.0.7 - qs: 6.14.1 - range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.19.1 - serve-static: 1.16.2 - setprototypeof: 1.2.0 - statuses: 2.0.2 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - - extend-shallow@2.0.1: - dependencies: - is-extendable: 0.1.1 - - extend@3.0.2: {} - - fast-deep-equal@3.1.3: {} - - fast-glob@3.3.3: - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.8 - - fast-json-stable-stringify@2.1.0: {} - - fast-uri@3.1.0: {} - - fastq@1.19.1: - dependencies: - reusify: 1.1.0 - - fault@2.0.1: - dependencies: - format: 0.2.2 - - faye-websocket@0.11.4: - dependencies: - websocket-driver: 0.7.4 - - feed@4.2.2: - dependencies: - xml-js: 1.6.11 - - figures@3.2.0: - dependencies: - escape-string-regexp: 1.0.5 - - file-loader@6.2.0(webpack@5.103.0): - dependencies: - loader-utils: 2.0.4 - schema-utils: 3.3.0 - webpack: 5.103.0 - - fill-range@7.1.1: - dependencies: - to-regex-range: 5.0.1 - - finalhandler@1.3.2: - dependencies: - debug: 2.6.9 - encodeurl: 2.0.0 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.2 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - - find-cache-dir@4.0.0: - dependencies: - common-path-prefix: 3.0.0 - pkg-dir: 7.0.0 - - find-up@6.3.0: - dependencies: - locate-path: 7.2.0 - path-exists: 5.0.0 - - flat@5.0.2: {} - - follow-redirects@1.15.11: {} - - form-data-encoder@2.1.4: {} - - format@0.2.2: {} - - forwarded@0.2.0: {} - - fraction.js@5.3.4: {} - - fresh@0.5.2: {} - - fs-extra@11.3.2: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.2.0 - universalify: 2.0.1 - - fsevents@2.3.3: - optional: true - - function-bind@1.1.2: {} - - gensync@1.0.0-beta.2: {} - - get-intrinsic@1.3.0: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.1.1 - function-bind: 1.1.2 - get-proto: 1.0.1 - gopd: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.2 - math-intrinsics: 1.1.0 - - get-own-enumerable-property-symbols@3.0.2: {} - - get-proto@1.0.1: - dependencies: - dunder-proto: 1.0.1 - es-object-atoms: 1.1.1 - - get-stream@6.0.1: {} - - github-slugger@1.5.0: {} - - glob-parent@5.1.2: - dependencies: - is-glob: 4.0.3 - - glob-parent@6.0.2: - dependencies: - is-glob: 4.0.3 - - glob-to-regex.js@1.2.0(tslib@2.8.1): - dependencies: - tslib: 2.8.1 - - glob-to-regexp@0.4.1: {} - - global-dirs@3.0.1: - dependencies: - ini: 2.0.0 - - globby@11.1.0: - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.3 - ignore: 5.3.2 - merge2: 1.4.1 - slash: 3.0.0 - - globby@13.2.2: - dependencies: - dir-glob: 3.0.1 - fast-glob: 3.3.3 - ignore: 5.3.2 - merge2: 1.4.1 - slash: 4.0.0 - - gopd@1.2.0: {} - - got@12.6.1: - dependencies: - '@sindresorhus/is': 5.6.0 - '@szmarczak/http-timer': 5.0.1 - cacheable-lookup: 7.0.0 - cacheable-request: 10.2.14 - decompress-response: 6.0.0 - form-data-encoder: 2.1.4 - get-stream: 6.0.1 - http2-wrapper: 2.2.1 - lowercase-keys: 3.0.0 - p-cancelable: 3.0.0 - responselike: 3.0.0 - - graceful-fs@4.2.10: {} - - graceful-fs@4.2.11: {} - - gray-matter@4.0.3: - dependencies: - js-yaml: 3.14.2 - kind-of: 6.0.3 - section-matter: 1.0.0 - strip-bom-string: 1.0.0 - - gzip-size@6.0.0: - dependencies: - duplexer: 0.1.2 - - handle-thing@2.0.1: {} - - has-flag@4.0.0: {} - - has-property-descriptors@1.0.2: - dependencies: - es-define-property: 1.0.1 - - has-symbols@1.1.0: {} - - has-yarn@3.0.0: {} - - hasown@2.0.2: - dependencies: - function-bind: 1.1.2 - - hast-util-from-parse5@8.0.3: - dependencies: - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 - devlop: 1.1.0 - hastscript: 9.0.1 - property-information: 7.1.0 - vfile: 6.0.3 - vfile-location: 5.0.3 - web-namespaces: 2.0.1 - - hast-util-parse-selector@4.0.0: - dependencies: - '@types/hast': 3.0.4 - - hast-util-raw@9.1.0: - dependencies: - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 - '@ungap/structured-clone': 1.3.0 - hast-util-from-parse5: 8.0.3 - hast-util-to-parse5: 8.0.1 - html-void-elements: 3.0.0 - mdast-util-to-hast: 13.2.1 - parse5: 7.3.0 - unist-util-position: 5.0.0 - unist-util-visit: 5.0.0 - vfile: 6.0.3 - web-namespaces: 2.0.1 - zwitch: 2.0.4 - - hast-util-to-estree@3.1.3: - dependencies: - '@types/estree': 1.0.8 - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - comma-separated-tokens: 2.0.3 - devlop: 1.1.0 - estree-util-attach-comments: 3.0.0 - estree-util-is-identifier-name: 3.0.0 - hast-util-whitespace: 3.0.0 - mdast-util-mdx-expression: 2.0.1 - mdast-util-mdx-jsx: 3.2.0 - mdast-util-mdxjs-esm: 2.0.1 - property-information: 7.1.0 - space-separated-tokens: 2.0.2 - style-to-js: 1.1.21 - unist-util-position: 5.0.0 - zwitch: 2.0.4 - transitivePeerDependencies: - - supports-color - - hast-util-to-jsx-runtime@2.3.6: - dependencies: - '@types/estree': 1.0.8 - '@types/hast': 3.0.4 - '@types/unist': 3.0.3 - comma-separated-tokens: 2.0.3 - devlop: 1.1.0 - estree-util-is-identifier-name: 3.0.0 - hast-util-whitespace: 3.0.0 - mdast-util-mdx-expression: 2.0.1 - mdast-util-mdx-jsx: 3.2.0 - mdast-util-mdxjs-esm: 2.0.1 - property-information: 7.1.0 - space-separated-tokens: 2.0.2 - style-to-js: 1.1.21 - unist-util-position: 5.0.0 - vfile-message: 4.0.3 - transitivePeerDependencies: - - supports-color - - hast-util-to-parse5@8.0.1: - dependencies: - '@types/hast': 3.0.4 - comma-separated-tokens: 2.0.3 - devlop: 1.1.0 - property-information: 7.1.0 - space-separated-tokens: 2.0.2 - web-namespaces: 2.0.1 - zwitch: 2.0.4 - - hast-util-whitespace@3.0.0: - dependencies: - '@types/hast': 3.0.4 - - hastscript@9.0.1: - dependencies: - '@types/hast': 3.0.4 - comma-separated-tokens: 2.0.3 - hast-util-parse-selector: 4.0.0 - property-information: 7.1.0 - space-separated-tokens: 2.0.2 - - he@1.2.0: {} - - history@4.10.1: - dependencies: - '@babel/runtime': 7.28.4 - loose-envify: 1.4.0 - resolve-pathname: 3.0.0 - tiny-invariant: 1.3.3 - tiny-warning: 1.0.3 - value-equal: 1.0.1 - - hoist-non-react-statics@3.3.2: - dependencies: - react-is: 16.13.1 - - hpack.js@2.1.6: - dependencies: - inherits: 2.0.4 - obuf: 1.1.2 - readable-stream: 2.3.8 - wbuf: 1.7.3 - - html-escaper@2.0.2: {} - - html-minifier-terser@6.1.0: - dependencies: - camel-case: 4.1.2 - clean-css: 5.3.3 - commander: 8.3.0 - he: 1.2.0 - param-case: 3.0.4 - relateurl: 0.2.7 - terser: 5.44.1 - - html-minifier-terser@7.2.0: - dependencies: - camel-case: 4.1.2 - clean-css: 5.3.3 - commander: 10.0.1 - entities: 4.5.0 - param-case: 3.0.4 - relateurl: 0.2.7 - terser: 5.44.1 - - html-tags@3.3.1: {} - - html-void-elements@3.0.0: {} - - html-webpack-plugin@5.6.5(webpack@5.103.0): - dependencies: - '@types/html-minifier-terser': 6.1.0 - html-minifier-terser: 6.1.0 - lodash: 4.17.23 - pretty-error: 4.0.0 - tapable: 2.3.0 - optionalDependencies: - webpack: 5.103.0 - - htmlparser2@6.1.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 4.3.1 - domutils: 2.8.0 - entities: 2.2.0 - - htmlparser2@8.0.2: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.2.2 - entities: 4.5.0 - - http-cache-semantics@4.2.0: {} - - http-deceiver@1.2.7: {} - - http-errors@1.6.3: - dependencies: - depd: 1.1.2 - inherits: 2.0.3 - setprototypeof: 1.1.0 - statuses: 1.5.0 - - http-errors@2.0.0: - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - - http-errors@2.0.1: - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.2 - toidentifier: 1.0.1 - - http-parser-js@0.5.10: {} - - http-proxy-middleware@2.0.9(@types/express@4.17.25): - dependencies: - '@types/http-proxy': 1.17.17 - http-proxy: 1.18.1 - is-glob: 4.0.3 - is-plain-obj: 3.0.0 - micromatch: 4.0.8 - optionalDependencies: - '@types/express': 4.17.25 - transitivePeerDependencies: - - debug - - http-proxy@1.18.1: - dependencies: - eventemitter3: 4.0.7 - follow-redirects: 1.15.11 - requires-port: 1.0.0 - transitivePeerDependencies: - - debug - - http2-wrapper@2.2.1: - dependencies: - quick-lru: 5.1.1 - resolve-alpn: 1.2.1 - - human-signals@2.1.0: {} - - hyperdyperid@1.2.0: {} - - iconv-lite@0.4.24: - dependencies: - safer-buffer: 2.1.2 - - icss-utils@5.1.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - - ignore@5.3.2: {} - - image-size@2.0.2: {} - - import-fresh@3.3.1: - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - - import-lazy@4.0.0: {} - - imurmurhash@0.1.4: {} - - indent-string@4.0.0: {} - - infima@0.2.0-alpha.45: {} - - inherits@2.0.3: {} - - inherits@2.0.4: {} - - ini@1.3.8: {} - - ini@2.0.0: {} - - inline-style-parser@0.2.7: {} - - invariant@2.2.4: - dependencies: - loose-envify: 1.4.0 - - ipaddr.js@1.9.1: {} - - ipaddr.js@2.3.0: {} - - is-alphabetical@2.0.1: {} - - is-alphanumerical@2.0.1: - dependencies: - is-alphabetical: 2.0.1 - is-decimal: 2.0.1 - - is-arrayish@0.2.1: {} - - is-binary-path@2.1.0: - dependencies: - binary-extensions: 2.3.0 - - is-ci@3.0.1: - dependencies: - ci-info: 3.9.0 - - is-core-module@2.16.1: - dependencies: - hasown: 2.0.2 - - is-decimal@2.0.1: {} - - is-docker@2.2.1: {} - - is-docker@3.0.0: {} - - is-extendable@0.1.1: {} - - is-extglob@2.1.1: {} - - is-fullwidth-code-point@3.0.0: {} - - is-glob@4.0.3: - dependencies: - is-extglob: 2.1.1 - - is-hexadecimal@2.0.1: {} - - is-inside-container@1.0.0: - dependencies: - is-docker: 3.0.0 - - is-installed-globally@0.4.0: - dependencies: - global-dirs: 3.0.1 - is-path-inside: 3.0.3 - - is-network-error@1.3.0: {} - - is-npm@6.1.0: {} - - is-number@7.0.0: {} - - is-obj@1.0.1: {} - - is-obj@2.0.0: {} - - is-path-inside@3.0.3: {} - - is-plain-obj@3.0.0: {} - - is-plain-obj@4.1.0: {} - - is-plain-object@2.0.4: - dependencies: - isobject: 3.0.1 - - is-regexp@1.0.0: {} - - is-stream@2.0.1: {} - - is-typedarray@1.0.0: {} - - is-wsl@2.2.0: - dependencies: - is-docker: 2.2.1 - - is-wsl@3.1.0: - dependencies: - is-inside-container: 1.0.0 - - is-yarn-global@0.4.1: {} - - isarray@0.0.1: {} - - isarray@1.0.0: {} - - isexe@2.0.0: {} - - isobject@3.0.1: {} - - jest-util@29.7.0: - dependencies: - '@jest/types': 29.6.3 - '@types/node': 24.10.2 - chalk: 4.1.2 - ci-info: 3.9.0 - graceful-fs: 4.2.11 - picomatch: 2.3.1 - - jest-worker@27.5.1: - dependencies: - '@types/node': 24.10.2 - merge-stream: 2.0.0 - supports-color: 8.1.1 - - jest-worker@29.7.0: - dependencies: - '@types/node': 24.10.2 - jest-util: 29.7.0 - merge-stream: 2.0.0 - supports-color: 8.1.1 - - jiti@1.21.7: {} - - joi@17.13.3: - dependencies: - '@hapi/hoek': 9.3.0 - '@hapi/topo': 5.1.0 - '@sideway/address': 4.1.5 - '@sideway/formula': 3.0.1 - '@sideway/pinpoint': 2.0.0 - - js-tokens@4.0.0: {} - - js-yaml@3.14.2: - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - - jsesc@3.1.0: {} - - json-buffer@3.0.1: {} - - json-parse-even-better-errors@2.3.1: {} - - json-schema-traverse@0.4.1: {} - - json-schema-traverse@1.0.0: {} - - json-schema@0.4.0: {} - - json5@2.2.3: {} - - jsonfile@6.2.0: - dependencies: - universalify: 2.0.1 - optionalDependencies: - graceful-fs: 4.2.11 - - keyv@4.5.4: - dependencies: - json-buffer: 3.0.1 - - kind-of@6.0.3: {} - - kleur@3.0.3: {} - - latest-version@7.0.0: - dependencies: - package-json: 8.1.1 - - launch-editor@2.12.0: - dependencies: - picocolors: 1.1.1 - shell-quote: 1.8.3 - - leven@3.1.0: {} - - lilconfig@3.1.3: {} - - lines-and-columns@1.2.4: {} - - loader-runner@4.3.1: {} - - loader-utils@2.0.4: - dependencies: - big.js: 5.2.2 - emojis-list: 3.0.0 - json5: 2.2.3 - - locate-path@7.2.0: - dependencies: - p-locate: 6.0.0 - - lodash.debounce@4.0.8: {} - - lodash.memoize@4.1.2: {} - - lodash.uniq@4.5.0: {} - - lodash@4.17.23: {} - - longest-streak@3.1.0: {} - - loose-envify@1.4.0: - dependencies: - js-tokens: 4.0.0 - - lower-case@2.0.2: - dependencies: - tslib: 2.8.1 - - lowercase-keys@3.0.0: {} - - lru-cache@5.1.1: - dependencies: - yallist: 3.1.1 - - markdown-extensions@2.0.0: {} - - markdown-table@2.0.0: - dependencies: - repeat-string: 1.6.1 - - markdown-table@3.0.4: {} - - marked@16.4.2: {} - - math-intrinsics@1.1.0: {} - - mdast-util-directive@3.1.0: - dependencies: - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 - ccount: 2.0.1 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - parse-entities: 4.0.2 - stringify-entities: 4.0.4 - unist-util-visit-parents: 6.0.2 - transitivePeerDependencies: - - supports-color - - mdast-util-find-and-replace@3.0.2: - dependencies: - '@types/mdast': 4.0.4 - escape-string-regexp: 5.0.0 - unist-util-is: 6.0.1 - unist-util-visit-parents: 6.0.2 - - mdast-util-from-markdown@2.0.2: - dependencies: - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 - decode-named-character-reference: 1.2.0 - devlop: 1.1.0 - mdast-util-to-string: 4.0.0 - micromark: 4.0.2 - micromark-util-decode-numeric-character-reference: 2.0.2 - micromark-util-decode-string: 2.0.1 - micromark-util-normalize-identifier: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - unist-util-stringify-position: 4.0.0 - transitivePeerDependencies: - - supports-color - - mdast-util-frontmatter@2.0.1: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - escape-string-regexp: 5.0.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - micromark-extension-frontmatter: 2.0.0 - transitivePeerDependencies: - - supports-color - - mdast-util-gfm-autolink-literal@2.0.1: - dependencies: - '@types/mdast': 4.0.4 - ccount: 2.0.1 - devlop: 1.1.0 - mdast-util-find-and-replace: 3.0.2 - micromark-util-character: 2.1.1 - - mdast-util-gfm-footnote@2.1.0: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - micromark-util-normalize-identifier: 2.0.1 - transitivePeerDependencies: - - supports-color - - mdast-util-gfm-strikethrough@2.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - transitivePeerDependencies: - - supports-color - - mdast-util-gfm-table@2.0.0: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - markdown-table: 3.0.4 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - transitivePeerDependencies: - - supports-color - - mdast-util-gfm-task-list-item@2.0.0: - dependencies: - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - transitivePeerDependencies: - - supports-color - - mdast-util-gfm@3.1.0: - dependencies: - mdast-util-from-markdown: 2.0.2 - mdast-util-gfm-autolink-literal: 2.0.1 - mdast-util-gfm-footnote: 2.1.0 - mdast-util-gfm-strikethrough: 2.0.0 - mdast-util-gfm-table: 2.0.0 - mdast-util-gfm-task-list-item: 2.0.0 - mdast-util-to-markdown: 2.1.2 - transitivePeerDependencies: - - supports-color - - mdast-util-mdx-expression@2.0.1: - dependencies: - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - transitivePeerDependencies: - - supports-color - - mdast-util-mdx-jsx@3.2.0: - dependencies: - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 - ccount: 2.0.1 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - parse-entities: 4.0.2 - stringify-entities: 4.0.4 - unist-util-stringify-position: 4.0.0 - vfile-message: 4.0.3 - transitivePeerDependencies: - - supports-color - - mdast-util-mdx@3.0.0: - dependencies: - mdast-util-from-markdown: 2.0.2 - mdast-util-mdx-expression: 2.0.1 - mdast-util-mdx-jsx: 3.2.0 - mdast-util-mdxjs-esm: 2.0.1 - mdast-util-to-markdown: 2.1.2 - transitivePeerDependencies: - - supports-color - - mdast-util-mdxjs-esm@2.0.1: - dependencies: - '@types/estree-jsx': 1.0.5 - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 - mdast-util-to-markdown: 2.1.2 - transitivePeerDependencies: - - supports-color - - mdast-util-phrasing@4.1.0: - dependencies: - '@types/mdast': 4.0.4 - unist-util-is: 6.0.1 - - mdast-util-to-hast@13.2.1: - dependencies: - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - '@ungap/structured-clone': 1.3.0 - devlop: 1.1.0 - micromark-util-sanitize-uri: 2.0.1 - trim-lines: 3.0.1 - unist-util-position: 5.0.0 - unist-util-visit: 5.0.0 - vfile: 6.0.3 - - mdast-util-to-markdown@2.1.2: - dependencies: - '@types/mdast': 4.0.4 - '@types/unist': 3.0.3 - longest-streak: 3.1.0 - mdast-util-phrasing: 4.1.0 - mdast-util-to-string: 4.0.0 - micromark-util-classify-character: 2.0.1 - micromark-util-decode-string: 2.0.1 - unist-util-visit: 5.0.0 - zwitch: 2.0.4 - - mdast-util-to-string@4.0.0: - dependencies: - '@types/mdast': 4.0.4 - - mdn-data@2.0.28: {} - - mdn-data@2.0.30: {} - - media-typer@0.3.0: {} - - memfs@4.51.1: - dependencies: - '@jsonjoy.com/json-pack': 1.21.0(tslib@2.8.1) - '@jsonjoy.com/util': 1.9.0(tslib@2.8.1) - glob-to-regex.js: 1.2.0(tslib@2.8.1) - thingies: 2.5.0(tslib@2.8.1) - tree-dump: 1.1.0(tslib@2.8.1) - tslib: 2.8.1 - - merge-descriptors@1.0.3: {} - - merge-stream@2.0.0: {} - - merge2@1.4.1: {} - - methods@1.1.2: {} - - micromark-core-commonmark@2.0.3: - dependencies: - decode-named-character-reference: 1.2.0 - devlop: 1.1.0 - micromark-factory-destination: 2.0.1 - micromark-factory-label: 2.0.1 - micromark-factory-space: 2.0.1 - micromark-factory-title: 2.0.1 - micromark-factory-whitespace: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-chunked: 2.0.1 - micromark-util-classify-character: 2.0.1 - micromark-util-html-tag-name: 2.0.1 - micromark-util-normalize-identifier: 2.0.1 - micromark-util-resolve-all: 2.0.1 - micromark-util-subtokenize: 2.1.0 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - - micromark-extension-directive@3.0.2: - dependencies: - devlop: 1.1.0 - micromark-factory-space: 2.0.1 - micromark-factory-whitespace: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - parse-entities: 4.0.2 - - micromark-extension-frontmatter@2.0.0: - dependencies: - fault: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - - micromark-extension-gfm-autolink-literal@2.1.0: - dependencies: - micromark-util-character: 2.1.1 - micromark-util-sanitize-uri: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - - micromark-extension-gfm-footnote@2.1.0: - dependencies: - devlop: 1.1.0 - micromark-core-commonmark: 2.0.3 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-normalize-identifier: 2.0.1 - micromark-util-sanitize-uri: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - - micromark-extension-gfm-strikethrough@2.1.0: - dependencies: - devlop: 1.1.0 - micromark-util-chunked: 2.0.1 - micromark-util-classify-character: 2.0.1 - micromark-util-resolve-all: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - - micromark-extension-gfm-table@2.1.1: - dependencies: - devlop: 1.1.0 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - - micromark-extension-gfm-tagfilter@2.0.0: - dependencies: - micromark-util-types: 2.0.2 - - micromark-extension-gfm-task-list-item@2.1.0: - dependencies: - devlop: 1.1.0 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - - micromark-extension-gfm@3.0.0: - dependencies: - micromark-extension-gfm-autolink-literal: 2.1.0 - micromark-extension-gfm-footnote: 2.1.0 - micromark-extension-gfm-strikethrough: 2.1.0 - micromark-extension-gfm-table: 2.1.1 - micromark-extension-gfm-tagfilter: 2.0.0 - micromark-extension-gfm-task-list-item: 2.1.0 - micromark-util-combine-extensions: 2.0.1 - micromark-util-types: 2.0.2 - - micromark-extension-mdx-expression@3.0.1: - dependencies: - '@types/estree': 1.0.8 - devlop: 1.1.0 - micromark-factory-mdx-expression: 2.0.3 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-events-to-acorn: 2.0.3 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - - micromark-extension-mdx-jsx@3.0.2: - dependencies: - '@types/estree': 1.0.8 - devlop: 1.1.0 - estree-util-is-identifier-name: 3.0.0 - micromark-factory-mdx-expression: 2.0.3 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-events-to-acorn: 2.0.3 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - vfile-message: 4.0.3 - - micromark-extension-mdx-md@2.0.0: - dependencies: - micromark-util-types: 2.0.2 - - micromark-extension-mdxjs-esm@3.0.0: - dependencies: - '@types/estree': 1.0.8 - devlop: 1.1.0 - micromark-core-commonmark: 2.0.3 - micromark-util-character: 2.1.1 - micromark-util-events-to-acorn: 2.0.3 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - unist-util-position-from-estree: 2.0.0 - vfile-message: 4.0.3 - - micromark-extension-mdxjs@3.0.0: - dependencies: - acorn: 8.15.0 - acorn-jsx: 5.3.2(acorn@8.15.0) - micromark-extension-mdx-expression: 3.0.1 - micromark-extension-mdx-jsx: 3.0.2 - micromark-extension-mdx-md: 2.0.0 - micromark-extension-mdxjs-esm: 3.0.0 - micromark-util-combine-extensions: 2.0.1 - micromark-util-types: 2.0.2 - - micromark-factory-destination@2.0.1: - dependencies: - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - - micromark-factory-label@2.0.1: - dependencies: - devlop: 1.1.0 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - - micromark-factory-mdx-expression@2.0.3: - dependencies: - '@types/estree': 1.0.8 - devlop: 1.1.0 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-events-to-acorn: 2.0.3 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - unist-util-position-from-estree: 2.0.0 - vfile-message: 4.0.3 - - micromark-factory-space@1.1.0: - dependencies: - micromark-util-character: 1.2.0 - micromark-util-types: 1.1.0 - - micromark-factory-space@2.0.1: - dependencies: - micromark-util-character: 2.1.1 - micromark-util-types: 2.0.2 - - micromark-factory-title@2.0.1: - dependencies: - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - - micromark-factory-whitespace@2.0.1: - dependencies: - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - - micromark-util-character@1.2.0: - dependencies: - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - - micromark-util-character@2.1.1: - dependencies: - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - - micromark-util-chunked@2.0.1: - dependencies: - micromark-util-symbol: 2.0.1 - - micromark-util-classify-character@2.0.1: - dependencies: - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - - micromark-util-combine-extensions@2.0.1: - dependencies: - micromark-util-chunked: 2.0.1 - micromark-util-types: 2.0.2 - - micromark-util-decode-numeric-character-reference@2.0.2: - dependencies: - micromark-util-symbol: 2.0.1 - - micromark-util-decode-string@2.0.1: - dependencies: - decode-named-character-reference: 1.2.0 - micromark-util-character: 2.1.1 - micromark-util-decode-numeric-character-reference: 2.0.2 - micromark-util-symbol: 2.0.1 - - micromark-util-encode@2.0.1: {} - - micromark-util-events-to-acorn@2.0.3: - dependencies: - '@types/estree': 1.0.8 - '@types/unist': 3.0.3 - devlop: 1.1.0 - estree-util-visit: 2.0.0 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - vfile-message: 4.0.3 - - micromark-util-html-tag-name@2.0.1: {} - - micromark-util-normalize-identifier@2.0.1: - dependencies: - micromark-util-symbol: 2.0.1 - - micromark-util-resolve-all@2.0.1: - dependencies: - micromark-util-types: 2.0.2 - - micromark-util-sanitize-uri@2.0.1: - dependencies: - micromark-util-character: 2.1.1 - micromark-util-encode: 2.0.1 - micromark-util-symbol: 2.0.1 - - micromark-util-subtokenize@2.1.0: - dependencies: - devlop: 1.1.0 - micromark-util-chunked: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - - micromark-util-symbol@1.1.0: {} - - micromark-util-symbol@2.0.1: {} - - micromark-util-types@1.1.0: {} - - micromark-util-types@2.0.2: {} - - micromark@4.0.2: - dependencies: - '@types/debug': 4.1.12 - debug: 4.4.3 - decode-named-character-reference: 1.2.0 - devlop: 1.1.0 - micromark-core-commonmark: 2.0.3 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-chunked: 2.0.1 - micromark-util-combine-extensions: 2.0.1 - micromark-util-decode-numeric-character-reference: 2.0.2 - micromark-util-encode: 2.0.1 - micromark-util-normalize-identifier: 2.0.1 - micromark-util-resolve-all: 2.0.1 - micromark-util-sanitize-uri: 2.0.1 - micromark-util-subtokenize: 2.1.0 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.2 - transitivePeerDependencies: - - supports-color - - micromatch@4.0.8: - dependencies: - braces: 3.0.3 - picomatch: 2.3.1 - - mime-db@1.33.0: {} - - mime-db@1.52.0: {} - - mime-db@1.54.0: {} - - mime-types@2.1.18: - dependencies: - mime-db: 1.33.0 - - mime-types@2.1.35: - dependencies: - mime-db: 1.52.0 - - mime-types@3.0.2: - dependencies: - mime-db: 1.54.0 - - mime@1.6.0: {} - - mimic-fn@2.1.0: {} - - mimic-response@3.1.0: {} - - mimic-response@4.0.0: {} - - mini-css-extract-plugin@2.9.4(webpack@5.103.0): - dependencies: - schema-utils: 4.3.3 - tapable: 2.3.0 - webpack: 5.103.0 - - minimalistic-assert@1.0.1: {} - - minimatch@3.1.2: - dependencies: - brace-expansion: 1.1.12 - - minimist@1.2.8: {} - - mrmime@2.0.1: {} - - ms@2.0.0: {} - - ms@2.1.3: {} - - multicast-dns@7.2.5: - dependencies: - dns-packet: 5.6.1 - thunky: 1.1.0 - - nanoid@3.3.11: {} - - negotiator@0.6.3: {} - - negotiator@0.6.4: {} - - neo-async@2.6.2: {} - - no-case@3.0.4: - dependencies: - lower-case: 2.0.2 - tslib: 2.8.1 - - node-emoji@2.2.0: - dependencies: - '@sindresorhus/is': 4.6.0 - char-regex: 1.0.2 - emojilib: 2.4.0 - skin-tone: 2.0.0 - - node-forge@1.3.3: {} - - node-releases@2.0.27: {} - - normalize-path@3.0.0: {} - - normalize-range@0.1.2: {} - - normalize-url@8.1.0: {} - - npm-run-path@4.0.1: - dependencies: - path-key: 3.1.1 - - nprogress@0.2.0: {} - - nth-check@2.1.1: - dependencies: - boolbase: 1.0.0 - - null-loader@4.0.1(webpack@5.103.0): - dependencies: - loader-utils: 2.0.4 - schema-utils: 3.3.0 - webpack: 5.103.0 - - object-assign@4.1.1: {} - - object-inspect@1.13.4: {} - - object-keys@1.1.1: {} - - object.assign@4.1.7: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - define-properties: 1.2.1 - es-object-atoms: 1.1.1 - has-symbols: 1.1.0 - object-keys: 1.1.1 - - obuf@1.1.2: {} - - on-finished@2.4.1: - dependencies: - ee-first: 1.1.1 - - on-headers@1.1.0: {} - - onetime@5.1.2: - dependencies: - mimic-fn: 2.1.0 - - open@10.2.0: - dependencies: - default-browser: 5.4.0 - define-lazy-prop: 3.0.0 - is-inside-container: 1.0.0 - wsl-utils: 0.1.0 - - open@8.4.2: - dependencies: - define-lazy-prop: 2.0.0 - is-docker: 2.2.1 - is-wsl: 2.2.0 - - opener@1.5.2: {} - - p-cancelable@3.0.0: {} - - p-finally@1.0.0: {} - - p-limit@4.0.0: - dependencies: - yocto-queue: 1.2.2 - - p-locate@6.0.0: - dependencies: - p-limit: 4.0.0 - - p-map@4.0.0: - dependencies: - aggregate-error: 3.1.0 - - p-queue@6.6.2: - dependencies: - eventemitter3: 4.0.7 - p-timeout: 3.2.0 + hast-util-to-html@9.0.5: + resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==} - p-retry@6.2.1: - dependencies: - '@types/retry': 0.12.2 - is-network-error: 1.3.0 - retry: 0.13.1 - - p-timeout@3.2.0: - dependencies: - p-finally: 1.0.0 - - package-json@8.1.1: - dependencies: - got: 12.6.1 - registry-auth-token: 5.1.0 - registry-url: 6.0.1 - semver: 7.7.3 - - param-case@3.0.4: - dependencies: - dot-case: 3.0.4 - tslib: 2.8.1 - - parent-module@1.0.1: - dependencies: - callsites: 3.1.0 - - parse-entities@4.0.2: - dependencies: - '@types/unist': 2.0.11 - character-entities-legacy: 3.0.0 - character-reference-invalid: 2.0.1 - decode-named-character-reference: 1.2.0 - is-alphanumerical: 2.0.1 - is-decimal: 2.0.1 - is-hexadecimal: 2.0.1 - - parse-json@5.2.0: - dependencies: - '@babel/code-frame': 7.27.1 - error-ex: 1.3.4 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - - parse-numeric-range@1.3.0: {} - - parse5-htmlparser2-tree-adapter@7.1.0: - dependencies: - domhandler: 5.0.3 - parse5: 7.3.0 - - parse5@7.3.0: - dependencies: - entities: 6.0.1 - - parseurl@1.3.3: {} - - pascal-case@3.1.2: - dependencies: - no-case: 3.0.4 - tslib: 2.8.1 - - path-exists@5.0.0: {} - - path-is-inside@1.0.2: {} - - path-key@3.1.1: {} - - path-parse@1.0.7: {} - - path-to-regexp@0.1.12: {} - - path-to-regexp@1.9.0: - dependencies: - isarray: 0.0.1 - - path-to-regexp@3.3.0: {} + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} - path-type@4.0.0: {} + hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} - picocolors@1.1.1: {} + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} - picomatch@2.3.1: {} + is-what@5.5.0: + resolution: {integrity: sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==} + engines: {node: '>=18'} - pkg-dir@7.0.0: - dependencies: - find-up: 6.3.0 + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} - postcss-attribute-case-insensitive@7.0.1(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + mark.js@8.11.1: + resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} - postcss-calc@9.0.1(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 - postcss-value-parser: 4.2.0 + mdast-util-to-hast@13.2.1: + resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==} - postcss-clamp@4.1.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} - postcss-color-functional-notation@7.0.12(postcss@8.5.6): - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - postcss-color-hex-alpha@10.0.0(postcss@8.5.6): - dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} - postcss-color-rebeccapurple@10.0.0(postcss@8.5.6): - dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} - postcss-colormin@6.1.0(postcss@8.5.6): - dependencies: - browserslist: 4.28.1 - caniuse-api: 3.0.0 - colord: 2.9.3 - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} - postcss-convert-values@6.1.0(postcss@8.5.6): - dependencies: - browserslist: 4.28.1 - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + micromark-util-types@2.0.2: + resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} - postcss-custom-media@11.0.6(postcss@8.5.6): - dependencies: - '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - postcss: 8.5.6 + minisearch@7.2.0: + resolution: {integrity: sha512-dqT2XBYUOZOiC5t2HRnwADjhNS2cecp9u+TJRiJ1Qp/f5qjkeT5APcGPjHw+bz89Ms8Jp+cG4AlE+QZ/QnDglg==} - postcss-custom-properties@14.0.6(postcss@8.5.6): - dependencies: - '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - - postcss-custom-selectors@8.0.5(postcss@8.5.6): - dependencies: - '@csstools/cascade-layer-name-parser': 2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} - postcss-dir-pseudo-class@9.0.1(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true - postcss-discard-comments@6.0.2(postcss@8.5.6): - dependencies: - postcss: 8.5.6 + oniguruma-to-es@3.1.1: + resolution: {integrity: sha512-bUH8SDvPkH3ho3dvwJwfonjlQ4R80vjyvrU8YpxuROddv55vAEJrTuCuCVUhhsHbtlD9tGGbaNApGQckXhS8iQ==} - postcss-discard-duplicates@6.0.3(postcss@8.5.6): - dependencies: - postcss: 8.5.6 + oxfmt@0.36.0: + resolution: {integrity: sha512-/ejJ+KoSW6J9bcNT9a9UtJSJNWhJ3yOLSBLbkoFHJs/8CZjmaZVZAJe4YgO1KMJlKpNQasrn/G9JQUEZI3p0EQ==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true - postcss-discard-empty@6.0.3(postcss@8.5.6): - dependencies: - postcss: 8.5.6 + perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} - postcss-discard-overridden@6.0.2(postcss@8.5.6): - dependencies: - postcss: 8.5.6 + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - postcss-discard-unused@6.0.5(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + postcss@8.5.8: + resolution: {integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==} + engines: {node: ^10 || ^12 || >=14} - postcss-double-position-gradients@6.0.4(postcss@8.5.6): - dependencies: - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + preact@10.28.4: + resolution: {integrity: sha512-uKFfOHWuSNpRFVTnljsCluEFq57OKT+0QdOiQo8XWnQ/pSvg7OpX5eNOejELXJMWy+BwM2nobz0FkvzmnpCNsQ==} - postcss-focus-visible@10.0.1(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + property-information@7.1.0: + resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} - postcss-focus-within@9.0.1(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + regex-recursion@6.0.2: + resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} - postcss-font-variant@5.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 + regex-utilities@2.3.0: + resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} - postcss-gap-properties@6.0.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 + regex@6.1.0: + resolution: {integrity: sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==} - postcss-image-set-function@7.0.0(postcss@8.5.6): - dependencies: - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - postcss-lab-function@7.0.12(postcss@8.5.6): - dependencies: - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/utilities': 2.0.0(postcss@8.5.6) - postcss: 8.5.6 - - postcss-loader@7.3.4(postcss@8.5.6)(typescript@5.6.3)(webpack@5.103.0): - dependencies: - cosmiconfig: 8.3.6(typescript@5.6.3) - jiti: 1.21.7 - postcss: 8.5.6 - semver: 7.7.3 - webpack: 5.103.0 - transitivePeerDependencies: - - typescript + rollup@4.59.0: + resolution: {integrity: sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true - postcss-logical@8.1.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + search-insights@2.17.3: + resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==} - postcss-merge-idents@6.0.3(postcss@8.5.6): - dependencies: - cssnano-utils: 4.0.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + shiki@2.5.0: + resolution: {integrity: sha512-mI//trrsaiCIPsja5CNfsyNOqgAZUb6VpJA+340toL42UpzQlXpwRV9nch69X6gaUxrr9kaOOa6e3y3uAkGFxQ==} - postcss-merge-longhand@6.0.5(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - stylehacks: 6.1.1(postcss@8.5.6) + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} - postcss-merge-rules@6.1.1(postcss@8.5.6): - dependencies: - browserslist: 4.28.1 - caniuse-api: 3.0.0 - cssnano-utils: 4.0.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - postcss-minify-font-values@6.1.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + speakingurl@14.0.1: + resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} + engines: {node: '>=0.10.0'} - postcss-minify-gradients@6.0.3(postcss@8.5.6): - dependencies: - colord: 2.9.3 - cssnano-utils: 4.0.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} - postcss-minify-params@6.1.0(postcss@8.5.6): - dependencies: - browserslist: 4.28.1 - cssnano-utils: 4.0.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + superjson@2.2.6: + resolution: {integrity: sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==} + engines: {node: '>=16'} - postcss-minify-selectors@6.0.4(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + tabbable@6.4.0: + resolution: {integrity: sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==} - postcss-modules-extract-imports@3.1.0(postcss@8.5.6): - dependencies: - postcss: 8.5.6 + tinypool@2.1.0: + resolution: {integrity: sha512-Pugqs6M0m7Lv1I7FtxN4aoyToKg1C4tu+/381vH35y8oENM/Ai7f7C4StcoK4/+BSw9ebcS8jRiVrORFKCALLw==} + engines: {node: ^20.0.0 || >=22.0.0} - postcss-modules-local-by-default@4.2.0(postcss@8.5.6): - dependencies: - icss-utils: 5.1.0(postcss@8.5.6) - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 - postcss-value-parser: 4.2.0 + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - postcss-modules-scope@3.2.1(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + unist-util-is@6.0.1: + resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} - postcss-modules-values@4.0.0(postcss@8.5.6): - dependencies: - icss-utils: 5.1.0(postcss@8.5.6) - postcss: 8.5.6 + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} - postcss-nesting@13.0.2(postcss@8.5.6): - dependencies: - '@csstools/selector-resolve-nested': 3.1.0(postcss-selector-parser@7.1.1) - '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.1) - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} - postcss-normalize-charset@6.0.2(postcss@8.5.6): - dependencies: - postcss: 8.5.6 + unist-util-visit-parents@6.0.2: + resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} - postcss-normalize-display-values@6.0.2(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + unist-util-visit@5.1.0: + resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==} - postcss-normalize-positions@6.0.2(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + vfile-message@4.0.3: + resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} - postcss-normalize-repeat-style@6.0.2(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - postcss-normalize-string@6.0.2(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + vite@5.4.21: + resolution: {integrity: sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true - postcss-normalize-timing-functions@6.0.2(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + vitepress@1.6.4: + resolution: {integrity: sha512-+2ym1/+0VVrbhNyRoFFesVvBvHAVMZMK0rw60E3X/5349M1GuVdKeazuksqopEdvkKwKGs21Q729jX81/bkBJg==} + hasBin: true + peerDependencies: + markdown-it-mathjax3: ^4 + postcss: ^8 + peerDependenciesMeta: + markdown-it-mathjax3: + optional: true + postcss: + optional: true - postcss-normalize-unicode@6.1.0(postcss@8.5.6): - dependencies: - browserslist: 4.28.1 - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + vue@3.5.29: + resolution: {integrity: sha512-BZqN4Ze6mDQVNAni0IHeMJ5mwr8VAJ3MQC9FmprRhcBYENw+wOAAjRj8jfmN6FLl0j96OXbR+CjWhmAmM+QGnA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true - postcss-normalize-url@6.0.2(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - postcss-normalize-whitespace@6.0.2(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 +snapshots: - postcss-opacity-percentage@3.0.0(postcss@8.5.6): + '@algolia/abtesting@1.15.1': dependencies: - postcss: 8.5.6 + '@algolia/client-common': 5.49.1 + '@algolia/requester-browser-xhr': 5.49.1 + '@algolia/requester-fetch': 5.49.1 + '@algolia/requester-node-http': 5.49.1 - postcss-ordered-values@6.0.2(postcss@8.5.6): + '@algolia/autocomplete-core@1.17.7(@algolia/client-search@5.49.1)(algoliasearch@5.49.1)(search-insights@2.17.3)': dependencies: - cssnano-utils: 4.0.2(postcss@8.5.6) - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + '@algolia/autocomplete-plugin-algolia-insights': 1.17.7(@algolia/client-search@5.49.1)(algoliasearch@5.49.1)(search-insights@2.17.3) + '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.49.1)(algoliasearch@5.49.1) + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + - search-insights - postcss-overflow-shorthand@6.0.0(postcss@8.5.6): + '@algolia/autocomplete-plugin-algolia-insights@1.17.7(@algolia/client-search@5.49.1)(algoliasearch@5.49.1)(search-insights@2.17.3)': dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.49.1)(algoliasearch@5.49.1) + search-insights: 2.17.3 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch - postcss-page-break@3.0.4(postcss@8.5.6): + '@algolia/autocomplete-preset-algolia@1.17.7(@algolia/client-search@5.49.1)(algoliasearch@5.49.1)': dependencies: - postcss: 8.5.6 + '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.49.1)(algoliasearch@5.49.1) + '@algolia/client-search': 5.49.1 + algoliasearch: 5.49.1 - postcss-place@10.0.0(postcss@8.5.6): + '@algolia/autocomplete-shared@1.17.7(@algolia/client-search@5.49.1)(algoliasearch@5.49.1)': dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + '@algolia/client-search': 5.49.1 + algoliasearch: 5.49.1 - postcss-preset-env@10.5.0(postcss@8.5.6): + '@algolia/client-abtesting@5.49.1': dependencies: - '@csstools/postcss-alpha-function': 1.0.1(postcss@8.5.6) - '@csstools/postcss-cascade-layers': 5.0.2(postcss@8.5.6) - '@csstools/postcss-color-function': 4.0.12(postcss@8.5.6) - '@csstools/postcss-color-function-display-p3-linear': 1.0.1(postcss@8.5.6) - '@csstools/postcss-color-mix-function': 3.0.12(postcss@8.5.6) - '@csstools/postcss-color-mix-variadic-function-arguments': 1.0.2(postcss@8.5.6) - '@csstools/postcss-content-alt-text': 2.0.8(postcss@8.5.6) - '@csstools/postcss-contrast-color-function': 2.0.12(postcss@8.5.6) - '@csstools/postcss-exponential-functions': 2.0.9(postcss@8.5.6) - '@csstools/postcss-font-format-keywords': 4.0.0(postcss@8.5.6) - '@csstools/postcss-gamut-mapping': 2.0.11(postcss@8.5.6) - '@csstools/postcss-gradients-interpolation-method': 5.0.12(postcss@8.5.6) - '@csstools/postcss-hwb-function': 4.0.12(postcss@8.5.6) - '@csstools/postcss-ic-unit': 4.0.4(postcss@8.5.6) - '@csstools/postcss-initial': 2.0.1(postcss@8.5.6) - '@csstools/postcss-is-pseudo-class': 5.0.3(postcss@8.5.6) - '@csstools/postcss-light-dark-function': 2.0.11(postcss@8.5.6) - '@csstools/postcss-logical-float-and-clear': 3.0.0(postcss@8.5.6) - '@csstools/postcss-logical-overflow': 2.0.0(postcss@8.5.6) - '@csstools/postcss-logical-overscroll-behavior': 2.0.0(postcss@8.5.6) - '@csstools/postcss-logical-resize': 3.0.0(postcss@8.5.6) - '@csstools/postcss-logical-viewport-units': 3.0.4(postcss@8.5.6) - '@csstools/postcss-media-minmax': 2.0.9(postcss@8.5.6) - '@csstools/postcss-media-queries-aspect-ratio-number-values': 3.0.5(postcss@8.5.6) - '@csstools/postcss-nested-calc': 4.0.0(postcss@8.5.6) - '@csstools/postcss-normalize-display-values': 4.0.0(postcss@8.5.6) - '@csstools/postcss-oklab-function': 4.0.12(postcss@8.5.6) - '@csstools/postcss-position-area-property': 1.0.0(postcss@8.5.6) - '@csstools/postcss-progressive-custom-properties': 4.2.1(postcss@8.5.6) - '@csstools/postcss-random-function': 2.0.1(postcss@8.5.6) - '@csstools/postcss-relative-color-syntax': 3.0.12(postcss@8.5.6) - '@csstools/postcss-scope-pseudo-class': 4.0.1(postcss@8.5.6) - '@csstools/postcss-sign-functions': 1.1.4(postcss@8.5.6) - '@csstools/postcss-stepped-value-functions': 4.0.9(postcss@8.5.6) - '@csstools/postcss-system-ui-font-family': 1.0.0(postcss@8.5.6) - '@csstools/postcss-text-decoration-shorthand': 4.0.3(postcss@8.5.6) - '@csstools/postcss-trigonometric-functions': 4.0.9(postcss@8.5.6) - '@csstools/postcss-unset-value': 4.0.0(postcss@8.5.6) - autoprefixer: 10.4.22(postcss@8.5.6) - browserslist: 4.28.1 - css-blank-pseudo: 7.0.1(postcss@8.5.6) - css-has-pseudo: 7.0.3(postcss@8.5.6) - css-prefers-color-scheme: 10.0.0(postcss@8.5.6) - cssdb: 8.5.2 - postcss: 8.5.6 - postcss-attribute-case-insensitive: 7.0.1(postcss@8.5.6) - postcss-clamp: 4.1.0(postcss@8.5.6) - postcss-color-functional-notation: 7.0.12(postcss@8.5.6) - postcss-color-hex-alpha: 10.0.0(postcss@8.5.6) - postcss-color-rebeccapurple: 10.0.0(postcss@8.5.6) - postcss-custom-media: 11.0.6(postcss@8.5.6) - postcss-custom-properties: 14.0.6(postcss@8.5.6) - postcss-custom-selectors: 8.0.5(postcss@8.5.6) - postcss-dir-pseudo-class: 9.0.1(postcss@8.5.6) - postcss-double-position-gradients: 6.0.4(postcss@8.5.6) - postcss-focus-visible: 10.0.1(postcss@8.5.6) - postcss-focus-within: 9.0.1(postcss@8.5.6) - postcss-font-variant: 5.0.0(postcss@8.5.6) - postcss-gap-properties: 6.0.0(postcss@8.5.6) - postcss-image-set-function: 7.0.0(postcss@8.5.6) - postcss-lab-function: 7.0.12(postcss@8.5.6) - postcss-logical: 8.1.0(postcss@8.5.6) - postcss-nesting: 13.0.2(postcss@8.5.6) - postcss-opacity-percentage: 3.0.0(postcss@8.5.6) - postcss-overflow-shorthand: 6.0.0(postcss@8.5.6) - postcss-page-break: 3.0.4(postcss@8.5.6) - postcss-place: 10.0.0(postcss@8.5.6) - postcss-pseudo-class-any-link: 10.0.1(postcss@8.5.6) - postcss-replace-overflow-wrap: 4.0.0(postcss@8.5.6) - postcss-selector-not: 8.0.1(postcss@8.5.6) - - postcss-pseudo-class-any-link@10.0.1(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + '@algolia/client-common': 5.49.1 + '@algolia/requester-browser-xhr': 5.49.1 + '@algolia/requester-fetch': 5.49.1 + '@algolia/requester-node-http': 5.49.1 - postcss-reduce-idents@6.0.3(postcss@8.5.6): + '@algolia/client-analytics@5.49.1': dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + '@algolia/client-common': 5.49.1 + '@algolia/requester-browser-xhr': 5.49.1 + '@algolia/requester-fetch': 5.49.1 + '@algolia/requester-node-http': 5.49.1 - postcss-reduce-initial@6.1.0(postcss@8.5.6): - dependencies: - browserslist: 4.28.1 - caniuse-api: 3.0.0 - postcss: 8.5.6 + '@algolia/client-common@5.49.1': {} - postcss-reduce-transforms@6.0.2(postcss@8.5.6): + '@algolia/client-insights@5.49.1': dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 + '@algolia/client-common': 5.49.1 + '@algolia/requester-browser-xhr': 5.49.1 + '@algolia/requester-fetch': 5.49.1 + '@algolia/requester-node-http': 5.49.1 - postcss-replace-overflow-wrap@4.0.0(postcss@8.5.6): + '@algolia/client-personalization@5.49.1': dependencies: - postcss: 8.5.6 + '@algolia/client-common': 5.49.1 + '@algolia/requester-browser-xhr': 5.49.1 + '@algolia/requester-fetch': 5.49.1 + '@algolia/requester-node-http': 5.49.1 - postcss-selector-not@8.0.1(postcss@8.5.6): + '@algolia/client-query-suggestions@5.49.1': dependencies: - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + '@algolia/client-common': 5.49.1 + '@algolia/requester-browser-xhr': 5.49.1 + '@algolia/requester-fetch': 5.49.1 + '@algolia/requester-node-http': 5.49.1 - postcss-selector-parser@6.1.2: + '@algolia/client-search@5.49.1': dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 + '@algolia/client-common': 5.49.1 + '@algolia/requester-browser-xhr': 5.49.1 + '@algolia/requester-fetch': 5.49.1 + '@algolia/requester-node-http': 5.49.1 - postcss-selector-parser@7.1.1: + '@algolia/ingestion@1.49.1': dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 + '@algolia/client-common': 5.49.1 + '@algolia/requester-browser-xhr': 5.49.1 + '@algolia/requester-fetch': 5.49.1 + '@algolia/requester-node-http': 5.49.1 - postcss-sort-media-queries@5.2.0(postcss@8.5.6): + '@algolia/monitoring@1.49.1': dependencies: - postcss: 8.5.6 - sort-css-media-queries: 2.2.0 + '@algolia/client-common': 5.49.1 + '@algolia/requester-browser-xhr': 5.49.1 + '@algolia/requester-fetch': 5.49.1 + '@algolia/requester-node-http': 5.49.1 - postcss-svgo@6.0.3(postcss@8.5.6): + '@algolia/recommend@5.49.1': dependencies: - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - svgo: 3.3.2 + '@algolia/client-common': 5.49.1 + '@algolia/requester-browser-xhr': 5.49.1 + '@algolia/requester-fetch': 5.49.1 + '@algolia/requester-node-http': 5.49.1 - postcss-unique-selectors@6.0.4(postcss@8.5.6): + '@algolia/requester-browser-xhr@5.49.1': dependencies: - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + '@algolia/client-common': 5.49.1 - postcss-value-parser@4.2.0: {} - - postcss-zindex@6.0.2(postcss@8.5.6): + '@algolia/requester-fetch@5.49.1': dependencies: - postcss: 8.5.6 + '@algolia/client-common': 5.49.1 - postcss@8.5.6: + '@algolia/requester-node-http@5.49.1': dependencies: - nanoid: 3.3.11 - picocolors: 1.1.1 - source-map-js: 1.2.1 + '@algolia/client-common': 5.49.1 - posthog-docusaurus@2.0.5: {} + '@babel/helper-string-parser@7.27.1': {} - prettier@3.7.4: {} + '@babel/helper-validator-identifier@7.28.5': {} - pretty-error@4.0.0: + '@babel/parser@7.29.0': dependencies: - lodash: 4.17.23 - renderkid: 3.0.0 + '@babel/types': 7.29.0 - pretty-time@1.1.0: {} - - prism-react-renderer@2.4.1(react@19.2.1): + '@babel/types@7.29.0': dependencies: - '@types/prismjs': 1.26.5 - clsx: 2.1.1 - react: 19.2.1 - - prismjs@1.30.0: {} + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 - process-nextick-args@2.0.1: {} + '@docsearch/css@3.8.2': {} - prompts@2.4.2: + '@docsearch/js@3.8.2(@algolia/client-search@5.49.1)(search-insights@2.17.3)': dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 + '@docsearch/react': 3.8.2(@algolia/client-search@5.49.1)(search-insights@2.17.3) + preact: 10.28.4 + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/react' + - react + - react-dom + - search-insights - prop-types@15.8.1: + '@docsearch/react@3.8.2(@algolia/client-search@5.49.1)(search-insights@2.17.3)': dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - react-is: 16.13.1 - - property-information@7.1.0: {} - - proto-list@1.2.4: {} + '@algolia/autocomplete-core': 1.17.7(@algolia/client-search@5.49.1)(algoliasearch@5.49.1)(search-insights@2.17.3) + '@algolia/autocomplete-preset-algolia': 1.17.7(@algolia/client-search@5.49.1)(algoliasearch@5.49.1) + '@docsearch/css': 3.8.2 + algoliasearch: 5.49.1 + optionalDependencies: + search-insights: 2.17.3 + transitivePeerDependencies: + - '@algolia/client-search' - proxy-addr@2.0.7: - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 + '@esbuild/aix-ppc64@0.21.5': + optional: true - punycode@2.3.1: {} + '@esbuild/android-arm64@0.21.5': + optional: true - pupa@3.3.0: - dependencies: - escape-goat: 4.0.0 + '@esbuild/android-arm@0.21.5': + optional: true - qs@6.14.1: - dependencies: - side-channel: 1.1.0 + '@esbuild/android-x64@0.21.5': + optional: true - queue-microtask@1.2.3: {} + '@esbuild/darwin-arm64@0.21.5': + optional: true - quick-lru@5.1.1: {} + '@esbuild/darwin-x64@0.21.5': + optional: true - randombytes@2.1.0: - dependencies: - safe-buffer: 5.2.1 + '@esbuild/freebsd-arm64@0.21.5': + optional: true - range-parser@1.2.0: {} + '@esbuild/freebsd-x64@0.21.5': + optional: true - range-parser@1.2.1: {} + '@esbuild/linux-arm64@0.21.5': + optional: true - raw-body@2.5.3: - dependencies: - bytes: 3.1.2 - http-errors: 2.0.1 - iconv-lite: 0.4.24 - unpipe: 1.0.0 + '@esbuild/linux-arm@0.21.5': + optional: true - rc@1.2.8: - dependencies: - deep-extend: 0.6.0 - ini: 1.3.8 - minimist: 1.2.8 - strip-json-comments: 2.0.1 + '@esbuild/linux-ia32@0.21.5': + optional: true - react-dom@19.2.1(react@19.2.1): - dependencies: - react: 19.2.1 - scheduler: 0.27.0 + '@esbuild/linux-loong64@0.21.5': + optional: true - react-fast-compare@3.2.2: {} + '@esbuild/linux-mips64el@0.21.5': + optional: true - react-icons@5.5.0(react@19.2.1): - dependencies: - react: 19.2.1 + '@esbuild/linux-ppc64@0.21.5': + optional: true - react-is@16.13.1: {} + '@esbuild/linux-riscv64@0.21.5': + optional: true - react-json-view-lite@2.5.0(react@19.2.1): - dependencies: - react: 19.2.1 + '@esbuild/linux-s390x@0.21.5': + optional: true - react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@19.2.1))(webpack@5.103.0): - dependencies: - '@babel/runtime': 7.28.4 - react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.2.1)' - webpack: 5.103.0 + '@esbuild/linux-x64@0.21.5': + optional: true - react-router-config@5.1.1(react-router@5.3.4(react@19.2.1))(react@19.2.1): - dependencies: - '@babel/runtime': 7.28.4 - react: 19.2.1 - react-router: 5.3.4(react@19.2.1) + '@esbuild/netbsd-x64@0.21.5': + optional: true - react-router-dom@5.3.4(react@19.2.1): - dependencies: - '@babel/runtime': 7.28.4 - history: 4.10.1 - loose-envify: 1.4.0 - prop-types: 15.8.1 - react: 19.2.1 - react-router: 5.3.4(react@19.2.1) - tiny-invariant: 1.3.3 - tiny-warning: 1.0.3 - - react-router@5.3.4(react@19.2.1): - dependencies: - '@babel/runtime': 7.28.4 - history: 4.10.1 - hoist-non-react-statics: 3.3.2 - loose-envify: 1.4.0 - path-to-regexp: 1.9.0 - prop-types: 15.8.1 - react: 19.2.1 - react-is: 16.13.1 - tiny-invariant: 1.3.3 - tiny-warning: 1.0.3 - - react@19.2.1: {} - - readable-stream@2.3.8: - dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 1.0.0 - process-nextick-args: 2.0.1 - safe-buffer: 5.1.2 - string_decoder: 1.1.1 - util-deprecate: 1.0.2 - - readable-stream@3.6.2: - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 + '@esbuild/openbsd-x64@0.21.5': + optional: true - readdirp@3.6.0: - dependencies: - picomatch: 2.3.1 + '@esbuild/sunos-x64@0.21.5': + optional: true - recma-build-jsx@1.0.0: - dependencies: - '@types/estree': 1.0.8 - estree-util-build-jsx: 3.0.1 - vfile: 6.0.3 + '@esbuild/win32-arm64@0.21.5': + optional: true - recma-jsx@1.0.1(acorn@8.15.0): - dependencies: - acorn: 8.15.0 - acorn-jsx: 5.3.2(acorn@8.15.0) - estree-util-to-js: 2.0.0 - recma-parse: 1.0.0 - recma-stringify: 1.0.0 - unified: 11.0.5 - - recma-parse@1.0.0: - dependencies: - '@types/estree': 1.0.8 - esast-util-from-js: 2.0.1 - unified: 11.0.5 - vfile: 6.0.3 + '@esbuild/win32-ia32@0.21.5': + optional: true - recma-stringify@1.0.0: - dependencies: - '@types/estree': 1.0.8 - estree-util-to-js: 2.0.0 - unified: 11.0.5 - vfile: 6.0.3 + '@esbuild/win32-x64@0.21.5': + optional: true - regenerate-unicode-properties@10.2.2: + '@iconify-json/simple-icons@1.2.72': dependencies: - regenerate: 1.4.2 + '@iconify/types': 2.0.0 - regenerate@1.4.2: {} + '@iconify/types@2.0.0': {} - regexpu-core@6.4.0: - dependencies: - regenerate: 1.4.2 - regenerate-unicode-properties: 10.2.2 - regjsgen: 0.8.0 - regjsparser: 0.13.0 - unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.2.1 - - registry-auth-token@5.1.0: - dependencies: - '@pnpm/npm-conf': 2.3.1 + '@jridgewell/sourcemap-codec@1.5.5': {} - registry-url@6.0.1: - dependencies: - rc: 1.2.8 + '@oxfmt/binding-android-arm-eabi@0.36.0': + optional: true - regjsgen@0.8.0: {} + '@oxfmt/binding-android-arm64@0.36.0': + optional: true - regjsparser@0.13.0: - dependencies: - jsesc: 3.1.0 + '@oxfmt/binding-darwin-arm64@0.36.0': + optional: true - rehype-raw@7.0.0: - dependencies: - '@types/hast': 3.0.4 - hast-util-raw: 9.1.0 - vfile: 6.0.3 + '@oxfmt/binding-darwin-x64@0.36.0': + optional: true - rehype-recma@1.0.0: - dependencies: - '@types/estree': 1.0.8 - '@types/hast': 3.0.4 - hast-util-to-estree: 3.1.3 - transitivePeerDependencies: - - supports-color + '@oxfmt/binding-freebsd-x64@0.36.0': + optional: true - relateurl@0.2.7: {} + '@oxfmt/binding-linux-arm-gnueabihf@0.36.0': + optional: true - remark-directive@3.0.1: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-directive: 3.1.0 - micromark-extension-directive: 3.0.2 - unified: 11.0.5 - transitivePeerDependencies: - - supports-color + '@oxfmt/binding-linux-arm-musleabihf@0.36.0': + optional: true - remark-emoji@4.0.1: - dependencies: - '@types/mdast': 4.0.4 - emoticon: 4.1.0 - mdast-util-find-and-replace: 3.0.2 - node-emoji: 2.2.0 - unified: 11.0.5 + '@oxfmt/binding-linux-arm64-gnu@0.36.0': + optional: true - remark-frontmatter@5.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-frontmatter: 2.0.1 - micromark-extension-frontmatter: 2.0.0 - unified: 11.0.5 - transitivePeerDependencies: - - supports-color + '@oxfmt/binding-linux-arm64-musl@0.36.0': + optional: true - remark-gfm@4.0.1: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-gfm: 3.1.0 - micromark-extension-gfm: 3.0.0 - remark-parse: 11.0.0 - remark-stringify: 11.0.0 - unified: 11.0.5 - transitivePeerDependencies: - - supports-color + '@oxfmt/binding-linux-ppc64-gnu@0.36.0': + optional: true - remark-mdx@3.1.1: - dependencies: - mdast-util-mdx: 3.0.0 - micromark-extension-mdxjs: 3.0.0 - transitivePeerDependencies: - - supports-color + '@oxfmt/binding-linux-riscv64-gnu@0.36.0': + optional: true - remark-parse@11.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.2 - micromark-util-types: 2.0.2 - unified: 11.0.5 - transitivePeerDependencies: - - supports-color + '@oxfmt/binding-linux-riscv64-musl@0.36.0': + optional: true - remark-rehype@11.1.2: - dependencies: - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - mdast-util-to-hast: 13.2.1 - unified: 11.0.5 - vfile: 6.0.3 + '@oxfmt/binding-linux-s390x-gnu@0.36.0': + optional: true - remark-stringify@11.0.0: - dependencies: - '@types/mdast': 4.0.4 - mdast-util-to-markdown: 2.1.2 - unified: 11.0.5 + '@oxfmt/binding-linux-x64-gnu@0.36.0': + optional: true - renderkid@3.0.0: - dependencies: - css-select: 4.3.0 - dom-converter: 0.2.0 - htmlparser2: 6.1.0 - lodash: 4.17.23 - strip-ansi: 6.0.1 + '@oxfmt/binding-linux-x64-musl@0.36.0': + optional: true - repeat-string@1.6.1: {} + '@oxfmt/binding-openharmony-arm64@0.36.0': + optional: true - require-from-string@2.0.2: {} + '@oxfmt/binding-win32-arm64-msvc@0.36.0': + optional: true - require-like@0.1.2: {} + '@oxfmt/binding-win32-ia32-msvc@0.36.0': + optional: true - requires-port@1.0.0: {} + '@oxfmt/binding-win32-x64-msvc@0.36.0': + optional: true - resolve-alpn@1.2.1: {} + '@rollup/rollup-android-arm-eabi@4.59.0': + optional: true - resolve-from@4.0.0: {} + '@rollup/rollup-android-arm64@4.59.0': + optional: true - resolve-pathname@3.0.0: {} + '@rollup/rollup-darwin-arm64@4.59.0': + optional: true - resolve@1.22.11: - dependencies: - is-core-module: 2.16.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 + '@rollup/rollup-darwin-x64@4.59.0': + optional: true - responselike@3.0.0: - dependencies: - lowercase-keys: 3.0.0 + '@rollup/rollup-freebsd-arm64@4.59.0': + optional: true - retry@0.13.1: {} + '@rollup/rollup-freebsd-x64@4.59.0': + optional: true - reusify@1.1.0: {} + '@rollup/rollup-linux-arm-gnueabihf@4.59.0': + optional: true - rtlcss@4.3.0: - dependencies: - escalade: 3.2.0 - picocolors: 1.1.1 - postcss: 8.5.6 - strip-json-comments: 3.1.1 + '@rollup/rollup-linux-arm-musleabihf@4.59.0': + optional: true - run-applescript@7.1.0: {} + '@rollup/rollup-linux-arm64-gnu@4.59.0': + optional: true - run-parallel@1.2.0: - dependencies: - queue-microtask: 1.2.3 + '@rollup/rollup-linux-arm64-musl@4.59.0': + optional: true - safe-buffer@5.1.2: {} + '@rollup/rollup-linux-loong64-gnu@4.59.0': + optional: true - safe-buffer@5.2.1: {} + '@rollup/rollup-linux-loong64-musl@4.59.0': + optional: true - safer-buffer@2.1.2: {} + '@rollup/rollup-linux-ppc64-gnu@4.59.0': + optional: true - sax@1.4.3: {} + '@rollup/rollup-linux-ppc64-musl@4.59.0': + optional: true - scheduler@0.27.0: {} + '@rollup/rollup-linux-riscv64-gnu@4.59.0': + optional: true - schema-dts@1.1.5: {} + '@rollup/rollup-linux-riscv64-musl@4.59.0': + optional: true - schema-utils@3.3.0: - dependencies: - '@types/json-schema': 7.0.15 - ajv: 6.12.6 - ajv-keywords: 3.5.2(ajv@6.12.6) + '@rollup/rollup-linux-s390x-gnu@4.59.0': + optional: true - schema-utils@4.3.3: - dependencies: - '@types/json-schema': 7.0.15 - ajv: 8.17.1 - ajv-formats: 2.1.1(ajv@8.17.1) - ajv-keywords: 5.1.0(ajv@8.17.1) + '@rollup/rollup-linux-x64-gnu@4.59.0': + optional: true - search-insights@2.17.3: {} + '@rollup/rollup-linux-x64-musl@4.59.0': + optional: true - section-matter@1.0.0: - dependencies: - extend-shallow: 2.0.1 - kind-of: 6.0.3 + '@rollup/rollup-openbsd-x64@4.59.0': + optional: true - select-hose@2.0.0: {} + '@rollup/rollup-openharmony-arm64@4.59.0': + optional: true - selfsigned@2.4.1: - dependencies: - '@types/node-forge': 1.3.14 - node-forge: 1.3.3 + '@rollup/rollup-win32-arm64-msvc@4.59.0': + optional: true - semver-diff@4.0.0: - dependencies: - semver: 7.7.3 + '@rollup/rollup-win32-ia32-msvc@4.59.0': + optional: true - semver@6.3.1: {} + '@rollup/rollup-win32-x64-gnu@4.59.0': + optional: true - semver@7.7.3: {} + '@rollup/rollup-win32-x64-msvc@4.59.0': + optional: true - send@0.19.0: + '@shikijs/core@2.5.0': dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 2.0.0 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color + '@shikijs/engine-javascript': 2.5.0 + '@shikijs/engine-oniguruma': 2.5.0 + '@shikijs/types': 2.5.0 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.5 - send@0.19.1: + '@shikijs/engine-javascript@2.5.0': dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 2.0.0 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color + '@shikijs/types': 2.5.0 + '@shikijs/vscode-textmate': 10.0.2 + oniguruma-to-es: 3.1.1 - serialize-javascript@6.0.2: + '@shikijs/engine-oniguruma@2.5.0': dependencies: - randombytes: 2.1.0 + '@shikijs/types': 2.5.0 + '@shikijs/vscode-textmate': 10.0.2 - serve-handler@6.1.6: + '@shikijs/langs@2.5.0': dependencies: - bytes: 3.0.0 - content-disposition: 0.5.2 - mime-types: 2.1.18 - minimatch: 3.1.2 - path-is-inside: 1.0.2 - path-to-regexp: 3.3.0 - range-parser: 1.2.0 - - serve-index@1.9.1: + '@shikijs/types': 2.5.0 + + '@shikijs/themes@2.5.0': dependencies: - accepts: 1.3.8 - batch: 0.6.1 - debug: 2.6.9 - escape-html: 1.0.3 - http-errors: 1.6.3 - mime-types: 2.1.35 - parseurl: 1.3.3 - transitivePeerDependencies: - - supports-color + '@shikijs/types': 2.5.0 - serve-static@1.16.2: + '@shikijs/transformers@2.5.0': dependencies: - encodeurl: 2.0.0 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.19.0 - transitivePeerDependencies: - - supports-color + '@shikijs/core': 2.5.0 + '@shikijs/types': 2.5.0 - set-function-length@1.2.2: + '@shikijs/types@2.5.0': dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.3.0 - gopd: 1.2.0 - has-property-descriptors: 1.0.2 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 - setprototypeof@1.1.0: {} + '@shikijs/vscode-textmate@10.0.2': {} - setprototypeof@1.2.0: {} + '@types/estree@1.0.8': {} - shallow-clone@3.0.1: + '@types/hast@3.0.4': dependencies: - kind-of: 6.0.3 + '@types/unist': 3.0.3 - shallowequal@1.1.0: {} + '@types/linkify-it@5.0.0': {} - shebang-command@2.0.0: + '@types/markdown-it@14.1.2': dependencies: - shebang-regex: 3.0.0 + '@types/linkify-it': 5.0.0 + '@types/mdurl': 2.0.0 - shebang-regex@3.0.0: {} - - shell-quote@1.8.3: {} - - side-channel-list@1.0.0: + '@types/mdast@4.0.4': dependencies: - es-errors: 1.3.0 - object-inspect: 1.13.4 + '@types/unist': 3.0.3 - side-channel-map@1.0.1: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - object-inspect: 1.13.4 + '@types/mdurl@2.0.0': {} - side-channel-weakmap@1.0.2: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - object-inspect: 1.13.4 - side-channel-map: 1.0.1 + '@types/unist@3.0.3': {} - side-channel@1.1.0: - dependencies: - es-errors: 1.3.0 - object-inspect: 1.13.4 - side-channel-list: 1.0.0 - side-channel-map: 1.0.1 - side-channel-weakmap: 1.0.2 + '@types/web-bluetooth@0.0.21': {} - signal-exit@3.0.7: {} + '@ungap/structured-clone@1.3.0': {} - sirv@2.0.4: + '@vitejs/plugin-vue@5.2.4(vite@5.4.21)(vue@3.5.29)': dependencies: - '@polka/url': 1.0.0-next.29 - mrmime: 2.0.1 - totalist: 3.0.1 - - sisteransi@1.0.5: {} + vite: 5.4.21 + vue: 3.5.29 - sitemap@7.1.2: + '@vue/compiler-core@3.5.29': dependencies: - '@types/node': 17.0.45 - '@types/sax': 1.2.7 - arg: 5.0.2 - sax: 1.4.3 + '@babel/parser': 7.29.0 + '@vue/shared': 3.5.29 + entities: 7.0.1 + estree-walker: 2.0.2 + source-map-js: 1.2.1 - skin-tone@2.0.0: + '@vue/compiler-dom@3.5.29': dependencies: - unicode-emoji-modifier-base: 1.0.0 + '@vue/compiler-core': 3.5.29 + '@vue/shared': 3.5.29 - slash@3.0.0: {} + '@vue/compiler-sfc@3.5.29': + dependencies: + '@babel/parser': 7.29.0 + '@vue/compiler-core': 3.5.29 + '@vue/compiler-dom': 3.5.29 + '@vue/compiler-ssr': 3.5.29 + '@vue/shared': 3.5.29 + estree-walker: 2.0.2 + magic-string: 0.30.21 + postcss: 8.5.8 + source-map-js: 1.2.1 - slash@4.0.0: {} + '@vue/compiler-ssr@3.5.29': + dependencies: + '@vue/compiler-dom': 3.5.29 + '@vue/shared': 3.5.29 - snake-case@3.0.4: + '@vue/devtools-api@7.7.9': dependencies: - dot-case: 3.0.4 - tslib: 2.8.1 + '@vue/devtools-kit': 7.7.9 - sockjs@0.3.24: + '@vue/devtools-kit@7.7.9': dependencies: - faye-websocket: 0.11.4 - uuid: 8.3.2 - websocket-driver: 0.7.4 + '@vue/devtools-shared': 7.7.9 + birpc: 2.9.0 + hookable: 5.5.3 + mitt: 3.0.1 + perfect-debounce: 1.0.0 + speakingurl: 14.0.1 + superjson: 2.2.6 - sort-css-media-queries@2.2.0: {} + '@vue/devtools-shared@7.7.9': + dependencies: + rfdc: 1.4.1 - source-map-js@1.2.1: {} + '@vue/reactivity@3.5.29': + dependencies: + '@vue/shared': 3.5.29 - source-map-support@0.5.21: + '@vue/runtime-core@3.5.29': dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 + '@vue/reactivity': 3.5.29 + '@vue/shared': 3.5.29 - source-map@0.6.1: {} + '@vue/runtime-dom@3.5.29': + dependencies: + '@vue/reactivity': 3.5.29 + '@vue/runtime-core': 3.5.29 + '@vue/shared': 3.5.29 + csstype: 3.2.3 - source-map@0.7.6: {} + '@vue/server-renderer@3.5.29(vue@3.5.29)': + dependencies: + '@vue/compiler-ssr': 3.5.29 + '@vue/shared': 3.5.29 + vue: 3.5.29 - space-separated-tokens@2.0.2: {} + '@vue/shared@3.5.29': {} - spdy-transport@3.0.0: + '@vueuse/core@12.8.2': dependencies: - debug: 4.4.3 - detect-node: 2.1.0 - hpack.js: 2.1.6 - obuf: 1.1.2 - readable-stream: 3.6.2 - wbuf: 1.7.3 + '@types/web-bluetooth': 0.0.21 + '@vueuse/metadata': 12.8.2 + '@vueuse/shared': 12.8.2 + vue: 3.5.29 transitivePeerDependencies: - - supports-color + - typescript - spdy@4.0.2: + '@vueuse/integrations@12.8.2(focus-trap@7.8.0)': dependencies: - debug: 4.4.3 - handle-thing: 2.0.1 - http-deceiver: 1.2.7 - select-hose: 2.0.0 - spdy-transport: 3.0.0 + '@vueuse/core': 12.8.2 + '@vueuse/shared': 12.8.2 + vue: 3.5.29 + optionalDependencies: + focus-trap: 7.8.0 transitivePeerDependencies: - - supports-color - - sprintf-js@1.0.3: {} - - srcset@4.0.0: {} - - statuses@1.5.0: {} + - typescript - statuses@2.0.1: {} + '@vueuse/metadata@12.8.2': {} - statuses@2.0.2: {} + '@vueuse/shared@12.8.2': + dependencies: + vue: 3.5.29 + transitivePeerDependencies: + - typescript - std-env@3.10.0: {} + algoliasearch@5.49.1: + dependencies: + '@algolia/abtesting': 1.15.1 + '@algolia/client-abtesting': 5.49.1 + '@algolia/client-analytics': 5.49.1 + '@algolia/client-common': 5.49.1 + '@algolia/client-insights': 5.49.1 + '@algolia/client-personalization': 5.49.1 + '@algolia/client-query-suggestions': 5.49.1 + '@algolia/client-search': 5.49.1 + '@algolia/ingestion': 1.49.1 + '@algolia/monitoring': 1.49.1 + '@algolia/recommend': 5.49.1 + '@algolia/requester-browser-xhr': 5.49.1 + '@algolia/requester-fetch': 5.49.1 + '@algolia/requester-node-http': 5.49.1 + + birpc@2.9.0: {} - string-width@4.2.3: - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 + ccount@2.0.1: {} - string-width@5.1.2: - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.2 + character-entities-html4@2.1.0: {} - string_decoder@1.1.1: - dependencies: - safe-buffer: 5.1.2 + character-entities-legacy@3.0.0: {} - string_decoder@1.3.0: - dependencies: - safe-buffer: 5.2.1 + comma-separated-tokens@2.0.3: {} - stringify-entities@4.0.4: + copy-anything@4.0.5: dependencies: - character-entities-html4: 2.1.0 - character-entities-legacy: 3.0.0 + is-what: 5.5.0 - stringify-object@3.3.0: - dependencies: - get-own-enumerable-property-symbols: 3.0.2 - is-obj: 1.0.1 - is-regexp: 1.0.0 + csstype@3.2.3: {} - strip-ansi@6.0.1: - dependencies: - ansi-regex: 5.0.1 + dequal@2.0.3: {} - strip-ansi@7.1.2: + devlop@1.1.0: dependencies: - ansi-regex: 6.2.2 + dequal: 2.0.3 - strip-bom-string@1.0.0: {} + emoji-regex-xs@1.0.0: {} - strip-final-newline@2.0.0: {} + entities@7.0.1: {} - strip-json-comments@2.0.1: {} + esbuild@0.21.5: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + + estree-walker@2.0.2: {} + + focus-trap@7.8.0: + dependencies: + tabbable: 6.4.0 - strip-json-comments@3.1.1: {} + fsevents@2.3.3: + optional: true - style-to-js@1.1.21: + hast-util-to-html@9.0.5: dependencies: - style-to-object: 1.0.14 + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.1 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.4 + zwitch: 2.0.4 - style-to-object@1.0.14: + hast-util-whitespace@3.0.0: dependencies: - inline-style-parser: 0.2.7 + '@types/hast': 3.0.4 - stylehacks@6.1.1(postcss@8.5.6): - dependencies: - browserslist: 4.28.1 - postcss: 8.5.6 - postcss-selector-parser: 6.1.2 + hookable@5.5.3: {} - supports-color@7.2.0: - dependencies: - has-flag: 4.0.0 + html-void-elements@3.0.0: {} - supports-color@8.1.1: - dependencies: - has-flag: 4.0.0 + is-what@5.5.0: {} - supports-preserve-symlinks-flag@1.0.0: {} + magic-string@0.30.21: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 - svg-parser@2.0.4: {} + mark.js@8.11.1: {} - svgo@3.3.2: + mdast-util-to-hast@13.2.1: dependencies: - '@trysound/sax': 0.2.0 - commander: 7.2.0 - css-select: 5.2.2 - css-tree: 2.3.1 - css-what: 6.2.2 - csso: 5.0.5 - picocolors: 1.1.1 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.3.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.1 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.1.0 + vfile: 6.0.3 - swr@2.3.7(react@19.2.1): + micromark-util-character@2.1.1: dependencies: - dequal: 2.0.3 - react: 19.2.1 - use-sync-external-store: 1.6.0(react@19.2.1) - - tapable@2.3.0: {} + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - terser-webpack-plugin@5.3.15(webpack@5.103.0): - dependencies: - '@jridgewell/trace-mapping': 0.3.31 - jest-worker: 27.5.1 - schema-utils: 4.3.3 - serialize-javascript: 6.0.2 - terser: 5.44.1 - webpack: 5.103.0 - - terser@5.44.1: - dependencies: - '@jridgewell/source-map': 0.3.11 - acorn: 8.15.0 - commander: 2.20.3 - source-map-support: 0.5.21 + micromark-util-encode@2.0.1: {} - thingies@2.5.0(tslib@2.8.1): + micromark-util-sanitize-uri@2.0.1: dependencies: - tslib: 2.8.1 + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 - throttleit@2.1.0: {} + micromark-util-symbol@2.0.1: {} - thunky@1.1.0: {} + micromark-util-types@2.0.2: {} - tiny-invariant@1.3.3: {} + minisearch@7.2.0: {} - tiny-warning@1.0.3: {} + mitt@3.0.1: {} - tinypool@1.1.1: {} + nanoid@3.3.11: {} - to-regex-range@5.0.1: + oniguruma-to-es@3.1.1: dependencies: - is-number: 7.0.0 + emoji-regex-xs: 1.0.0 + regex: 6.1.0 + regex-recursion: 6.0.2 - toidentifier@1.0.1: {} + oxfmt@0.36.0: + dependencies: + tinypool: 2.1.0 + optionalDependencies: + '@oxfmt/binding-android-arm-eabi': 0.36.0 + '@oxfmt/binding-android-arm64': 0.36.0 + '@oxfmt/binding-darwin-arm64': 0.36.0 + '@oxfmt/binding-darwin-x64': 0.36.0 + '@oxfmt/binding-freebsd-x64': 0.36.0 + '@oxfmt/binding-linux-arm-gnueabihf': 0.36.0 + '@oxfmt/binding-linux-arm-musleabihf': 0.36.0 + '@oxfmt/binding-linux-arm64-gnu': 0.36.0 + '@oxfmt/binding-linux-arm64-musl': 0.36.0 + '@oxfmt/binding-linux-ppc64-gnu': 0.36.0 + '@oxfmt/binding-linux-riscv64-gnu': 0.36.0 + '@oxfmt/binding-linux-riscv64-musl': 0.36.0 + '@oxfmt/binding-linux-s390x-gnu': 0.36.0 + '@oxfmt/binding-linux-x64-gnu': 0.36.0 + '@oxfmt/binding-linux-x64-musl': 0.36.0 + '@oxfmt/binding-openharmony-arm64': 0.36.0 + '@oxfmt/binding-win32-arm64-msvc': 0.36.0 + '@oxfmt/binding-win32-ia32-msvc': 0.36.0 + '@oxfmt/binding-win32-x64-msvc': 0.36.0 + + perfect-debounce@1.0.0: {} - totalist@3.0.1: {} + picocolors@1.1.1: {} - tree-dump@1.1.0(tslib@2.8.1): + postcss@8.5.8: dependencies: - tslib: 2.8.1 + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 - trim-lines@3.0.1: {} + preact@10.28.4: {} - trough@2.2.0: {} + property-information@7.1.0: {} - tslib@2.8.1: {} + regex-recursion@6.0.2: + dependencies: + regex-utilities: 2.3.0 - type-fest@0.21.3: {} + regex-utilities@2.3.0: {} - type-fest@1.4.0: {} + regex@6.1.0: + dependencies: + regex-utilities: 2.3.0 - type-fest@2.19.0: {} + rfdc@1.4.1: {} - type-is@1.6.18: + rollup@4.59.0: dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.59.0 + '@rollup/rollup-android-arm64': 4.59.0 + '@rollup/rollup-darwin-arm64': 4.59.0 + '@rollup/rollup-darwin-x64': 4.59.0 + '@rollup/rollup-freebsd-arm64': 4.59.0 + '@rollup/rollup-freebsd-x64': 4.59.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.59.0 + '@rollup/rollup-linux-arm-musleabihf': 4.59.0 + '@rollup/rollup-linux-arm64-gnu': 4.59.0 + '@rollup/rollup-linux-arm64-musl': 4.59.0 + '@rollup/rollup-linux-loong64-gnu': 4.59.0 + '@rollup/rollup-linux-loong64-musl': 4.59.0 + '@rollup/rollup-linux-ppc64-gnu': 4.59.0 + '@rollup/rollup-linux-ppc64-musl': 4.59.0 + '@rollup/rollup-linux-riscv64-gnu': 4.59.0 + '@rollup/rollup-linux-riscv64-musl': 4.59.0 + '@rollup/rollup-linux-s390x-gnu': 4.59.0 + '@rollup/rollup-linux-x64-gnu': 4.59.0 + '@rollup/rollup-linux-x64-musl': 4.59.0 + '@rollup/rollup-openbsd-x64': 4.59.0 + '@rollup/rollup-openharmony-arm64': 4.59.0 + '@rollup/rollup-win32-arm64-msvc': 4.59.0 + '@rollup/rollup-win32-ia32-msvc': 4.59.0 + '@rollup/rollup-win32-x64-gnu': 4.59.0 + '@rollup/rollup-win32-x64-msvc': 4.59.0 + fsevents: 2.3.3 - typedarray-to-buffer@3.1.5: - dependencies: - is-typedarray: 1.0.0 + search-insights@2.17.3: {} - typescript@5.6.3: {} + shiki@2.5.0: + dependencies: + '@shikijs/core': 2.5.0 + '@shikijs/engine-javascript': 2.5.0 + '@shikijs/engine-oniguruma': 2.5.0 + '@shikijs/langs': 2.5.0 + '@shikijs/themes': 2.5.0 + '@shikijs/types': 2.5.0 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 - undici-types@7.16.0: {} + source-map-js@1.2.1: {} - unicode-canonical-property-names-ecmascript@2.0.1: {} + space-separated-tokens@2.0.2: {} - unicode-emoji-modifier-base@1.0.0: {} + speakingurl@14.0.1: {} - unicode-match-property-ecmascript@2.0.0: + stringify-entities@4.0.4: dependencies: - unicode-canonical-property-names-ecmascript: 2.0.1 - unicode-property-aliases-ecmascript: 2.2.0 + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 - unicode-match-property-value-ecmascript@2.2.1: {} + superjson@2.2.6: + dependencies: + copy-anything: 4.0.5 - unicode-property-aliases-ecmascript@2.2.0: {} + tabbable@6.4.0: {} - unified@11.0.5: - dependencies: - '@types/unist': 3.0.3 - bail: 2.0.2 - devlop: 1.1.0 - extend: 3.0.2 - is-plain-obj: 4.1.0 - trough: 2.2.0 - vfile: 6.0.3 + tinypool@2.1.0: {} - unique-string@3.0.0: - dependencies: - crypto-random-string: 4.0.0 + trim-lines@3.0.1: {} unist-util-is@6.0.1: dependencies: '@types/unist': 3.0.3 - unist-util-position-from-estree@2.0.0: - dependencies: - '@types/unist': 3.0.3 - unist-util-position@5.0.0: dependencies: '@types/unist': 3.0.3 @@ -11154,75 +1757,12 @@ snapshots: '@types/unist': 3.0.3 unist-util-is: 6.0.1 - unist-util-visit@5.0.0: + unist-util-visit@5.1.0: dependencies: '@types/unist': 3.0.3 unist-util-is: 6.0.1 unist-util-visit-parents: 6.0.2 - universalify@2.0.1: {} - - unpipe@1.0.0: {} - - update-browserslist-db@1.2.2(browserslist@4.28.1): - dependencies: - browserslist: 4.28.1 - escalade: 3.2.0 - picocolors: 1.1.1 - - update-notifier@6.0.2: - dependencies: - boxen: 7.1.1 - chalk: 5.6.2 - configstore: 6.0.0 - has-yarn: 3.0.0 - import-lazy: 4.0.0 - is-ci: 3.0.1 - is-installed-globally: 0.4.0 - is-npm: 6.1.0 - is-yarn-global: 0.4.1 - latest-version: 7.0.0 - pupa: 3.3.0 - semver: 7.7.3 - semver-diff: 4.0.0 - xdg-basedir: 5.1.0 - - uri-js@4.4.1: - dependencies: - punycode: 2.3.1 - - url-loader@4.1.1(file-loader@6.2.0(webpack@5.103.0))(webpack@5.103.0): - dependencies: - loader-utils: 2.0.4 - mime-types: 2.1.35 - schema-utils: 3.3.0 - webpack: 5.103.0 - optionalDependencies: - file-loader: 6.2.0(webpack@5.103.0) - - use-sync-external-store@1.6.0(react@19.2.1): - dependencies: - react: 19.2.1 - - util-deprecate@1.0.2: {} - - utila@0.4.0: {} - - utility-types@3.11.0: {} - - utils-merge@1.0.1: {} - - uuid@8.3.2: {} - - value-equal@1.0.1: {} - - vary@1.1.2: {} - - vfile-location@5.0.3: - dependencies: - '@types/unist': 3.0.3 - vfile: 6.0.3 - vfile-message@4.0.3: dependencies: '@types/unist': 3.0.3 @@ -11233,197 +1773,69 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - watchpack@2.4.4: - dependencies: - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - - wbuf@1.7.3: + vite@5.4.21: dependencies: - minimalistic-assert: 1.0.1 - - web-namespaces@2.0.1: {} - - webpack-bundle-analyzer@4.10.2: - dependencies: - '@discoveryjs/json-ext': 0.5.7 - acorn: 8.15.0 - acorn-walk: 8.3.4 - commander: 7.2.0 - debounce: 1.2.1 - escape-string-regexp: 4.0.0 - gzip-size: 6.0.0 - html-escaper: 2.0.2 - opener: 1.5.2 - picocolors: 1.1.1 - sirv: 2.0.4 - ws: 7.5.10 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - webpack-dev-middleware@7.4.5(webpack@5.103.0): - dependencies: - colorette: 2.0.20 - memfs: 4.51.1 - mime-types: 3.0.2 - on-finished: 2.4.1 - range-parser: 1.2.1 - schema-utils: 4.3.3 + esbuild: 0.21.5 + postcss: 8.5.8 + rollup: 4.59.0 optionalDependencies: - webpack: 5.103.0 + fsevents: 2.3.3 - webpack-dev-server@5.2.1(webpack@5.103.0): - dependencies: - '@types/bonjour': 3.5.13 - '@types/connect-history-api-fallback': 1.5.4 - '@types/express': 4.17.25 - '@types/express-serve-static-core': 4.19.7 - '@types/serve-index': 1.9.4 - '@types/serve-static': 1.15.10 - '@types/sockjs': 0.3.36 - '@types/ws': 8.18.1 - ansi-html-community: 0.0.8 - bonjour-service: 1.3.0 - chokidar: 3.6.0 - colorette: 2.0.20 - compression: 1.8.1 - connect-history-api-fallback: 2.0.0 - express: 4.22.1 - graceful-fs: 4.2.11 - http-proxy-middleware: 2.0.9(@types/express@4.17.25) - ipaddr.js: 2.3.0 - launch-editor: 2.12.0 - open: 10.2.0 - p-retry: 6.2.1 - schema-utils: 4.3.3 - selfsigned: 2.4.1 - serve-index: 1.9.1 - sockjs: 0.3.24 - spdy: 4.0.2 - webpack-dev-middleware: 7.4.5(webpack@5.103.0) - ws: 8.18.3 + vitepress@1.6.4(@algolia/client-search@5.49.1)(postcss@8.5.8)(search-insights@2.17.3): + dependencies: + '@docsearch/css': 3.8.2 + '@docsearch/js': 3.8.2(@algolia/client-search@5.49.1)(search-insights@2.17.3) + '@iconify-json/simple-icons': 1.2.72 + '@shikijs/core': 2.5.0 + '@shikijs/transformers': 2.5.0 + '@shikijs/types': 2.5.0 + '@types/markdown-it': 14.1.2 + '@vitejs/plugin-vue': 5.2.4(vite@5.4.21)(vue@3.5.29) + '@vue/devtools-api': 7.7.9 + '@vue/shared': 3.5.29 + '@vueuse/core': 12.8.2 + '@vueuse/integrations': 12.8.2(focus-trap@7.8.0) + focus-trap: 7.8.0 + mark.js: 8.11.1 + minisearch: 7.2.0 + shiki: 2.5.0 + vite: 5.4.21 + vue: 3.5.29 optionalDependencies: - webpack: 5.103.0 - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - utf-8-validate - - webpack-merge@5.10.0: - dependencies: - clone-deep: 4.0.1 - flat: 5.0.2 - wildcard: 2.0.1 - - webpack-merge@6.0.1: - dependencies: - clone-deep: 4.0.1 - flat: 5.0.2 - wildcard: 2.0.1 - - webpack-sources@3.3.3: {} - - webpack@5.103.0: - dependencies: - '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.8 - '@types/json-schema': 7.0.15 - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/wasm-edit': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - acorn: 8.15.0 - acorn-import-phases: 1.0.4(acorn@8.15.0) - browserslist: 4.28.1 - chrome-trace-event: 1.0.4 - enhanced-resolve: 5.18.3 - es-module-lexer: 1.7.0 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.1 - mime-types: 2.1.35 - neo-async: 2.6.2 - schema-utils: 4.3.3 - tapable: 2.3.0 - terser-webpack-plugin: 5.3.15(webpack@5.103.0) - watchpack: 2.4.4 - webpack-sources: 3.3.3 + postcss: 8.5.8 transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - - webpackbar@6.0.1(webpack@5.103.0): - dependencies: - ansi-escapes: 4.3.2 - chalk: 4.1.2 - consola: 3.4.2 - figures: 3.2.0 - markdown-table: 2.0.0 - pretty-time: 1.1.0 - std-env: 3.10.0 - webpack: 5.103.0 - wrap-ansi: 7.0.0 - - websocket-driver@0.7.4: - dependencies: - http-parser-js: 0.5.10 - safe-buffer: 5.2.1 - websocket-extensions: 0.1.4 - - websocket-extensions@0.1.4: {} - - which@2.0.2: - dependencies: - isexe: 2.0.0 - - widest-line@4.0.1: - dependencies: - string-width: 5.1.2 - - wildcard@2.0.1: {} - - wrap-ansi@7.0.0: - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - - wrap-ansi@8.1.0: - dependencies: - ansi-styles: 6.2.3 - string-width: 5.1.2 - strip-ansi: 7.1.2 - - write-file-atomic@3.0.3: - dependencies: - imurmurhash: 0.1.4 - is-typedarray: 1.0.0 - signal-exit: 3.0.7 - typedarray-to-buffer: 3.1.5 - - ws@7.5.10: {} - - ws@8.18.3: {} - - wsl-utils@0.1.0: - dependencies: - is-wsl: 3.1.0 - - xdg-basedir@5.1.0: {} + - '@algolia/client-search' + - '@types/node' + - '@types/react' + - async-validator + - axios + - change-case + - drauu + - fuse.js + - idb-keyval + - jwt-decode + - less + - lightningcss + - nprogress + - qrcode + - react + - react-dom + - sass + - sass-embedded + - search-insights + - sortablejs + - stylus + - sugarss + - terser + - typescript + - universal-cookie - xml-js@1.6.11: + vue@3.5.29: dependencies: - sax: 1.4.3 - - yallist@3.1.1: {} - - yocto-queue@1.2.2: {} - - zod@4.1.13: {} + '@vue/compiler-dom': 3.5.29 + '@vue/compiler-sfc': 3.5.29 + '@vue/runtime-dom': 3.5.29 + '@vue/server-renderer': 3.5.29(vue@3.5.29) + '@vue/shared': 3.5.29 zwitch@2.0.4: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 00000000..c5739b74 --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,2 @@ +ignoredBuiltDependencies: + - esbuild diff --git a/static/fonts/IBM/IBMPlexMono-Bold.ttf b/public/fonts/IBM/IBMPlexMono-Bold.ttf similarity index 100% rename from static/fonts/IBM/IBMPlexMono-Bold.ttf rename to public/fonts/IBM/IBMPlexMono-Bold.ttf diff --git a/static/fonts/IBM/IBMPlexMono-Light.ttf b/public/fonts/IBM/IBMPlexMono-Light.ttf similarity index 100% rename from static/fonts/IBM/IBMPlexMono-Light.ttf rename to public/fonts/IBM/IBMPlexMono-Light.ttf diff --git a/static/fonts/IBM/IBMPlexMono-Regular.ttf b/public/fonts/IBM/IBMPlexMono-Regular.ttf similarity index 100% rename from static/fonts/IBM/IBMPlexMono-Regular.ttf rename to public/fonts/IBM/IBMPlexMono-Regular.ttf diff --git a/static/fonts/IBM/IBMPlexMono-SemiBold.ttf b/public/fonts/IBM/IBMPlexMono-SemiBold.ttf similarity index 100% rename from static/fonts/IBM/IBMPlexMono-SemiBold.ttf rename to public/fonts/IBM/IBMPlexMono-SemiBold.ttf diff --git a/static/fonts/Satoshi/Satoshi-Variable.ttf b/public/fonts/Satoshi/Satoshi-Variable.ttf similarity index 100% rename from static/fonts/Satoshi/Satoshi-Variable.ttf rename to public/fonts/Satoshi/Satoshi-Variable.ttf diff --git a/sidebars.ts b/sidebars.ts deleted file mode 100644 index 994d1dcd..00000000 --- a/sidebars.ts +++ /dev/null @@ -1,358 +0,0 @@ -import type { SidebarsConfig } from "@docusaurus/plugin-content-docs"; - -const sidebars: SidebarsConfig = { - tutorialSidebar: [ - { - type: "category", - collapsed: false, - label: "Get started", - items: [ - "introduction/home", - "introduction/quickstart", - "introduction/core-concepts", - { - type: "category", - label: "Tutorials", - link: { type: "doc", id: "introduction/tutorials/overview" }, - items: [ - "introduction/tutorials/create-workspace", - "introduction/tutorials/invite-members", - "introduction/tutorials/create-project", - "introduction/tutorials/create-work-items", - "introduction/tutorials/collaborate-on-work-items", - "introduction/tutorials/organize-and-view-work", - "introduction/tutorials/plan-and-create-cycles", - "introduction/tutorials/create-pages", - ], - }, - { - type: "link", - label: "Download Plane", - href: "https://plane.so/download", - }, - { - type: "link", - label: "Self-host Plane", - href: "https://developers.plane.so/self-hosting/overview", - } - ], - }, - { - type: "category", - collapsed: false, - label: "Workspace management", - items: [ - { - type: "category", - label: "Workspaces", - items: [ - "core-concepts/workspaces/overview", - "workspaces-and-users/search-workspace", - "core-concepts/account/overview", - "core-concepts/power-k", - "workspaces-and-users/customize-navigation" - ], - }, - - { - type: "category", - label: "Members", - items: [ - "core-concepts/workspaces/members", - "workspaces-and-users/roles", - "workspaces-and-users/permissions", - ], - }, - { - type: "category", - label: "Authentication", - items: [ - "authentication/sso", - { - type: 'link', - label: 'Self-hosted authentication', - href: 'https://developers.plane.so/self-hosting/govern/authentication', - }, - ], - }, - { - type: "category", - label: "Billing and plans", - items: [ - "workspaces-and-users/upgrade-plan", - "workspaces-and-users/manage-licenses", - "workspaces-and-users/add-remove-seats", - "workspaces-and-users/billing-and-plans", - ], - }, - "core-concepts/account/settings", - ], - }, - { - type: "category", - collapsed: false, - label: "Project management", - items: [ - { - type: "category", - label: "Projects", - items: [ - "core-concepts/projects/overview", - "core-concepts/projects/manage-project-members", - "core-concepts/deploy" - ], - }, - "core-concepts/projects/project-states", - "core-concepts/issues/states", - "core-concepts/projects/project-overview", - "templates/project-templates", - - ], - }, - { - type: "category", - collapsed: false, - label: "Work item management", - items: [ - { - type: "category", - label: "Work Items", - items: [ - "core-concepts/issues/overview", - "core-concepts/issues/properties", - "core-concepts/issues/work-item-url", - "core-concepts/drafts", - ], - }, - - "core-concepts/issues/issue-types", - "templates/work-item-templates", - "core-concepts/projects/recurring-work-items", - ], - }, - { - type: "category", - collapsed: false, - label: "Planning and organization", - items: [ - "core-concepts/issues/labels", - "core-concepts/cycles", - "core-concepts/modules", - "core-concepts/issues/epics", - "core-concepts/issues/timeline-dependency", - "core-concepts/projects/initiatives", - "core-concepts/workspaces/teamspaces", - "core-concepts/projects/milestones", - "core-concepts/stickies", - ], - }, - - { - type: "category", - collapsed: false, - label: "Views and layouts", - items: [ - "core-concepts/issues/layouts", - "core-concepts/issues/visualise_filter", - "core-concepts/issues/display-options", - "core-concepts/views", - "your-work", - ], - }, - { - type: "category", - collapsed: false, - label: "Knowledge management", - items: [ - { - type: "category", - label: "Pages", - items: [ - "core-concepts/pages/overview", - "core-concepts/pages/editor-blocks", - ], - }, - "core-concepts/pages/wiki", - "core-concepts/pages/nested-pages", - "templates/page-templates", - ], - }, - { - type: "category", - collapsed: false, - label: "Advanced management", - items: [ - "core-concepts/issues/estimates", - "core-concepts/issues/bulk-ops", - "core-concepts/issues/time-tracking", - "workflows-and-approvals/workflows", - "automations/custom-automations", - ], - }, - { - type: "category", - collapsed: false, - label: "Collaboration and communication", - items: [ - "communication-and-collaboration/project-updates", - "communication-and-collaboration/comments-and-activity", - "core-concepts/pages/inline-comments", - "core-concepts/inbox", - ], - }, - { - type: "category", - collapsed: false, - label: "Intake and customers", - items: [ - "intake/overview", - "core-concepts/intake", - "intake/intake-forms", - "intake/intake-email", - "customers", - ], - }, - { - type: "category", - collapsed: false, - label: "Analytics and reporting", - items: [ - "core-concepts/analytics", - "dashboards", - ], - }, - { - type: "category", - collapsed: false, - label: "Integrations", - items: [ - { - type: "category", - label: "Native integrations", - collapsed: false, - link: { type: "doc", id: "integrations/about" }, - items: [ - "integrations/draw-io", - "integrations/github", - "integrations/gitlab", - "integrations/sentry", - "integrations/slack", - ], - }, - { - type: "category", - label: "Custom integrations", - items: [ - { - type: "link", - label: "Build a Plane app", - href: "https://developers.plane.so/dev-tools/build-plane-app", - }, - { - type: "link", - label: "API reference", - href: "https://developers.plane.so/api-reference/introduction", - }, - { - type: "link", - label: "Webhooks", - href: "https://developers.plane.so/dev-tools/intro-webhooks", - }, - ], - }, - ], - }, - - { - type: "category", - collapsed: false, - label: "Import and export", - items: [ - { - type: "category", - collapsed: false, - label: "Import", - link: { type: "doc", id: "importers/overview"}, - items: [ - "importers/asana", - "importers/confluence", - "importers/clickup", - "importers/csv", - "importers/jira", - "importers/linear", - "importers/notion", - ], - }, - "core-concepts/export", - ], - }, - - { - type: "category", - collapsed: false, - label: "AI", - items: [ - "ai/pi-chat", - "ai/plane-ai-credits", - { - type: "link", - label: "MCP Server", - href: "https://developers.plane.so/dev-tools/mcp-server", - } - ], - }, - { - type: "category", - collapsed: false, - label: "Devices", - items: ["devices/mobile"], - }, - { - type: "category", - collapsed: false, - label: "Support and resources", - items: [ - "support/get-help", - "support/keyboard-shortcuts", - { - type: "category", - label: "Resources", - items: [ - { - type: "link", - label: "Developer docs", - href: "https://developers.plane.so", - }, - { - type: "link", - label: "Blog", - href: "https://plane.so/blog", - }, - { - type: "link", - label: "Templates library", - href: "https://plane.so/templates", - }, - { - type: "link", - label: "Integrations marketplace", - href: "https://plane.so/marketplace/integrations", - }, - ], - }, - { - type: "link", - label: "Changelog", - href: "https://plane.so/changelog", - }, - { - type: "link", - label: "System status", - href: "https://status.plane.so/", - }, - ], - }, - ], -}; - -export default sidebars; diff --git a/src/components/Card.tsx b/src/components/Card.tsx deleted file mode 100644 index dc5126db..00000000 --- a/src/components/Card.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import React from "react"; -import * as Icons from "react-icons/fa"; - -export const Card = ({ icon, svg, title, children, href }) => { - const IconComponent = Icons[icon]; - - // Wrapping the card content with an tag if href is provided - const CardContent = ( - <> -
- {svg ? svg : IconComponent ? : null} -
-

{title}

-

{children}

- - ); - - return href ? ( -
- {CardContent} - - ) : ( - CardContent - ); -}; diff --git a/src/components/CardGroup.tsx b/src/components/CardGroup.tsx deleted file mode 100644 index c40cf811..00000000 --- a/src/components/CardGroup.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import React from "react"; - -export const CardGroup = ({ cols, children }) => { - return ( -
- {React.Children.map(children, (child, index) => ( -
- {child} -
- ))} -
- ); -}; diff --git a/src/components/Tags.tsx b/src/components/Tags.tsx deleted file mode 100644 index a8eaffaa..00000000 --- a/src/components/Tags.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import React from "react"; - -function Tags({ tags }) { - return ( -
- {tags.map((tag, index) => - tag && tag.name ? ( - - {tag.link ? ( - - {tag.name} - - ) : ( - {tag.name} - )} - - ) : null - )} -
- ); -} - -export default Tags; diff --git a/src/components/index.ts b/src/components/index.ts deleted file mode 100644 index 216ca05b..00000000 --- a/src/components/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from "./Card"; -export * from "./CardGroup"; -export * from "./Tags"; diff --git a/src/css/custom.css b/src/css/custom.css deleted file mode 100644 index c2a058cb..00000000 --- a/src/css/custom.css +++ /dev/null @@ -1,1035 +0,0 @@ -/** - * Any CSS included here will be global. The classic template - * bundles Infima by default. Infima is a CSS framework designed to - * work well for content-centric websites. - */ - -/* You can override the default Infima variables here. */ -:root { - --ifm-color-primary: #006399; - --ifm-color-primary-dark: #1b47c2; /* Darker shade */ - --ifm-color-primary-darker: #1941b1; /* Even darker */ - --ifm-color-primary-darkest: #153693; /* Darkest */ - --ifm-color-primary-light: #2257ed; /* Lighter shade */ - --ifm-color-primary-lighter: #3e6ef0; /* Even lighter */ - --ifm-color-primary-lightest: #557ef2; /* Lightest */ - --ifm-code-font-size: 95%; - --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); -} - -/* For readability concerns, you should choose a lighter palette in dark mode. */ -[data-theme="dark"] { - --ifm-color-primary: #2690C9; - --ifm-color-primary-dark: #1b47c2; /* Darker shade */ - --ifm-color-primary-darker: #1941b1; /* Even darker */ - --ifm-color-primary-darkest: #153693; /* Darkest */ - --ifm-color-primary-light: #2257ed; /* Lighter shade */ - --ifm-color-primary-lighter: #3e6ef0; /* Even lighter */ - --ifm-color-primary-lightest: #557ef2; /* Lightest */ - --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); -} - -.navbar__logo img { - width: 120px; - height: auto; -} -@media (max-width: 996px) { - .navbar__inner { - align-items: center !important; - display: flex !important; - } - .navbar__logo { - display: flex; - align-items: center; - height: 48px; /* or the height of your navbar */ - } - .navbar__logo img { - height: auto; /* adjust as needed for your logo */ - width: 100px; - } -} - -@media (min-width: 1536px) { - body, - .navbar { - display: flex; - flex-direction: row; - justify-content: center; - align-items: start; - } -} - -[data-theme="light"] body, -[data-theme="light"] .navbar { - background-color: rgb(250 250 250); -} - -[data-theme="dark"] .navbar { - background-color: #1b1b1d; -} - -.menu__list li:last-of-type { - -webkit-padding-after: 1.5rem; - padding-block-end: 0.5rem; -} - -.theme-doc-sidebar-item-category-level-1 > .menu__list-item-collapsible > .menu__link--sublist { - margin-bottom: 6px; - font-size: 14px !important; - font-weight: 600; - line-height: 20px; - color: #213547; -} - -[data-theme="dark"] .theme-doc-sidebar-item-category-level-1 > .menu__list-item-collapsible > .menu__link--sublist { - color: rgb(255, 255, 255, 0.87); -} - -[data-theme="dark"] .menu__link { - color: rgb(235, 235, 235, 0.6); - font-size: 13px; - font-weight: 500; - align-items: center; - display: flex; - letter-spacing: -0.01em; - line-height: 16px; - transition: opacity 0.2s ease-out; -} - -.menu__link { - font-size: 13px; - font-weight: 500; - align-items: center; - display: flex; - letter-spacing: -0.01em; - line-height: 16px; - transition: opacity 0.2s ease-out; - color: rgba(60, 60, 60, 0.7); -} -.menu__link--active:not(.menu__link--sublist) { - font-weight: 600; - transition: color 0.25s; - color: #006399; - font-size: 13px; - border-left-style: solid; - border-left-width: 4px; - padding-left: 8px !important; -} - -[data-theme="dark"] .menu__link--active:not(.menu__link--sublist) { - color: #2690C9; -} - -[data-theme="dark"] .breadcrumbs__item--active .breadcrumbs__link { - color: #2690C9; -} - -[data-theme="dark"] a{ - color: #2690C9; -} - -.menu__link--active:is(.theme-doc-sidebar-item-category-level-2 > .menu__list-item-collapsible > .menu__link--sublist) { - font-weight: 600; - transition: color 0.25s; - color: #006399; - font-size: 13px; - border-left-style: solid; - border-left-width: 4px; - padding-left: 8px !important; -} - -[data-theme="dark"] - .theme-doc-sidebar-item-category-level-2:has(> ul.menu__list > li > a.menu__link--active) - > .menu__list-item-collapsible - > a.menu__link { - border-left-style: none; - border-left-width: 0px; - color: rgb(235, 235, 235, 0.6); - font-size: 13px; - font-weight: 500; - align-items: center; - display: flex; - letter-spacing: -0.01em; - line-height: 16px; - transition: opacity 0.2s ease-out; - padding: 6px 12px !important; -} - -.theme-doc-sidebar-item-category-level-2:has(> ul.menu__list > li > a.menu__link--active) - > .menu__list-item-collapsible - > a.menu__link { - border-left-style: none; - border-left-width: 0px; - color: rgba(60, 60, 60, 0.7); - font-size: 13px; - font-weight: 500; - align-items: center; - display: flex; - letter-spacing: -0.01em; - line-height: 16px; - transition: opacity 0.2s ease-out; - padding: 6px 12px !important; -} - -[data-theme="dark"] .menu__link:not(.menu__link--active):hover { - color: rgb(255, 255, 255); - font-size: 13px; - font-weight: 600; - transition: color 0.5s; -} - -[data-theme="dark"] - .theme-doc-sidebar-item-category-level-2:has(> ul.menu__list > li > a.menu__link--active) - > .menu__list-item-collapsible - > a.menu__link:hover { - color: rgb(255, 255, 255); - font-size: 13px; - font-weight: 600; - transition: color 0.5s; -} - -.theme-doc-sidebar-item-category-level-2:has(> ul.menu__list > li > a.menu__link--active) - > .menu__list-item-collapsible - > a.menu__link:hover { - color: #213447; - font-size: 13px; - font-weight: 600; - transition: color 0.5s; -} - -.menu__link:not(.menu__link--active):hover { - color: #213447; - font-size: 13px; - font-weight: 600; - transition: color 0.5s; -} - -.theme-doc-sidebar-container { - margin-right: 2rem; -} - -.theme-doc-sidebar-menu .menu__list-item .menu__caret:before, -.theme-doc-sidebar-menu .menu__list-item .menu__link--sublist:after { - background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyIDEwIDggNmwtNCA0IiBzdHJva2U9IiMxQjI3MzgiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4=) - 50% no-repeat; - height: 1.5rem; - min-height: 29.5px; - min-width: 1.5rem; - width: 1.5rem; - background-size: 12px 12px; -} - -.theme-doc-sidebar-item-category-level-1 - > .menu__list-item-collapsible - > .menu__link--sublist.theme-doc-sidebar-menu - .menu__list-item - .menu__caret:before, -.theme-doc-sidebar-menu .menu__list-item .menu__link--sublist:after { - background: none; - height: 1.5rem; - min-height: 29.5px; - min-width: 1.5rem; - width: 1.5rem; -} - -.theme-doc-sidebar-item-category-level-3 - > .menu__list-item-collapsible - > .menu__link--sublist.theme-doc-sidebar-menu - .menu__list-item - .menu__caret:before, -.theme-doc-sidebar-menu .menu__list-item .menu__link--sublist:after { - background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyIDEwIDggNmwtNCA0IiBzdHJva2U9IiMxQjI3MzgiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4=) - 50% no-repeat; - height: 1.5rem; - min-height: 29.5px; - min-width: 1.5rem; - width: 1.5rem; - margin-right: -5px; - background-size: 12px 12px; -} - -/* -.theme-doc-sidebar-item-category-level-2>.menu__list-item-collapsible>.menu__link--sublist { - margin-bottom: -6px; - margin-top: -6px; -} - -.theme-doc-sidebar-item-category-level-3>.menu__list-item-collapsible>.menu__link--sublist { - margin-bottom: -6px; - margin-top: -6px; -} - -.theme-doc-sidebar-item-category-level-4>.menu__list-item-collapsible>.menu__link--sublist { - margin-bottom: -6px; - margin-top: -6px; -} -*/ - -.menu__caret { - padding: 0em 0.375em 0em 0.75em !important; -} - -[class^="sidebar_"] { - -webkit-padding-before: 1rem; - overflow-y: auto; - padding-block-start: 1rem; - position: static; - padding-inline-end: 0.5em; - padding-inline-start: 0.5em; -} - -[class^="sidebar_"] > .menu { - -webkit-padding-after: 2rem; - overflow-x: initial; - padding: 0; - padding-block-end: 2rem; -} - -.menu__list { - display: block !important; - margin: 0; - transition: height 0.35s cubic-bezier(0.36, 0.66, 0.04, 1) 25ms !important; - will-change: auto !important; -} - -h1 { - font-size: 2rem; - line-height: 120%; -} -h2 { - font-size: 1.5rem; - line-height: 140%; -} -h3 { - font-size: 1.25rem; - line-height: 140%; -} - -h4{ - line-height: 140%; -} - -h5{ - line-height: 140%; -} - -h6{ - line-height: 140%; -} - - -#__docusaurus > nav > div.navbar__inner > div.navbar__items.navbar__items--right > a:nth-child(3) { - background-color: #006399; - border-radius: 8px; - color: #f3f5f7; - font-size: 0.75rem; - font-weight: 500; - margin-left: 0.5rem; - margin-right: 0.5rem; - padding: 0.375rem 1rem 0.375rem 1rem; - text-transform: capitalize; - white-space: nowrap; - line-height: 1.25rem; -} - -[data-theme="dark"] #__docusaurus > nav > div.navbar__inner > div.navbar__items.navbar__items--right > a:nth-child(3) { - background-color: #2690C9; -} - -#__docusaurus > nav > div.navbar__inner > div.navbar__items.navbar__items--right > a > svg { - display: none; -} - -.navbar--github-link { - width: 32px; - height: 32px; - padding: 6px; - margin-right: 20px; - margin-left: 6px; - border-radius: 50%; - transition: background var(--ifm-transition-fast); -} - -.navbar--github-link:hover { - background: var(--ifm-color-emphasis-200); -} - -.navbar--github-link:before { - content: ""; - height: 100%; - display: block; - background: url("data:image/svg+xml,%3Csvg fill='%23474e52' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") - no-repeat; -} - -html[data-theme="dark"] .navbar--github-link:before { - background: url("data:image/svg+xml,%3Csvg fill='%239da5aa' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") - no-repeat; -} - -.navbar--discord-link { - width: 32px; - height: 32px; - padding: 6px; - margin-right: 6px; - margin-left: 6px; - border-radius: 50%; - transition: background var(--ifm-transition-fast); -} - -.navbar--discord-link:hover { - background: var(--ifm-color-emphasis-200); -} - -.navbar--discord-link:before { - content: ""; - height: 100%; - display: block; - background: url("data:image/svg+xml,%3Csvg fill='%23474e52' viewBox='0 0 32 32' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle%3Ediscord%3C/title%3E%3Cpath d='M20.992 20.163c-1.511-0.099-2.699-1.349-2.699-2.877 0-0.051 0.001-0.102 0.004-0.153l-0 0.007c-0.003-0.048-0.005-0.104-0.005-0.161 0-1.525 1.19-2.771 2.692-2.862l0.008-0c1.509 0.082 2.701 1.325 2.701 2.847 0 0.062-0.002 0.123-0.006 0.184l0-0.008c0.003 0.050 0.005 0.109 0.005 0.168 0 1.523-1.191 2.768-2.693 2.854l-0.008 0zM11.026 20.163c-1.511-0.099-2.699-1.349-2.699-2.877 0-0.051 0.001-0.102 0.004-0.153l-0 0.007c-0.003-0.048-0.005-0.104-0.005-0.161 0-1.525 1.19-2.771 2.692-2.862l0.008-0c1.509 0.082 2.701 1.325 2.701 2.847 0 0.062-0.002 0.123-0.006 0.184l0-0.008c0.003 0.048 0.005 0.104 0.005 0.161 0 1.525-1.19 2.771-2.692 2.862l-0.008 0zM26.393 6.465c-1.763-0.832-3.811-1.49-5.955-1.871l-0.149-0.022c-0.005-0.001-0.011-0.002-0.017-0.002-0.035 0-0.065 0.019-0.081 0.047l-0 0c-0.234 0.411-0.488 0.924-0.717 1.45l-0.043 0.111c-1.030-0.165-2.218-0.259-3.428-0.259s-2.398 0.094-3.557 0.275l0.129-0.017c-0.27-0.63-0.528-1.142-0.813-1.638l0.041 0.077c-0.017-0.029-0.048-0.047-0.083-0.047-0.005 0-0.011 0-0.016 0.001l0.001-0c-2.293 0.403-4.342 1.060-6.256 1.957l0.151-0.064c-0.017 0.007-0.031 0.019-0.040 0.034l-0 0c-2.854 4.041-4.562 9.069-4.562 14.496 0 0.907 0.048 1.802 0.141 2.684l-0.009-0.11c0.003 0.029 0.018 0.053 0.039 0.070l0 0c2.14 1.601 4.628 2.891 7.313 3.738l0.176 0.048c0.008 0.003 0.018 0.004 0.028 0.004 0.032 0 0.060-0.015 0.077-0.038l0-0c0.535-0.72 1.044-1.536 1.485-2.392l0.047-0.1c0.006-0.012 0.010-0.027 0.010-0.043 0-0.041-0.026-0.075-0.062-0.089l-0.001-0c-0.912-0.352-1.683-0.727-2.417-1.157l0.077 0.042c-0.029-0.017-0.048-0.048-0.048-0.083 0-0.031 0.015-0.059 0.038-0.076l0-0c0.157-0.118 0.315-0.24 0.465-0.364 0.016-0.013 0.037-0.021 0.059-0.021 0.014 0 0.027 0.003 0.038 0.008l-0.001-0c2.208 1.061 4.8 1.681 7.536 1.681s5.329-0.62 7.643-1.727l-0.107 0.046c0.012-0.006 0.025-0.009 0.040-0.009 0.022 0 0.043 0.008 0.059 0.021l-0-0c0.15 0.124 0.307 0.248 0.466 0.365 0.023 0.018 0.038 0.046 0.038 0.077 0 0.035-0.019 0.065-0.046 0.082l-0 0c-0.661 0.395-1.432 0.769-2.235 1.078l-0.105 0.036c-0.036 0.014-0.062 0.049-0.062 0.089 0 0.016 0.004 0.031 0.011 0.044l-0-0.001c0.501 0.96 1.009 1.775 1.571 2.548l-0.040-0.057c0.017 0.024 0.046 0.040 0.077 0.040 0.010 0 0.020-0.002 0.029-0.004l-0.001 0c2.865-0.892 5.358-2.182 7.566-3.832l-0.065 0.047c0.022-0.016 0.036-0.041 0.039-0.069l0-0c0.087-0.784 0.136-1.694 0.136-2.615 0-5.415-1.712-10.43-4.623-14.534l0.052 0.078c-0.008-0.016-0.022-0.029-0.038-0.036l-0-0z'%3E%3C/path%3E%3C/svg%3E"); -} - -html[data-theme="dark"] .navbar--discord-link:before { - background: url("data:image/svg+xml,%3Csvg fill='%239da5aa' viewBox='0 -28.5 256 256' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' preserveAspectRatio='xMidYMid'%3E%3Cg%3E%3Cpath d='M216.856339 16.5966031 C200.285002 8.84328665 182.566144 3.2084988 164.041564 0 C161.766523 4.11318106 159.108624 9.64549908 157.276099 14.0464379 C137.583995 11.0849896 118.072967 11.0849896 98.7430163 14.0464379 C96.9108417 9.64549908 94.1925838 4.11318106 91.8971895 0 C73.3526068 3.2084988 55.6133949 8.86399117 39.0420583 16.6376612 C5.61752293 67.146514 -3.4433191 116.400813 1.08711069 164.955721 C23.2560196 181.510915 44.7403634 191.567697 65.8621325 198.148576 C71.0772151 190.971126 75.7283628 183.341335 79.7352139 175.300261 C72.104019 172.400575 64.7949724 168.822202 57.8887866 164.667963 C59.7209612 163.310589 61.5131304 161.891452 63.2445898 160.431257 C105.36741 180.133187 151.134928 180.133187 192.754523 160.431257 C194.506336 161.891452 196.298154 163.310589 198.110326 164.667963 C191.183787 168.842556 183.854737 172.420929 176.223542 175.320965 C180.230393 183.341335 184.861538 190.991831 190.096624 198.16893 C211.238746 191.588051 232.743023 181.531619 254.911949 164.955721 C260.227747 108.668201 245.831087 59.8662432 216.856339 16.5966031 Z M85.4738752 135.09489 C72.8290281 135.09489 62.4592217 123.290155 62.4592217 108.914901 C62.4592217 94.5396472 72.607595 82.7145587 85.4738752 82.7145587 C98.3405064 82.7145587 108.709962 94.5189427 108.488529 108.914901 C108.508531 123.290155 98.3405064 135.09489 85.4738752 135.09489 Z M170.525237 135.09489 C157.88039 135.09489 147.510584 123.290155 147.510584 108.914901 C147.510584 94.5396472 157.658606 82.7145587 170.525237 82.7145587 C183.391518 82.7145587 193.761324 94.5189427 193.539891 108.914901 C193.539891 123.290155 183.391518 135.09489 170.525237 135.09489 Z' fill-rule='nonzero'%3E%3C/path%3E%3C/g%3E%3C/svg%3E"); -} - -.tag-wrapper { - display: flex; - align-items: center; - gap: 8px; -} - -.tags { - display: flex; - flex-wrap: nowrap; - gap: 8px; - align-items: center; - position: relative; - top: -10px !important; -} - -/* Media query for smaller screens */ -@media (max-width: 768px) { - .tags { - flex-direction: row; - align-items: flex-start; - white-space: nowrap; - } -} - -.pro { - color: #1a1a1a; - border-radius: 4px; - border: 1px solid #ea992466; - background: linear-gradient(167.44deg, #fdc742 0%, #fed464 67.25%, #fcfcfc 98.9%); - padding: 0 15px 0 15px; -} - -html[data-theme="dark"] .pro { - color: #fff; - border-radius: 4px; - border: 1px solid #ea992466; - background: linear-gradient( - 167.44deg, - rgba(234, 153, 36, 0.7) 0%, - rgba(33, 33, 33, 0.4) 49.45%, - rgba(255, 224, 133, 0.32) 98.9% - ); - padding: 0 15px 0 15px; -} - -.enterprise { - color: #1a1a1a; - border-radius: 4px; - border: 1px solid #7c3aed66; - background: linear-gradient( - 167.44deg, - #a78bfa 0%, - #c4b5fd 67.25%, - #fcfcfc 98.9% - ); - padding: 0 15px 0 15px; -} - -html[data-theme="dark"] .enterprise { - color: #fff; - border-radius: 4px; - border: 1px solid #7c3aed66; - background: linear-gradient( - 167.44deg, - rgba(124, 58, 237, 0.7) 0%, - rgba(33, 33, 33, 0.4) 49.45%, - rgba(196, 181, 253, 0.32) 98.9% - ); - padding: 0 15px 0 15px; -} - -.card-group { - display: grid; - gap: 16px; - grid-template-columns: repeat(var(--cols), 1fr); -} - -@media (max-width: 640px) { - .card-group { - grid-template-columns: 1fr; - } -} - -.card { - border-radius: 8px; - padding: 15px; - display: flex; - flex-direction: column; - align-items: flex-start; - border: 1px solid #9b9b9b; -} - -.card:hover { - border: 1px solid #006399; -} - -.card-icon { - border-radius: 8px; - display: inline-flex; - justify-content: center; - align-items: center; - margin-bottom: 15px; - color: #006399; -} - -.icon-style { - color: #006399; -} - -[data-theme="dark"] .icon-style, [data-theme="dark"] .card-icon { - color: #2690C9; -} - - -.card-title { - color: var(--ifm-heading-color) !important; - font-size: 18px; - font-weight: 600; - margin-bottom: 10px; -} - -.card-description { - font-size: 14px; - color: #213547 !important; -} - -.card-link { - text-decoration: none; - color: inherit; - display: block; - width: 100%; - height: 100%; -} - -.card-link:hover { - text-decoration: none; - color: inherit; -} - -[data-theme="dark"] .card-title, [data-theme="dark"] .card-description { - color: #fff !important; -} - -html { - color: #213547; - font-family: var(--ifm-font-family-base); -} - -body { - font-family: var(--ifm-font-family-base); - letter-spacing: 0.02em; -} - -.navbar { - font-family: var(--ifm-font-family-base); -} - -.navbar__title { - font-family: var(--ifm-font-family-base); -} - -.menu__link { - font-family: var(--ifm-font-family-base); - font-variation-settings: 'wght' 600; -} - -.markdown { - font-family: var(--ifm-font-family-base); -} - -* { - font-family: var(--ifm-font-family-base); -} - -.theme-doc-markdown { - font-family: var(--ifm-font-family-base); -} - -code { - color: #213547; - font-family: var(--ifm-font-family-monospace); -} - -pre { - font-family: var(--ifm-font-family-monospace); -} - -pre code { - font-family: var(--ifm-font-family-monospace); -} - -/* Inline code */ -.markdown code { - font-family: var(--ifm-font-family-monospace); -} - -/* Code blocks in different contexts */ -.prism-code { - font-family: var(--ifm-font-family-monospace); -} - -.codeBlockContainer_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-Container-styles-module { - font-family: var(--ifm-font-family-monospace); -} - -code, kbd, pre, samp { - font-family: var(--ifm-font-family-monospace) !important; -} - -strong { - color: rgb(18 27 46); -} - -h1, -h2, -h3, -h4, -h5, -h6 { - font-family: var(--ifm-heading-font-family); - color: rgb(18 27 46); -} - -[data-theme="dark"] h1, -[data-theme="dark"] h2, -[data-theme="dark"] h3, -[data-theme="dark"] h4, -[data-theme="dark"] h5, -[data-theme="dark"] h6 { - font-family: var(--ifm-heading-font-family); - color: rgb(224 228 236); -} - -html[data-theme="dark"] { - color: rgb(255, 255, 255, 0.87); -} - -[data-theme="dark"] blockquote { - color: rgb(255, 255, 255, 0.87); -} - -[data-theme="dark"] code { - color: rgb(237 240 246); -} - -[data-theme="dark"] strong { - color: rgb(243 246 251); -} - -[data-theme="dark"] .table-of-contents__link { - color: rgb(235, 235, 235, 0.6); -} - -.table-of-contents__link { - color: rgba(60, 60, 60, 0.7); -} - -@media (min-width: 768px) { - .navbarSearchContainer_node_modules-\@docusaurus-theme-classic-lib-theme-Navbar-Search-styles-module { - margin-left: auto !important; - margin-right: auto !important; - } - - .navbarSearchContainer_bxl4 { - margin-left: auto !important; - margin-right: auto !important; - } - - .DocSearch-Button { - width: 400px; - } -} - -.DocSearch-Button { - border-radius: 0.5em !important; - border-color: rgb(158 158 158 / 20%) !important; - border-width: 1px !important; - border-style: solid !important; - background-color: #fafafa !important; -} - -[data-theme="dark"] .DocSearch-Button { - border-radius: 0.5em !important; - border-color: rgb(158 158 158 / 20%) !important; - border-width: 1px !important; - border-style: solid !important; - background-color: #1b1b1d !important; -} - -.DocSearch-Search-Icon { - width: 14px; - height: 14px; -} - -.DocSearch-Button-Container { - gap: 0.25rem; -} - -.DocSearch-Button-Placeholder { - font-size: 0.85rem !important; -} - -.navbar { - border-bottom: 1px solid rgb(112 112 112 / 5%); - box-shadow: none; -} - -[data-theme="dark"] .navbar { - border-bottom: 1px solid rgb(206 206 206 / 6%); - box-shadow: none; -} - -.lightToggleIcon_node_modules-\@docusaurus-theme-classic-lib-theme-ColorModeToggle-styles-module { - color: #505050; -} - -.navbar--fixed-top { - padding-left: 2rem; - padding-right: 2rem; - margin-left: 0; - margin-right: 0; -} - -.mainWrapper_node_modules-\@docusaurus-theme-classic-lib-theme-Layout-styles-module { - padding-left: 1rem; - padding-right: 1rem; -} - -@media (min-width: 997px) { - .docSidebarContainer_YfHR { - border-right: 1px solid rgb(112 112 112 / 9%) !important; - } -} - -.table-of-contents__left-border { - border-left: 1px solid rgb(112 112 112 / 5%) !important; -} - -.lightToggleIcon_node_modules-\@docusaurus-theme-classic-lib-theme-ColorModeToggle-styles-module, -.darkToggleIcon_node_modules-\@docusaurus-theme-classic-lib-theme-ColorModeToggle-styles-module { - width: 20px; - height: 20px; -} - -.table { - font-size: 1rem; - line-height: 1.25; - font-weight: 400; - --tw-numeric-spacing: tabular-nums; - width: 100%; - font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) - var(--tw-numeric-fraction); -} - -[data-theme="dark"] table tr:nth-child(2n) { - background-color: rgb(27 27 29); -} - -table tr:nth-child(2n) { - background-color: rgb(250 250 250); -} - -table thead tr { - border-bottom: none; -} - -.mobile-img-container { - display: flex; - flex-direction: row; - justify-content: center; - align-items: center; - flex-wrap: wrap; -} -.mobile-img-box { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - max-width: 25rem; - min-width: 15rem; - text-align: center; - margin: 10px; -} -/* -img[src*="#center"] { - display: block; - border-radius: 0.75rem; - float: none; - margin: 10px 0 10px 0; - border-color: rgb(224 228 236); - border-style: solid; - box-sizing: border-box; - border-width: 0px; - padding: 0.5rem; - background-color: rgb(226 226 226); -} - -[data-theme="dark"] img[src*="#center"] { - display: block; - border-radius: 0.75rem; - float: none; - margin: 10px 0 10px 0; - border-color: rgb(224 228 236); - border-style: solid; - box-sizing: border-box; - border-width: 0px; - padding: 0.5rem; - background-color: rgb(32 43 61); -}*/ - -.markdown p:has(> img[src$="#hero"]), -article p:has(> img[src$="#hero"]) { - max-width: 841px; - padding: 36px 56px 0px 56px; - background: #F1F3F3; - border-radius: 12px; - box-sizing: border-box; - overflow: hidden; -} - -.markdown img[src$="#hero"], -article img[src$="#hero"] { - width: 100%; - height: auto; - display: block; - margin: 0; - border-radius: 8px 8px 0px 0px; - border-width: 1px 1px 0px 1px; - border-style: solid; - border-color: #EAEBEB; - object-fit: cover; - box-shadow: - 0px 2px 4px -1px rgba(41, 47, 61, 0.04), - 0px 4px 6px -1px rgba(41, 47, 61, 0.05); -} - -.markdown p:has(> img[src$="#hero-tl"]), -article p:has(> img[src$="#hero-tl"]) { - max-width: 841px; - padding: 36px 0px 0px 56px; - background: #F1F3F3; - border-radius: 12px; - box-sizing: border-box; - overflow: hidden; -} - -.markdown img[src$="#hero-tl"], -article img[src$="#hero-tl"] { - width: 100%; - height: auto; - display: block; - margin: 0; - border-radius: 8px 0px 0px 0px; - border-width: 1px 0px 0px 1px; - border-style: solid; - border-color: #EAEBEB; - object-fit: cover; - box-shadow: - 0px 2px 4px -1px rgba(41, 47, 61, 0.04), - 0px 4px 6px -1px rgba(41, 47, 61, 0.05); -} - -.markdown p:has(> img[src$="#hero-tr"]), -article p:has(> img[src$="#hero-tr"]) { - max-width: 841px; - padding: 36px 56px 0px 0px; - background: #F1F3F3; - border-radius: 12px; - box-sizing: border-box; - overflow: hidden; -} - -.markdown img[src$="#hero-tr"], -article img[src$="#hero-tr"] { - width: 100%; - height: auto; - display: block; - margin: 0; - border-radius: 0px 8px 0px 0px; - border-width: 1px 1px 0px 0px; - border-style: solid; - border-color: #EAEBEB; - object-fit: cover; - box-shadow: - 0px 2px 4px -1px rgba(41, 47, 61, 0.04), - 0px 4px 6px -1px rgba(41, 47, 61, 0.05); -} - -.markdown p:has(> img[src$="#hero-bl"]), -article p:has(> img[src$="#hero-bl"]) { - max-width: 841px; - padding: 0px 0px 36px 56px; - background: #F1F3F3; - border-radius: 12px; - box-sizing: border-box; - overflow: hidden; -} - -.markdown img[src$="#hero-bl"], -article img[src$="#hero-bl"] { - width: 100%; - height: auto; - display: block; - margin: 0; - border-radius: 0px 0px 0px 8px; - border-width: 0px 0px 1px 1px; - border-style: solid; - border-color: #EAEBEB; - object-fit: cover; - box-shadow: - 0px 2px 4px -1px rgba(41, 47, 61, 0.04), - 0px 4px 6px -1px rgba(41, 47, 61, 0.05); -} - -.markdown p:has(> img[src$="#hero-br"]), -article p:has(> img[src$="#hero-br"]) { - max-width: 841px; - padding: 0px 56px 36px 0px; - background: #F1F3F3; - border-radius: 12px; - box-sizing: border-box; - overflow: hidden; -} - -.markdown img[src$="#hero-br"], -article img[src$="#hero-br"] { - width: 100%; - height: auto; - display: block; - margin: 0; - border-radius: 0px 0px 8px 0px; - border-width: 0px 1px 1px 0px; - border-style: solid; - border-color: #EAEBEB; - object-fit: cover; - box-shadow: - 0px 2px 4px -1px rgba(41, 47, 61, 0.04), - 0px 4px 6px -1px rgba(41, 47, 61, 0.05); -} - - -.business { - color: #111111; - border-radius: 4px; - border: 1px solid #d6d7d9; - background: linear-gradient(167.44deg, #c2c8e4 0%, #bfc4df 67.25%, #fcfcfc 98.9%); - padding: 0 15px 0 15px; -} - -html[data-theme="dark"] .business { - color: #f5f5f5; - border-radius: 4px; - border: 1px solid #646c90; - background: linear-gradient(164.95deg, #414669 0%, rgba(56, 60, 78, 0.12) 53.4%, rgba(172, 211, 255, 0.16) 100%); - padding: 0 15px 0 15px; -} - -[data-theme="dark"] .themedComponent--dark_xIcU, -[data-theme="light"] .themedComponent--light_NVdE, -html:not([data-theme]) .themedComponent--light_NVdE { - width: 100px !important; -} - -p, -table, -.menu__link { - font-family: var(--ifm-font-family-base); -} - -.menu__caret:hover { - background: none; -} - -[data-theme="dark"] .clean-btn { - color: rgb(159 160 160); -} - -@media (min-width: 1455px) { - body, - .navbar { - width: 100%; - min-width: 87.8vw; - margin: 0; - box-sizing: border-box; - } -} - - @font-face { - font-family: 'Satoshi'; - src: url('/fonts/Satoshi/Satoshi-Variable.ttf') format('truetype'); - font-weight: 400 680; - font-style: normal italic; - font-display: swap; - } - - @font-face { - font-family: 'IBM Mono'; - src: url('/fonts/IBM/IBMPlexMono-Light.ttf') format('truetype'); - font-weight: 300; - font-style: normal; - font-display: swap; - } - - @font-face { - font-family: 'IBM Mono'; - src: url('/fonts/IBM/IBMPlexMono-Regular.ttf') format('truetype'); - font-weight: 400; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'IBM Mono'; - src: url('/fonts/IBM/IBMPlexMono-SemiBold.ttf') format('truetype'); - font-weight: 500; - font-style: normal; - font-display: swap; -} - -@font-face { - font-family: 'IBM Mono'; - src: url('/fonts/IBM/IBMPlexMono-Bold.ttf') format('truetype'); - font-weight: 600; - font-style: normal; - font-display: swap; -} - - :root { - --ifm-font-family-base: 'Satoshi'; - --ifm-heading-font-family: 'Satoshi'; - --ifm-font-family-monospace: 'IBM Mono'; - --font-weight-light: 400; - --font-weight-regular: 480; - --font-weight-medium: 560; - --font-weight-semibold: 640; - --font-weight-bold: 680; - } - - .theme-doc-sidebar-item-category-level-2 > .menu__list-item-collapsible > .menu__link--sublist-caret{ - height: 28px; - } diff --git a/static/.nojekyll b/static/.nojekyll deleted file mode 100644 index e69de29b..00000000 diff --git a/tsconfig.json b/tsconfig.json index 920d7a65..94e02f33 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,8 +1,14 @@ { - // This file is not used in compilation. It is here just for a nice editor experience. - "extends": "@docusaurus/tsconfig", "compilerOptions": { - "baseUrl": "." + "target": "ES2022", + "module": "ESNext", + "moduleResolution": "bundler", + "jsx": "preserve", + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true }, - "exclude": [".docusaurus", "build"] + "include": [".vitepress/**/*.ts", ".vitepress/**/*.vue"], + "exclude": ["node_modules"] } From fb4941df6cd611714d1478e4fa3ad84cd44ca4a9 Mon Sep 17 00:00:00 2001 From: Dancia Date: Mon, 9 Mar 2026 15:40:53 +0530 Subject: [PATCH 2/6] Updates to Vitepress migration (#404) * Updates to Vitepress migration * Analytics and SEO --- docs/.vitepress/config.ts | 206 ++++--- docs/.vitepress/theme/components/Card.vue | 53 +- docs/.vitepress/theme/index.ts | 97 +++ docs/.vitepress/theme/style.css | 563 ++++++++++++------ docs/ai/pi-chat.md | 6 +- docs/ai/plane-ai-credits.md | 65 +- .../{group-sync.mdx => group-sync.md} | 7 +- docs/authentication/sso.md | 5 +- docs/automations/custom-automations.md | 5 +- .../project-updates.md | 2 +- docs/core-concepts/analytics.md | 21 +- docs/core-concepts/cycles.md | 25 +- docs/core-concepts/export.md | 5 +- docs/core-concepts/inbox.md | 5 +- docs/core-concepts/intake.md | 8 +- docs/core-concepts/issues.md | 5 + docs/core-concepts/issues/bulk-ops.md | 5 +- docs/core-concepts/issues/epics.md | 15 +- docs/core-concepts/issues/estimates.md | 5 +- docs/core-concepts/issues/issue-types.md | 5 +- docs/core-concepts/issues/overview.md | 20 +- docs/core-concepts/issues/time-tracking.md | 5 +- .../issues/timeline-dependency.md | 5 +- docs/core-concepts/modules.md | 5 +- docs/core-concepts/pages/editor-blocks.md | 34 +- docs/core-concepts/pages/inline-comments.md | 5 +- docs/core-concepts/pages/nested-pages.md | 5 +- docs/core-concepts/pages/overview.md | 30 +- docs/core-concepts/pages/wiki.md | 11 +- docs/core-concepts/projects/initiatives.md | 5 +- .../projects/manage-project-members.md | 5 +- docs/core-concepts/projects/milestones.md | 5 +- .../projects/project-overview.md | 5 +- docs/core-concepts/projects/project-states.md | 5 +- .../projects/recurring-work-items.md | 5 +- docs/core-concepts/projects/run-project.md | 5 + docs/core-concepts/views.md | 14 +- docs/core-concepts/workspaces/members.md | 28 +- docs/core-concepts/workspaces/teamspaces.md | 19 +- docs/customers.md | 9 +- docs/dashboards.md | 5 +- docs/devices/mobile.md | 83 +-- docs/importers/asana.md | 2 +- docs/importers/clickup.md | 6 +- docs/importers/confluence.md | 10 +- docs/importers/csv.md | 2 +- docs/importers/github-imp.md | 5 + docs/importers/jira.md | 6 +- docs/importers/linear.md | 2 +- docs/importers/notion.md | 16 +- docs/importers/overview.md | 51 +- docs/intake/intake-email.md | 5 +- docs/intake/intake-forms.md | 5 +- docs/intake/overview.md | 5 +- docs/integrations/about.md | 22 +- docs/integrations/draw-io.md | 5 +- docs/integrations/github.md | 69 ++- docs/integrations/gitlab.md | 38 +- docs/integrations/sentry.md | 11 +- docs/integrations/slack.md | 5 +- .../tutorials/collaborate-on-work-items.md | 31 +- docs/introduction/tutorials/create-project.md | 4 +- .../fonts/IBMPlexMono}/IBMPlexMono-Bold.ttf | Bin .../IBMPlexMono/IBMPlexMono-BoldItalic.ttf | Bin 0 -> 142636 bytes .../IBMPlexMono/IBMPlexMono-ExtraLight.ttf | Bin 0 -> 134160 bytes .../IBMPlexMono-ExtraLightItalic.ttf | Bin 0 -> 142780 bytes .../fonts/IBMPlexMono/IBMPlexMono-Italic.ttf | Bin 0 -> 142032 bytes .../fonts/IBMPlexMono}/IBMPlexMono-Light.ttf | Bin .../IBMPlexMono/IBMPlexMono-LightItalic.ttf | Bin 0 -> 141520 bytes .../fonts/IBMPlexMono/IBMPlexMono-Medium.ttf | Bin 0 -> 134880 bytes .../IBMPlexMono/IBMPlexMono-MediumItalic.ttf | Bin 0 -> 142128 bytes .../IBMPlexMono}/IBMPlexMono-Regular.ttf | Bin .../IBMPlexMono}/IBMPlexMono-SemiBold.ttf | Bin .../IBMPlexMono-SemiBoldItalic.ttf | Bin 0 -> 145452 bytes .../fonts/IBMPlexMono/IBMPlexMono-Thin.ttf | Bin 0 -> 136076 bytes .../IBMPlexMono/IBMPlexMono-ThinItalic.ttf | Bin 0 -> 144240 bytes docs/public/fonts/Satoshi/Satoshi-Bold.woff | Bin 0 -> 32972 bytes docs/public/fonts/Satoshi/Satoshi-Bold.woff2 | Bin 0 -> 25328 bytes docs/public/fonts/Satoshi/Satoshi-Light.woff | Bin 0 -> 29276 bytes docs/public/fonts/Satoshi/Satoshi-Light.woff2 | Bin 0 -> 22800 bytes docs/public/fonts/Satoshi/Satoshi-Medium.woff | Bin 0 -> 33272 bytes .../public/fonts/Satoshi/Satoshi-Medium.woff2 | Bin 0 -> 25596 bytes .../public/fonts/Satoshi/Satoshi-Regular.woff | Bin 0 -> 33024 bytes .../fonts/Satoshi/Satoshi-Regular.woff2 | Bin 0 -> 25516 bytes docs/public/robots.txt | 9 + docs/templates/page-templates.md | 5 +- docs/templates/project-templates.md | 5 +- docs/templates/work-item-templates.md | 5 +- docs/workflows-and-approvals/workflows.md | 9 +- docs/workspaces-and-users/manage-licenses.md | 9 +- docs/workspaces-and-users/permissions.md | 246 ++++---- package.json | 4 + pnpm-lock.yaml | 399 ++++++++++++- public/fonts/Satoshi/Satoshi-Variable.ttf | Bin 127420 -> 0 bytes 94 files changed, 1464 insertions(+), 948 deletions(-) rename docs/authentication/{group-sync.mdx => group-sync.md} (94%) rename {public/fonts/IBM => docs/public/fonts/IBMPlexMono}/IBMPlexMono-Bold.ttf (100%) create mode 100644 docs/public/fonts/IBMPlexMono/IBMPlexMono-BoldItalic.ttf create mode 100644 docs/public/fonts/IBMPlexMono/IBMPlexMono-ExtraLight.ttf create mode 100644 docs/public/fonts/IBMPlexMono/IBMPlexMono-ExtraLightItalic.ttf create mode 100644 docs/public/fonts/IBMPlexMono/IBMPlexMono-Italic.ttf rename {public/fonts/IBM => docs/public/fonts/IBMPlexMono}/IBMPlexMono-Light.ttf (100%) create mode 100644 docs/public/fonts/IBMPlexMono/IBMPlexMono-LightItalic.ttf create mode 100644 docs/public/fonts/IBMPlexMono/IBMPlexMono-Medium.ttf create mode 100644 docs/public/fonts/IBMPlexMono/IBMPlexMono-MediumItalic.ttf rename {public/fonts/IBM => docs/public/fonts/IBMPlexMono}/IBMPlexMono-Regular.ttf (100%) rename {public/fonts/IBM => docs/public/fonts/IBMPlexMono}/IBMPlexMono-SemiBold.ttf (100%) create mode 100644 docs/public/fonts/IBMPlexMono/IBMPlexMono-SemiBoldItalic.ttf create mode 100644 docs/public/fonts/IBMPlexMono/IBMPlexMono-Thin.ttf create mode 100644 docs/public/fonts/IBMPlexMono/IBMPlexMono-ThinItalic.ttf create mode 100644 docs/public/fonts/Satoshi/Satoshi-Bold.woff create mode 100644 docs/public/fonts/Satoshi/Satoshi-Bold.woff2 create mode 100644 docs/public/fonts/Satoshi/Satoshi-Light.woff create mode 100644 docs/public/fonts/Satoshi/Satoshi-Light.woff2 create mode 100644 docs/public/fonts/Satoshi/Satoshi-Medium.woff create mode 100644 docs/public/fonts/Satoshi/Satoshi-Medium.woff2 create mode 100644 docs/public/fonts/Satoshi/Satoshi-Regular.woff create mode 100644 docs/public/fonts/Satoshi/Satoshi-Regular.woff2 create mode 100644 docs/public/robots.txt delete mode 100644 public/fonts/Satoshi/Satoshi-Variable.ttf diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 2eaf9bc7..e14d9c3b 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -1,4 +1,5 @@ import { defineConfig } from "vitepress"; +import { tabsMarkdownPlugin } from "vitepress-plugin-tabs"; export default defineConfig({ title: "Plane", @@ -17,9 +18,9 @@ export default defineConfig({ "link", { rel: "preload", - href: "/fonts/Satoshi/Satoshi-Variable.ttf", + href: "/fonts/Satoshi/Satoshi-Regular.woff2", as: "font", - type: "font/ttf", + type: "font/woff2", crossorigin: "anonymous", }, ], @@ -27,9 +28,9 @@ export default defineConfig({ "link", { rel: "preload", - href: "/fonts/IBM/IBMPlexMono-Light.ttf", + href: "/fonts/Satoshi/Satoshi-Medium.woff2", as: "font", - type: "font/ttf", + type: "font/woff2", crossorigin: "anonymous", }, ], @@ -37,7 +38,7 @@ export default defineConfig({ "link", { rel: "preload", - href: "/fonts/IBM/IBMPlexMono-Regular.ttf", + href: "/fonts/IBMPlexMono/IBMPlexMono-Regular.ttf", as: "font", type: "font/ttf", crossorigin: "anonymous", @@ -46,37 +47,40 @@ export default defineConfig({ [ "link", { - rel: "preload", - href: "/fonts/IBM/IBMPlexMono-SemiBold.ttf", - as: "font", - type: "font/ttf", - crossorigin: "anonymous", + rel: "stylesheet", + href: "https://fonts.googleapis.com/css2?family=Instrument+Sans:ital,wght@0,400..700;1,400..700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=National+Park:wght@200..800&family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&family=PT+Sans:ital,wght@0,400;0,700;1,400;1,700&family=Raleway:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100..900;1,100..900&family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap", }, ], [ - "link", + "script", { - rel: "preload", - href: "/fonts/IBM/IBMPlexMono-Bold.ttf", - as: "font", - type: "font/ttf", - crossorigin: "anonymous", + src: "https://plausible.io/js/script.js", + defer: "true", + "data-domain": "docs.plane.so", }, ], + // Google Analytics [ - "link", + "script", { - rel: "stylesheet", - href: "https://fonts.googleapis.com/css2?family=Instrument+Sans:ital,wght@0,400..700;1,400..700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=National+Park:wght@200..800&family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&family=PT+Sans:ital,wght@0,400;0,700;1,400;1,700&family=Raleway:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100..900;1,100..900&family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap", + async: "true", + src: "https://www.googletagmanager.com/gtag/js?id=G-G578SD4VZD", }, ], [ "script", - { - src: "https://plausible.io/js/script.js", - defer: "true", - "data-domain": "docs.plane.so", - }, + {}, + `window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + gtag('config', 'G-G578SD4VZD');`, + ], + // PostHog + [ + "script", + {}, + `!function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled onFeatureFlags getFeatureFlag getFeatureFlagPayload reloadFeatureFlags group updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures getActiveMatchingSurveys getSurveys onSessionId".split(" "),n=0;n -defineProps({ +import { computed } from "vue"; +import * as LucideIcons from "lucide-vue-next"; + +const props = defineProps({ title: String, icon: String, href: String, }); + +// Custom SVG icons for brands +const customSvgIcons = { + asana: ``, + clickup: ``, + confluence: ``, + csv: ``, + drawio: ``, + github: ``, + gitlab: ``, + jira: ``, + linear: ``, + notion: ``, + sentry: ``, + slack: ``, +}; + +const IconComponent = computed(() => { + if (!props.icon) return null; + + // Check if we have a custom SVG for this icon + if (customSvgIcons[props.icon]) { + return null; // Will use v-html for custom SVGs + } + + // Otherwise try to get it from Lucide + const iconName = props.icon + .split("-") + .map((word) => word.charAt(0).toUpperCase() + word.slice(1)) + .join(""); + + return LucideIcons[iconName] || LucideIcons.HelpCircle; +}); diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts index 5c7aeff7..0561a14a 100644 --- a/docs/.vitepress/theme/index.ts +++ b/docs/.vitepress/theme/index.ts @@ -1,15 +1,112 @@ import DefaultTheme from "vitepress/theme"; import type { Theme } from "vitepress"; +import { onMounted, watch, nextTick } from "vue"; +import { useRoute } from "vitepress"; +import { enhanceAppWithTabs } from "vitepress-plugin-tabs/client"; import Card from "./components/Card.vue"; import CardGroup from "./components/CardGroup.vue"; import Tags from "./components/Tags.vue"; import "./style.css"; +/** + * Handles tab activation based on URL hash + */ +function handleTabHash() { + if (typeof document === "undefined") return; + + const hash = window.location.hash.slice(1); // Remove the '#' + if (!hash) return; + + const tabButtons = document.querySelectorAll('[role="tab"]'); + + if (tabButtons.length === 0) { + return; + } + + tabButtons.forEach((button) => { + const labelText = button.textContent?.trim().toLowerCase().replace(/\s+/g, "-"); + + if (labelText === hash) { + const element = button as HTMLElement; + + // Dispatch a proper mouse event + const clickEvent = new MouseEvent("click", { + view: window, + bubbles: true, + cancelable: true, + }); + + element.dispatchEvent(clickEvent); + element.click(); + element.focus(); + } + }); +} + +/** + * Adds click listeners to tabs to update URL hash + */ +function setupTabHashUpdates() { + if (typeof document === "undefined") return; + + const tabButtons = document.querySelectorAll('[role="tab"]'); + + tabButtons.forEach((button) => { + const element = button as HTMLElement; + + // Remove existing listener if any + element.removeEventListener("click", updateHashOnTabClick); + + // Add new listener + element.addEventListener("click", updateHashOnTabClick); + }); +} + +function updateHashOnTabClick(event: Event) { + const button = event.currentTarget as HTMLElement; + const labelText = button.textContent?.trim().toLowerCase().replace(/\s+/g, "-"); + + if (labelText) { + // Update URL hash without triggering scroll + history.replaceState(null, "", `#${labelText}`); + } +} + export default { extends: DefaultTheme, enhanceApp({ app }) { + enhanceAppWithTabs(app); app.component("Card", Card); app.component("CardGroup", CardGroup); app.component("Tags", Tags); }, + setup() { + if (typeof window === "undefined") return; + + const route = useRoute(); + + onMounted(() => { + // Delay tab hash handling to ensure tabs are rendered + setTimeout(() => { + handleTabHash(); + setupTabHashUpdates(); + }, 100); + + // Listen for hash changes + window.addEventListener("hashchange", () => { + nextTick(handleTabHash); + }); + }); + + // Watch for route changes + watch( + () => route.path, + () => { + nextTick(() => { + handleTabHash(); + setupTabHashUpdates(); + }); + } + ); + }, } satisfies Theme; diff --git a/docs/.vitepress/theme/style.css b/docs/.vitepress/theme/style.css index 7170bfb2..60fcf09f 100644 --- a/docs/.vitepress/theme/style.css +++ b/docs/.vitepress/theme/style.css @@ -1,148 +1,408 @@ /* ================================================ - FONTS + TAILWIND CSS + ================================================ */ +/* Import Tailwind theme + utilities WITHOUT Preflight (CSS reset). + VitePress has its own base/reset styles for markdown rendering, + so Tailwind's Preflight conflicts with headings, links, lists, etc. + The layer() wrappers ensure Tailwind utilities don't override + VitePress's unlayered default theme styles. */ +@import "tailwindcss/theme" layer(theme); +@import "tailwindcss/utilities" layer(utilities); + +@source "../../**/*.{vue,md}"; +@source "../**/*.{vue,md}"; + +@theme { + --color-plane-400: #0088cc; + --color-plane-500: #006399; + --color-plane-600: #005280; +} + +/* ================================================ + THEME VARIANTS + ================================================ */ + +@custom-variant light (&:where([data-theme*="light"], [data-theme*="light"] *)); +@custom-variant dark (&:where([data-theme*="dark"], [data-theme*="dark"] *)); + +/* ================================================ + COLOR SYSTEM + ================================================ */ + +@layer base { + :root { + /* Alpha colors - for transparency effects */ + --alpha-white-0: oklch(1 0 0 / 0%); + --alpha-white-200: oklch(1 0 0 / 10%); + --alpha-white-500: oklch(1 0 0 / 30%); + --alpha-white-700: oklch(1 0 0 / 50%); + --alpha-black-0: oklch(0.1482 0.0034 196.79 / 0%); + --alpha-black-200: oklch(0.1482 0.0034 196.79 / 10%); + --alpha-black-500: oklch(0.1482 0.0034 196.79 / 30%); + --alpha-black-700: oklch(0.1482 0.0034 196.79 / 50%); + + /* Neutral colors - for text and backgrounds */ + --neutral-white: oklch(1 0 0); + --neutral-100: oklch(0.9848 0.0003 230.66); + --neutral-200: oklch(0.9696 0.0007 230.67); + --neutral-300: oklch(0.9543 0.001 230.67); + --neutral-500: oklch(0.9235 0.001733 230.6853); + --neutral-700: oklch(0.8612 0.0032 230.71); + --neutral-800: oklch(0.6668 0.0079 230.82); + --neutral-1000: oklch(0.5288 0.0083 230.88); + --neutral-1100: oklch(0.4377 0.0066 230.87); + --neutral-1200: oklch(0.2378 0.0029 230.83); + --neutral-black: oklch(0.1472 0.0034 230.83); + + /* Brand colors */ + --brand-100: oklch(0.9847 0.0083 236.56); + --brand-300: oklch(0.9428 0.0341 230.22); + --brand-500: oklch(0.8414 0.0947 233.08); + --brand-700: oklch(0.6766 0.1665 243.91); + --brand-900: oklch(0.4347 0.104093 242.4823); + --brand-default: oklch(0.4799 0.1158 242.91); + + /* Semantic colors */ + --green-100: oklch(0.9819 0.0181 155.83); + --green-500: oklch(0.7914 0.2091 151.66); + --green-700: oklch(0.632 0.185972 147.3695); + --amber-100: oklch(0.9869 0.0214 95.28); + --amber-500: oklch(0.829 0.1712 81.04); + --amber-700: oklch(0.6671 0.1685 53.38); + --red-100: oklch(0.9705 0.0129 17.38); + --red-500: oklch(0.7022 0.1892 22.23); + --red-700: oklch(0.583 0.238666 28.4765); + + /* Font sizes */ + --text-xs: 0.75rem; /* 12px */ + --text-sm: 0.875rem; /* 14px */ + --text-base: 1rem; /* 16px */ + --text-lg: 1.125rem; /* 18px */ + --text-xl: 1.25rem; /* 20px */ + --text-2xl: 1.5rem; /* 24px */ + --text-3xl: 1.875rem; /* 30px */ + --text-4xl: 2.25rem; /* 36px */ + + /* Font weights */ + --font-weight-light: 300; + --font-weight-normal: 400; + --font-weight-medium: 500; + --font-weight-semibold: 600; + --font-weight-bold: 700; + } +} + +/* ================================================ + SATOSHI FONT ================================================ */ @font-face { font-family: "Satoshi"; - src: url("/fonts/Satoshi/Satoshi-Variable.ttf") format("truetype"); - font-weight: 400 680; - font-style: normal italic; + src: + url("/fonts/Satoshi/Satoshi-Light.woff2") format("woff2"), + url("/fonts/Satoshi/Satoshi-Light.woff") format("woff"); + font-weight: 300; + font-style: normal; font-display: swap; } @font-face { - font-family: "IBM Mono"; - src: url("/fonts/IBM/IBMPlexMono-Light.ttf") format("truetype"); - font-weight: 300; + font-family: "Satoshi"; + src: + url("/fonts/Satoshi/Satoshi-Regular.woff2") format("woff2"), + url("/fonts/Satoshi/Satoshi-Regular.woff") format("woff"); + font-weight: 400; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: "Satoshi"; + src: + url("/fonts/Satoshi/Satoshi-Medium.woff2") format("woff2"), + url("/fonts/Satoshi/Satoshi-Medium.woff") format("woff"); + font-weight: 500; font-style: normal; font-display: swap; } @font-face { - font-family: "IBM Mono"; - src: url("/fonts/IBM/IBMPlexMono-Regular.ttf") format("truetype"); + font-family: "Satoshi"; + src: + url("/fonts/Satoshi/Satoshi-Bold.woff2") format("woff2"), + url("/fonts/Satoshi/Satoshi-Bold.woff") format("woff"); + font-weight: 700; + font-style: normal; + font-display: swap; +} + +/* ================================================ + IBM PLEX MONO FONT (FOR CODE BLOCKS) + ================================================ */ + +@font-face { + font-family: "IBM Plex Mono"; + src: url("/fonts/IBMPlexMono/IBMPlexMono-Regular.ttf") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; } @font-face { - font-family: "IBM Mono"; - src: url("/fonts/IBM/IBMPlexMono-SemiBold.ttf") format("truetype"); + font-family: "IBM Plex Mono"; + src: url("/fonts/IBMPlexMono/IBMPlexMono-Medium.ttf") format("truetype"); font-weight: 500; font-style: normal; font-display: swap; } @font-face { - font-family: "IBM Mono"; - src: url("/fonts/IBM/IBMPlexMono-Bold.ttf") format("truetype"); + font-family: "IBM Plex Mono"; + src: url("/fonts/IBMPlexMono/IBMPlexMono-SemiBold.ttf") format("truetype"); font-weight: 600; font-style: normal; font-display: swap; } +@font-face { + font-family: "IBM Plex Mono"; + src: url("/fonts/IBMPlexMono/IBMPlexMono-Bold.ttf") format("truetype"); + font-weight: 700; + font-style: normal; + font-display: swap; +} + /* ================================================ - BRAND COLORS & FONTS + PLANE DEVELOPER DOCS - CUSTOM STYLES ================================================ */ +/* Brand colors and fonts */ :root { + /* Brand colors */ --vp-c-brand-1: #006399; --vp-c-brand-2: #006399; --vp-c-brand-3: #006399; --vp-c-brand-soft: rgba(0, 99, 153, 0.14); + --plane-500: #006399; + /* Fonts */ --vp-font-family-base: - "Satoshi", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, - sans-serif; + "Satoshi", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; --vp-font-family-mono: - "IBM Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", - "Courier New", monospace; - --vp-code-font-size: 95%; + "IBM Plex Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", + monospace; } +/* Dark mode */ .dark { --vp-c-bg: #0a0a0a; --vp-c-bg-soft: #141414; --vp-c-bg-mute: #1f1f1f; + /* Brand colors */ --vp-c-brand-1: #2f9bd5; --vp-c-brand-2: #2f9bd5; --vp-c-brand-3: #2f9bd5; --vp-c-brand-soft: rgba(0, 99, 153, 0.14); + --plane-500: #2f9bd5; } /* ================================================ - NAVBAR + HIDE ASIDE FOR API PAGES ================================================ */ -.VPNavBarTitle .logo { - width: 120px; - height: auto; +/* Hide ALL aside elements when .api-page is present */ +.api-page .aside, +.api-page .aside-container, +.api-page .VPDocAside, +.api-page aside, +.api-page .VPDocAsideOutline { + display: none !important; + width: 0 !important; + min-width: 0 !important; + opacity: 0 !important; + visibility: hidden !important; +} + +/* Remove the aside column entirely */ +.api-page.VPDoc > .container { + display: block !important; + max-width: 100% !important; } -@media (max-width: 768px) { - .VPNavBarTitle .logo { - width: 100px; +.api-page .VPDoc > .container > .content { + max-width: 100% !important; + padding-right: 24px !important; +} + +/* Target specific VitePress structure */ +.api-page .content-container { + max-width: 100% !important; +} + +.api-page .main { + max-width: 100% !important; +} + +/* Force full width on content */ +.api-page .vp-doc { + max-width: 100% !important; +} + +/* ================================================ + TWO-COLUMN API LAYOUT + ================================================ */ + +.api-two-column { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); + gap: 40px; + align-items: start; +} + +@media (max-width: 1100px) { + .api-two-column { + grid-template-columns: 1fr; + gap: 24px; + } +} + +.api-left { + min-width: 0; +} + +.api-right { + position: sticky; + top: 100px; + min-width: 0; +} + +@media (max-width: 1100px) { + .api-right { + position: static; } } /* ================================================ - SIDEBAR + API ENDPOINT BADGE ================================================ */ -.VPSidebar .group .title { - font-size: 14px; - font-weight: 600; - line-height: 20px; +.api-endpoint-badge { + display: inline-flex; + align-items: center; + gap: 12px; + margin-bottom: 20px; } -.VPSidebarItem .link { - font-size: 13px; - font-weight: 500; - letter-spacing: -0.01em; - line-height: 16px; +.api-endpoint-badge .method { + font-size: 12px; + font-weight: 700; + padding: 5px 12px; + border-radius: 6px; + font-family: ui-monospace, SFMono-Regular, monospace; + text-transform: uppercase; } -.VPSidebarItem .is-active > .link { - font-weight: 600; - color: var(--vp-c-brand-1); - border-left: 4px solid var(--vp-c-brand-1); - padding-left: 8px; +.api-endpoint-badge .method.get { + background: #dcfce7; + color: #166534; +} + +.api-endpoint-badge .method.post { + background: #dbeafe; + color: #1e40af; +} + +.api-endpoint-badge .method.patch, +.api-endpoint-badge .method.put { + background: #fef3c7; + color: #92400e; +} + +.api-endpoint-badge .method.delete { + background: #fee2e2; + color: #991b1b; +} + +.dark .api-endpoint-badge .method.get { + background: rgba(34, 197, 94, 0.15); + color: #4ade80; +} + +.dark .api-endpoint-badge .method.post { + background: rgba(59, 130, 246, 0.15); + color: #60a5fa; +} + +.dark .api-endpoint-badge .method.patch, +.dark .api-endpoint-badge .method.put { + background: rgba(251, 191, 36, 0.15); + color: #fbbf24; +} + +.dark .api-endpoint-badge .method.delete { + background: rgba(239, 68, 68, 0.15); + color: #f87171; +} + +.api-endpoint-badge .path { + font-family: ui-monospace, SFMono-Regular, monospace; + font-size: 14px; + color: #6b7280; +} + +.dark .api-endpoint-badge .path { + color: #9ca3af; } /* ================================================ - HEADINGS + SECTION HEADERS ================================================ */ -h1 { - font-size: 2rem; - line-height: 120%; +.params-section { + margin: 24px 0; } -h2 { - font-size: 1.5rem; - line-height: 140%; +.params-section h3 { + font-size: 13px !important; + font-weight: 600 !important; + color: #6b7280 !important; + text-transform: uppercase; + letter-spacing: 0.05em; + margin: 0 0 12px 0 !important; + padding: 0 !important; + border: none !important; } -h3 { - font-size: 1.25rem; - line-height: 140%; +.dark .params-section h3 { + color: #9ca3af !important; } -h4, -h5, -h6 { - line-height: 140%; +.params-list { + border-top: 1px solid #e5e7eb; } -.vp-doc h2 { - border-top: none !important; - margin-top: 32px; +.dark .params-list { + border-top-color: #2a2a2a; } -.vp-doc h3 { - border-top: none !important; +.returns-section { + margin: 24px 0; +} + +.returns-section h3 { + font-size: 13px !important; + font-weight: 600 !important; + color: #6b7280 !important; + text-transform: uppercase; + letter-spacing: 0.05em; + margin: 0 0 12px 0 !important; + padding: 0 !important; + border: none !important; +} + +.dark .returns-section h3 { + color: #9ca3af !important; } /* ================================================ @@ -174,13 +434,32 @@ div[class*="language-"] pre { background: transparent !important; } +/* Language label */ div[class*="language-"] > span.lang { color: #9ca3af; font-size: 12px; } /* ================================================ - CARD GROUP + UTILITY CLASSES + ================================================ */ + +.hidden { + display: none !important; +} + +/* Remove default VitePress h2/h3 borders */ +.vp-doc h2 { + border-top: none !important; + margin-top: 32px; +} + +.vp-doc h3 { + border-top: none !important; +} + +/* ================================================ + CARD GROUP COMPONENT STYLES ================================================ */ .card-group { @@ -232,7 +511,7 @@ div[class*="language-"] > span.lang { } /* ================================================ - CARD COMPONENT + CARD COMPONENT STYLES ================================================ */ .card-link { @@ -266,7 +545,6 @@ div[class*="language-"] > span.lang { font-size: 32px; margin-bottom: 16px; line-height: 1; - color: var(--vp-c-brand-1); } .card-title { @@ -303,9 +581,37 @@ div[class*="language-"] > span.lang { } /* ================================================ - SIGN IN BUTTON + SEARCH BOX WIDTH IN HEADER ================================================ */ +/* Make the header search box wider */ +.DocSearch.DocSearch-Button { + justify-content: space-between !important; +} + +@media (min-width: 768px) { + .DocSearch.DocSearch-Button { + width: 280px !important; + } +} + +@media (min-width: 1024px) { + .DocSearch.DocSearch-Button { + width: 400px !important; + } +} + +@media (min-width: 1280px) { + .DocSearch.DocSearch-Button { + width: 500px !important; + } +} + +/* ================================================ + SIGN IN BUTTON STYLING + ================================================ */ + +/* Target the Sign in link using multiple class combinations */ .VPNavBarMenuLink.VPLink[href*="sign-in"], a.VPLink.VPNavBarMenuLink[href*="sign-in"], .VPNavBarMenu .VPLink[href="https://app.plane.so/sign-in"] { @@ -325,6 +631,7 @@ a.VPLink.VPNavBarMenuLink[href*="sign-in"], vertical-align: middle !important; } +/* Hide the external link arrow icon */ .VPNavBarMenuLink.VPLink[href*="sign-in"] .vp-external-link-icon, a.VPLink.VPNavBarMenuLink[href*="sign-in"] .vp-external-link-icon, .VPNavBarMenu .VPLink[href="https://app.plane.so/sign-in"] .vp-external-link-icon, @@ -335,6 +642,7 @@ a.VPLink.VPNavBarMenuLink[href*="sign-in"] .VPImage { display: none !important; } +/* Also hide the icon using ::after if it's a pseudo-element */ .VPNavBarMenuLink.VPLink[href*="sign-in"]::after, a.VPLink.VPNavBarMenuLink[href*="sign-in"]::after { display: none !important; @@ -349,6 +657,7 @@ a.VPLink.VPNavBarMenuLink[href*="sign-in"]:hover { text-decoration: none !important; } +/* Dark mode variant */ .dark .VPNavBarMenuLink.VPLink[href*="sign-in"], .dark a.VPLink.VPNavBarMenuLink[href*="sign-in"] { background: #006399 !important; @@ -362,114 +671,21 @@ a.VPLink.VPNavBarMenuLink[href*="sign-in"]:hover { } /* ================================================ - SEARCH BOX + CENTER SEARCH BAR IN NAVBAR ================================================ */ -.DocSearch.DocSearch-Button { - justify-content: space-between !important; -} - @media (min-width: 768px) { - .DocSearch.DocSearch-Button { - width: 230px !important; + .VPNavBarSearch { + position: fixed !important; + left: 50% !important; + transform: translateX(-50%) !important; + top: 0 !important; + height: var(--vp-nav-height) !important; + display: flex !important; + align-items: center !important; } } -@media (min-width: 1024px) { - .DocSearch.DocSearch-Button { - width: 310px !important; - } -} - -/* ================================================ - TAGS (Plan Tier Badges) - ================================================ */ - -.tag-wrapper { - display: flex; - align-items: center; - gap: 8px; -} - -.tags { - display: flex; - flex-wrap: nowrap; - gap: 8px; - align-items: center; - position: relative; - top: -10px; -} - -@media (max-width: 768px) { - .tags { - flex-direction: row; - align-items: flex-start; - white-space: nowrap; - } -} - -.pro { - color: #1a1a1a; - border-radius: 4px; - border: 1px solid #ea992466; - background: linear-gradient(167.44deg, #fdc742 0%, #fed464 67.25%, #fcfcfc 98.9%); - padding: 0 15px; -} - -.dark .pro { - color: #fff; - border-radius: 4px; - border: 1px solid #ea992466; - background: linear-gradient( - 167.44deg, - rgba(234, 153, 36, 0.7) 0%, - rgba(33, 33, 33, 0.4) 49.45%, - rgba(255, 224, 133, 0.32) 98.9% - ); - padding: 0 15px; -} - -.enterprise { - color: #1a1a1a; - border-radius: 4px; - border: 1px solid #7c3aed66; - background: linear-gradient(167.44deg, #a78bfa 0%, #c4b5fd 67.25%, #fcfcfc 98.9%); - padding: 0 15px; -} - -.dark .enterprise { - color: #fff; - border-radius: 4px; - border: 1px solid #7c3aed66; - background: linear-gradient( - 167.44deg, - rgba(124, 58, 237, 0.7) 0%, - rgba(33, 33, 33, 0.4) 49.45%, - rgba(196, 181, 253, 0.32) 98.9% - ); - padding: 0 15px; -} - -.business { - color: #111111; - border-radius: 4px; - border: 1px solid #d6d7d9; - background: linear-gradient(167.44deg, #c2c8e4 0%, #bfc4df 67.25%, #fcfcfc 98.9%); - padding: 0 15px; -} - -.dark .business { - color: #f5f5f5; - border-radius: 4px; - border: 1px solid #646c90; - background: linear-gradient( - 164.95deg, - #414669 0%, - rgba(56, 60, 78, 0.12) 53.4%, - rgba(172, 211, 255, 0.16) 100% - ); - padding: 0 15px; -} /* ================================================ HERO IMAGE STYLES @@ -628,18 +844,3 @@ article img[src$="#hero-br"] { margin: 10px; } -/* ================================================ - TABLE STYLES - ================================================ */ - -.dark .vp-doc tr:nth-child(2n) { - background-color: rgb(27 27 29); -} - -.vp-doc tr:nth-child(2n) { - background-color: rgb(250 250 250); -} - -.vp-doc thead tr { - border-bottom: none; -} diff --git a/docs/ai/pi-chat.md b/docs/ai/pi-chat.md index 80abbf6c..fed1dfac 100644 --- a/docs/ai/pi-chat.md +++ b/docs/ai/pi-chat.md @@ -3,11 +3,7 @@ title: AI powered assistant for project management description: Plane AI is your intelligent assistant for finding project data, analyzing work items, and managing tasks using natural language. --- -
-

AI-powered assistant for Plane

- - -
+# AI-powered assistant for Plane Plane AI is an AI assistant that helps you interact with your Plane workspace using natural language. Instead of navigating through menus and filters, you can simply ask Plane AI questions about your projects, work items, and documentation in plain English. diff --git a/docs/ai/plane-ai-credits.md b/docs/ai/plane-ai-credits.md index 68880d10..b380df31 100644 --- a/docs/ai/plane-ai-credits.md +++ b/docs/ai/plane-ai-credits.md @@ -127,47 +127,28 @@ Alerts notify workspace admins when the balance reaches 20% and 5% of total capa ## FAQs -
- - Why this pricing model? - - Credits provide granular control while remaining predictable. Unlike token-based pricing (which fluctuates based on AI model costs), credits give you stable rates. Unlike subscription tiers with arbitrary limits, credits scale naturally with your actual usage. -
- -
- - How long do credits last? - - It depends on your plan and how you acquired them. Free plan credits reset monthly with no rollover. Pro plan credits roll over for 1 month, Business for 3 months, and Enterprise plans roll over for up to 12 months. Top-up credits purchased separately are valid for 12 months on all paid plans, regardless of your base plan's rollover period. -
- -
- - Do all workspace members share the same credit pool? - - Yes. Credits are allocated at the workspace level, creating a shared balance that all members draw from. This prevents the problem of some team members having unused credits while others run out. Admins can set per-user limits if needed to prevent any single member from consuming the entire pool. -
- -
- - What happens when my workspace runs out of credits? - - You'll receive alerts when your balance reaches 20% and 5% of total capacity, giving you time to respond. Once you hit zero, AI features become unavailable until you top up or your monthly allocation renews. Your existing data, past AI results, and all non-AI functionality remain fully accessible. You just can't request new AI operations. -
- -
- - Can I switch between plans without losing credits? - - Yes, you can change plans anytime. When you switch, your unused credits carry forward and adopt the new plan's rollover rules. If you upgrade mid-month, your increased allocation takes effect immediately. If you downgrade, the change happens at your next billing cycle to avoid losing paid credits. -
- -
- - How can I monitor my workspace's credit usage? - - The real-time dashboard shows your remaining balance, consumption history, and trends over time. Before executing any AI action, you'll see a credit cost preview. -
---- +::: details Why this pricing model? +Credits provide granular control while remaining predictable. Unlike token-based pricing (which fluctuates based on AI model costs), credits give you stable rates. Unlike subscription tiers with arbitrary limits, credits scale naturally with your actual usage. +::: + +::: details How long do credits last? +It depends on your plan and how you acquired them. Free plan credits reset monthly with no rollover. Pro plan credits roll over for 1 month, Business for 3 months, and Enterprise plans roll over for up to 12 months. Top-up credits purchased separately are valid for 12 months on all paid plans, regardless of your base plan's rollover period. +::: + +::: details Do all workspace members share the same credit pool? +Yes. Credits are allocated at the workspace level, creating a shared balance that all members draw from. This prevents the problem of some team members having unused credits while others run out. Admins can set per-user limits if needed to prevent any single member from consuming the entire pool. +::: + +::: details What happens when my workspace runs out of credits? +You'll receive alerts when your balance reaches 20% and 5% of total capacity, giving you time to respond. Once you hit zero, AI features become unavailable until you top up or your monthly allocation renews. Your existing data, past AI results, and all non-AI functionality remain fully accessible. You just can't request new AI operations. +::: + +::: details Can I switch between plans without losing credits? +Yes, you can change plans anytime. When you switch, your unused credits carry forward and adopt the new plan's rollover rules. If you upgrade mid-month, your increased allocation takes effect immediately. If you downgrade, the change happens at your next billing cycle to avoid losing paid credits. +::: + +::: details How can I monitor my workspace's credit usage? +The real-time dashboard shows your remaining balance, consumption history, and trends over time. Before executing any AI action, you'll see a credit cost preview. +::: Ready to explore how Plane AI can help your team? [View our pricing options](https://plane.so/pricing#ai-&-credits) or start with 1,000 free credits. diff --git a/docs/authentication/group-sync.mdx b/docs/authentication/group-sync.md similarity index 94% rename from docs/authentication/group-sync.mdx rename to docs/authentication/group-sync.md index 5e9119e7..caaee676 100644 --- a/docs/authentication/group-sync.mdx +++ b/docs/authentication/group-sync.md @@ -5,12 +5,7 @@ hide_title: true description: Automatically provision project memberships based on identity provider groups. --- -import Tags from "@site/src/components/Tags"; - -
-

Group syncing

- -
+# Manage project access with IdP groups :::info Group syncing is currently available on the self-hosted Commercial Edition and supports OIDC only. SAML and LDAP support is coming soon. diff --git a/docs/authentication/sso.md b/docs/authentication/sso.md index a3c82634..61d90edf 100644 --- a/docs/authentication/sso.md +++ b/docs/authentication/sso.md @@ -3,10 +3,7 @@ title: Single sign-on (SSO) description: Configure SAML or OIDC authentication to let your team sign in to Plane using corporate identity provider credentials. --- -
-

Single sign-on (SSO)

- -
+# Single sign-on (SSO) Single sign-on (SSO) lets your team sign in to Plane using your organization's identity provider instead of managing separate passwords. This centralizes authentication, improves security, and simplifies user management. diff --git a/docs/automations/custom-automations.md b/docs/automations/custom-automations.md index 86db7314..6bdee413 100644 --- a/docs/automations/custom-automations.md +++ b/docs/automations/custom-automations.md @@ -3,10 +3,7 @@ title: Automate project tasks with trigger based workflows description: Automate repetitive project tasks with trigger-based workflows. Set up rules to automatically update work item properties, assign team members, and manage priorities when specific conditions are met. --- -
-

Automate your project workflow

- -
+# Automate your project workflow Automations let you streamline your project management workflow by automatically performing actions based on specific triggers and conditions. This powerful feature eliminates repetitive manual tasks, ensures consistency in your processes, and helps your team maintain focus on high-value work by letting the system handle routine operations. diff --git a/docs/communication-and-collaboration/project-updates.md b/docs/communication-and-collaboration/project-updates.md index dd250bf6..669611b4 100644 --- a/docs/communication-and-collaboration/project-updates.md +++ b/docs/communication-and-collaboration/project-updates.md @@ -3,7 +3,7 @@ title: Project updates to share status and track progress description: Share project status and track progress over time --- -# Share project status with Project Updates +# Share project status with Project Updates Project updates provide a way to share project status and create a timeline of project progress. Use updates to communicate where your project stands, highlight blockers, and keep stakeholders informed without requiring meetings or status check-ins. diff --git a/docs/core-concepts/analytics.md b/docs/core-concepts/analytics.md index 11dbf067..fb180b3b 100644 --- a/docs/core-concepts/analytics.md +++ b/docs/core-concepts/analytics.md @@ -32,10 +32,8 @@ The new analytics experience provides comprehensive views across six key areas: Get a bird's-eye view of your entire workspace with essential performance indicators that drive strategic decision-making. The workspace metrics section displays comprehensive user statistics including total users, admins, members, and guests, alongside project count and distribution across your organization. You can monitor the overall work item count across all projects and track active cycles and intake statistics to understand your team's current workload. -
-

Projects analysis

- -
+### Projects analysis + ![Analytics Projects](https://media.docs.plane.so/analytics/projects-analytics.webp#hero) The Projects analytics tab gives you a clear snapshot of how all your projects are performing across your workspace. Right at the top, you'll see the big picture numbers - your total project count along with a health check showing how many are on-track, off-track, or at risk. This instant overview helps you quickly spot if anything needs your attention. @@ -62,10 +60,7 @@ The interactive chart builder lets you choose what you want to measure and then You can easily export all your analytics data to CSV format, making it simple to dive deeper into the numbers using spreadsheets or other analysis tools you prefer. -
-

Cycles analysis

- -
+### Cycles analysis ![Analytics Cycles](https://media.docs.plane.so/analytics/cycle-analytics.webp#hero) @@ -79,10 +74,7 @@ The cycle table at the bottom provides all the essential management information This kind of cycle analysis is invaluable for sprint retrospectives and improving your team's estimation accuracy over time. You can identify patterns in cycle performance and use that data to make better decisions about sprint planning and workload distribution. -
-

Modules analysis

- -
+### Modules analysis ![Analytics Modules](https://media.docs.plane.so/analytics/module-analytics.webp#hero) @@ -94,10 +86,7 @@ When you hover over any module in the chart, you get a detailed breakdown of the The table gives you all the management essentials - who's leading each module, which project it belongs to, planned timelines, and current completion status. This makes it easy to identify modules that might need attention, whether that's because they're running behind schedule, don't have a clear lead assigned, or are sitting at 0% completion when they should have started by now. -
-

Intake analysis

- -
+### Intake analysis ![Analytics Intake](https://media.docs.plane.so/analytics/Intake-analytics.webp#hero) diff --git a/docs/core-concepts/cycles.md b/docs/core-concepts/cycles.md index ea68eabb..43e3de58 100644 --- a/docs/core-concepts/cycles.md +++ b/docs/core-concepts/cycles.md @@ -51,10 +51,7 @@ If the Project Admin sets the **Timezone** in [Project settings](/core-concepts/ You can modify the name, description, start and due dates of active and upcoming cycles at any time. ::: -
-

Start and stop cycles

- -
+## Start and stop cycles While Cycles typically run for their set duration, sometimes you need more flexibility in managing your work periods. You can manually control when a Cycle begins or ends using the interface controls. @@ -90,10 +87,7 @@ Once the due date of an active Cycle passes, it’s automatically marked as comp ![Transfer work items](https://media.docs.plane.so/cycles/transfer-issues.webp#hero-tr) -
-

Auto-schedule cycles

- -
+## Auto-schedule cycles Automate the creation and management of cycles according to predefined configurations, eliminating manual setup while ensuring consistent cycle planning and team predictability. @@ -132,10 +126,7 @@ Once a cycle is active and contains work items, you can monitor its progress, as ![Track cycle progress](https://media.docs.plane.so/cycles/track-cycle-progress.webp#hero) -
-

Cycle progress charts

- -
+## Cycle progress charts This feature provides powerful visualization tools to help you track project cycles more effectively. With real-time insights, you can see exactly how your cycle is performing against the planned progress, making it easier to stay on top of deadlines and adjust as needed. @@ -194,10 +185,7 @@ The build-up chart helps track how much work has already been completed in the c - **Trailing**\ If fewer tasks are completed than expected, the chart shows a red downward trend, with a light red fill between the ideal and actual lines, indicating the need to speed up progress. -
-

Active cycles across projects

- -
+## Active cycles across projects If you have multiple projects with Cycles running at the same time, you can easily track the progress of all active cycles in the **Cycles** section under the **Workspace** section in the sidebar. This gives you a quick overview of each project’s progress and helps you spot any potential issues early on. Each cycle displays its status—whether it’s ahead of schedule or falling behind—based on the burn-down and build-up metrics. @@ -211,10 +199,7 @@ You can archive completed cycles, allowing you to conceal significantly older cy You can delete a Cycle to remove it entirely. When you do, all associated analytics and progress reports will be erased. Any work items linked to that Cycle will also be automatically unlinked. -
-

Export cycles

- -
+## Export cycles You can export cycle data to analyze sprint performance, create reports, or share progress with stakeholders outside of Plane. Exports include all work items within the cycle along with their key details. diff --git a/docs/core-concepts/export.md b/docs/core-concepts/export.md index fceccce0..1f2fe980 100644 --- a/docs/core-concepts/export.md +++ b/docs/core-concepts/export.md @@ -48,10 +48,7 @@ Once completed, click **Download** to get your file. Use the **Refresh status** Exported files remain downloadable for a limited time (7 days). After this period, they will show as "Expired" and you'll need to create a new export. ::: -
-

Custom exports

- -
+## Custom exports Export filtered work items, cycles, views, or modules directly from your project. Custom exports let you export exactly what you see after applying filters and display options—perfect for reports, analysis, or sharing specific data sets. diff --git a/docs/core-concepts/inbox.md b/docs/core-concepts/inbox.md index 1166fe44..4f53df06 100644 --- a/docs/core-concepts/inbox.md +++ b/docs/core-concepts/inbox.md @@ -38,10 +38,7 @@ In the top-right corner of the Inbox pane, you’ll find the filters dropdown. U ![Inbox filters](https://media.docs.plane.so/inbox/inbox-filters.webp#hero) -
-

Stacked notifications

- -
+## Stacked notifications We’ve introduced stacked notifications to make your Inbox even more efficient. When there are changes to the same work item, they’ll be grouped into a parent notification. Hover over the notification to see all the grouped changes without sifting through a cluttered list. diff --git a/docs/core-concepts/intake.md b/docs/core-concepts/intake.md index 305d884c..44e0f0d3 100644 --- a/docs/core-concepts/intake.md +++ b/docs/core-concepts/intake.md @@ -3,7 +3,7 @@ title: Intake to collect and triage external work requests description: Use Intake feature to collect, triage, and manage external work item submissions from stakeholders, clients, and guests before adding them to your workflow. --- -# Triage work items before adding them to your project +# Triage work items before adding them to project Intake is a Plane-only feature that lets `Guests` create work items following which `Admins` and `Members` can move these work items inside a project. Intake can take bug reports, feature or service requests, or raise a ticket by stakeholders, customers, or clients. Work items created in Intake can then be accepted to move them to the Project’s workflow. @@ -51,7 +51,7 @@ When a Guest creates a work item in Intake, it is added to the `Pending` state. ### Accept work item - ![accept-intake-work item](https://media.docs.plane.so/intake/accept-intake-issue.webp#hero) +![accept-intake-work item](https://media.docs.plane.so/intake/accept-intake-issue.webp#hero) 1. Open a pending work item in Intake. 2. Click the **Accept** button on the top right. This will open a modal where you can change the work item details before moving it to your project. @@ -65,7 +65,7 @@ If the work item is not relevant to your project, you can choose to decline it. A work item can be snoozed to review it at a later time. - ![snooze-intake-work item](https://media.docs.plane.so/intake/snooze-intake-issue.webp#hero-bl) +![snooze-intake-work item](https://media.docs.plane.so/intake/snooze-intake-issue.webp#hero-bl) 1. Open a pending work item in Intake. 2. Click on the three dots icon in the top right corner. @@ -83,7 +83,7 @@ In cases where a similar work item exists in your project, an Intake work item c 3. Select the **Mark as duplicate** option in the menu. 4. Select a work item in the project that is a duplicate of the Intake work item. - ![mark-duplicate-intake-work items](https://media.docs.plane.so/intake/mark-duplicate-intake-issues.webp#hero) +![mark-duplicate-intake-work items](https://media.docs.plane.so/intake/mark-duplicate-intake-issues.webp#hero) The work item is now declined with a ‘Duplicate’ label on it. It will also appear in the `Cancelled` state under your project. diff --git a/docs/core-concepts/issues.md b/docs/core-concepts/issues.md index 081576bb..352b034b 100644 --- a/docs/core-concepts/issues.md +++ b/docs/core-concepts/issues.md @@ -1,5 +1,10 @@ --- title: Work items +search: false +head: + - - meta + - name: robots + content: noindex, nofollow --- # Work items diff --git a/docs/core-concepts/issues/bulk-ops.md b/docs/core-concepts/issues/bulk-ops.md index 5f488af4..d72aa948 100644 --- a/docs/core-concepts/issues/bulk-ops.md +++ b/docs/core-concepts/issues/bulk-ops.md @@ -3,10 +3,7 @@ title: Bulk update multiple work items to save time description: Learn how to save time by updating multiple work items at once in Plane. Change states, priorities, assignees, dates, and more with efficient bulk operations. --- -
-

Update multiple work items at once

- -
+# Update multiple work items at once Working with multiple work items at once can save you significant time. diff --git a/docs/core-concepts/issues/epics.md b/docs/core-concepts/issues/epics.md index 5fb8f780..ac0acbaa 100644 --- a/docs/core-concepts/issues/epics.md +++ b/docs/core-concepts/issues/epics.md @@ -3,10 +3,7 @@ title: Organize related work items with Epics description: Create and manage Epics in Plane to organize related work items, track progress across multiple tasks, and align your team around larger objectives. --- -
-

Organize and track your work items with Epics

- -
+# Organize and track work items with Epics Epics help you group related tasks into a larger work item, providing a hierarchical structure for managing complex projects. This feature is ideal for breaking down major objectives into smaller, manageable pieces while keeping everything organized within a project. @@ -88,10 +85,7 @@ You can add existing work items to the Epic or create new ones directly from the A work item can belong to only one Epic. This ensures clarity in organization and avoids overlapping tasks across multiple Epics. ::: -
-

Duplicate Epics

- -
+## Duplicate Epics When you need to create similar Epics or replicate an Epic's structure across projects, Plane allows you to duplicate existing Epics either within the same project or to different projects in your workspace. To duplicate an Epic, click the ••• menu in the Epic header and select Make a copy. You'll see two options: @@ -161,10 +155,7 @@ For each work item, you can assign or change a work item's Epic directly in the ![Link Work items to Epics](https://media.docs.plane.so/epics/link-issue-epic.webp#hero) -
-

Convert Epics to Work Items

- -
+## Convert Epics to Work Items Sometimes you realize that what you thought was a big, complex epic is actually something smaller and more focused. That's where converting an epic to a work item comes in handy. This feature lets you transform an epic into a regular work item, making it easier to track and manage as a single deliverable rather than a collection of tasks. diff --git a/docs/core-concepts/issues/estimates.md b/docs/core-concepts/issues/estimates.md index f5faae21..834a8633 100644 --- a/docs/core-concepts/issues/estimates.md +++ b/docs/core-concepts/issues/estimates.md @@ -67,10 +67,7 @@ If you prefer to estimate effort by text categories rather than numbers, this is This system provides a high-level estimate of effort based on intuitive categories, which is especially helpful in teams where relative effort matters more than precise numeric estimates. -
-

Time

- -
+### Time This system uses time durations to estimate how long work items will take to complete. It's ideal for teams that need to plan based on actual time investments or track billable hours. Plane offers two ways to set up your time estimates: diff --git a/docs/core-concepts/issues/issue-types.md b/docs/core-concepts/issues/issue-types.md index 29f1c5b0..b5ebb0cb 100644 --- a/docs/core-concepts/issues/issue-types.md +++ b/docs/core-concepts/issues/issue-types.md @@ -3,10 +3,7 @@ title: Work Item Types description: Create specialized work item types in Plane with custom properties, icons, and colors for different teams and workflows to streamline project management. --- -
-

Add, configure and control your work item types

- -
+# Add and configure your work item types Work item Types unlock a whole new way of adding, editing, and moving work forward in Plane. The default work item type called `Issue` is great for starting with Plane, but as you advance in your project management journey, you find the need for names and properties unique to the type of work you are doing. diff --git a/docs/core-concepts/issues/overview.md b/docs/core-concepts/issues/overview.md index 1a5f3987..27897275 100644 --- a/docs/core-concepts/issues/overview.md +++ b/docs/core-concepts/issues/overview.md @@ -45,10 +45,7 @@ Break down larger tasks into smaller, manageable components by creating sub-work ![sub-work items](https://media.docs.plane.so/issues/issue-sub-issues.webp#hero) -
-

Duplicate work items

- -
+## Duplicate work items When you need to create similar work items or replicate a work item's structure and properties, Plane lets you duplicate existing work items either within the same project or across different projects. To duplicate a work item, click the **•••** menu in the work item header and select **Make a copy**. You'll see two options: @@ -126,10 +123,7 @@ Plane allows you to upload different file types directly to the work item. Use t - **Other** CSS, JavaScript, JSON, XML, CSV, SQL -
-

Link pages to work items

- -
+## Link pages to work items Connect relevant project pages and wiki documentation to your work items to provide instant access to related context, specifications, or reference materials. 1. Use the **Link pages** button in the work item to open the page linking modal. @@ -138,10 +132,7 @@ Connect relevant project pages and wiki documentation to your work items to prov Linked pages appear directly in the work item, making it easy for team members to access relevant documentation without leaving the context of their current task. -
-

Convert work items to epics

- -
+## Convert work items to epics Sometimes a work item grows in scope and complexity, and you realize it's actually big enough to be its own epic with multiple sub-tasks. This feature promotes a regular work item into an epic, giving you the structure and flexibility to break it down into smaller, manageable pieces. @@ -203,10 +194,7 @@ Within your project, you can set up automations to perform the following tasks: ![Project close automation](https://media.docs.plane.so/projects/auto-close-issues.webp#hero) -
-

Export work items

- -
+## Export work items You can export your work items to access and analyze your data outside of Plane. Exports support CSV and JSON formats, and you can filter exactly which work items to include. diff --git a/docs/core-concepts/issues/time-tracking.md b/docs/core-concepts/issues/time-tracking.md index 4539ab41..6eddddd6 100644 --- a/docs/core-concepts/issues/time-tracking.md +++ b/docs/core-concepts/issues/time-tracking.md @@ -3,10 +3,7 @@ title: Time tracking to log hours on tasks description: Log hours on work items, view timesheet records, and download comprehensive reports for project time management. --- -
-

Log time on work items

- -
+# Log time on work items > **Role**: Project Admins diff --git a/docs/core-concepts/issues/timeline-dependency.md b/docs/core-concepts/issues/timeline-dependency.md index 916d64e6..7fa79aee 100644 --- a/docs/core-concepts/issues/timeline-dependency.md +++ b/docs/core-concepts/issues/timeline-dependency.md @@ -3,10 +3,7 @@ title: Task dependencies description: Create and manage visual task dependencies in Plane with timeline connectors. --- -
-

Set up task dependencies in Timeline layout

- -
+# Set up task dependencies in Timeline layout With dependencies, managing connected tasks has never been easier. This feature provides a clear, high-level view of task relationships, allowing you to quickly see which tasks depend on each other. It helps you plan tasks more efficiently, optimize resource allocation, and stay on top of critical tasks. By tracking dependencies, you can spot bottlenecks, prevent delays, and keep everything on track. diff --git a/docs/core-concepts/modules.md b/docs/core-concepts/modules.md index cc41c23b..cbea911a 100644 --- a/docs/core-concepts/modules.md +++ b/docs/core-concepts/modules.md @@ -102,10 +102,7 @@ Archive completed Modules to declutter your views while preserving historical da If a Module is no longer needed, you can delete it. Deleting a Module removes its progress analytics and de-links all associated work items. -
-

Export modules

- -
+## Export modules You can export module data to track progress, create reports, or share module updates with stakeholders outside of Plane. Exports include all work items within the module along with their key details. diff --git a/docs/core-concepts/pages/editor-blocks.md b/docs/core-concepts/pages/editor-blocks.md index 3f93c255..7f112d15 100644 --- a/docs/core-concepts/pages/editor-blocks.md +++ b/docs/core-concepts/pages/editor-blocks.md @@ -44,10 +44,7 @@ Highlights quoted text or important statements with distinct formatting. Displays code snippets or command-line text with proper formatting and syntax highlighting. -
-

Embed

- -
+## Embed Seamlessly integrate external content directly into your documents with rich, interactive embeds. The embed feature supports a wide variety of platforms and content types, making it easy to enhance your documentation with multimedia and interactive elements. @@ -61,11 +58,7 @@ This opens an embed dialog where you can paste any supported link. The system au Inserts and displays images within your content. -
-

Attachment

- -
+## Attachment Uploads and embeds files directly into your content, supporting documents, images, and other file types up to 100MB each. @@ -75,11 +68,7 @@ When you upload video files as attachments, you can display them with inline pla ![Show preview](https://media.docs.plane.so/pages/show-preview.webp#hero) -
-

Video

- -
+## Video Embeds video content directly into your pages for rich multimedia documentation. @@ -93,11 +82,7 @@ If you have a video displayed with inline preview and want to convert it to a si ![Show as attachment](https://media.docs.plane.so/pages/show-as-attachment.webp#hero) -
-

Math equations

- -
+## Math equations Add mathematical expressions and formulas to your Pages using LaTeX syntax. Whether you need to document complex calculations, display statistical formulas, or include scientific notations, Plane supports both inline and block-style mathematical equations. This is perfect for technical documentation, engineering specs, data analysis reports, and any content requiring precise mathematical notation. @@ -137,11 +122,7 @@ $ a^2 + b^2 = c^2 $ Both equation types support full LaTeX rendering with built-in validation and error handling for invalid mathematical expressions. -
-

Draw.io diagrams

- -
+## Draw.io diagrams ::: tip Prerequisites Before you can add Draw.io diagrams to Pages or Wiki, you need to [connect the Draw.io integration](/integrations/draw-io) from Workspace Settings. @@ -167,10 +148,7 @@ Both modes feature a consistent toolbar with **Save** and **Exit** buttons, maki Creates visually distinct sections with customizable icons and colors for highlighting warnings, tips , and calls-to-action. -
-

Work item embed

- -
+## Work item embed References work items directly in the editor to track details and progress. diff --git a/docs/core-concepts/pages/inline-comments.md b/docs/core-concepts/pages/inline-comments.md index eaf40b34..901fda63 100644 --- a/docs/core-concepts/pages/inline-comments.md +++ b/docs/core-concepts/pages/inline-comments.md @@ -3,10 +3,7 @@ title: Inline comments for collaborative page discussions description: Collaborate directly in Plane pages with inline comments. Highlight text, mention teammates, and resolve discussions across projects, wikis, and teamspaces. --- -
-

Add inline comments in pages

- -
+# Add inline comments in pages Inline comments allow you to collaborate directly within your documentation by highlighting specific text and starting focused discussions. This feature is available across Project pages, Wiki pages, and Teamspace pages. diff --git a/docs/core-concepts/pages/nested-pages.md b/docs/core-concepts/pages/nested-pages.md index 56d1bcee..b680ae53 100644 --- a/docs/core-concepts/pages/nested-pages.md +++ b/docs/core-concepts/pages/nested-pages.md @@ -3,10 +3,7 @@ title: Nested pages for hierarchical documentation structure description: Create structured documentation with Nested Pages. Build parent-child hierarchies, organize content logically, and improve navigation for your team's knowledge base. --- -
-

Structure content with nested pages

- -
+# Structure content with nested pages Nested Pages allows you to create a hierarchical structure for your content, helping you organize documentation logically and improve navigation for your team. This feature enables you to build robust knowledge architecture with parent and child pages, similar to folders and files. diff --git a/docs/core-concepts/pages/overview.md b/docs/core-concepts/pages/overview.md index 35dd17d1..4f7d9688 100644 --- a/docs/core-concepts/pages/overview.md +++ b/docs/core-concepts/pages/overview.md @@ -45,10 +45,7 @@ Plane allows you to use Markdown in Pages, making it easy to format content quic To use Markdown in Plane, simply type the relevant symbols (like # for headings or - for lists) directly within the page. Plane will automatically convert your Markdown into the appropriate format, helping you keep your workflow smooth and efficient. -
-

AI helper

- -
+## AI helper ![AI helper](https://media.docs.plane.so/pages/ai-helper.webp#hero-tl) @@ -58,10 +55,7 @@ Plane’s AI tools enhance content creation by helping you refine, reframe, and - Quickly generate summaries to highlight key points, ideal for meetings or lengthy documents. - Expand on ideas to add context, detail, or depth to your writing. - Get suggestions for clear, catchy titles. -
-

Mention work items

- -
+## Mention work items Link directly to work items within your pages using the `@` mention feature. This creates a connection between your documentation and the actual work being tracked in your project. @@ -85,10 +79,7 @@ Mentioned work items appear as interactive links in your page. Clicking them tak You can perform several actions on any block within a page. Just hover over the block and click the **⋮⋮ icon** that appears. -
-

Copy link to block

- -
+### Copy link to block Get a direct URL to this specific block. When someone opens this link, they'll jump straight to this block in the page, making it easy to reference specific sections in discussions or work items. @@ -101,10 +92,7 @@ Create a copy of the block to reuse content without starting from scratch. Remove the block entirely from the page. These quick actions help you manage and reference your content efficiently, especially in longer documents where you need to point teammates to specific sections. -
-

Convert selected text to work items

- -
+## Convert selected text to work items Turn any text selection in your page into a work item instantly. This feature helps you capture action items or tasks directly from your documentation without interrupting your flow. @@ -145,10 +133,7 @@ Share the page by copying its link to send to your teammates or link it in a wor Duplicate an existing page to jumpstart new content. -
-

Move Page

- -
+### Move Page Transfer a page to Wiki, Teamspace or a different Project in your workspace. ### Lock Page @@ -202,10 +187,7 @@ But it goes beyond just knowing who's there - you can actually see where your te The live cursors update instantly as people type, select text, or move around the document. It's like having everyone gathered around the same whiteboard, but digitally. -
-

Publish Page

- -
+## Publish Page ![Publish Page](https://media.docs.plane.so/pages/publish-page.webp#hero-tr) diff --git a/docs/core-concepts/pages/wiki.md b/docs/core-concepts/pages/wiki.md index f449a3cb..707f17cb 100644 --- a/docs/core-concepts/pages/wiki.md +++ b/docs/core-concepts/pages/wiki.md @@ -3,10 +3,7 @@ title: Wiki for company wide knowledge base description: Create and organize company-wide documentation, policies, guides, and knowledge that extends beyond individual projects. --- -
-

Centralized documentation with Wiki

- -
+# Centralized documentation with Wiki Plane's Wiki is a place to store and share company-wide information. Unlike project pages that focus on specific work, the Wiki helps you create documentation that matters to everyone in the organization. @@ -39,11 +36,7 @@ Where project pages zoom in on team-specific details, the Wiki gives you a bird' 4. Need to find something quick? Use the sidebar's search function to locate specific pages or information. -
-

Share private pages

- -
+## Share private pages While private pages are typically only accessible to their creator, you can selectively share private wiki pages with specific team members in your workspace. This gives you granular control over who can access sensitive documentation without making it visible to your entire organization. ![Wiki](https://media.docs.plane.so/wiki/share-private-pages.webp#hero) diff --git a/docs/core-concepts/projects/initiatives.md b/docs/core-concepts/projects/initiatives.md index dfaea01f..076159e9 100644 --- a/docs/core-concepts/projects/initiatives.md +++ b/docs/core-concepts/projects/initiatives.md @@ -3,10 +3,7 @@ title: Align multiple projects with Initiatives description: Create and manage Initiatives to align multiple projects with strategic goals, track cross-project epics, and monitor aggregated progress. --- -
-

Group multiple projects using Initiatives

- -
+# Group multiple projects using Initiatives Initiatives is designed to help you manage and track progress across multiple related projects under a unified objective. This feature is particularly useful if you need a high-level view of how various projects align with strategic goals. diff --git a/docs/core-concepts/projects/manage-project-members.md b/docs/core-concepts/projects/manage-project-members.md index 66b8ff2b..741eb2bf 100644 --- a/docs/core-concepts/projects/manage-project-members.md +++ b/docs/core-concepts/projects/manage-project-members.md @@ -145,10 +145,7 @@ Users can become project members in two different ways, and understanding both h Users can have both types of access simultaneously. When this happens, Plane automatically applies whichever role gives them higher permissions. For example, if someone is a `Guest` on your project but joins a linked teamspace, they're automatically upgraded to `Member` access. If they're already an `Admin`, they keep their `Admin` role. -
-

View project member activity

- -
+## View project member activity ::: info The Enterprise plan is currently only available for self-hosted instances. If you're interested in Enterprise features for your self-hosted deployment, contact [sales@plane.so](mailto:sales@plane.so) for pricing and licensing information. diff --git a/docs/core-concepts/projects/milestones.md b/docs/core-concepts/projects/milestones.md index 8d36b339..da7348a9 100644 --- a/docs/core-concepts/projects/milestones.md +++ b/docs/core-concepts/projects/milestones.md @@ -3,10 +3,7 @@ title: Align work toward target dates with Milestones description: Align work items toward shared completion dates with milestones. Track progress on quarterly objectives, product launches, and strategic initiatives in Plane. --- -
-

Track goals with Milestones

- -
+# Track goals with Milestones Milestones provide a layer to align work items and epics toward shared completion dates, helping teams focus on strategic objectives and critical deliverables. Whether tracking quarterly goals, product launches, or major feature releases, milestones give you visibility into progress and ensure teams stay on track. diff --git a/docs/core-concepts/projects/project-overview.md b/docs/core-concepts/projects/project-overview.md index 7d850443..2c1dd390 100644 --- a/docs/core-concepts/projects/project-overview.md +++ b/docs/core-concepts/projects/project-overview.md @@ -3,10 +3,7 @@ title: Project Overview description: Track metrics, share status updates, and monitor overall project health from a centralized dashboard for better team alignment. --- -
-

Monitor project progress at a glance

- -
+# Monitor project progress at a glance Without a centralized project view, teams often face challenges like fragmented information, inefficient progress tracking, and communication gaps. diff --git a/docs/core-concepts/projects/project-states.md b/docs/core-concepts/projects/project-states.md index 5bfefa84..7978e2c1 100644 --- a/docs/core-concepts/projects/project-states.md +++ b/docs/core-concepts/projects/project-states.md @@ -3,10 +3,7 @@ title: Project States description: Use Project States to categorize and track project progress across your workspace. --- -
-

Track your projects with states

- -
+# Track your projects with states Project States allows you to track the overall progress of your projects. With this tool, you can categorize projects into different states, helping you quickly identify which projects need attention and which are on track. diff --git a/docs/core-concepts/projects/recurring-work-items.md b/docs/core-concepts/projects/recurring-work-items.md index f96400ac..6f3b99aa 100644 --- a/docs/core-concepts/projects/recurring-work-items.md +++ b/docs/core-concepts/projects/recurring-work-items.md @@ -3,10 +3,7 @@ title: Recurring work items to automate repetitive tasks description: Learn how to set up recurring work items to automatically create repetitive tasks, maintenance schedules, and routine work on a predefined schedule. --- -
-

Automate repetitive tasks

- -
+# Automate repetitive tasks Keep your team on track with repetitive tasks by setting them up once and letting them automatically repeat on your schedule. diff --git a/docs/core-concepts/projects/run-project.md b/docs/core-concepts/projects/run-project.md index 7e26568b..4bcaf03b 100644 --- a/docs/core-concepts/projects/run-project.md +++ b/docs/core-concepts/projects/run-project.md @@ -1,6 +1,11 @@ --- title: Running your project description: Projects have states, labels, estimations along with integrations and automations which can be setup to run your project smoothly. +search: false +head: + - - meta + - name: robots + content: noindex, nofollow --- # Running your project diff --git a/docs/core-concepts/views.md b/docs/core-concepts/views.md index f1c48cfd..18fc50ee 100644 --- a/docs/core-concepts/views.md +++ b/docs/core-concepts/views.md @@ -19,7 +19,7 @@ In Plane, you can create two different types of views: - **Project Views** These Views are created within the specific project and are accessible to all Members of the project, depending on whether they are set as public or private. This feature is turned on by default and can be toggled on or off from the [project settings](/core-concepts/projects/overview#configure-project-settings). - ![Project Views](https://media.docs.plane.so/views/project-views.webp#hero) + ![Project Views](https://media.docs.plane.so/views/project-views.webp#hero) ## Create Views @@ -39,7 +39,7 @@ Learn more about how to apply filters [here](/core-concepts/issues/visualise_fil Saved filters can be accessed from the **Views** section. - ![view](https://media.docs.plane.so/views/views-overview.webp#hero) +![view](https://media.docs.plane.so/views/views-overview.webp#hero) After creating a view, you can: @@ -49,10 +49,7 @@ After creating a view, you can: Workspace Views are visualized using the spreadsheet layout, while project Views support all layouts. Learn more about layouts and grouping options [here](/core-concepts/issues/layouts). -
-

Publish Views

- -
+## Publish Views Publishing a View allows you to share it more interactively by enabling features like comments, reactions, and voting. Here's how to publish a view: @@ -76,10 +73,7 @@ You can remove views by deleting them from the list of views in your workspace o - Mark frequently used views as favorites for quick access. Favorited views appear on the sidebar under **Your Favorites** section. - Use the search bar in the **Views** section to locate specific views quickly. -
-

Export views

- -
+## Export views You can export data from any saved view to analyze filtered work items, create custom reports, or share specific subsets of your project data. Exports respect all filters applied to the view. diff --git a/docs/core-concepts/workspaces/members.md b/docs/core-concepts/workspaces/members.md index 7ff18fca..b29924a3 100644 --- a/docs/core-concepts/workspaces/members.md +++ b/docs/core-concepts/workspaces/members.md @@ -30,10 +30,7 @@ The invited person receives an email notification with instructions to join your - The invitation remains pending until accepted or declined. - You can manually remove pending invitations using the Remove option (see below). -
-

Import members from CSV

- -
+## Import members from CSV Workspace admins can bulk invite members by importing a CSV file. This is useful when onboarding teams or migrating users from another system. @@ -92,10 +89,7 @@ Ensure your SMTP server is properly configured to send invite emails successfull The role change takes effect immediately. -
-

View workspace member activity

- -
+## View workspace member activity Track member actions like invitations, role changes, and removals to maintain visibility over workspace management. @@ -106,18 +100,18 @@ Track member actions like invitations, role changes, and removals to maintain vi 1. Navigate to **Workspace settings → Members**. 2. Click **Activity** in the top right. -The activity panel shows recent workspace member events: + The activity panel shows recent workspace member events: -- **Member invitations** - Who invited which members and when -- **Invitation acceptances** - When members accepted and joined the workspace -- **Role changes** - Role updates with who made the change and when -- **Member removals** - Who removed members from the workspace + - **Member invitations** - Who invited which members and when + - **Invitation acceptances** - When members accepted and joined the workspace + - **Role changes** - Role updates with who made the change and when + - **Member removals** - Who removed members from the workspace -Each activity entry shows: + Each activity entry shows: -- The action taken -- Who performed the action -- When it happened (relative time like "about 1 month ago" or "5 days ago") + - The action taken + - Who performed the action + - When it happened (relative time like "about 1 month ago" or "5 days ago") This audit trail helps workspace admins monitor membership changes and troubleshoot access issues. Activity is retained for workspace history and can be filtered by clicking on specific activity types. diff --git a/docs/core-concepts/workspaces/teamspaces.md b/docs/core-concepts/workspaces/teamspaces.md index bd38b4cb..97db4d24 100644 --- a/docs/core-concepts/workspaces/teamspaces.md +++ b/docs/core-concepts/workspaces/teamspaces.md @@ -3,10 +3,7 @@ title: Track team work with Teamspaces description: Organize team members across projects, track team-specific work items, and create dedicated spaces for team knowledge and collaboration. --- -
-

Track work by teams

- -
+# Track work by teams With Teamspaces, you can mirror your real-world teams of any kind and track work separately from a project. See your team's work automatically filtered across projects, and house your team's knowledge separate from anything else in Plane. @@ -82,7 +79,7 @@ Views let you create custom ways of organizing and viewing work that make sense The Pages screen is your team's documentation hub, where you can create and maintain knowledge that lives at the team level rather than within specific projects. It's perfect for building process documentation, team guidelines, and collaborative resources that everyone can access and contribute to. -## Team's progress +## Team progress This section provides a visual representation and summary of the team's current workload and performance, helping managers track progress effectively. It highlights overdue work items, incomplete tasks, and pending actions, ensuring teams stay on top of their responsibilities. @@ -104,7 +101,7 @@ Here's a breakdown of its components: It also highlights work items without due dates, helping team leads prioritize and assign deadlines. -## Team's relations +## Team relations The Relations feature allows team members to track dependencies between work items. It has two main tabs - **Blocking** and **Blocked**. @@ -116,7 +113,7 @@ This tab displays work items that are currently blocking other tasks, potentiall **Blocked** This tab would display work items that are blocked by others. It helps in identifying bottlenecks and ensuring timely resolution to keep tasks moving. -## Team's stats +## Team stats This section provides a high-level view of tasks across multiple projects or teams. It visualizes work items in a treemap format, where each section represents a project, and the size of each block is proportional to the number of work items. @@ -128,7 +125,7 @@ A legend at the bottom categorizes work items by their state or priority, making This feature helps you quickly assess the distribution of workload, identify where resources are focused, and monitor the health of ongoing efforts. -## Team's info +## Team info The Info tab on the right serves as a centralized space to view key details and linked entities. @@ -143,19 +140,19 @@ The Info tab on the right serves as a centralized space to view key details and - **Team's entities** Displays the count of views and pages created at the team level. -## Teams members +## Team members The Members tab displays all members currently associated with the team. Clicking the **Add new member** button allows you to onboard teammates. You can remove team members through the menu (represented by the three dots) next to the member name. ![Teams members](https://media.docs.plane.so/teams/team-members.webp#hero-tr) -## Teams comments +## Team comments Add comments to collaborate with your team and to discuss progress, blockers, or updates. ![Teams info](https://media.docs.plane.so/teams/team-comments.webp#hero-tr) -## Teams activity feed +## Team activity feed Access the activity log for a history of changes made to the team, ensuring transparency and accountability. diff --git a/docs/customers.md b/docs/customers.md index d4766047..6521bce3 100644 --- a/docs/customers.md +++ b/docs/customers.md @@ -3,10 +3,7 @@ title: Customer management to track client requests and priorities description: Track client requests, link work items to specific customers, and prioritize tasks based on customer importance. --- -
-

Manage your work by customer priorities

- -
+# Manage your work by customer priorities The Customers feature transforms how you organize and prioritize work by placing your clients at the center of your process. Instead of managing tasks in isolation, Customers creates direct connections between your work items and the people they serve, helping teams make better decisions about what to prioritize and ensuring customer requests receive proper attention. @@ -109,7 +106,3 @@ Customer requests serve as the bridge between what your clients need and the act 5. Admins can hover over the **Customer** name to view details. ![Customer property](https://media.docs.plane.so/customers/customer-property.webp#hero) - -::: info What's next -Soon, you'll be able to bulk upload customer records via CSV files. -::: diff --git a/docs/dashboards.md b/docs/dashboards.md index 5e9f7dbd..7862afdc 100644 --- a/docs/dashboards.md +++ b/docs/dashboards.md @@ -3,10 +3,7 @@ title: Custom dashboards to visualize project metrics and data description: Build custom dashboards in Plane to visualize project metrics. --- -
-

Build custom dashboards

- -
+# Build custom dashboards Dashboards in Plane give you a bird's-eye view of your projects through customizable visualizations. They help you monitor progress, identify bottlenecks, and make data-driven decisions without diving into individual projects. diff --git a/docs/devices/mobile.md b/docs/devices/mobile.md index da34ba38..4dc20732 100644 --- a/docs/devices/mobile.md +++ b/docs/devices/mobile.md @@ -53,26 +53,26 @@ The navigation bar at the bottom of your screen helps you quickly access key are - **Projects**
This screen shows all the projects you have access to, along with your role and the active work items count. Tap the star icon to add a project to your **Favorites** for quick access. -
-
- Home -
-
- Projects -
+
+
+ Home +
+
+ Projects
+
- **Create**
Need to create a new project, work item, or page? Tap the + Create button. - - **New project** - Add the project details such as icon, name, description, and the lead. Mark it public or private. Hit the **Create** button. + - **New project** + Add the project details such as icon, name, description, and the lead. Mark it public or private. Hit the **Create** button. - - **New page** - - Select the project by clicking the project name at the top. - - Add an icon and the page title. - - You can use the toolbar at the bottom to add different content blocks and format them as needed. - - Hit the **Create** button to add it to your project. + - **New page** + - Select the project by clicking the project name at the top. + - Add an icon and the page title. + - You can use the toolbar at the bottom to add different content blocks and format them as needed. + - Hit the **Create** button to add it to your project.
@@ -83,11 +83,11 @@ The navigation bar at the bottom of your screen helps you quickly access key are
- - **New work item** - - Select the project by clicking the project name at the top. - - Add work item details like title and description. For the description, you can use the toolbar at the bottom to add different blocks and format the text as needed. - - Tap the **+** icon at the bottom left to assign members, priority, state, and other properties. - - Hit the **Create** button to add it to your project. + - **New work item** + - Select the project by clicking the project name at the top. + - Add work item details like title and description. For the description, you can use the toolbar at the bottom to add different blocks and format the text as needed. + - Tap the **+** icon at the bottom left to assign members, priority, state, and other properties. + - Hit the **Create** button to add it to your project.
@@ -104,14 +104,14 @@ The navigation bar at the bottom of your screen helps you quickly access key are - **Profile**
View your profile and manage your account here. You can also switch between workspaces or log out of the app from this screen. -
-
- Inbox -
-
- Profile -
+
+
+ Inbox
+
+ Profile +
+
### Global search @@ -133,11 +133,11 @@ You will notice that the bottom navigation bar now shows different buttons: - **Work items**
View a list of all, active and backlog work items. - - You can search, sort, and filter work items using the icon buttons on the top right. + - You can search, sort, and filter work items using the icon buttons on the top right. - - Tap any work item to view or modify work item details and view the activity. You can also add comments, copy the link, and share the work item with a personalized message via other apps. + - Tap any work item to view or modify work item details and view the activity. You can also add comments, copy the link, and share the work item with a personalized message via other apps. - - Click the **+ Add** button on the bottom left to add sub-work items and relations. You can also swipe left or right to view sub-work items, relations, links, and attachments. + - Click the **+ Add** button on the bottom left to add sub-work items and relations. You can also swipe left or right to view sub-work items, relations, links, and attachments.
@@ -212,16 +212,19 @@ Make sure you have a browser (like Chrome, Firefox, or Edge) installed on your p **Browser opens, but sign-in keeps looping?** This might be due to default browser settings. Try the following: - 1. Open your device’s **Settings**. - 2. Go to **Apps** or **Default Apps**. - 3. Find and tap on the browser you're using. - 4. Look for an option like **Clear defaults** or **Reset default app** - 5. Clear the defaults, then try signing in again. + 1. Open your device’s **Settings**. + 2. Go to **Apps** or **Default Apps**. + 3. Find and tap on the browser you're using. + 4. Look for an option like **Clear defaults** or **Reset default app** + 5. Clear the defaults, then try signing in again. - You’ll be prompted to choose a browser. Choose one that's in the same profile as the Plane app. + You’ll be prompted to choose a browser. Choose one that's in the same profile as the Plane app. -**Still stuck?** -Try clearing site data: 1. When the web sign-in page opens, tap the three-dot menu (usually in the top-right corner of the browser). 2. Go to **Settings → Site settings → Clear data** (wording may vary slightly by browser). 3. Try the sign-in process again. +**Still stuck?** +Try clearing site data: +1. When the web sign-in page opens, tap the three-dot menu (usually in the top-right corner of the browser). +2. Go to **Settings → Site settings → Clear data** (wording may vary slightly by browser). +3. Try the sign-in process again. ### Unable to log in using SSO @@ -232,9 +235,9 @@ Ensure the correct Redirect URI is configured in your OAuth service: https:///auth/mobile/google/callback/ ``` - For GitHub Sign-In: Add the following URL to the Callback URL section in your GitHub OAuth app: - `bash -https:///auth/mobile/github/callback/ -` + ```bash + https:///auth/mobile/github/callback/ + ``` Verify that the `` part of the URL matches your self-hosted instance's domain. ### Link not opening iOS app diff --git a/docs/importers/asana.md b/docs/importers/asana.md index 7c122b66..d5ffa8af 100644 --- a/docs/importers/asana.md +++ b/docs/importers/asana.md @@ -8,7 +8,7 @@ description: Migrate your Asana data to Plane. With the Asana importer, you can easily import issues, states, labels, priorities and user data from Asana to Plane and continue managing your existing projects. ::: info -The Asana importert is available on Plane Cloud and on all plans of the Commercial Edition for self-hosted instances. +The Asana importer is available on Plane Cloud and on all plans of the Commercial Edition for self-hosted instances. ::: ## Import from Asana diff --git a/docs/importers/clickup.md b/docs/importers/clickup.md index b0bfc824..0dd4c6f2 100644 --- a/docs/importers/clickup.md +++ b/docs/importers/clickup.md @@ -7,6 +7,10 @@ description: Import work items from ClickUp to Plane. The ClickUp importer helps you transfer your project data from ClickUp to Plane. It pulls information from your ClickUp workspace and maps it to the corresponding structure in Plane. This includes your projects, tasks, team members, custom fields, attachments, and comments. +::: info +The ClickUp importer is available on Plane Cloud and on all plans of the Commercial Edition for self-hosted instances. +::: + ## Prerequisites - A ClickUp Personal Access Token from your ClickUp App Settings. @@ -20,7 +24,7 @@ To import custom task types from ClickUp, make sure the [Work item types](/core- > **Role**: Workspace admins - ![Import from ClickUp](https://media.docs.plane.so/importers/clickup/import-clickup.webp#hero) + ![Import from ClickUp](https://media.docs.plane.so/importers/clickup/import-clickup.webp#hero) 1. Go to your Workspace Settings. 2. Select **Imports** on the left pane and click **Import** next to ClickUp. diff --git a/docs/importers/confluence.md b/docs/importers/confluence.md index 0b744589..a0e1f663 100644 --- a/docs/importers/confluence.md +++ b/docs/importers/confluence.md @@ -3,14 +3,14 @@ title: Import data from Confluence description: Import data from Confluence to Plane. --- -
-

Import your Confluence data to Plane

- -
+# Import your Confluence data to Plane The Confluence to Plane importer lets you transfer your Confluence pages and content to Plane's Wiki. This is useful when you want to bring your documentation, notes, and structured content from Confluence into your Plane workspace as Wiki pages. +::: info +The Confluence importer is available on Plane Cloud and on all plans of the Commercial Edition for self-hosted instances. +::: + The importer takes exported Confluence content and converts it into Plane Wiki pages. It preserves your page structure, including subpages, and maintains the hierarchical organization of your Confluence space within Plane's Wiki system. ## Export your Confluence content diff --git a/docs/importers/csv.md b/docs/importers/csv.md index 35194efa..aa57f34f 100644 --- a/docs/importers/csv.md +++ b/docs/importers/csv.md @@ -8,7 +8,7 @@ description: Import work items from CSV files to Plane. With the CSV importer, you can easily import work items from your CSV file to Plane. ::: info -The CSV importer is only available on Plane Cloud. +The CSV importer is available on Plane Cloud and on all plans of the Commercial Edition for self-hosted instances. ::: ## Import from CSV diff --git a/docs/importers/github-imp.md b/docs/importers/github-imp.md index b9211eaa..62548541 100644 --- a/docs/importers/github-imp.md +++ b/docs/importers/github-imp.md @@ -1,6 +1,11 @@ --- title: GitHub Importer sidebarTitle: Github +search: false +head: + - - meta + - name: robots + content: noindex, nofollow --- # GitHub Importer diff --git a/docs/importers/jira.md b/docs/importers/jira.md index 7b77e534..137fbfda 100644 --- a/docs/importers/jira.md +++ b/docs/importers/jira.md @@ -57,10 +57,10 @@ To import Jira issues to a Plane project, follow these steps: - **Upload CSV** Click the **Upload CSV** button to import users to your Plane project. Refer to [Export users from a site](https://support.atlassian.com/organization-administration/docs/export-users-from-a-site/) to download the CSV file from Jira. _(recommended)_ - Admin or Member role users invited to your workspace count toward your billed seats right away, but the importer only treats them as active members once they accept the invitation. So, when importing users, you have two options: + Admin or Member role users invited to your workspace count toward your billed seats right away, but the importer only treats them as active members once they accept the invitation. So, when importing users, you have two options: - - Don't invite users to the workspace manually and let the importer handle user creation. - - Invite users first and wait for all of them to accept before running the import. + - Don't invite users to the workspace manually and let the importer handle user creation. + - Invite users first and wait for all of them to accept before running the import. - **Skip user import** You can select the **Skip Importing User data** checkbox and manually add users later. diff --git a/docs/importers/linear.md b/docs/importers/linear.md index 235f5203..68f8b3e0 100644 --- a/docs/importers/linear.md +++ b/docs/importers/linear.md @@ -8,7 +8,7 @@ description: Migrate your Linear data to Plane. With the Linear importer, you can easily import issues, states, labels, priorities and user data from Linear to Plane and continue managing your existing projects. ::: info -The Linear importert is available on Plane Cloud and on all plans of the Commercial Edition for self-hosted instances. +The Linear importer is available on Plane Cloud and on all plans of the Commercial Edition for self-hosted instances. ::: ## Import from Linear diff --git a/docs/importers/notion.md b/docs/importers/notion.md index 776fd737..3dc1d4cc 100644 --- a/docs/importers/notion.md +++ b/docs/importers/notion.md @@ -3,14 +3,14 @@ title: Import data from Notion description: Import data from Notion to Plane. --- -
-

Import your Notion data to Plane

- -
+# Import your Notion data to Plane The Notion to Plane importer lets you transfer your Notion pages and content to Plane's Wiki. This is useful when you want to bring your documentation, notes, and structured content from Notion into your Plane workspace as Wiki pages. +::: info +The Notion importer is available on Plane Cloud and on all plans of the Commercial Edition for self-hosted instances. +::: + The importer takes exported Notion content and converts it into Plane wiki pages. It preserves your page structure, including subpages, and maintains the hierarchical organization of your Notion workspace within Plane's wiki system. ## Export your Notion content @@ -36,7 +36,7 @@ Only HTML exports from Notion are supported. Make sure to select HTML as your ex ## Import Notion content - ![Import from Notion](https://media.docs.plane.so/importers/notion/import-notion.webp#hero) + ![Import from Notion](https://media.docs.plane.so/importers/notion/import-notion.webp#hero) Once you have your exported ZIP file: @@ -47,13 +47,13 @@ Once you have your exported ZIP file: 3. On the Notion import page, click **Upload Notion Exported ZIP**. 4. Select and upload the ZIP file you exported from Notion. - ![Upload notion file](https://media.docs.plane.so/importers/notion/upload-notion-file.webp#hero) + ![Upload notion file](https://media.docs.plane.so/importers/notion/upload-notion-file.webp#hero) 5. Wait for the upload to complete. You'll see a "Upload complete!" message. 6. Click **Start Import** to begin processing your Notion data. 7. The import will process in phases. Once finished, the status will change to "Finished". - ![Notion file uploaded](https://media.docs.plane.so/importers/notion/notion-file-uploaded.webp#hero) + ![Notion file uploaded](https://media.docs.plane.so/importers/notion/notion-file-uploaded.webp#hero) 8. After the import completes, your Notion pages will be available in Plane's **Wiki** section. The page hierarchy from Notion will be preserved, with main pages and their nested pages organized in the same structure. diff --git a/docs/importers/overview.md b/docs/importers/overview.md index 2bddfd81..ea57cb04 100644 --- a/docs/importers/overview.md +++ b/docs/importers/overview.md @@ -5,41 +5,32 @@ description: Importers to migrate your project data to Plane # Easily migrate your project data with Plane Importers -Switching to Plane? No need to start from scratch. Our importers make it simple to move your project data from other tools, saving you time and effort. Instead of manually setting up your structure and history, you can directly transfer your existing issues into Plane, keeping your team’s progress intact for a smooth transition. +Switching to Plane? No need to start from scratch. Our importers make it simple to move your project data from other tools, saving you time and effort. Instead of manually setting up your structure and history, you can directly transfer your existing issues into Plane, keeping your team's progress intact for a smooth transition. ::: info Importers are available on Plane Cloud and on all plans of the Commercial Edition for self-hosted instances. ::: - - + + Import boards from Jira into Plane, streamlining your project setup. - - -Bring Linear tasks into Plane, ensuring smooth transitions and continued progress. - - - - -Migrate tasks from Asana to Plane, keeping your workflow intact and organized. - - - - Import work items from CSV files, perfect for migrating data from spreadsheets or other tools. - - + + Bring Linear tasks into Plane, ensuring smooth transitions and continued progress. + + + Migrate tasks from Asana to Plane, keeping your workflow intact and organized. + + + Import work items from CSV files, perfect for migrating data from spreadsheets or other tools. + + + Transfer tasks from ClickUp to Plane, maintaining your project structure. + + + Import pages from Confluence to Plane, preserving your documentation. + + + Migrate pages from Notion to Plane, keeping your knowledge base organized. + diff --git a/docs/intake/intake-email.md b/docs/intake/intake-email.md index 62321fb6..1cbf6aef 100644 --- a/docs/intake/intake-email.md +++ b/docs/intake/intake-email.md @@ -3,10 +3,7 @@ title: Intake emails to collect work items from email submissions description: Set up a dedicated email address for your project that automatically converts incoming messages into work items for easy review and processing. --- -
-

Collect work items via email

- -
+# Collect work items via email With Intake Emails, you get a dedicated email address where people can send requests that automatically appear in your project's Intake section. diff --git a/docs/intake/intake-forms.md b/docs/intake/intake-forms.md index 539a836a..ccf472f0 100644 --- a/docs/intake/intake-forms.md +++ b/docs/intake/intake-forms.md @@ -3,10 +3,7 @@ title: Intake to collect and triage external work requests description: Set up public web forms to collect bug reports, feature requests, and support tickets from external users without giving them project access. --- -
-

Collect work items with public web forms

- -
+# Collect work items with public web forms Now, you can easily gather bug reports, feature requests, or support tickets from external users, all by sharing a simple form link. diff --git a/docs/intake/overview.md b/docs/intake/overview.md index 3ead8ab6..db4bd022 100644 --- a/docs/intake/overview.md +++ b/docs/intake/overview.md @@ -51,10 +51,7 @@ Intake operates at the project level and is disabled by default. Project admins Once enabled, you'll see an **Intake** section under your project in the sidebar where all incoming work items appear. -
-

Intake responsbility

- -
+## Intake responsbility Assign a team member to take ownership of incoming work items and ensure nothing falls through the cracks. When you designate an intake responsible person, they'll automatically be assigned to and notified about every new work item that comes through any intake channel (in-app, forms, or email). diff --git a/docs/integrations/about.md b/docs/integrations/about.md index 63c55a0b..a5268ba4 100644 --- a/docs/integrations/about.md +++ b/docs/integrations/about.md @@ -8,26 +8,22 @@ description: Connect your workspace to external tools for synchronized workflows Plane's integrations make it easy to connect your workspace and projects with your favorite tools to streamline your workflow and keep everything in sync. Instead of constantly switching between different platforms, you can access and manage your external tools directly inside Plane. This creates a more efficient workflow, keeping your team focused and your projects running smoothly. - + Sync issues and pull requests between Plane and GitHub for a smooth, two-way workflow. - + Sync issues and pull requests between Plane and GitHub Enterprise for a smooth, two-way workflow. - - Connect Plane with Slack to create work items, sync discussions, and take action on tasks—all without leaving Slack. + + Embed Draw.io diagrams directly in Plane pages to visualize workflows, architectures, and processes. - + Connect GitLab to Plane to automate merge request tracking, link issues seamlessly, and streamline your development workflow. - - + + Connect Plane with Slack to create work items, sync discussions, and take action on tasks—all without leaving Slack. + + Connect Sentry to Plane to automatically create work items from Sentry issues, sync issue states, and streamline your error tracking workflow. diff --git a/docs/integrations/draw-io.md b/docs/integrations/draw-io.md index 55f68835..1f507cc3 100644 --- a/docs/integrations/draw-io.md +++ b/docs/integrations/draw-io.md @@ -3,10 +3,7 @@ title: Connect Draw.io integration description: Connect Draw.io to your Plane workspace to create and edit diagrams and whiteboards directly inside Plane Pages. --- -
-

Connect Draw.io integration

- -
+# Connect Draw.io integration Connect Draw.io to create and edit powerful diagrams and whiteboards directly inside Plane Pages and Wiki. diff --git a/docs/integrations/github.md b/docs/integrations/github.md index 8acbf432..72c06f19 100644 --- a/docs/integrations/github.md +++ b/docs/integrations/github.md @@ -3,10 +3,7 @@ title: Integrate GitHub to sync repositories with projects description: Integrate Plane with GitHub Cloud and GitHub Enterprise Server to synchronize issues and pull requests. Connect repositories to projects for bidirectional updates and seamless workflows. --- -
-

Integrate with GitHub

- -
+# Integrate with GitHub GitHub integration with Plane allows seamless synchronization between your GitHub repositories and Plane projects. By linking the two, your issues and pull requests stay updated across both platforms, enhancing collaboration and streamlining your workflow. Whether you're managing code, tasks, or both, this integration ensures your team stays in sync without the hassle of switching between platforms. @@ -30,44 +27,50 @@ To get started, you'll need to connect your GitHub account, organization, and re Link your GitHub organization to your Plane workspace to start syncing repositories. -### GitHub Cloud +:::tabs key:github-edition -::: danger Plane self-hosted instances -If you're running a self-hosted instance of Plane, you'll need to first create and configure a GitHub App to get GitHub integration working. Follow this [setup guide](https://developers.plane.so/self-hosting/govern/integrations/github?edition=github-cloud#create-github-app) first before diving into the steps on this page. -::: +== GitHub Cloud {#github-cloud} + +> [!CAUTION] Plane self-hosted instances +> If you're running a self-hosted instance of Plane, you'll need to first create and configure a GitHub App to get GitHub integration working. Follow this [setup guide](https://developers.plane.so/self-hosting/govern/integrations/github?edition=github-cloud#create-github-app) first before diving into the steps on this page. + + +1. Navigate to [Workspace settings](/core-concepts/workspaces/overview#access-workspace-settings) in Plane. +2. On the right pane, select **Integrations**. +3. Find the **GitHub** integration and click **Configure**. +4. In the **Connect Organization** section, click **Connect**. - 1. Navigate to [Workspace settings](/core-concepts/workspaces/overview#access-workspace-settings) in Plane. - 2. On the right pane, select **Integrations**. - 3. Find the **GitHub** integration and click **Configure**. - 4. In the **Connect Organization** section, click **Connect**. + ![Connect GitHub](https://media.docs.plane.so/integrations/github/connect-github.webp#hero) - ![Connect GitHub](https://media.docs.plane.so/integrations/github/connect-github.webp#hero) - 5. On the GitHub app installation page, choose the organization you want to connect. - 6. Select whether you want to sync all repositories or pick specific ones. - 7. Click **Install** to finalize the connection. - 8. After authorization, you’ll be redirected back to Plane, where your GitHub organization will appear as connected. +5. On the GitHub app installation page, choose the organization you want to connect. +6. Select whether you want to sync all repositories or pick specific ones. +7. Click **Install** to finalize the connection. +8. After authorization, you'll be redirected back to Plane, where your GitHub organization will appear as connected. - ### GitHub Enterprise Server - ::: danger Plane Cloud and self-hosted instances +== GitHub Enterprise Server {#github-enterprise-server} - Before you can integrate with GitHub Enterprise Server, you must first create and configure a GitHub App in your GitHub Enterprise Server instance. This is required for both Plane Cloud and self-hosted users. +> [!CAUTION] Plane Cloud and self-hosted instances +> Before you can integrate with GitHub Enterprise Server, you must first create and configure a GitHub App in your GitHub Enterprise Server instance. This is required for both Plane Cloud and self-hosted users. +> +> Follow this [setup guide](https://developers.plane.so/self-hosting/govern/integrations/github?edition=github-enterprise#create-github-app) first before diving into the steps on this section. - Follow this [setup guide](https://developers.plane.so/self-hosting/govern/integrations/github?edition=github-enterprise#create-github-app) first before diving into the steps on this section. - ::: +1. Navigate to [Workspace settings](/core-concepts/workspaces/overview#access-workspace-settings) in Plane. +2. On the right pane, select **Integrations**. +3. Find the **GitHub Enterprise** integration and click **Configure**. +4. In the **Connect Organization** section, click **Connect**. - 1. Navigate to [Workspace settings](/core-concepts/workspaces/overview#access-workspace-settings) in Plane. - 2. On the right pane, select **Integrations**. - 3. Find the **GitHub Enterprise** integration and click **Configure**. - 4. In the **Connect Organization** section, click **Connect**. + ![Connect GitHub Enterprise organization](https://media.docs.plane.so/integrations/github/connect-github-enterprise.webp#hero) - ![Connect GitHub Enterprise organization](https://media.docs.plane.so/integrations/github/connect-github-enterprise.webp#hero) - 5. Fill the form with the details of your GitHub Enterprise instance and click **Connect**. +5. Fill the form with the details of your GitHub Enterprise instance and click **Connect**. - ![Configure GitHub Enterprise organization](https://media.docs.plane.so/integrations/github/configure-github-enterprise.webp#hero) - 6. On the GitHub app installation page, choose the organization you want to connect. - 7. Select whether you want to sync all repositories or pick specific ones. - 8. Click **Install** to finalize the connection. - 9. After authorization, you’ll be redirected back to Plane, where your GitHub organization will appear as connected. + ![Configure GitHub Enterprise organization](https://media.docs.plane.so/integrations/github/configure-github-enterprise.webp#hero) + +6. On the GitHub app installation page, choose the organization you want to connect. +7. Select whether you want to sync all repositories or pick specific ones. +8. Click **Install** to finalize the connection. +9. After authorization, you'll be redirected back to Plane, where your GitHub organization will appear as connected. + +::: ### Connect personal GitHub account diff --git a/docs/integrations/gitlab.md b/docs/integrations/gitlab.md index e2e1d08d..bfdf5183 100644 --- a/docs/integrations/gitlab.md +++ b/docs/integrations/gitlab.md @@ -3,10 +3,7 @@ title: Integrate GitLab to sync repositories with projects description: Integrate Plane with GitLab and Self-managed GitLab to automate pull requests and work item state mapping. Connect repositories to projects for bidirectional updates and seamless workflows. --- -
-

Integrate with GitLab

- -
+# Integrate with GitLab Integrating GitLab with Plane allows you to sync your development workflow seamlessly by linking GitLab merge requests with Plane work items. This connection enables automated updates and enhances collaboration between developers and project managers. @@ -22,10 +19,6 @@ This guide walks you through the steps to connect your GitLab account, link GitL ## Set up GitLab integration -::: danger Self-hosted Plane instance (Commercial Edition) -If you're running a self-hosted instance of Plane, you'll need to set up a few extra configurations to get GitLab integration working. Check out the [setup guide](https://developers.plane.so/self-hosting/govern/integrations/gitlab) first before diving into the steps on this page. -::: - To get started, you'll need to connect your GitLab account, organization, and repositories with Plane. Follow the steps below to complete the setup: 1. [Connect your GitLab organization](/integrations/gitlab#connect-gitlab-organization) @@ -36,34 +29,29 @@ To get started, you'll need to connect your GitLab account, organization, and re Link your GitLab organization to your Plane workspace to start syncing repositories. This step is crucial for enabling the full range of GitLab-Plane integration. -### GitLab.com +:::tabs key:gitlab-edition -::: danger Self-hosted Plane instance (Commercial Edition) -If you're running a self-hosted instance of Plane, you'll need to set up a few extra configurations to get GitLab integration working. Check out the [setup guide](https://developers.plane.so/self-hosting/govern/integrations/gitlab?edition=gitlab-cloud) first before diving into the steps on this page. -::: +== GitLab.com {#gitlab-cloud} -1. Navigate to Workspace **Settings** in Plane. +> [!CAUTION] Self-hosted Plane instance (Commercial Edition) +> If you're running a self-hosted instance of Plane, you'll need to set up a few extra configurations to get GitLab integration working. Check out the [setup guide](https://developers.plane.so/self-hosting/govern/integrations/gitlab?edition=gitlab-cloud) first before diving into the steps on this page. +1. Navigate to Workspace **Settings** in Plane. 2. Go to the **Integrations** tab. - 3. Locate the **GitLab** integration section. - 4. Click **Connect** to authenticate your GitLab account and initiate the connection. ![Connect GitLab](https://media.docs.plane.so/integrations/gitlab/connect-gitlab.webp#hero) 5. Review the requested permissions and click **Authorize Plane** to grant access. - 6. Once authenticated, you should see your GitLab account listed as connected. -### GitLab Self-managed - -::: danger Plane Cloud and self-hosted instances - -Before you can integrate with GitLab Self-managed, you must first set up the necessary configurations in your GitLab instance. This is required for both Plane Cloud and self-hosted users. +== GitLab Self-managed {#gitlab-self-managed} -Follow this [setup guide](https://developers.plane.so/self-hosting/govern/integrations/gitlab?edition=gitlab-self-managed) first before diving into the steps on this section. -::: +> [!CAUTION] Plane Cloud and self-hosted instances +> Before you can integrate with GitLab Self-managed, you must first set up the necessary configurations in your GitLab instance. This is required for both Plane Cloud and self-hosted users. +> +> Follow this [setup guide](https://developers.plane.so/self-hosting/govern/integrations/gitlab?edition=gitlab-self-managed) first before diving into the steps on this section. 1. Navigate to [Workspace settings](/core-concepts/workspaces/overview#access-workspace-settings) in Plane. 2. On the right pane, select **Integrations**. @@ -79,7 +67,9 @@ Follow this [setup guide](https://developers.plane.so/self-hosting/govern/integr 6. On the GitLab app installation page, choose the organization you want to connect. 7. Select whether you want to sync all repositories or pick specific ones. 8. Click **Install** to finalize the connection. -9. After authorization, you’ll be redirected back to Plane, where your GitLab organization will appear as connected. +9. After authorization, you'll be redirected back to Plane, where your GitLab organization will appear as connected. + +::: At this stage, your GitLab account is linked to Plane, but you still need to connect specific GitLab projects to Plane projects. diff --git a/docs/integrations/sentry.md b/docs/integrations/sentry.md index 2ca54ba0..f9ff7e8f 100644 --- a/docs/integrations/sentry.md +++ b/docs/integrations/sentry.md @@ -3,10 +3,7 @@ title: Integrate Sentry for automatic error tracking sync description: Integrate Plane with Sentry to automatically create work items from Sentry issues, sync issue states, and streamline your error tracking workflow. --- -
-

Integrate with Sentry

- -
+# Integrate with Sentry Integrating Sentry with Plane allows your team to automatically create work items from Sentry issues and keep your error tracking workflow streamlined. Whether you're syncing issue states, creating work items from errors, or collaborating on bug fixes, this integration brings the power of Sentry and Plane together for a more connected development workflow. @@ -14,6 +11,10 @@ This guide will walk you through how to set up and connect your Sentry account t ## Set up Sentry integration +::: danger Self-hosted Plane instance (Commercial Edition) +If you're running a self-hosted instance of Plane, you'll need to set up a few extra configurations to get Sentry integration working. Check out the [setup guide](https://developers.plane.so/self-hosting/govern/integrations/sentry) first before diving into the steps on this page. +::: + Follow the steps below to complete the setup: 1. [Connect your Sentry account](/integrations/sentry#connect-your-sentry-account) @@ -33,7 +34,7 @@ To get started, you need to connect your Sentry account to Plane. That's it! Your Sentry account is now integrated with Plane. -### Set up Resolution States +### Set up resolution states Select resolution states for Sentry issues. Configure which states to use when a Sentry issue is resolved or unresolved and vice versa. diff --git a/docs/integrations/slack.md b/docs/integrations/slack.md index bf6dc5bd..ef0c57ce 100644 --- a/docs/integrations/slack.md +++ b/docs/integrations/slack.md @@ -3,10 +3,7 @@ title: Integrate Slack to sync threads and create work items description: Integrate Plane with Slack to create work items from messages, sync thread conversations, and take actions directly from your chat interface. --- -
-

Integrate with Slack

- -
+# Integrate with Slack Plane's Slack integration brings your project management directly into your team's communication flow. Create work items from conversations, get notified about updates, interact with Plane AI, and keep everyone aligned — all without leaving Slack. This guide will walk you through how to set up and connect your Slack account to Plane. diff --git a/docs/introduction/tutorials/collaborate-on-work-items.md b/docs/introduction/tutorials/collaborate-on-work-items.md index e277ed89..e11519b5 100644 --- a/docs/introduction/tutorials/collaborate-on-work-items.md +++ b/docs/introduction/tutorials/collaborate-on-work-items.md @@ -28,13 +28,10 @@ Start conversations that move work forward effectively. 2. **Add a meaningful comment** - Scroll to the **Activity** section. - Click in the **Add comment** text area. - - Write a comment that provides value to the team. - - _Example:_ - - ``` - Started working on this - I've identified the CSS issue and should have a fix ready by tomorrow. The problem is with the media query breakpoint at 375px. - ``` + - Write a comment that provides value to the team. + ::: tip Example + Started working on this - I've identified the CSS issue and should have a fix ready by tomorrow. The problem is with the media query breakpoint at 375px. + ::: 3. **Use formatting options** - Bold important information with **text**. @@ -69,17 +66,15 @@ Organize large tasks into manageable, assignable pieces. 2. **Add a sub-work item** - In your work item, look for **Add sub-work item** button. - Click to create a related, smaller task. - - Fill in the sub-item details with specificity. - - _Example:_ - - - **Parent task:** "Implement user authentication system" - - **Sub-work items:** - - "Design login page wireframes" → Designer - - "Set up authentication database tables" → Backend developer - - "Create password reset flow" → Frontend developer - - "Write user registration API endpoints" → Backend developer - + - Fill in the sub-item details with specificity. + ::: tip Example + **Parent task:** "Implement user authentication system" + **Sub-work items:** + - "Design login page wireframes" → Designer + - "Set up authentication database tables" → Backend developer + - "Create password reset flow" → Frontend developer + - "Write user registration API endpoints" → Backend developer + ::: 3. **Understand sub-item benefits** - Each sub-item has independent lifecycle and can be worked on separately. - Team members focus on specific sub-items while staying connected to bigger picture. diff --git a/docs/introduction/tutorials/create-project.md b/docs/introduction/tutorials/create-project.md index ec455910..ecbc9fa1 100644 --- a/docs/introduction/tutorials/create-project.md +++ b/docs/introduction/tutorials/create-project.md @@ -76,7 +76,9 @@ Customize your project to match how your team works. 2. **Customize project details** -![Project general settings](https://media.docs.plane.so/tutorials/project-general-settings.webp#hero) - **Project icon and cover**: Choose an emoji and a header image for your project. +![Project general settings](https://media.docs.plane.so/tutorials/project-general-settings.webp#hero) + +- **Project icon and cover**: Choose an emoji and a header image for your project. - **Project visibility (Network)**: Choose based on your team's collaboration needs. - **Public**: All workspace members can see and join the project. diff --git a/public/fonts/IBM/IBMPlexMono-Bold.ttf b/docs/public/fonts/IBMPlexMono/IBMPlexMono-Bold.ttf similarity index 100% rename from public/fonts/IBM/IBMPlexMono-Bold.ttf rename to docs/public/fonts/IBMPlexMono/IBMPlexMono-Bold.ttf diff --git a/docs/public/fonts/IBMPlexMono/IBMPlexMono-BoldItalic.ttf b/docs/public/fonts/IBMPlexMono/IBMPlexMono-BoldItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f2695fceeaf40aeaacaf3a31c0143d77c93be557 GIT binary patch literal 142636 zcmd442Yi&p_CGu`&t}tmC3QEOUbkdZD1lTugih!o2_%#RLg-RNR0M2@oojE11wj#l zU_zmbdW%jKu~p=Hs`pZp9*Fxv>x0=b*i*rEX#4o^7vO&zS!Yz^VVD z)+Oy@o{iqfSicP5bY@XoGz#b{W&wOC zGxGTeqY)M}qcE@l(Sh(03t$E@SvmXL#PmRrnmX9>?TN(RJ7$klM&ckOhPNOnmK>v)HBn1G4dPlH$;7U~TK^;3q%3)lkrW{Ro_V8ht}ylF-|y-gs-P6x8Cen6oR zNTGK&$ffg>Dk2zf?_dK}x=5wBs8l{*+Q9~SwsVzbiV1}G7hx1iZ&v9oDt%R@16A4z z(o?%{D8>7;7^dEm4q%ED{)IHi%2(?v)N3mtR69*<e^cX81z45 z(5W13cjviB9*e}ny0-Z&!ZXH8)SBMXm_ggD8QBbsqSs-~VATv-fb}I^2L?oeSboqP zS3vu5{)PrU#E(;6+($_7N5e$^HF>V z{>yoPUWmH!+zJhr!V`H6o`&%NZbXN_vLD#j>@$Q9*eP}#|F5wZ*b$jKj0td0PqsYvgZXH?ZyOGPa42XB*ggY#G}8im@A@VL3l4;|b8{oae~+Y8jWxc%+OM$Tmx4 z+$!VQGM+EvITW+6WPZJjH_3RJj9X;9LB_Q*UMk~-GH#RcAUVo(8Q00UM#f`hJX*#L zGLDt;RWh!ZaW(b8-je-{k~PC+JW0mmWISHRBM=Mlj`&O*r;-u>v>N-P6b#P#KpczE zhSn0RTuW?nEwRhB#39#`0=bqrvvvYLt(YajJ}yD5i#Z`i+d=m+{vW zb6T4?$IcS5x2!)Q^O}skWK0VPXFtolPG_l8c$%y~D(fR;Tq#&zCZ8l`?LVa&4D#?Z7-?a`_?%g3u@ZVK0k4&oK?VdHhAN zpJ=~kAPP+}{8QyQi#5EV@`6Pf9#eUZl^WKnyn)#bBUIiCZ3Lv1Yts zLRiWcVm+fCOtM8A-d-YGEWy^Ikv05Ht7g1Qz5UgwbN|Qi)!_s{P@4cp9pGq1Ivcrq zHXjl)PeQp!!aNsk=HO{7P7F(sCmabAf?^p0)??H+;{;&>Y|U&j-qo>~%T@wjqSF#k zVF|VeJR#Z8TQ%cteWtiuj>SkzFdoe!;!?SSz{Ey+z%Uf`BjrfcY6VuGHteq4R3%Q5 z)Y7=rR~sNR;r%&?UGG+)+y?#XwfdNS&NrEmJ`h2AKTY$Go$~;Nq67)+_)Q*@q zPLj7=_C~ZK{?WL3YNQ&8$qEI3E9Q<1r=jS9@T9)}C_{F<@92ir)rX4;tr*eO3t{B$ zM}Mzh_nWSqs|THme+9*#_vxaTs}DC6M8id(4N+yTlpzzdd~9hG$YD@FG+^` z4Wb@VoaSSj)E5oFomMAoK@cKHyUNty{T$NcY(3VhiO2#k)kDC=#{eG4ZT;Pcvu%T9_88#c38TLwmvyY{)lQ4WkV+4NDCFFx+X_W!P&t zXn4wS!f?j$x#35{FF^wnFHF2C@fTBsDb|!|N;ajLtR{!4uc^|s$h6XQiRo6;9j3cX zyG#$5_Lv?qb(jvB9yf=Zqs+uQjoK)y95EQXtwwJM~py_IMi^S^|{vcN0 zUqy_>>!3I)-qDz5?8Yk%cril=@Uj_d3~h!h47V8WH9TP0XL!Q!s^OI31H;#bpMlqU z;B|{B+!SMqH<=_}c2kMOtKGC-;dPJcKGQ>{hfVwcfLD!qoO!DG3iD3$Zu35KhX-Dv zJ@9HsWeTsLpWgnBcXb(r_7gC}$-3)3gxe*ap5huLH7QT7mH zonsIz=RP?1p{r%@^to4V`TfkVXMQ<@J<^#U z&-`%ayEEUM`PZ3sXV#plIs3(#dV1&mYY-X{CgQ*9{qob>&U&8#H%^Z~-F~|5bi?WX zr&CX-oDMtr)Vm+PyNllNdO+=XXg^Ckw_maO3E@%nOuQ!E5XZ!K;&&?1pZJwzP|riG zLlEdNjz29+8=?)<8nhN|k+w?PsBO}AXt!y*wZnKu0XsOuGQ%qDjQ--!Fz?SE7^WDe z;msz56+NFDXczh?e}-v>*;I|~<8-V!tFaTF$10)CXF*G?U~AbZtVYA3LyMuyMzf1x zXt)@*!Yb(gxzJ$ev0>T)+W(;gFU(MH>?Ip8*BjXy1839NHSBtJHMj z!g={i_D}B5y|@qeWuNi{o`xNvh3D`TwgG3m(R?T$!AJ52oWJMrW$XZNWqbH?*1<1k zXZdFKA>YD2!U^PkzLkB)5ya3idh9Jzw$b*?0U(_65I<{RVsHulx>nj^ECH z=XY_9-^m5v!-Juv0{J~S!9T=<_ovfyx+n5 z@Pj;-AL8-+F&+mSz~elLKhHDylibXo;~D%NUd&JM68(nQ26l$ zybO9L7kmDRu#fNMJGnQ1iYN2W`EdR#pT>XV)A>0*lmE_V@RjT_ei1vvU*y^REFZ)_ z;?>$?+9TRw?P+a~_NexP_Pq8YPM6PUFKb7&XSG+gSG4D}m$bKVW;iac5Lb!=Vyn1H zJS_H!N5y_|tGHcsh=0J2a-VoaOcT?^g|IEp6zjzXae>$<7K&DJk!Tik#R_r0xJ$H& zOQG{G6H~?q&Jp5^DW zBYZVG%-66d_*(WPU&o%}=ds86)$D87y}#i%u<9i2_7lH}{hQy+e&##ak5~%= z`2F0EKf_b`vpk)@$sPPH?&QaD9)6n_@ngJzzryqQYd9Uh&Tae+Zs)J^eEv_^l)mOQ z{6{{C|C`tHpJ7S*g-_)_@yWu-n_zgKE4+EL@Zs~=SnPu*Vh=lkO~M+#ifw`Y{|Bt{KfC$oahpra&_XGw+LqIG%rnq1{B)6 z8uUL_w?|;rdR8QfJG5l&N<*rbx7UZpQN|~{ZQcibj6Qe!hWRe={noGD?>YZ6|D6G0 z0ZjqF2HqUhC+OCouYwzc9}n>h86C1U)EK%TbZ6-2VZ~wfVUL9y!)Jv*8qqi6=E#u9 zipXmtUyI6%+7k78ba?b#F-bA$F$-c|>NB#>^|4y)(%1*$n&aM&zcpb@!n}mGge?ho zBpgckGI2rTip0wkZ%jOp_)OvliCszlNzqApNqv(hB`rx>m$W76WmB|ijp;LUoO!f) zx%sB#gyfr(_b0z@3ARLAzD)Tx)i>3idO9s8?TPf;Gr}`2%lIak_ z?#X&7J0W{;_N?sNvfs=p$eEGzYi?z3eeMOhkK}%q7n0XEZ)M&!dGF+>=O41>Tkp0_ zwY_R@vVY`gaJ*d5;50fL3PTH@FIrX{T70CWuH?18Eq%}QThRZa0SN;>C~Yd;H86hQ zo6ks(hGd3nf*As-L4+|XDXV^8vZX5Q%u#RCzhrKcE^sq06{WN^j@a@CjAO6+wUq*P12py3yB6Eau zMA?XuBR(1N-N+pyKO6bOC^o8c)Z|eOqZW-iZ`8TbzM~^Yn@8u4zNf}o)4yg&&G?#G zH4AE1)NHJ|qGm_UJ!1xr89rvxm}6tkj``=9pT`=;hK!9Ln=`g}Y~|RRai(!Os zj;k3rZM^UJ$noa!YsddS;r5Bos5RB*)E3uP*4ETct8J=nuU%iewf4H&J8E~=J~m~wJE2jd^Y8WscdT7)U{JLPrYX9ZBzG5Jv{Y=smG^&F!j5s zozwiLMNL~jZR@n_rrj~UVEUlxBc@ND{`mA~r@uM<%=9m(|9gfuBX~yKjPx0f83SiL zFr#C}(HX~Qd@$qd8Nbe4Hgm(w%Vyp%^R8LxvmCPq&Kf>z(yaPft+Q6ox_H)Avu>WX zt1hfAv2K3d^12J^uCKeZ?xDIvvrV&eW*5({oLw{f>DjN&es}h#v%jC+RqtOPU2mz+ zukTlXy#9mwuN&q!EN{4=;qrzX8}4q{+wgS5s}1iqeA+m)aYAEVIpW~P_ zaL&VXwYkA_jFh$d50PE&DHWm8SlJ53)oebYRtxxTrzd3E!} z%~v(w+`Oy#(dMU{Uu}N3`P1g_o4e-u&x@XCnU_DW-@L)|#?6~KZ~nZK^P}h2%>T!N z-~}xUmMvJj(0k#nEnY1fTeh~Aw;pai+WN+#{)@IQ`e3njaq;3oi-#<(Sv-01thSoA z$x94NW-s}z{n*mA%Y2rtTK3WMrsW?l|8m8U6*Vi?toY}OA68zzDrHsMs}4l|GV=$H~4Lc+OTHBB^$23VC)4mF8E+$^hV3Z{EhuK4&J!$!r}|> zy=cZo9T(5P_{oc3-ZWy<_)YsZJ+fa!Kwb8#miF57@kOOZ=9ME!Hi2wsdSc zy5*IvtG8aTb<5VPw%)vT*VesTAK&`@rBg0Fd+9$f{rNJ(W%DjucG-r@2VOq>@=q`S z*X6%m;eAE;6-igzf2H-xUE8v@-E)=os;jQLd3(_IsO_t^U$lMO_M5ifyM52q#;Y&9 z`pRnpuUUW1)@!z3^W`<)U(c~| zcV2eqXLmK-b>MFM-M8HR<~G!+n?E*Kyz1_nYs} zzkk5}%kDpT|IZINA6WFjt_S@eod4ju2d{c?*Mm}lI`#hwTDytL_EzkjwRi2_9eX?WzO(n&hvOfvez@h~D<1B6_=86b zkEA^^9UX5T3_UpJ;ME6DJQniU;K$ZIcHptk4}~8ZaH#&!rbD|9 zy>*x$&OSW*@MVYhAO6?lagSF$e%|BvJpRTLzE6}qvEYe4PkiuX)RQxwyz0p(pYnTZ z;8U$nbv(_V9{lu!PrrSH9mza0_Q=8`7auuv6zkZMnBW^%(`c8d*<0^ zzBn3uH2J9W=-{KZM;9DjcXZp)JCE)^`r6UYo@LL*Je&V)^|RBTUH0PHS1)<<=VSiI zEXVpC8-HxUvCEF_JNC}8U*8IUtMIMKZyh=wcf8>E;^U{^4u0G5_N2GByuJVJU*0Kr z=Y|trCsIz-oVe!1%O~DG@&1V~PyBeI>!k0=@RJEA(@)w?_B*-o`Ev{y1yhc=naEKfE9N ze$D%9-+%1=Up|=e!OI_NACCI)`VYVVXvs%!eC+)As*m6LB=?inPoDVH{OOghf9wS4 zWbenW5i#oiu0h`4_5Z{DT`;TxUh-BZ2v@NYxJ!%0#i)r{V2RCy1&1u&bk9e=69$|- z{BVX2!L?}=>w`OqB-m(EVI#`+XorIp&M3aHdk4en9f>=KINUmzVdYJS)i<}UZb3U= zdiJmZFz)`fh5XFR8^uAa~Fj9Zp2Y~!;$?aRE<5jc4rS@u+dfOBXHSQA<4HRgG<}Jj64We4<-% z^0J`&OI$zWZiaHO{d1xu-LTU|2IX+h<+@J>?k|YJh~ym!ctUx3KY^B%_mVN)ZQx=a zJkjkwoP`-PytaCwsrCu>{aM(Le!`F7%rpY$wB0xl8L%HslbsVx0z3=D87fqJ9rsnQ zY2RxUaq*D6eX-;>O}F+*cUneV3O< zpFy|Jdy^ewZ^0h*HhYJiU?;O)>J1)k*fMsJ3uzi?43wVBI=U5-?hs#-l2oqr}5oeC^kXj-g zVW-oQIxY98y9vFxTF@<~7a&z*qn>8Vuk1JWJNkCF>Wg_J{u^w%aUi--KLj_IaBC9Q zXbCH>?EeTWuyoZ4SnT{@hkH&uFJ2HYikHO8;uZ0#c+H~)?$^a3ahR+C;z{w8cv>70 z&xoTQE&8LyyW*61Pn;HK#98sa_&|Ip@6mNC3E<`@UWeu7P1s)E634~c;vI29oCL-~ zQXLLhaLaJXALxo3AR~Br7p!b!p&!D~E(pF%KY%k$tX!sZU}rTzf5hUcpZH!q`Ik%w z$ue39D$ju>Qh)y|`E;P5bPgOSjBx$PgS3*vMUePTJ}nn?8`i`I!oERisjR2Is2*?0 z`Z=uBWArc88=uN_fS@w9r1BiNc!a=WvyE-WZRILhQs==gGX;1J0|tFzmCa(w;z#*r zh4@yc<>DKemWi)rI!JsW(}D8#j9~gimIsKBW!hi9KZoh>6Rh<99Hzey{N?)u5#7E4 zcKJRalkd-A{Xu&pc+elPmVz#29^CZG)SHGvG_X0p+c>VF^u+zlK+xR%xiY{UC{CZeq68J6r7M2Km%R?+l-qM@oZKfHP zlXqA$>>uAUi@e!P!Duu}7($jBjif(N)$4G$p*W(!1}L=$tv{sy2wIvGWaHD@p&mMh zp8EX7)0gnf?J1(`NSgbr(0(%H$HUh|J0Wp@2k{Hq+lZgnAm!Q-%=#42fV`RlwD)D3 zGl*Z-&LVz6JB|2x-04%xZod`n6v{8*R8B44l`TF%{0v6cV4-nYrI6MeEE@u_6{osyQ`&v7sVWwz%wU4xqnGh#2dj)1F zAi_+=sF<;U8Z#I0Vg>_t%w#}~84dU_vrhr;64n>99FRiakX zOH*r~XrF4IX`gFfXkTjo)V|Wb!CLZnD~Ufwrtv*=qSWQlQkTa`{TMIxV}kauc912( z4tAKO%QYuM%1fr0%uEPr2&o8>2qmgq4ByGK$Oj_*w;os@lq(V7VaZ|;CXs(7QmW5J z{(Gd<*GvTJdmw@pAq9c@`5mbdAq@F0)gO4K!`(dpnWG&s;9mP zR!Zsp0ECeUHiQWXerS6J=_mvr1Zw9B`N&gy3JMPSY#7RfPk#iwFZK{ zVBrXOuj{x9Cs58nxL*ZoTZQ0{unmD|a3jKP2s;p{J@rrTOh!PTU0q0%5yBA$s6aGz zs(cnw;svE+5QrDxs|+t9B|LKw=-qVm_cGF81cKj;@@Ghihv2W2BlO#~7kR>!>S$c* zpJamSqVfDUq`;x;7o-F$^+k9QoFqelTecs9l;EM~eh3x>YD0m>{ND;BYyS(O>u2DM zAn8={hm>eV_|P0E{=X3H=p(RaaLs8~D)~aZsr)ZPBH9~NAYMfwKri$NB>U92XCR!Z z?2@nlkam3ydLjHz+jqC~#XB=qAe}%m^@kw!Tqx>EmIw9>at@Qc{%?gp@I~q+BgXr) zKysl1>CgYQa1MPVNZm}b;~9u&q%$b|-|9=x|(LMn|tr=41lI&5S zIqd4!Gj**E{~_)A7&JlXUQ7N%`|fuA@DAxJS8%OA9%TN45__ia8;l5v|KnrZo#P+I12s z&6_|KARh!%k39v+1i??TPQ0M;fS24$_#!_TdEhGX9iURueFQhvpF`d?AE+M$so#kX z)E_-dK=9P(ge$>8;TWC~jVLTaaM6lV8i(jjbiumc^&C>74a&04Q+J}zUbcAIC zOTw#E1@tL(A&o)x6buMNUsnJ#IloX0)L|^XN;2 zix6mDeTA?WVGY8S2v;C%N1!^I_arZK5bj2p04x4Xgp~+SAWTK5M|cWh6T(=8ISBC7 zlI1&*9zr;cums^egdGS=5#Vv(Mg4h(NhrGl^+kDs;L48$44V)L#@i4+M=@7zg8v@nchdypc825+ZId%=6Q5gnJghGk7Q($@58ewKPbk}k8<}8OpZs8j+6RxThuI_e6w))W;62WEvU}O>u-)7S z8y_7v=aW$;1^ zg6Gy%@V46zOVr)$a@fet_$1TS>}hzS9boWHVLRA1cy$HvKz1Gcy*Bb7Sa&bPjnFml zxC+51cfzE1RV2KsqH&AR2Od>%@Tf|FKUESpaWi{@J;|Ek-DH8s@B*H~=E1)vji<8~ zp1~Hv+bRp5O*!y}%7ZVB6@E2#_}vu1@1_twH^uP2>I?6y{_wUch3C~Ecutk`3iw-9 z@oIQq4Pm$Np{x@oqgMD`4aZ#uXJ4>I@G=_(>(vtYoYk9`?)m9JZ9tT+@GIFR@Uy*&Z|7I@Yw*dkwftImzpaPg-Suo8zk%O~ z&*%Ju-^6c*#r0Nx8^4|30k5~a;H!5JyvN92?>>G%yzd@>H{FA{&3Op^aC_l{_b_`N z-f#PGCo-Eq%I=5%+X3Fe>iI$T0DRsK!N>1$`1m~u@3W_I7xWCff*-~0Mi)L+{46}+ zp2uf+KWB~bJ$nf^952AO`wDvzK2NW~|LG0*M;(KI)N%Mmy#o)b6Y!9G7anr&v6tW< zcShdo{L0U=SNZ$!kNXgQYaipj=~MW}eNJA4>;w2seZ{|KbNIj5Yw(==7WY4M`FHG1 zc+&mAe`HtkpV))&r}`PbRKLO_?ss^^b;1Xk3C?y4Av9qSUhE@$u-PcQg^%zRe!?HV zj$g53(6K?dMQVbV)Nv6aLSZ!w7ZD;7pFoa=uP;7<3{U2GdmD7$$~`5n?1h$2?lph%sWUz@I=d-4=KOUJ5_H%cW1?Hh2VXhfm%$@VvVY z-g!5`A8-e}0&jv>-!1SFybWH0cfb?xE_mYI15dnr;e~e}y!#%2XWwpk_U(Z;-ox-8 z)O`vMz@zXWeEI(5w&~CAs620!@VTz<*!Qk`r9Zokg1;(x#(gF}@8KQyjrbPcz~74> z;5qk`__y?y!za|>G50(Bk^KaJxlYjqe>n~hIr5Y9f?v0{=A-$NKOKD61GOM6SPRiY z;q4u+MZl9iN{iNFv_4uaeA?r+1T9fZ(oC8e-gFi%MN8Gvv~+m7XTrNUTg%aMwLC3f zvuZZYt~s;<&8Zb?MOv{|qV?7KY5lbUTB$Zr8>E$K)@rmd+E{IzHeQ>cP1Gi7leJoHiZ)f7rcKvoXfw50TAemqtA{Uhqc%sIt2JrO z+B|K(wm@45@8(wcH!s%Ov?W@*wp3fDE!S3PE8+3HT02i$qpj7}Y3sG~wGG+@@PWQi zyGXkjp3s-zv$tEct=gs9W!mN1721{BHti~HyLPp9jdrbeop!x;gLWhQrT?Mbq}{CD zqTLG5>D#qCv^%xCw7a!?w4K_$+Ai%r?SAb6?LqidKZKizy|BeUqV0n>>VEBj)}bAQ zhw33%<{#Id(4N$uf~V>cb^`YwCvp3989M_X+;|?V6}PA?UCC3=;B_la%b({OIw<)*0M@U z?RJ|}rdEfnw_6{gf*p%2j{m3b=CBU%Be9T=iG3`YEqA*3E8fT-He4TWuAxTU(V59#V&Q z-NL&1w$>K!y4Ja^EsgX2>e`xH=GN6OZI`d0iNwfORbE70Ae9gymFOdtkf5C_l_R69 z+LuYlP%aOsliliM575EV3!!!O&29Bd7tUGGxI(W9u4`y+Y-?Q7yhJYt%CXCAu9xSw z)h%o6@yMY{3LjTV$4W2xOWgE)h#OD6BA~9lc|k+ZKC4wPI^sn=N(vMmuyWVvdP}Eg z%d(!O${x>p^jTKY<5{_0@~&%?bn~xw6Unc>p|!oPzP_=g-PllH2mTowC7X?nvgFs; z{akTPaiP52yHPQ`Q74UhuDDjNxLu*RSE0CFp}1WkxoovNOZ?}$!3mgK-@0%i*h>KU z&FvmLV6Fs8$0O9^1-&NB^EJIH#Qm~fVQ89N*XG~k9?RJ5An zy=EOfW3yzdXr4zct#(I||2%hR0rNco512onaB)V~dq-Veak9LLy zK+xEtKX1{Ww|G4FZ>ghivuSHx)YPaow#+rQdO|EGG9Xn1uc!`eZCZ*M*S2)wg1V*c z-mN%AaaD?8m9A7VzS7lRP1DLEBmA&1 z%Z+V125lY~7?;RL{!2V4wZ!AOB&DsWI%IBR+d`0Q_5w9c4ej8Tv0e74)7vKDwb}|D z#-*NQkb2BkRi(hGDhgcMgA7X*8<*;A^jb=4$+%Q9(`%`l9#smzYK3o=i$01jRgx}N zTcuRMNTtF=TA?FRS!P_WBfH#?icUsZQA9b%QU^nIbue_8|1fta0mD5;GmelnGLF#a#R!i_h7kb7I7)v$N`F4e7|y7AoAUWr6y zp>eDZ^;jM1u^vzx$LT^b&VwN1Jf7?PE~zq%r^!8Dc0hGjyG??J$!#}I@Wfi_nkqGV zRbk+S9#~IMOqrl2_XIh)C+L%Vf*buRCArlK%_$*n}Uy4W~HcIP*xTOcJN3LIA22UwBntCp&j zItjIs8%QNxkm@2|;LyP?aLE2quY+IU&~;RSL+Uov>trr)=x7xJeAIu5B$h5~)_ zX)P#_(FHqwbsPPNb_yubG0yTbt8oxk|U!cY>P~#V<@e9=W1#0{PHGYAvYYS{@ ze485IrpDKI%+>;%8eiXGqpZfasqt-Ue483yiCKYKOA2gie485IrpC9a@$G7SyBgoF z#&etEBx(he7hQ7KM`09>}q^{t+f_Z+H|R?^w=Fz zt*4AA(JgQ)*h&=4C9bl9(W!89s^?173!DlUeIH;gs8G0;C|vY?fwiDS;ZmVs)E8cB zfm7k2?k0Gd6a8#?*>7tXuFoRPZNcdamkm*3|n`<6B+)QFPTe)ZmADu4{6X6@2>g2s*m@ zb@4}yXLa#M(Y-{K_5Fmk!0O_UtG$aqs=q2VZjpMft61`^lRe!~*zhc#2vFfi_^;cZtD{Tk#X$2n~nDb<& zeR-?Q__a6T2qCk+b6S_Ssa!M8s$hHOV;$aeY|GOLdv8_F>#M{)`yhmOBZ*CQzF_}ldPgR+jlO`ks~ z>-4ng^B!fLt~Px>p)BPQsgzr!QeKeibT3j?lOlZ$vD@_dgj9cS)Ab(8I)7~XJV9B( zq3bb}b$-}%Ikel9fuvktbL{21oY~9uwFqSehcc+xbiHD?>DyAII{$4Yu2j)MmuK{^ z#@Edm*!f7gM7=AO@@jWlb$U2;J%F-~hf~)dDC_+@_4$CZE@w`w-oI0y2dLNS?6m6r zJFTw%b^1E3I(?lAFQ>xSsql3wIym*U*X~qwcj{{|$~t~deeFeAjjyl0D68@HwHIYI zzP|RNtj5>ZUX0tjn2GUwctjdnmz3fhX?}b$HU*CJ7toX0*y--&C*Y{p1>vHYX_g*L~{_A@$lokK=y%);5 zTs!r>m))u6qf^Z{r@r2yUeRC8bElf;PBqV+YMwjQJa?*j?o{*Ksphv+&2Oig-%d5Z zolb>+p`w4GqJN>nzfg@|sPHdT^ex@&aGfuV6IMq7iRO^gWtus!w&N$UN<1AMA7pw7$)%e9~{9-kJu^PWvjj!~nQ|VKu z(xXnLSDi|~IZG7%m40<9{pwVD)v5HXvqX)r?+0P`Q{(IVLX_3`CDs1&_@?h|{p4vd zk3Od8+rye+wW|%6y}Atb@*_o!-hj0A{=V7?@)&VhdKl}?8Q3p`aw_PA&-K-GTYSJI$wV-u?=(`C1vaG zk~|`Jm*nfg?lY!r>rs{+dz5ASAa{EjGsrcNescC`E#dIfXJ8PLIh?K7*Y;oqo8hyki`Jn zFN0mOpugoFRxi894(jHDM{_swVJ77g++d;@--V>XE2D1*oI-qr(ds5vy%9BMX+n9dQrrgOIz@cR!9q7oyd z!6&mwguoxghHn;9{RLBh!7QHolLPos1-?JIyCQ-rBJ>ge0Kx(IwfO$f0bdk9mMDRZ z2sr?s7vCTDGe6`qk##jGDMnpZ5S(qGT>OZNlUx~kW$hJyn*zl4PAK?|8lx{c0W`+94dj)x$^NR}n z{Dg=NNN|qGAHI4r_LH+Z=gu!K3{148L@bVt3Mw#-%ghLONNCh2YL5Ea$ z_H3l@zJ_~`1U?8f%~Wz65tqJeynB!dyT zY{o$lhFqE?NHS{D(DuCjEIB`h$dZO#K|c-(I17jX-sz>9!=5N2BaGgfrN|P*K_Acw zPmB?u%(KHMZCEqYfG;9;kH$L^&Eh0Wt;p0InMLQ{_l2l>TB1{(|9}vPKi4%rgA4w8{nm!n+ z1O8NfSQv6vTQ~&7MTZ~(NlCYOTT+P-pi`ctMiAVWj8Ru?EAa|8XFAN8B`KlFrIQK= z3?zZ!ys$5c22V(f%L)rfgtVlKk2>!pxrlcT%N@Cb`0rPY)UIG?C%>JkYV$V$xi8) zS(=TnR@3KplbdsvZq8Z2xsYzoMG_k#JvbLa6(Js+i=m1bkJ)ad3L{nM*q}SbKN65W z%%TfOeh0o+0G@A>bE%lo7SFj3R$9_~P4Ps|TYEFkxo!2f>D>&ox_G#{C)@a-bMcKX zj=4BUlqd%0(!jZ7kYHH{P=O<#1ThAbuyj-6Kk`tQP~u^Xl+Z9>7b80g%P;eSb09hC z;iJ*hJD^a*^LyrWqV0^f~L|bvWs_Qq5Vw`z&e68NH|~y{aHFcK9VNJkJ?v zF`FZ%M&$P&5p1mt(yB(M`vokWJ7n4TyfBM1C8^Y5F&MoKSvfwD=GcA-j`S%0NJ&MI zAuJ|70AI1oyUupyz(43C_#ti}y%x_B0I*AHLy3{09=s2riU1GZD=`kEc^v@6{Uze` zg#`W*aUup*B`AFQ61xCd7mB(F)X^LJS>$W`nLpB)*K}o{&x@jq!YxG(sJ4FG+u{w4 zuLbe@<8snc!ZRD@28_Ku{PsZqiDUMJcZ79>9~==h{#ckPH@;uhCNKVV+o-ZJZ7pq` zCF6$^X9Iy<6*!v)AIw!9Sj6y=X$gZ3BPI}M!=ZYmx=AL~l08sMpo#>K3OB9?fDOSP z4ouQzE&(~4#4`vrHjL4M<=G~wDYbQaQ6eXP%B8D^pkq-B;#x0BkBB-uq#=D$%m7P# zjwQw?*cfEaC@^RBO$#**m{d5h)ZZs$TTSGpqvJBd0+NjW##CEzUtez_l8zy`nM_2_v z*Vj7W5({TnNvUd3DhoWKbU^o9P;=hBi;2;ENV>xbx{v6*jF#P~l-M}Bv>I^b`F*2`GX1cyW_D9FED|{#(RaqFT zTJj_YxzWhEHW63_@~~Q}gmi1POU4qhd7$+oUG5_KaeEZj(bR}2WRO~G zWvkQWwS`dwig|oei9@8Mr&Z1@wx@e}*;1#5ohMAmX;m{z@{@zZGZR|sreE9nLt5@E zM}A`Fp7{M)R-+~?S$c9TI4&*PQ4nPGHOJ><`*=qT%5{t`iVuiS%$V;VF(At^x-h}d zh_7Mut1g~4x<7isWVt-LG_cY+?tPP5 zTip}Sy`xl$Os&syBSl+D*KVl~Gea2G>}P^DkaDL4jpW)fhSNqe4^zPC9mKJN+>Q-W z!pPDzXL5*_F>jkqco~DDLu1oI{gb?Mx6z(x;EJ~+S6KtyTV&Rvi=t7($K|F9 z%_}EYPbQX@8jKk`!nt*1=+>G6j#@Fq66+NjW=dAcx%+dAiXT|T(Fq%UwZ zKx_H}N7^|6M?avNBIlbQaE$22@qfH%;yZri>z<2d0P~S`w77;!TEv1DJ(o%|7Lf2> zIKPvamzfc5YFHdN?oc=%JuPJHMLkeH7M@m^Vz0WxQY~te%0Oo%#n`y+|G>@I3=fRLdZ-eTXMPaA&yU?j!)s%<64*oozXs;5lK3LaZsV5-cp7KYlV zOt+ZA)1rg>7vUIkQ0@Q)7g z_lJwVVM=a^!x5Dl7cwg}Gput5pWqwi7Zw>99&Cy0e2z-~X#o+T$w8fuk*xOt1=B%6 zsfQE(pojl61$z-pZJs6f32V|^M5$QGX`NCqzPPCH7mB#g#BC9Ot%!wT_1~#s=%{Q+ zY%Z`0hH@HAzeVNJ!y(X7ZX40xoNef^N1UTmD&gRHHl0wjX!)5c4Ol*R*s`%Xdc3f2;V9o|-@IH`%0$=qUB$2|gkYN?Z3=z5Po{kU zb6B@tRTOtibuT2;E>)gR{!5zzeczqSrl8BGeln9b1{r}_neAc-Fp6f#1MGTsmGchyiSG2-e1A&AO(0OQGjZ~TDp~{pR zb`!&MW@->(eBBYmnG`aG^RnBg=-Rlur-H&K#4Jln@^o?iFH;Fk6$e zD{`aLlgCCS#>Yp7dW8m+4$Q8|hq~l!ATV|af~LI#d`Xa7F&D-`#F-$L*uA&wC6%5e zAQMrzd`(@-wd<#`U)0-BFlPhcyM`#X(Cl@HJi zsT;$`nao}hn-X6Lf595DV@Q8fL4IC9b>EU6$*cCYb)NNJJ+>e&GcFMLSb-1y zI-8lz?SQiDxfc&4d;&crEs-h`Jt}(b#SPQ~Kh#Q=uxN<}M;Zv=VaVkqY_NM_zd|-{ zEc#>#h>S?Y$&^gnRJQPWf35wuP2A>I|2(|&R8XRO7tRCE{SJ&$fKeu7GM?4YkAC*# zP_F}@Kf&wofl)YBgzE_C^M=lWaXvu~XmQo(%;bs$t7&S{$c=TyWv%A%a4K`}lkN3+v)Sp@H8iaiPAxbArS3 zGfg#FajDV1+&d+pzb&XFhF5kz>J#r95*``mZwlpwoqK%Zy@R51hR$?YD*GhH*EptJ z=g7Wm0!etR8+h&R+ zO(4=(U7`Y&M0wf(|7y}hi$MvT=r;W&0|U1P$ljLcc@WPc3!rZA3ry~pKe2l+$VKN@ zp32~NGW`MPFh~#CLo-QwG}zj*J*1}>zUs8*o=|EI$}O#&P;Le8I?MT}Gn#&u)6Y4< zSQ>O03Wm);UM;sB(6V~HT*LAq8zIQ4t_=Gk*XWHbT;=6@80aAaNSo^XI;sQ`k6~>i#osi z+TPb2KTed9JJvkkS%@htvNHymM91Wz+fuyz%ZqI_B}q-mnK8Z*MoZ$eJS!j?}Xw6?Q-E8X^AT>4+_(~@`_?IOtF6JGS>xMx@OKjE6NiKN8~2- z$w~~JJ$_+WN{q9AxGB3&+U&VtE1efdfJc7Nl*8!~5?|>cNf`;w@W1Aax-Hiy5nzs# z(9_*_ln4ET@Y~AWl+WhcWiKyVoikzWm=8ax7!eeyY0YILMaRZ9bMI*DzjWl7wP7hi zi#n~KBuuaPTzLoN85Rosl(^h%xG1Skv42iU4hRf@paZrDd^d(f#Rrn&CE+9L`bzj5 z;bw2wf7()hIHL0yencmt^Zj_99U(ea-L~r9Ris}Dl4d~S%SI9;e)2}>{}>Y5o~zL{ zjQ&bQ=aD!b8`1fRO%C083M1!2nnpsJa#&jj918R^lWXK&yHfW_NX_LOn(aCIl1N4> zy4It;lTlq<2BEHxBvb}cqa;)Y2&GRS{UTFc-u4zixj&+P-9^5E@s`}giS?OdR@M~O z6edbRG{=?<3<}k}a;?t(K0d2MJ4-KUjLu97+pw;F*Li~zi$>(eM`b02&l)o)%ogDs zSe|Qb?%Yb$h9<=~2N2({ck3}1&PrXm`QB?vsZ*3&v#XsTD#-AMFAtY!ax&=8M1{Px zd7LtI9Wzj`@yGXwaC~b5{c1dyKl=SDQZL-!7^UQJiw2{Q29pQyzw}|-_V(@h59cH1 zsh#hNj?RyG{JCnpVFE4_B`%m(+8<=Nmo9c|1M)DS-HVr$WNEX2q9jKIUtBK2dqf`W zpn1JbVb|7N8^)iKNee&S($blX-4#oK`-X}a8XemU))r56OG(oNX^qB zCRoQ+Gm@!5-ug*%o)|nX<-O+l_(FyhYlg$8^b5?D&XD5^C&%XW!#B^j$vK1Hv&ACCci^BDqN4(XVsSC>0bo@K|w)A6R60xP_a?n!pRY z&!UYFbpC$h9XxjG;{frkOK$6Yp%Y&R#9>=xuy+$+&JHL*{4kjZbbq5;=zLCknHZ0Q zb^G>NJP+8PdxCK8>O`-rCCzbn^hcWaLQ!Gl##xE7TXGefWJMq_6_5cRq#9hFe35#g ztReM>Oz1) z6k*J<4wOkiO6BYUwRf!>=}K43n7AS(rJ%1$0COq;9}mt4;XpZ|gRX(p1|<&c3Fuxy z|3rY`+GZ?LtGrEFTs^6Y`59CjZs z&Qo(oiH`-pn7y{amnDP ztukx+swmu28roBGV#0zgNiUK%3&4ySiy4zex;9YluU)!U85i7K^qec+0A@dn0$BRa zntrvL+-7tl1cIv;oG7AX4LMV#U>?JttA~|NaWV=UR2&6qJ|%H%yJ4gYm~@G0deV&i zl78t~RU@iWs~bv(uS%?ouF5ScOwBLfmO7*8(uoW5oPqMgf1Kwm*St65t&w)%nx=>te!U{ zCC*lr9b00;&;NlM_{KPV^AYVwD@kkrhyAEJ>be1U3jiiBh(h}qtQp}BeqF^)F}}W| zHr>{F98lc)^2>ZC>12)}^bteZa+)bUZwq^AHMQgV^AY7~TWwwSIRv>fK+=pDN8hWH z6Dc|V`n-k8DQ?*9kad#%dKCD;vnFH3=Y{?lOqS{p(_SE#tzmpM3xsY5fZ z)uDjhY{};q>`=JoNaD0d(L~yvwq)P(y4yKB|E_eiPxYwVzS`2#vISq(Hl}saqSns) ziRz;O`3^wt&!+S~0rk>Ly>`NGK9iK-O9bUK_5yJ^2utU9KO$_A3o7otKl7@aY)QVO z8t&{ok@*upa>pf?+|fDk7lH-1x^h?U%f`{Ms;A8Lnt^T_(OogkKG!^?i3Rs=NhyJ6 zL^G=`6W^3)rg>@RzjX#i@e4X%i{NJ>JJ;}v4gBz`4V~ri3+mn(gkn`GVQV{}@bHC% z600m=!+;f~?t8VrAqhF;5?pi_n1~#8mZ(T19lC;1K@MAXI4R&@@G3I$sK8{V$I)EB zJ0y=dbyXiE)a_vr`7*fNH^^5bYRytCW#b1mLXp8v5i{=BzxMmfh*+%HbEj)Q(XYan>bSg(D#DziHk~ z?LBY)24gyPxnx4O9~dF4B%!2-$bLX4u^y)|7>1#eyz?Utj`H0(`MJ+#T^+H4ztu7P z)Vaee&>ODf@GW{rK^M##2yhQi>OQoy=<}yL3-aG2nbeSyXE+?tF@BJ&GoxSKVt3^0AJEE0apbI9Gu*$(n1Kq4Vq5c zPDq089qq(Mh)KGVuM=5bXkWhY?%lbL{dvjitKRlA(l@;gf?`=*? z&7IaKGa)28XFyuj)KD+KVFPXB1|&zNTH{7$*mE=CEuWH!lOi1r8NL^hj&ngIO$-X3 z+`K(^^}V#8r{a~rW+q?YpaWgglGB(=igYy`NNYrqxd;mbuKm1Iak}SOQJqJl_{_b- zYr|`!I^TON-{+zYd{5`VB^Uj|`+zfK{~iOlGRZn-fv)nje`gRQGCU;9(-$oR6el^S z*YNvR5;hB9)Acm*NI!9Kx;a*##2}ASH~G~L-8((pEc$gGD)0$5rQ6M!RgQ$zVXZ?; z#)0ZfL&^(_2l{CC+^oJ~%ck)MMah}i%=q9~`;a`x>{0pAskXS`X$5_A!=f^B%poE8 z8b`x&e-v_4lN=rAuQfLINLdUcuu?19u{o1>M`g(4Dv*_L?7~D!9JGxfdQ^P z=HEz?zJihoo>Uq-k$f}cV*$spU+!sJc+LBfYcu&zQJn`x*}9+4Kld!H2juxS0&_S4 zdT}5-L^ni(Sebl1UD9)YR#lPM-vrh29n+h{Y)6BQuZ+uj>piZm01{o6>Nz*Ba7h5J6$5j{HJlM$$4By& zb14Y@BNqDM5lb!3Au#dxWM<&X^QMgEIrgOT#;TUqk(JyzAZ5t>^1=b$g4?WmG6x?C z*Ya~^98f=cXj7PXXjMV#(7q|th7YWb@eUqdk~wBjdYdgXDA31}p%U)Q$qWlLrRp(c zxj$G$R*WQ21*bBTx|Jgja@c)UX(?@?NhvV!XJ7g; zWrhx0XQq@6P+*`8%hxFX=Q-zI-Rn5Oe7{6KSFi4N-t(UKy!&aJCOIEiIvRe9M& z)XKjJnr`24K22vPHh*j$S%b=IL1mlK-&ROw%PkKwYGj3FrFhXCdffHQXDw`vxcdb* zNQ25S_RRK6lZ&Mdhi;o76&F~Z>u@cusR;)B&f!qh>rhlBdAd2_^IF>q2%pb*c5LrlKc2Uy z7pHSGJ@HuAbYa6a{;%71jjr#_)n|v>rZ(Peb%%owI6|?cFWOj>Zc%>OnMzLjM#Y_{vn;a3Gw17R#p^87H#N+|vw zOOv<*7YCV#KyqV}0^_%qX!$2J_H+TpB~6Y8rYQ`@3zqC8h_Qq}Qmy|!R)VYoZeKAy{W*=-J09qrGK_U7xt zHg(C|iIMtfjVomL+M-SAW*7YI%C&dh(Y?28*^N8P^n$r#-pajmZT;(3jP731)}G7O zMQcWTA|tz3-xTTeuiN;v-|cQqY>YPdb@n*w{aza~G*E&3m&#AEhoIFGk!}QpR1aIu za3uv%+1h)0C$V6@C8CT+etE|o+;>*H0#YedXq-1;`GeZ29QZqTmkX z*Q0vDT=ezGn35C^YQca-wx&s;IoDTo*arv2Ur!Qm*0#`825V3u11PiP@eXwi8B%-}GEH$5ZG;hhkpWHzb(f(&RW zEeI!H2${?#5kX(b%jW*S@y(eG1Eo#P|BHq+KO&+U5VQ1 z4`GPH^gn3hgid4fS+S-wB=MimeCFDRDo^1qJX_uc76IcfiUZZupGFKfqRve;si96& z!I5tP(HbTb#ZkVsj0JA@#FcoL30#T%O}xw8o$TKn>MQddw*r2vfNyvm z;Tup-o=m8O&CwP|+TiTT; zP^aC&F|gzIG)jQ-t>lv!gIr-!i8v$5>IWPCrSPt++CP5l2X@?fl2?8ZS3ag+sm#C9 zfh#8!M0xm>55DWFQC$1RJ5O%LwdhX?dnyepe?ULC+|B-MvD_y5nF2fqc)_yu986Yt zqpjCMe6ZYgZiVt7VqENS$oKIbqna{E+l`|-Ym6**x+iOqWC9B*=PE2s5$D2mio2RG z8Spf_yW3Qoy{}I;Pki(2*>9?zT%#ixNw;ea-{Iq+;4eX5cw|h>-Hg2m?yPNan`oneYV{6;yz4kxt-qf{nsKv4LUAC@rjbCkU?#d6Ohl(*Z zy09--L2fETZem{$T~J%?3o~!>Rs3qvi-w%2nWLd=vw!Ru=ms5QA}2k#q(aCiWmL=) zIS4|bmZpJ)*#FA>{;cWK`ni8zzkYFkfAoI-&w1TaEDxSL4u9C6VBNsn@<0-!B!Rg_ z<71fo4bC5`UUKP2Y(cim`e4`Uy~B5vcdabd)LYfYj-ljj$#Nm`n+@-I>*WWA zb_L?~y_fG;mrSm^ls@jpbH|l0>rV+APYK~EoQJwhEbVg8UrR}=^5qLZM!Ds$Kj+xF zW6+@fgc;jLK3nxZD1uW+!N(>>bKf{Wq`srvIe%*2~V$Tt@zp zI(H1So%hR8nXBHW$M%7ZkOZj z=5V(uYLwg(Wk%wf(SP0e=t;__p_^f0?Zr!c~RItF5&1*{v-lld%kFAnqJ*X{w^05a`;KBU^{ZL*59sEKppF7JbV98HcUT;|@*Fs#kad z5l=AXaDAr!kU4(q+`i&N3%T~3E6u_FKbD-Vu?_o*w{Vla(R{q z(oKz?P;0*TvaXyXk&We(5qD$K*GpVR(R-)py@;@=_Pz@}ug9kgy=oUd#he#L61h$o zLE0QM=4uib6GFEI#wp=zfqLjC0+*k)qAK-)F42FkWD!I~D9SUpS9(B%uigZ#eGnA* zMg0oXDz9H*hf7FV@xbv1F~1&r<}lB54Wn!?su){EP>;hpF_VjI=kg4T9x?V9R4Yci$r&I?S$TDYuqS5Xi$ z0;^~eY}YayEtpmFGmK6neXT_cckIV#a&)998tkSj06`(p&&`0 z0#&Giev!Iig)XGw$f&4sp|j4+EN$$WEsDQzBiI$2&DyE8%Db=m`ZZs{M|u2jowZ@j z;=T=|8TofpA?*w|gdHWek&vUL_{GS0{^m)PVp=gyi^Mo(U=COWzvW)bi;VT&XSq_0 z(=<@w#(1!8(Au2VuF%>&)p1%dEZX9349hrId+d2XvGoidXoKHx*6U zRY$l%Hd~dS)l`~p9-EGKOy;wlURPi+ZT=FRclJ-_eN*mPJlwjdH!lCKX>O`Xxq>mR zdDC5s?y5Y$WVA5T(-aMdV#d*VC(geN9Oof$oX_hV=R!ORD#}CexZxd=;i#tb#VW~~ z8yY8| z71*a%vVz7^3pPg+BfAuL>?V~_IuTN1GwG;V+Ry2@Wbil272!zQpaOVg8?HT#1*1)9 zAG9qsYbmgefO47TGdz}Naa6{!Ov1})gDm6eFv2nz#%$CyM^Z3YT$nfuJTqSq)Pn$v z$OJfgV)&xLk!y2n8kXh@Bgvj+i>DT^P+Ky81zb+HEwA-tV_M@a&X(fM`7Mo!mSjW9 zAB!w%8(S5uYg*j$*M9hRLq}c2YLDb&`TeXF^>zkYem}zvtFZyq>;ofOOV3lW zfc^P_bvizBa4ZO(ml0n5tfI6oE+v>WqIBPR^u*E=NB^g(cWLMFC9{QBKc)WoEW&oI z@azSkF@78|Vx8dqh+*og@_x=!dV<-C%=KEa3R2v+VGtP?mJvr(7P{~v8MNgek#De2 z73GDcIHCz{+_F><$Ox!xMfKYXtX9>R)&iJ>eUS5&bq8RG1iC$yFVr_A4gjdw;abUO9Ix7 z0hdv6^p5m`QWc$2tAl<%M;@$7gOO|jL0v-qLVAHx&W?4&QstE$TH8LhzE-skO~|HW zD77PGHO$R_?>TYK*XmTJE5X787|pbRAJ10*4daO$+ul{zq0XIXv3wzuErs#orNVSM}rC3ECR<)@eJJaua4Wq8zkuq)#KfJ)Pt?gtpKq3ivO z`mnKoX`O=`zID9$&D3%@>gU9P^ugHhZgi>##9E%gFVYp70R_|w2EmZUB7Vil4`vwy z4U_i#I(4Ef2UEccdT}}tn5i7Bb)}d0jP2Yy4A*-)o^A{DgjbButW)#1rSn#`Dbmzx zcPbkvm-ci_P6q5X_DD1q8f?m=Dyy&Ng?BfET`tw{Z)|MmsD4OUjXeORw2RnMixx$2 zzNN#EjzmW>MC>t~b#l;d<^gKdP}`{&qKeFd7u`Ew>Z}H`=;ddoh%S6Pc)3&~%ytnX;_LDm-0N6p|R@>(x zAlcTC?!r3uoU%>%fzWV5`b;q*+j@GNAbmgg+S^}?vo5L7ns*g==5p*Cn714g7Sv;~ z*#XC3EUoH{+JbliKV#)&ya4Vd|+K)ztaS-Ag_H@|Q2eaV}WkA@%La`l$h z*>{XzGydqK^dIp5GkgaH9=283(X|2ZAe5pD@(N=@YIYd_Ak89*jckcLNhvK~8qI{v`QPaNO%qr119x@-O2cW*v*_j>eT9DC7ss*7XDX~2l%#Y++65{=30znHyVzn?QRqrG z!Fk^>5YMF|jgB^)6K0|hdcjjmZfqjm^ zIwJjSg@2W+jvjqcj(yCs3y~gH%#lIM+c-;Pw*P5#QOo;3gZWs4XA>JDP!(E-;{tPr zF@~%e_19+)l~9Cl;@TG6lW~}sZ!Mf}%yXBqG<|py-60Ua`#9fFL+pa{&G}d0%16?r z#)jr#XY#VzZ0A5CS&GYV?rg`vqQCK*G8^%F0*iW*{rQG)J&#iT`S6Pu0+L>fmYh1J zj)TXn=Zw*6p`0Oq1TW!C(dUeuyHpyf{L|&jmWu?r4>>94I2Q@daV`>ajw32co989u zc@8a}3%zabpF@gg@lD!c<@bwnyN(_{x=Z}QJFT}k5$(4F?*P9=)iO^$stOy!q>^*m z@o#-Zc{W=4oTB&|UOxG=yY6?r?>1cBX>mZx(XOug31q}GEfj+}{KMt5*!{cm+Xm&$ zkxKhJ?|0pQ+s{t^oYYBiZ%o~Qe!DFl1~-#y;Q|{gtXy*SWDIx48RUE60qsHMlfgBW z?_Mi^@xJ^#Wqsl7Zi zX18LC^U7~R%G)B9Av+#dnN$3iIWK+9{cpZMd6;ASP0M$&&-dHG4Z%Ud0c2Fc8Qcn) z1Y%C*D0AwQ9{MtZKa5C%@6L}TP_U2n{n)SjORzCuTr9ecff*361^~0-Zu5AEl3g>Q z*lX9Wlg<5OUCwCJ=u)jAwh=2VvYze0gy7jaCdjiLRe4~6XVV;{KzgeI-I2#J3lDB~ ztfk0>8UwZzf=YgSd%b=RT8Uw#7d!%I` z8Z?hSfqFAm<#4+4iIDQG{=qLCt$d5PE#STH7jn!TNoziz*K|9B&o9vJ%&%|M5Ml=$ zte}ouBqk{^8{{7c)`cF523*_!@rKIN%E=R7dhR*pwIUzn+_zD2;)IX}H#4zfejOuC zdo-j$vlvStek+D07LIn(B9z=avKv(*otX}2a)xx=lWzpQjrh>WZ zCs8i<>{b-ZrP6bgx=ncj47dlzW>|;fmKn<;@u)cZnZP$ZWjvLa|((T?CeJ-`ecH%^Xgviq0~yKq2imR*s_FAc#N zvspK3y>omz)-_Y?pNZIftGeWu#$t1m2VcGMZokc4AE}R|?W!74JhBaH;G34u^sXOC z4KJIVSw7RZZX{Kg>TQ{v*^^J!r(*T_v^QXn#`H$OI13tKqo06gmIPg0Lw!YG(Y@%L zQ88Mp`DEA(j0_(7D`|sCLZFsexk*U51p#y6HyTzrQ&B%j3;`=dW$`QUM9~k9UF9yf6+40~;e>Bw6mrP{F zIvNKrdHtF-ufJrFZU1xraM=GG`j|lCY?63X4h! zSF&azKJ1V8&g8dT93S2|JYL@vYxG@{*ndeVQ7A_}(ay@+Ljt#wM)Gp4FQM8?)Ay$M$eBt%95E8e_xDtx#~gXG@Os0s{C2qgeO>YR$u|R)Ma#rv&5GV_3QOPzCC+bPB>CqcG;q-;Aerfm=yxVucD> zpuvrn!ARgcZe5pRP-``69g=bc0jrE>&^&6DG<$Q4ru*L9XUZR<}iiY?x9V0zo_TRN_u7#$4MwRdR^c?7mDQ1_@0 z!lgE7c_So*AZsV2LGsE@u3bUPkem(-2ww{T4TS1W8H>U?OAH%=BU+rq71OQ_dtUtJ z#|@+#jV=K%_-VKbVF8jTAT8DFTL8&mrOh=LptUeWfy+MC7nIqd3L_jQ;H|W;I4+Ru zog8RgfAMBty{ftj@veOxt$qD%^8jtd;;5^}+S($U{l2Tlk3@#Dh#DPOm)JkN*Rud{ zj__`UfedOLjXt!le^3@byya)jl9bgr7g>l>EX1!fYhaFLu#&&U<07L$eq zMR}KIk_@mW?FEhaCJW6q;`cbtBST9AI}sVX!Jwujg4jSRRv;ff@)DQ{s$gBKd z&H4;d-u;IH!?ShQxT2B%aBs_|ww;Uphm?j`e{+WuTQNBN`?riA+%)9ecXi!VXIDeY zRr!jut*3uxb?uc(f4a-947x`;Cp-<1O$IO{uElDSv)o0>_Sc zdRA$F=)d`vzU?=!?p{8a_Z~}cDK8EE)c1nt1>aB9(c$8BVn?WRc$w#Ix9$G$byJ~i zS8VCJiJ@)FwhfQx^D7(LGcW-t=ROU&h*+s(NF#w24(y&HXgVk(UHpr@|Rv3xcsi*I}`PnuK#H8boL*D4{s06 zJ?l?*CPrso?@-=%_{7Yz!>0~cZr`vHBO1quUWO4Jw!DcE7IGEQwS)yyfmyf|Yk?64 zh>47`NmYlq3rCbUQks9=i!QP}B$=V^C(NN^ltWs<0y;6E^u!A$*o}xJO#6W`1#Xs- z9=dNzL62Z`h2zv*aq9=!)$Q-{+}O}JqU`stu-e;}TvA@WKYiF=%J)s#ZJ+YrSxVbp zcKa`{b=P{ET0KGk$lRTw>3+M*zQ3NT&WtZ@&W(-+GX6cTLT8P0McvlMWVRz3 z>1Yl?)(IdAf33A0{Hh(Y#)p|=rPo%-ihf{SKx^dMEU4k5xt^;WfKKNgfi&8%Sg=P{ zR$v;0TsMfIddz*cv?jKpCC`jOFqdJGv>CL(X3z@sGX93n>Zou`3r@kTI-rT}4HLs~ z!Z63hg_TvnF$PhX8}U!h^7m$TH*Sk8$)`gfy!j9~N8g&r4u5+h;a#}{lGBL)P-`+B z?QA=fOf_zH)|87oGI`h2j_%toeof8ZtKHq1ZIPtwleWl)rM+|G1;<|Xil!#_y{@jx z7o!RHhp?o8qgm7sVh#nlgNf@r-9n=$V-C%88PHs7uJg#WLt11UqPjKY9xSm;>;xkP zqG(z6ptYja#d@ZiOXDkx`!L;{ZYv}VK2ZPh;LSI^W2@^6@Bhm!!3XLe2v(X8?LMR& zt9)B2RZilNaR@Pt{~C;c6jMKk5$d;mihOXuQWn#gau1b^$m0xW?i8w)+O0p%3}ybD&SnZ-4(Kk|UaOwI_K0ia%(Cr1yJu#U1=W;OU--gp z-R{%&bUGQRT>RCq-kwTXzhX^ilQlsMVGl5SB`})U??eJF^vw!o0!B zuHT0ygdEQAt^U@BXK}s?_EiA)GFE5`b0sI3SH587O2kDvXvMk|%o~ffL-E(e+|i}U zp~2?aeY4S}QSmh~7rV~o+uM=eTi81jTYCJMD-yb{A^No4u_xPF8+Le9^~#$Q*Kgf& z-?7zo`}g46^|>qia}AX>k+Ff<<#qejuT}!8Rr$5Oa(gJ_RUT;AGWKo%8i`de89hMYdFv9ET(I>g$|D!J`IT-`HRy(v7% zJvF2|nPFEsaas_kah&?Zje5c7`gFW%%L08T5P9%dQ^2%<8dUG(de60iNH#AG-;1vi zOG9zcb*=X@)oESn?QdJUYjBlV9tu6vk9ps1bE>y`ulE!h^fjU`UX*Kuzc0Vmm+-H3 zRhNj7QDtp?qJC{C=Fr!OP^>e{H3D0ush0~GAq9&0Duo5Tk~y*h-gYoRqF?5)Gs=agdX|l@6&Us6TP+?*A5;xm$`iD#(tS@#j-mCS zO`;{7+=8!29>epql*gHb3XDs?RYdbAO23tr<}m!C#P$^q+_FYCq17oV)odc$M; z*C?}>+G#Jf)6=+>qEX>utPEu_@oNE<+`1PCl3O@5;k?Cy8L+AkjQOD809qP{C>1q{ zgnW7to-D8b#mITd;6+2zC=en=}2Y= zVxEQ=%BwXu^#;4$4Zcvc&f|p`-+@gYE^{~5mG`AH4&=B;8=I5r>D5cp4_1S*kpl{eWR(`BKdgWtp+5lyxUjpc;Jyo9@w#Jd*ye^Q`3=XMetH#m3@n?S?Bh_^(*?)6A1=cG`w^4O+W$ zTlZX{hAOjtqsl84?{1V{T(K$^sXVHz4tt7OdjGAEA}q|rf*Gj?G7Y@vsj5svL^CRk zZGUwhYJ+Up(u`>*Nr*l`NPBp9500di!U@+WLOyJeRxN>MM^?B_lp7q8B}3C|QiCfx z5^Zt6-5I$haC6Pcno^)|$;sK)lC4H{1dP2wL7trER{g{O`-NMkyVQ9*o^M zq-ZP4jajK7{}e+dLg{w#fbl=y6$g}hDdt^B>ZLHq7_Aa3V+n~@O1+#QkKEf^3YEI= z?JoSw2YzxYbn*@FzqMUyJEk;Me#XzS%D*aY=;17S$O=ml%hwrRA>%4^S-~7jCe|j+ zp(55Mm*4=jz6WvCAUJ`n6eOq`^bi4!kQQu~h+wu19hOH9ULj!g8gTm>X&-^#8C|8l zHXyF8#R@1xyEtEDC~rNe20OJ1I3o(>^|U<6dxDCvoH-{|{AXBK|St`jQ54 zJjA?sz5a0yn5P?oEm;@azrk6}wjtVqQlfWhv@Fhz)tD6UTRcdZMl3j}#|MQOoUoCk zVVFz9FqgI<9+J|PI88er9+Dye@-`@bA@LL=(UNDW9MlrWnaKT+Tct1W5<70&pu??rl zYB6o>#W?^(FMK#i;e%e(fTzkY-DoHAvBAV>0p8khUx=){?=3jE8=nv0W5v%_{7i-0 zhL&C(>dhESR`izJU8py zT=Mn1@QMC>&Bg91Uzeh)MPJ|WBl{9}D0i#*wl%eHulYpnXj`ZI!5U=(0?yrwSMBsh zJv&eRqneAyhu%6ea%W>|n7pD2*c~bX}jI?byu|D;h_8tCX*82MKFGfNqk0*~zG`uC%kq$XR zcI(w0i`>q&wTTnkFZtN@OVvHEDI9N&6un9IyzY- zcV%^x-LOyfTmGA74XJ7Cyhocd7uErF>#6i2lYiU*aTWo~3^fK5AstWQU>!c7Kdbmc zgQ5$>0m=hXq;b0r)0@Wa8?hpb%kN^g{myA0D3;((}K~0dP1jCS;99l})G!$^uikeQz$5E4H=)73o2H-2kLeESgIG*&WXkt9Sd$f1;K-_Ly>OJtFqSSaRA9HsV zS1ccIyV{c|Eh;p})?egU@9}O(G+vx*jdx8n*Ee|x3dM_Ui!N&wajMkNw}WoE!Siio zsyfw%@Z$NZWUzo*&GHTTn)C`#|6}<@*>5+fHHF`}*(&|AFbm-~uBrN26hE3lnK|vZ zDrF*K*JK2@($dQb93*){33Pm9bhv%P_3Nz3!!5%l=Lx$naBsYrj?~-`?3>xpUza*O z6~1eD+8cJ(C9dDLs;2?v`1N9jw|1F?V7tW51DKk z`2JDweM;2p&yVCVq`?K+ilH`3Wdal~QkL!bE6I)p8xfD>(<@o-@hcVo|5>e9&LPO3*q@ zu#j7+(DtZnkJK7Tt1-}O9A~jok=QPPTicLWg=)?!1t6;%6X^nCim*efB55pw)Bo{Mm=!AZciq6jBX59AaG0BidC+gEdNZMaK62L z0i_wLh@p9$0X5k%QRnL*?0>zOlY9!J6gZZuDC0`w1p*BLGwUiWgW?ufIBBUDSJYOI z>a;6ph12ii*X~T+h5VIfkp{HVrr*G5VJUzhS{TBIPwb^rqHKS~s=!J&KDm>PpY(sy z{gD5Y(XqvA{cos$&+Xs)T6$l42A}6YuyWtZ8GP=(XwO|A0wFN+M!f{Mieipj&xsS2;{PB`Yo2M@xJy`Rdzz3I?dR?fXlW$*nY zTU}*ID+J#ogWQA^<4Zdt&&Gorf;+C;j=vLu4WWTD_pjK!Ex5rkJlOAqkrjJZY*^Jh z=EP1G8|Q?@_1bH1^sgz)JuJ2y@*Y*KnYLt&&(+*iscXS@7LB#TpcBfh2eB7u00eR; zH5R#7rVP3>;-odj)zI)XIx#|z78GwWVn%d*pE3pW+##dmh`K$!oYd`^LPDEBQ0x?% z6w#tWm)G{v*0aSBMmEMm2VC@ItbnqoGuY{MZ(6e_cvVmt+H`8s#}=JZ{;M+wnatkS zgVttmQ%)V;FuCUN!LzR_rz!`zMXJ^2^12f_>>OIxkYGh6;$bgz-g>M$ZzUeWS|MZx zAIiK1N?(5;51PVeV9H$AU8qDx<>0@M7_V;B&=7$&o>Ah~tlsS_g8PG42d_q-KaI`g z^^P7!FJCwtM-)7x76z?(Z@Fu*1oi9qa$q%FsM`;KQYn8U>N!}c$>+%EwU)+G$;vTCDR@kliLHxxM286EJQMA zj6_X4p_CIlL{y6w=v-*dBRtg{@&x5VR1x(engep0@Bu8`kPvn1pDZt)Ua1TZxm3F^ zRp@JOD>r-7W1GvP!)|B&sl@|2VcjYYpZj!Kr9?!o?AIPx2xZ7=3# zLbjoD9k)|Y46N#2dHt4NZl}I?f3&$V=&bX*>pP=KWw^1y+n?Uh)*<#T^tSXF^f6P# z`_uEr>7T3c&zs>UI(XC!w?3_%@3j7_qK_-+!>ZF?-b(t@sKgj|>r>V1eo(!RbnRU|D|92C7(E1Tor}zKV;5p2{ zMlt_XIsaf>BYp`V6aAO)r%dpIcrOV*ZGv|Q{7U!}Rd`u#6!VO5^gzKp*Y0nA?vvH? z`97Ry^8D{A7a8Y^c_#1w7|+K!Im|QMA5|BYTi#C5ORw`s6YO+Vj?k(q7!z%QVbdJ` zASRk7u!*TiTa7F=7lba)m{7WQpF}(-HKkhoCQDeh;5_NWq(U|z(!}(M28V=Z3Op}w z4-2U*^JhJ8%3)&anS9FaVzN#7>MBh%WPSQ*GR)rZ@siuLJGw)FxPOtMk&>?9~W~( zUiX9Qb+4%7g4QMcxp{ETH3|PW6Z}EbeST7fmsNwNG1o5e{1(%7&sVQ|MZM4T{C_vW zXT@BT&;L)tQGxDHm{VIptHW3m<}Ck16XgcWMS_@U${2@`!FFYpY8Px2w_v?6yO9Oe znl0Ph^}EiZYHWW5M~vI4(~46%7$C_A zEETt5jbE9Lp2fMH7JL`|=!CPM!sLXQ7=wt=k;&04tc(C2n6YF{Jm|q%#H6$kVA0WJ zrfRivZRruEelc?jeR4X8k^`uS<3q7&_!18G&m7#->a-$@HSb-QSUc1)B7uZUA!YbI@2 z7%{$rm;MCf4Ou3G2J>eaI1 zA+!-UIN1P&iUGX{p`Ot<0EEM)j6oX!Nm0gUoBk2ZlJo|p@ae{fX2}v1h)%dY@*)gc zfpzh``T#O08ZK%CHBzdDKf}D|hGukAHgCPyf83q#=oqQN`rg)8AJ4QkZIASnCkyq~ za5$cy8!wJ}ORi+3A)Y8iVq16Sm+e>UmyHgk^F!sannq7+uQS@-GMXD{kJ&nG&Qw#W z)D#@333`2XL7O^Nb7J{~?ke(Yrwq2HY z(+HtwYbSsfy7Jf>kuM9f2HJ_`cGD*G+VWtG!vZ{?Uq@}EDNV0}CNk)x=5@EI!|L7bL zg%B>m0pl!K4@<9;l@WEasI|6hwvPy`(K1&ff;E`?sY=Gl(wltEB$N{P-ArNplxgSt z-Oj@(b^y3$;U?ovcLeUJIaN~*lrKHC^Y8An{lNpJ(t)#Q_AJvuUiny+Zvo?71aQ+LF@t5ErQX%Paod)sBB zzG>*x&WlfOYd^Ys>gu%}2-xo0(l$8Oljx7s1l*;uv;R0TT1L!vyVj7?4Wa*e!2ucF z1kMN>tqz|QQl^AIWr9x#&M4t$Oz@(Z_Y!{E1n(9ShlD?2g69Q4knqQ=@Uog0QYqn- zHS*Q>F~8@N)${rOluG6K-&Hmn=L@M+-v2S4k6APX4vza{rC&^`w7D7|(v0yQsgAd1 zlQ1TY7C&fA8jXhtZI8w9M+C9627!$Ghy%i!K49@&&bwh_n#708Id*K;ej=kO2~Rd- z@VGRKxGx5)7v_1V8DXgxos>*prUmI*puXxVOUjEUN{YR~b>v{j+C#I2+5TkX$~PZW zy8FY~OeVD59gVj{Cp$uZsr*HI7JIF;YYVjyMDrtlh_2V|U3ToEu0VF6B{fmX+7Q#) z*5L|g8b|9BiMX$Is3GVR%Ab1U@FK4*5RH5Kb$XFnhQ#-yrtx`5NN93=eo`HuvTD!^ zBs-k1jdpeX3a0CxuU_|x`d%T~$@~4g3BF87b`t)dgk!w9&uSXu-He%tIMI46GBUxS z9^-9zQU9j+M&XLNXi`a+xfiv7NKa&~l-6n?t<{R*WjH#k^)tCi%2l#*kzQmIBWYCG z6oCfRE`D1bs;&V!RH5#%m3?9u%lasJs^j8t+KL#L=GbVWRA`Wcws+o$)Pd4x#SC@< z6AtTBDKwbz5>EY9!cWhGQ|6KIFPPzCrb_tZ5`ONFxc^n+{>;_H{hP)8H8}4t;iu=p zd4FbOI;>wX!^Qn2{Bgn|YsD~p1*~^%mXFdiGJod^E&kQu$C}O1n6PbJHrHLJdd=Hhcb-ybxn@08-QOCU zxwV-0x32u2V<~WC{VH(k2F{$;)8`(vJOSJ-2Gti-8{|ynT~_m8HAHBso(8JS;t-?# zm{lNYoly{sRjScSmU&4VVm*_(GX#I+o-&;VnYqP@37ez!y+NgCwf~NFh=|O)w z^)H7jSJ>}bx@35SZ!F%7>y4sG+}H@nfWxYz!JnE32i0isGxOk}G7Wy(4Ci{I!JnwY zp-BoV^9W2mtF)S)YrM~s)$@Ttt}Eg`PV09S)cn-npX-Wt|HpVf_{?I=2HYQ_`jF)$ ziDOt(<`^(psIDto)cFG3i)BQpiROhy2B&Z^xUR_U=_3%gWH?I{rg!ogIaFz}jL7su z7uA)zyPB{btj+vaY;%v_o~+9rMQYZ4J#4Pfo5JZ5=tq zYAy6U)TUEPecy_v#AO@mt~j;B zd(lVdJ0Si%|Ep>{`|7iU`L<=d?CS2b|GIe#5PP0W;{5OArM7b&%1^)#>d6nz-*I*U zlFXuw^j8uaTvugv8e&6c9xy%ZMB%^!d9 zBOm?Y#Qm!6>vPBdwert=zs=yUZtIW0cafC|rjArq@Lf0dM?n0Gs5Bt^!Sh}#`hoM% zk1r~#MgKOVe{K`}`wIH0-FKr2{I^mrdvpE7c25xSDS5RpmdRyS_Z9da_aY=rE{+EX<-|g7n`D0_< zkSiU%Kax^Do0b?Ryd?Ay2|uI5f#HJCBM1itDRzNjaUY?N$nziN`QYEf_%i_vr=SVG zp7k#DcxE~oGgS_gmb$YccPwBznlf!rp*e0vjF;IQL5rNUG^l79cL8xi72*U)ae){i z5)y?J0ZPq&?2drFamjFVZ^~vk+xZ3l*?BKcB0($iA; zxsnT{f`OL$pr@*{l^lA>WNTwz?C!A`alG;+a)gO#?q8jVGLnDN?d zqgDD}U|Tc0q{%I!Vq6vQ1G&dDE!|Qft_8P{MQ-b=M-AF}3>0q`#y3`1k7`j{ZPlZq z_G?dXVGyzk&2VHUB6A{(3~ym|hW&XkFSdq;#O-VdY;J5{y?=ULdHv$*krL<`uc=e4 zUuf9SJ0=gTTl*HTI5yYOGB;j5Qhq#AUSkiaU#+h^tslXPEU+bHSA-OjI`FqTN`j|I z>Ko^oonUR#F{Ev5F0A(IEq+%=e<(nNU3HXyJM(Kp|4n46*6uc~ zRgdrO?p7K{i^SLQz5MGra`qR%P)($!t5a_^y1hkU3bAGL=24j#!Fo^ld^$IuZ>IBG zgcL5%H`DnoTqnhS9M(^p=v-PGlERJwSf`N)e#id26>%sZQuw>YlDRA z)&|0*wL!wAwE=ag0N({`LpKV^tg;|4#)`V&Yrq6$_GlUNiGe*!tMf??g(nE^jrLSwe0EpQ=*e&(-HfItT$65Ac8@Q1 z!vESpf9Wo)@*4$z4`bjlgNNk!OE_&45`IR5ufZy@QMGAs%AwB*dTGNrH;MaD-obsc z@;-!@g)}1JX9&kS+lFcu!GPWG9iLc# zu}kwnapn@^&0=OtjGxv=0wV{EW8?^@{70vTa_)JI#GR1yBG_C2{F`w*3-q4_fmnuE zBl)XaU|TP=fZG7ux`|OO zD=r=0eU05#JJr<}Z%TEx#s}9Al($CK`Fa!S)<{#Lvv$G@Alu-;CsjPM0tZ}$%r=*8Q(p6xUu=f6Ng84-&V72V|%_pe!;$9XZ3(DAio-X z;fu<0>^}lH_yurMg@0dxrYLaLA#gQdxlhNC<_k11v|!CPGw?3Sz`MY};d;P_j(vlH zv!E5%WGaC?k||ycHlcZoY+QO5bC4qGU1XY1q{`%(=^>D2CNJUj7nVK)f0~W9%C5bt zQrjt9{*A$SQ(Gj~(`mKk%=qjHy?5Ez!0I+|=}=Q^L$0LrX*YJyoUWNJ0mVO(2(CQu zyne2~tKZpWb0#v8mc}|Pv)E5>NbLi^qV$Wr0;U8B;L9pfS+M~gtr0P8I}Ii)>f4NJyQd%=RtuW$65(7T&72pmd5@$husg?rbL2^?>RoguD<1RY6|Jqp89f z%P8Sb&4W`Ok?=F~;M6N6{InS^G!O}Yq6#l#&7k~3IOT2l398SfHASBPWc7T$C-q8s z{&$tR>iHXlUMbK2jQM<_S4#L}gkz|Cu*%}O$il}SvjM%n?PukBnSn=;~$emN}@n)`6j z9F7oil(c-w9In?c0{oVktO|y=CKqt0?475~A$l@+)-Ww7!OD-!o*Sjk7=fAU2s}Lx zql}7{7=5&g(O1;BLYFLXE^${13hO#YTHsY^Ax2wF7&Utp1V)X#1u7{mnj?XGTGG`( zrc66vLgdTBI_PA5xfV>^JeV}g7K#8EOq;)k!oiYyqcf9RW;VtcXv_PFwhf`{)%vy` zXJy^r!qyRuUf(M8$xWay%pVjrl2|MgE6@W8Cw)VHzrguVR?i0(g+3|I|1Ne}t)4IR zNqPTIo6euG9;(iV|1iym3G3&o@E^{DGxnIH=d}LV1Yc$Sd=>s94PFPnut@L)1QD}e zEwWz{&Ur53r_FFN&n5f`Gu(8aCpEZ(^H9L!^8UT@{u0jnOZaIsT-;y6pCBCkRGg3b z+=0lqgQqc{W#rpuEkk0V(&O~%Ril~y7EhxidumX!!eVvTI`^T9+N`xov71_1l`7dK+K* zOMT24$rio+`R`TIH=Vc@+nYtgG5MGDb3UG*G~-k7Q{t0e#GQiPBtALIC7vJE&Sx~- ztQfBZ&Idi9S{&~$;am?S{EQhcyqXgJxP+hkAqK70`V7ubiu?RxiMWq|Z?S&13jehU zzS;WaD*R;=e3A7`75*y|e3|vGD*PoK4m)P6kfQip&PQQ&U+_M^)Xx|1`A^z?oYvnd zhuL3oe$o1x>iu8j`H(4o2zp*DG8HqdoM!>0NDEl1DoW=Lno4yfAtqeaLWi;1T1 z38I9@51cQJTgx2iG=$kE&n{WGUOe!C+E)3K-uG7Pud03jtqE6Swi~PP|2DyAO=Izb3BJ{~uZr8>>$t@j z88nc$k_NPqs^WgD?TYGkujtod0Jhq;R^fk`2VYc$|Bng&71MqGqQmiggQoIU($x9S zpE6zds(u}w|G4S-XHD=+ZELE}KSwxdch}i_kD7(+vly3>N8>8t@GX=e(BimkGzK_hBCGKsNk@xVK!?P*CnNxy+N@;!;SU(LfO z^A{xi=NcTkqPj}(&kV5Ru)a*?66+?|v8Wx7n%1nE9fJ}m%_sB#*sFA?S#K^xha_A* zB8i((qDUbyPJ2yE;GX7Wy<8y6E|KJt_(jGe8Huw9RhAY9kwcqxt{x7KbbkBT^&J~; zTK}IfE?VUcTdh}4Hy!jJ%qT;Ll)&q6-20KkW7n--e^a2vd+0+~d=1p3^+t6lcM9st zqjy^c)iGqtpgO|0i&aL#f30DO@NEK15-z9__m%e{wk2H0wuEz)k?@yH_t|RYC`hO-18AKNdOu=I7ok0qA=qGO5J7P0~1 z;Nv)7!?}S)({-=v*MSN?EBLs)-&qrUx8UOvevWX=AzFAhf>*J44A%TK9F-k{kF!7v z_6gKhbF%xs&n7d>5(W5PEuAiG);#GcS zvvqjh@;Yy+sm~KgxJRY~nXY*6rI)?s-gWQ2e${msZ*l}W{JkR>k52UaA~B07%sZ^V zowm0X$yI)+ z{NF=sH*H#bsA5;%w|h4*Lw>efU^0jIaaez~0uA74z&8oLhB-mLW`ge!BO>9yHo>o8X(o{Uv<<{mIuP{H1y4bEG8v=QgS91Cts82|4un( zI-h(^-v33Oj}b_Nui^e+L|4#wHlMF8SexdtG5SvoMn}_0hpu+n^RAtS4fo`KyLL@!m# zR?H_>-lIIYh9sxUgOa#(KB7hE805X60E&hYFm{&mAbU`td}ga2w83Bo;ehIGbHO)U zb>)8bEow_oYhTU!%2)24z84z?1h3t9^%m4<>?@)qxb3j$h!qqF|>j;KoJ*8RB03(fV;VK&nEee zZUPx+i9M5a`x6LYwGwuDnomT-Lrhkzv%I@I9gsdDDY z^GRd!d`V-7dcjP>`Cz5+tf&ytXvfe;Mnj50Sqsz;W9+oS3{&z(K0(zrtl9B|3=zh> zvZ8oSJ-z$$Ejq!qKHwLJosDaup>Ptt}V{X z$%Io|H~Q*J0D)9HlxNRIx2^I-TVlDTJ8hRJ&sI8s#TL-(IzfNf8;MvPK~sg(x**}d zo(Cs(CH&=iaLRoW{;PR#Vpqans=~|IL5(XM;pBrgrsr~0<@vv?p3nCrAC%|+PPw9b z{vPYMs^|aLyz|K)<$Ycx9NED?JNG&DF7+&ivjwURDy>-%Y{8nYj0}|gEmxI8GlU+F2O zH}n!?EsHN3XN!2L$%{9=rlqBSL~AsRJRmUjZHcKWJ(g8q1Q;ZIKE0dIH`DtAq<8In zGrd1xeX9m{SbtW%|10WgA)(9p@t5lSz&sOj3*nILalZC+V+2jty;{BQ74-oj*~|N# zHNiIu$zH53M{J-9aWb!GuXBtf&bj_b-2O_(xfmm^ zGlX-D;Lt|w&>t`sdqJ<*G@el?C`M|+xki)*&KKAcHD`!e%xR{Pao<$RSg013GVmoE z))SU0VF->ST^8P?_U}{WCQhR2g1|2FKusYw*(;Sw_`OQB)Yh07+c_QXY%h2>`wEe8 zD(tn{)KvbW&_`al>}~4l*WHgj0&*j59T%_eb^0Q{9U-4DmI>6yT#c#g{^9Hsq^{MV zYVJ?tvs_B$S=*NpFGP7?i?=a)YBrKW>=%{%Aex{%%$(!S6W9kB-I2LvBr8@zqe-+5 z#3L&dGTcMXN#z6z3EvsKGx?2>+8X*s^3I?Vue_kd4?T9`#AAmzZsP64oS@qT*0$wn z2*Xew~p-Jfe`mQF-A_oibFWZDOd)Jw`g15L%b7J!N3(L`;7#T z4PFbL^mZ|;`(?jqVL`tnoU>HIb$geDbF?K~w|AX?AKiYn2KRrjxIcv^;7wbXC7kz{ zaDBaA1N+!}#cU^>_>@|@JfF{%=f5=XKGYW_{Fn3Kd%haN74I{O5#2uJ|J& ztX}#RxIk$yeaXPRj~D9ue9mye^Q}78H1#XV=Dq?c%{ft)l3gl^xj!H43@~k+!XOg_ zYw%#=K(~3>GlR;Y6{1Ea=(J{(Z&#WdkR|bOSouk)^7IG&|D%k2?G|OVP3gVmwUrlk zRes4g`yFtx1^Pm#WVwg2EZUY{!SD8%8YAAc<|>ac3GcQI=iI8%^?)5z1NW zn8LcYZ%I%s1lJ7sRu3dwCyTvMGlPSv(SNBN1lJICRgtj( z`>5a|qW+`!4sHf*xeLA9h8XxPxX0CW+vxk6aeEV^K90SS+}SW@}Nv4iJ+AsSP?9jcBwOqQRL`xxvXYmYVI%1FIKIBRdeOxhPJ^>qav$lQX4#$*L`R@NAFKS|g@gBtFD%K%`jUQplY7##ZZ$WC zBDSQ2#dKAf3?Qva1qP}K=b?@yAXKll=Tns6&|JC6VGrGX-L^e5!%BB4KeZVfH!Dg! z<}Ws-QB<;~qnz?s)pSd7+->zF`mbP*dkF2VW3VVbIKdh z(&{1%0oBw78XCnO0}=_E#3hQ>zPfkcrb||pTBbXfG_GvFX5IGP_*%}ibQb5DRu*6D zS-EuT;`+Lprf^$2vO3?pa(04W6XAw%q7mOY8(Pti5@tgRGRuCt8B1D56GP|Qs;i2| zw=Ogr^qdxE#LJ)z?yM~LNOYrR8V~Z4#m>rPblgE#>!Hkr!me?`nyN<}GF5s0M#7@c zf4uxa>!K~a<*{1l%!;O-P&iUf-gd+EK-=!t&XKxWSGu!%!sE7DJ3QB3y6X7)VyV=+ zea_{$$>F@`4flO>psnTV(dkk?naquimHlCNJ1y{{YM0;*4k1DO7$`Xo&NpiLGB*<( z6Lp65QPsG+LG@ZRwEPCb^AjPKkc{ zeY*jmyH~CjEd0)RZElJ#_hn()4U%mzb}Xk+0Cxda$5E_A&LO!cmjE)=NU$KWOCLEC z_f-)A-N1jl;-7Vgop$?FATu%W0PPpw|hD}Hl>=AS-Z{Z z3tgHB+wE#No=&a~Wn;b-qovt8yQ{0XW*4Pek;8yo0taI$^zT+9cj0q+5CQOm$WL_^ zv>2sj(t4f`Ohbo(AI+I+05o&HA-o#WtgJ2}^U50}RbfDYH&tM(1`9veWeC8)AeT87 zW)Y;r)Q+T*Vr@pTg`P8e^i*c{*87e$w5FA4+S@c39PJ#e?^)V>3S~aN{%9uYa5~cY zWruUco4*6;>EF-&MeP-m#YOZ?%$F=Q!O`f#0?EQ0eNT^soGc7JAp;fk4gpCBmQdRT z8M~L)H-_t-3FVeerxx$?xRK5kNUkh*9}cz;E^2=m_2}QeWMbQNXCR6ForLDK7VlS2 z$v_1)aU(08CjUOp&BiZb;xo&_w03b{6%~_~u5!j@(4|k?U9g0NayYvo?6?)|A(P#8 zYQ}Z)B)Jn9U@hDK{kv-W zP8jrIyekDV*m(pA)JXc^{ydUCbXuTBZ-mgy&WEx?%nNQ+m= zG71=sEBb~5ngGPYg_v~+j}}1^n&(*@)5$hSQz>@MVhz>#8RdP9_%}o*M}t!ET(s(< zz@d~q(v|4w@iyifQmyHHjWg*UZH;yo3ggqBr2bn=ME>S=2Ey)ez~^+?tl>bY(Rq(M z6sWI$YjOtExuq))JkilSJ~?q{*NTQzrsMJHQZSiZ+iU+Uq2t%?S{?y(Zz1VU_7%D! zSzjWQC@eOA`CuVQ`gj#8Dzsf9vKJ9-HIvKqh1@95hEcghUJ$l&JBpcVIB`N<%Y#MBQoW(fSD`C zA%#qe0!K@%sxnkSSPL09FfT=l35C=Jl+%SZ18&zfj=;sfbmFkP#nzPTEGvpVv2;9N zO4ZpN9jCfgyUiW)Hzt|&(|&5oSDp^Fcn63Cf*HMDdx1FwdikXO4kRVPT6u?_&T z3>k%D!8h(LDXP{o#79WC)yxxSry`5+m>ryXYK>KmpNd)4OuD;V(+J-3>QMLWOd#d^ z_}c?vPh+BI;N53m{r}s06Y#i-D{c7Jy}d|ksil@$YHcm`BB`~v7R$0M+wvms#yiG= zfNjDK@x~5jaRR}RfISW{kYvbAmLZcs5<-R$2!xQyN+v)c;hR7f5;8b5;UV7)lLc_= zf8VOQORFVYkmY&)|DTX{RbSn%I(6#QIj7D!bqcT-fkw^%?ES`vAHv2(-TQ9CUXVRV zM}WAnYb&VxppC4d&7-TiDu-qsIzzHznV5TCR;zAnQ)&hd=;%zoS^Uk`)cUXT0AhsMndw3EBjV zF2vvIz+Na#cS?oh^&dQAJ*c%ka@m!#omFzx^_p_oNiONGyLn}3qD9UvxgLY_> zgG#KfZS{O{mSLg}-BYrp51%4tKY9_^gqOhfTAt zro5=sKX8#-y?8v-JX97B&v`UZR$YNrIW*$)r~D^dk@gOMQPEk0gMG96`XXJGVoUCU z;#f&*W4N_Rbm!I2wwi{+2f02G_yij7gO1z^x$p%_Ipqma(yh(eofRxh&EMR~bZMD1 zPJ}k0RQ}Q?s?P@J4IjBd|9ezEFTXI>9=QL zP;xVGZ{aC^9L|VnsX@4_9hruWp1pU6Tw~<#+}@P~^(Dy2nmRQUxS*(NN7KCSK=9I% z^Gf0)>Cxq_i%)KA$`<+3@wVQ8DRB0zcdR8ot3O+piul{IyBiYz&c#<3)z+_AF|=iV z>b&-jXjxOdCshv80G_;*Fr2@ z*&2urbqx%r=B&)bT3`cetIq^XUyWFP<(4Z;H=IyAyG0l;basu6FFt*7;*8Afl7?`9 zPfHn6N;Zglz)C@9D}j?*aE2QA6fV(s4I}M0>2=fqTcP-0;k5r^u>Yjk6r% zESKX{hL2JsA+5PKb@1Hq6a$48V~;d8ux6;i7wkIR7HC*GdwgYP>1plhfg;mPB?hw~ zf!5N7-UTfcT^&OFqNjKD>NzKmrQY4%7ODy);yo=zWubVIvX1fZ+;3)#?bMg^PyQAx z7+18}c|0=E-_*Uf8MWWcKpn}*k)e68HL3&Lno>j78_K*C#csp_cG|!AnCO~Sg={Pp zr_}b(S<-RdPFxkRw0CKLvSe>*Ps^-D#UB@gNE+QaSX9{X~&}xjVB&7BYBB77$ds0r)&X zx7>3nMX6TSn9`mpeYK%eniD3^tx`lWx5|1g&RD)$h$SgdYHBQY&W7cyn@2Xc)ijq> zS-y-aN;htb)|WhO`o4GOg&Q}W^!^>Q&dto*8%5Rm|hw!KTEm1eMLeqZN! zZ(XD^SM}KbbfbtIvV4gI43qIRwPblZ75=&aST(W0UDjN9O)8+sZKF|D-OtEgxI9%*FWnRJ7>ym^kWSh;s}SmNv$!{!d%5mv zJHR3L3sF2cSY%n7cO($saC<}FqSldjE=ph0nvIlK&UutJkTf7)C`ZDi*aBI%ZeXqvMO-*Y=t4Ovz?Gn zRm=`e7F7~TnCPU*0_>bIFQN+DJ1ZFMt8Q;il_$i7+sAvZugg7McZ0Zf&ATGucvG_C zipqJX?0?52M<2`m_V(LFh4}87>n}NRP9^aO(~&&66@b13JWl)=-w$H6Y2y*vTk_)o z3gQ6^PNZnUaIv73W_P_5B<0k}F7XD>L8NsOrzH8tlXw99&>4^f>r6`4$&-(yu%zZN zVMHHRJKvJPZ5;Lyy|l78Gpw&nhZIz%D8^nRV8}`jMEWzLsX_QJ4|Mfi-PiT5eVZye z(jw7lmRu9+>c6_b=bY=`7#IiyihHxa&iz!R`1!AFJ01-5y)HU)KjMef$5Z0-;Nu%K zKFC!xOI{^uQ=dkGixZbq+QAZxCQ)}lN5MPQ`R6Dx&k@fFYrpgblbuz6q0sSO(k`-UJcMQh*I z=+?eo2++R1Eu$y)T)uAiB~YST#qtH|rDv4R89XiB-I*!(mj;@eFKx?)N=lkjtF{ac zZ{5(kpf~OdlrEdow|NZlb~tkc`Z^!YJ2SVdlF(~F=&+`eD?EvcGNO^< z5#6VQKWStQD~^TSI&zbeZ)CO72XD=u{NdYgj`qYweY`j|C%U+QR$2Eu`gsiImm;2f zvo+}t6t!h;zoKXO@f;StnD_}St@PQ~7@MhlPHAa%C*ru4Rvs_oF*4hAZnG_{JloP* zwyY}IjQxyw|3$ZM-xV!Swq&B2O|z0$L`Jq;vi`?(?q9OyJ=+#VGfj|PIn2V9lH+$u z3m;<)aN+~93@2nTd-7}q&L{-r83Gl9fWKos{RLtW4u}^3^B1=Rp8#_q1O*`ANuA9S zq8D{Gw!W_RLe7~4&9_J-u_6~i{N1hdybYkH~Hob1`tbK_2ywrjW#yeic3 z42sl~Dg4!WA_N6En`4?UlHdSR#zDe~yE@mqM!`!%mAPf0)4R6cx_xb`WRAz~w+e*& z7zy{=^AH*)U{^NG9T-hL`SLV&Jr{UwK5!qnT5y3~?;13x?0VF(a0k^C);!6m#d`v= z;g-{P`2F!)Q+}(hw{fU;&aD^S`nyo*jfdPqkBx#ROL02TB@jFZ%rCgek@oQm8-sG~wM*vH*NIH?to>@xU;i=(2r z^Hh5iF=6~Cf}}0eZ0%W+MtJv|js4@9`8&p2F6r!vltfEXi68KU8KbjELv$@R@YeO9 zvj?(|K(lOc_Cf`r!v&|HT!j`)j4mWS*OIPyGKSiZB35j&FgA6RHE%GO9_4?>W)M2e zKj0=P45hZcv9;;i&W3lKvVZ5N&FHlkUAwz;uqskr+L-vMx$4bR*IkE116&&>_jky5 z&T%#H#)hynDsDd9eSX1cT;P@9Cah)p-U1g^xp|WgA|PJEs?rjtlOkzj{gm|Jt(_O! z(~&#k;@uo~CWGn}bmx`Oom+WBMiLtmruww`Xu*EMRi^CodFXWtn;W~bW^in6-<20Loyq8?If>xGVCNumpxi6& z3df^E^M-qRdKPz8-+UD_moyA4?M(E|I(-X}jrIQ;)<3f)3^P;QkP{^~1dO|xZwey* z3M4~;j_d9h@+~WBhSW%zErBav9U5{CD$swi))DUH*iW(UGjQ+?S81fc;v{_wHR6m_ zYb;-X|Ne`v?Heenfzzmdv~AUz%4Ag&!c!QG-FP}dr+uVFR!x~u|E%%np;S&JFJ;vxK_W}K#bCbO|; zUT>dWe&No%URJLDqY_If9f;{VmGz|+ON&yI7a~+?R{*UqG*L*+$YXuc5dhNm;@FyM z1|zcj#cUV{HgrCj5K2|GqXm%Cv#q+59*)u%@1OIETXMJzLEFO&E1C7#eY)56c{6cFA&4_O1WE0Ra%>l!jL(~zO!&V(>Lcqa$kgv8)yr=5b z=-)&RB@RD&#xHhVc*djDdE$r(5P&pe+)DA4Z{O7$92Xy6&y-~AdRa<0KSi$XoKpFy zo3N2m4t?n@$$}$~;iCuBgu(EOeZ3uHQ&bAo20T|6SK3!{=uNvM%QS3MI6kQtv$Tnd zdGbDv@>9pl;@SrqKD>nkZn3?iHTo`&nx!ZB@6|5Rjiztc54E54`jfVj?k3+zY2O9F z=hNLJspvPL=&=h0@Ty}ojI?nEy+KpjkX*dF+>N^e6+WbRnnFk=noxYgVTM1JxzHJYH%aGKqyP5mBacT*bS)w5z9QtmNb6AMY8eh&MJzPm1-;SyHO( zGnZL z=Gh(%qaYT<#kX?KkTuwGgB6MbD?ov;(PH&tYXdBL;|8m2WdwK|05gg?M{;KtKZyP8 zql4=bGYBDk*D2NegGHUGG}L$>*sD1lb8RyLHRW3 zFhT>-Mle4^^-GE(UM6+n9aXs>ntS&iy=5VoEcR*+9_UsZ5z z1qUye7gq>Fc&!m+G$GR^4><``?YIa#5cQ z)eKkl_KbwPnk%f!af#%hY52o4u97 zmmJ!6=g#WxxTtL|t3_yQ-*9>RaO$wQZ5Lu&({X<=(41MZx4q}`??V&*HstCWseg}bMzEbib61b|DvjPu|@Ez%{80*c?0R@?DR<*!!9OA=&de-9e_ zJU&t@NubilFMD8nehL-odNEL`;8SX0hfv{f%spR56crncqht)fz2iVUs%_qdc%Y-o z(N@At*9Li^w_++N;kwnU{eikgMWwZM4HfaRj%a0PX?1l~s7`dG1C_HnyAh?ZA{k5K z#7b49p@m@zDnj9o!S&}Y@2rT&c9ylxJ8A51pKa+-@d`USXO}jH>v8j1SrY;l4BlaJ z5%g&vcCt9-ComeX&!K>H3S8fL&O*}CrH))Za?Z@VCjsOV)Mn|JQ$IP;72z4)j4^J?VpaS)S(}UY#9N4n+6f`2v6o zoYt;_pjU%SFeE$Vf|4Vc##gUG)uONneNhk^u!k0agSfU^n z{e_j!%h#A`hm;dR8FeX#gyS$1XR|sb#jLT!8EJ&IrOrrQGA)s8I-#My2tfc(JTX0G zNKSh$FkEI_MlO?oYEUD|U3Uen*WJ8myt;^{CWZ~E#H&XWQxVbb=7r`(@DnKYDmr@A zb;;dH(N+16ORr1sPG4vGzWd$ta%VmD6l5VIqzi7a1JF8h8q{3}qa*x}xE@;{D`NmT z&tkDmIQ&H0J>7A+)S%cLW9KTg&YdDv{}vA99dp9cA%D+%7 zQYoS?&j22;g3ha}Fr}Dl9CfX+c|lMVtEJCWPcVY^ABV%*I42GeF1Z?)C@+j)|;X0weXZx9Z1Z3SI;p$OGb1Kp@K& zEMF*d`S&p?zXPH)VNi+D4Uv9k^*YAoV6$;4FUA@z#?=)a0~L+Qj)qe@w~p294^&*R zm0>w6M&~5j=FFZ~TwmJWAFS~d;_&46}$d@Xitn?4_IHMyU2M?tx7$YIpX#6 z)8riy>iL(v?@N1udj1HXg8{C=S=sHN`VejXNV}bP4xr%F^K|Nzd+OPx9}u?2Rxwmx z7@oB2DVYA!`FAu`7p>WGYwp*K`~SwLKJ|^GZ+@H5^lE4#%-m2h$qQDnFZQU%x&7Ai>v4Y*5>tX;HlqGtAP}aCv4C%X%xGhsER|Yk8>v=a? zR;LEIO`9u6MjOZyUBl&epwQNg@~?Q@ENUz4gV@cAU`81NafD0p*hbK-6v$!RD~G$q zaM4d%JX{({Rrk#eRxceGL~f>w%Bv&w(J-!z5~c5*zr1a{b@r@a&Eo$4QE^cuTAz#- z;Sc-fcbr!lsH|MRe&f;=ODiMA;ZRp5o*i8<8Y`_1`A^v}6i=;KT)t`9ng!*xMd6CJ z%*du~ZQeMs<2aXUW|g{JY$}B~XAq7HH|+WL!?^t@1eA7}p%w70+L@-Y&S@(N`+U8?Wz1$aI0!5-sz98?i*dBBheG} zowE>$PJvz+i%#Lrabdi3u?m|QRpg&Et^yIR?egxp+{kH$zaY)E1U+wD>eQRSpHr~8FlEF1NR!v3$%|xsn?PAm-&kuODndOZCq~;v36T+wzL78nqQSC zL#LnM2Hdxn-f~Ozl7B#)D0q{Ko#mdqSIw%jp2*lr-Vzr8odXfr8S;)bM)kB(<4-$Q z;WPntWS17OE*c7yV=pt3D@Y8(vKwR>ANErj-#dIQ!2$=3pSXo zc$Zrdob+uy_6@`|=R!-e4WD#11?aPw{wCrbqm`pYhl_5gyrFr9Hxe(sU~uq)uQ;b* za_UxM#z$t5!!;maaR=s|@6_(_oe>@hNyUHUcNt$f;8%c4=>!F7che_?9rB%{@{creC?q?3=L@;Q9IijT#> zrfX1<;UV-b%E~rbp}?jaiyL(2{7|bf0HR@hJyi+>^D!4YXn`Soi#86*V9lmaRo#u$ zWt+qYL@zRxF=rXERx>eZ_F^;{#%+Zs+4uGNbQf!0sxL4Z*ay4<(x23bjZBr~w~dq| z<aKXlYq~g8v7xHW?m~JBrZN?=om2(iCs5x@pZO zP%6DL-Wvn*Gx0N1PfAi;ex`rs2~*EsWu`aaGz*H~1}|rZ-rD9#I4y{%@G@iW2UHLX z%@NHKk+^tW?=xcH6O8-u>=x7w6pVw$bW3Xik3Z3%->m$zb2rmJ>nn?;>*g;Ge>VC# zuMfA>BbdeROg_krfK?gMwXsFlHES{j1nt&-^EKK)5B0}vhEWI-%7Bt`)TW&|WHw9Ly% zk`KxqHbb^JS(d&Tocc`*-cV+V3?q>bVnXFYoUkj+s=|=u3__A|Y+(=07k2C{)JTS| zPZeK_cm?sV*-!@pXuHn2eybZ~+kqh44mZfw-`#zt9Yi~AnC(ru*Fn89zE;lETs2di z7*Jy+W`uFKvyBhYppc*S?JdRKRsmNk?p7W~q&A@AZgpjw{e)S}C91BG6^c9}n;8QX zPaw;kg^6G}TWuQOV)!i-v9FD8ZJbd6ZvEhz{@NP@#k1OvAB5YvYFcCsZos_u z0rCZWhaO>`FY&7)U-hk0`Z?v1dT!@MQ|}`SpML)D%P<{irvdF;Bjwk8JV5@iwJ0!8 zRhXwsv2yB+uhPJ-BIs=$zJO~KM3sBlh-A&Kgj0@erQiCMcgBz9;HTta1g&54UllVR z!Dd(4>d1j=6G+7d~78aD&0huc9gtSwW>)rZ)i1-(BBU z!Vuew@?&o|^;|ECdwLLMJ300?_gmm*;&tHcHsB_~Q>jcaox&owaih0~F3%{yjl12| zOyn5W{wFaNnr8?gNdQUQ{g4w(W%9Qp&?b)I|_kVza7Y`m3&AHdpGXA*b&MUGDzkCZI!GboC&KJl85{fVFzs(%GQpQ{#ZAl~My0z_&EBeRpW6ZTV z@k7L1Z@{SIIEHmKbHmv;tT4xDr?czP(0vwC+K;`N7=}zIn>(8xNW*H|_b*Ib${P*rlz*h*yi$Hobs3F9ug&1Z}zT z=(KiucgzKWQ^%B+JObpg%Ws45)0A&v$}M}!ZEL+EbvvL+S?i@(EVr40t~3K$%@oSP z6mU*aibZ>QFxU#L;Eq%K?~;t*t}G&N!2oax3TPjCDbL_=<{5X$nXkl>|1>E+VI-w+ zXQGc|+^JW<5DJ_@?ztnH(+nLA0M9kqp+0ZKV@4Vst}k1KysGnQDr%}(`@aHE&h*t* z7#}UxGQU8$w7{o!;I9fUl8c@r zmiBoL_N<%w_VtNW)g3!->fhIoaPZuVqIvJp2RRh?v)oY#C7sn?KPWGj0i^OX_tN-dniz2TD`b+KH`F43htan9!pt?OeGFQBQ%8r)S zk-3!m&dCe&A2BfAad)1)V)pPC})bk^G&vCnje*Wvc=iE=I_g~e|p&ZHVsR8J(#GC#OMHVNjeOjNi zHGzWNcL5^Zqfq3grrf*JS*fxplBY3&5S4$GK7nb3CL6$q(`Q`u!MpmKi`Sm<$=ttP zRdrR(tuqtkr7cKAKHye~Ia-=E8Gk#io!Ui$*3#SuUL;JiQ(q$oVry#3I&F`= zNsYb99=onIgI`M?w+)qD_$V>u=C&AfZ}H`MdM&j&0?|3~Q@86A7@3aRY;2AcU{jsJ zkdjQu_aPWwOTn(#tFD$~6Nan;74KFrD%f|Fyg}Uf#4~ zrC&70Q>8<}K<+!dCgAqs;&rRzOVW>=d?GOc3=$J@Qa@vNn*qJe3k&AEKyUYIZ}v8Y z{F=05YJ)@xG4U84NCYgjE7!`3Z8a+#CvyM7v!}4|wY<><{EfFJ?SZ>PnwR|4zt{uC z$aubz*3){PXW}7PZ>FaLjm*2>k{d9u8X5r6sHmerc2N-PIso5W0FH!!GLu%Ig29E1 zYf(9b&)?(od3+wj#}B29XPZ>0ggcLFd@}2Yl|F!VJjLNL^PvL9mHQm%S>J34yZhe* zG|PBgED`@>J_h})6-Ff7_KC*&G0gvjuz$Fu_$h`hOm{|3-7dU!%V4c z2-Ik@h7V&A1v(lWZR$KWqPk^tgi7jS517ZbR(1}>Lp5CsyL8zRj|D@%%9twB;gAq! zdATaYl6d!EP5+jKEi4C4T-dUvBeOVGfo#C4*iu?#75R%xb%81Vo>+K-6$c~cw$hTfcq7Kp&i{aCe)(52up(L#;LU*>8X_n7y|N9dbxoI@ z*}tMptX%U%+wzgz^J~ao?g1pPU_RosGB-|IRRsrTG}Dxj@JZVI+;E*+8R zFhcnQ6Z;yRJHzThZVr1Jie<>N9u$Y%CWo*iK+-OXd^!gq=?2A`&_9(uva_wHv?nwW zJo{v^a_Pn&zqDeh@Lfu}`e)40>!9$oaSQ3<0}tg zpRVp`hdmBBq$FTD;^0yf$y9ywMj1shVLc6?m>>jP90D#50T(wcX7czwDpI!d1`2o` zf{=T0MBv6Haanwj_Zv{#Y&ju(pJy33U8<%iuod0vNrF_7Q>836c76{xBRa$iW-93A z87eS$bbPG8UGzs@vlccnyQQ%&arGaC@1rb_->(ohSsj8&;ZEE(+141}zj;mWq= zs#&e6-cnz2I#JV=s{TbQ!k)wB>faC7hLNKx9MJ`4<^kaUHE>PREG#1(4$U$VYQ({F z!G=le&T@4!M7>4gnqliIr+x%<+bGe*!}$#P1xgTq7)*ojXL#p~jhNtMx_xa*s?Cfq z|A<4l<{S^%7DX#d=kzqrZm(N?Rvz72#``B;7mtcdUCkovXck$Fk2`Xfac7)bv#56t z1Zi59r-zTBSzxqEvnaIw%s{iKd<&XI;4LZ^SiQG_`F=#~QJO_yYRzKm5x*790#PEi zW^tRVS$Opd+-oi#z-&mpqIzn*!iB@T8JnqI(IJkZSKKnaUNOB^aS9Y{siqaBrQjQ7{^-OY(hYu~ixcEWA@FO4Di-6*JK&emMh$ z!ZawfACPntHqNC(+tw#|id{HsM)Q9c3+|dxI)(BCb zuT$h{6jx(*z77bbM$tG)qexPtNE$9&UNdzP_%$TYVsx&G6qn&7KL@*_MuCf%A+&h= zNtI@8RZ=8#m)t0Q&0uK9RVac&99y9Xi>B!`icQq%$icpY5o(>H#o^B_Kv$772U@3a z$Lh|(%ybI-u9M^F6g9`yDFQQ6DZrIJ1nPPQBa=D>PHae%`XrrVs_{(LDF)#ylRCxc zU7fIyP0`IDR;u<;4nk9OhC^wh9!e$Kqd82mKkT9 z)9Lm#v`pamB3KGNEcKEATEKbK*=k;W+Jk3~Ztv*ypa6T9tWP_rAYq6ErBq7G#Q1{B z_66PY-_Cerpu`l_b-HW`mnyr2EX0}PqaEuOw5fj=_O#3^4j090?Q%nbRpJS8zIf8M zN{C6iLxBNRt50&YO1AMHFH?>dUSI7sV^)5j#09O#L0Tmo)gk?(Es0GvyH4v~9r~mA z{9~DUL%H8A1-EzvaQwS%lc=AhI~3%5(w0662XW1*q8SZl5jlBu&6h~1>M*7B<k5rto7<-;-C?_Ac=gloAfY7(LG$l}p?3u@cCtH=H^lzUw~u)ZM`#{D7TNIcrq zGB`U^-;ru8%PhgdFdozNlcn|$!QrfabY=6n=^~^g)IkXyJ;+RC1git1Ykme2dKDje z0B8;>EBIwEMHI)VZpGwYu>((38UySVy*3A=>X8?y*fiy2AG9w}5ld#zuUHUF#p~;^ zzi6s$2sOv+QLBl@IwIZi1wC_@WZOi#d4o8!t+}NVX-WLWR(WI$Wxy&euc;bnXv(%F zdT_ByrXf2IbN&!!?kAFhq!v-)Xb~lte0Nu@BWc{7oJ&ibIZM-yfTkUmxM3DqOX9|l zWvJ|1>Xbrh_Fa9oGfUjCBddO+ zk$*STboO*POT`irn$4Aku^G@+%4ay$AbtPz)7g=Ow3m|_xypN;^f&HQz-Qt$QHb&8 z?nG5!NuaU5p$V3tSXHF9WO>iarT5eY%QA`Xxz+6>;>=K0ZMZ#BTUY51T9K+yNzvDq zo?V|9=&#SFarn>pE-3InfPLN-2Af2gqdzdFw{2#8OL418NNQz9uEZ$Qa+GB#neV{i zTd+xpJe!2)t{!ETSUI+^v3In2-^SA;0Y7XK(bl0TD73cLXI94Kzv9f%k(R}C`y$!3 zJ!Vl=MQEV2u`eB+Ul%Jb!i4Jr^Y(L4)*I3)F;-}mD6n*C){J?h{fhP^-)rh72~vwv zA=2XZ(?ct3gunFm?dD}mu3wpZ9hCQV;P8mtBlkdgxSW@zsT(bD3%F!ps&vnU7C2qC zHYRDNS7NRa%b*vS!-0p!Z0(m}_vX4~`YVbTQjMz7d}hO;wWS(uxwRyrg%2KFw)Dyl)ce zfhMSz-zQGQENac5-q8$rXoCrHSoTa_VYO3Q7LK7AV7y8*&>H$%(+tXHtQiE}l45|> za}WaVgJPYsD)^_?4BXLbZZ7R8Z$&e3jSA@xxthUJTQL9}`vJ$NF%#0NP&c(^;KJeh z02Lk0L^GfY=8}?a)YqE9&C_ZItEW>8gmImwo~&^pCC-$3feW*DFK6ooX)SRk>jf5K zIT2lUOq~Ff^wxBO;0$$wz>HJ^aEGfgXa68+N9qJT#GyPDJS1A+t#C2nQW13m-;_Fm z@?dy%0(vV-p%b)D(g|YuI>DHu5}<80L+hXu$he9rbpjVI?+m#*fjTb$SGpft!DgJ} zZZ>4Bt3fY1ayZOHQ=mODZ?fo8hW{>KQz$yVrVu!$qJTNM1vL3t%!$?%iX4v3u%GnI z_}EM|1=rGW98IC@xSB#>Mv4Mv^An)AuVQS{)?iCj-7Z}r8Ld2mt-hklJoYoSi!c)GMU~|Q(v;?Nhnu(Th^KrF=8R-a! zTKW+bp^qVMCu9C#;(TZ@ZN@qHH)#IExSer56F)-y`BZ=ZY2M!-!|$KT`@Qq`Y1;pp z{d@U${{Gp#-#dSwrvIPYzn6b6?7#5u`R(Wbo#X#uUjK!E&&SV;dHwVEKg#>P^Y>}S z|BHg(=ePgMyuTOXC;#t-{TKfI|K!2v{CyhuUSj{?O86h{CjT*%<6$18QTM}xD+QR< z+mq_XJ#Xzjvu43=5*cn5$g>|4=^N(HDjNOB{@j0mLi~H{L!ZA-9Oyo}5q*?Q{MuY= zK27z^jfg|!X_YnHAYxWkFeFNT@Pl1n{K78zZ?EVV-OF-s3g6P)leuS?3199_v{Gd3 zM4Z(c?6_le0xM~4JPe>MeD!rf2gj{=vEgKOG81e@o`c`7pVuwci_+X{>qYmx^{<+1 z*3ZK+$}4=nHhe>ijNEF#*|D&Zbv+94+=CSh&i8ipOEtv1a;LjJ zH3CoTZ9Fk6JGC0%36WOV+YwK#8C}qIHRHrk+mGtxk5bNeL$5%6(RRJP&TpTOORAvC|raJp|eu9vX}d14@uyW@s?-LLO8b zCiQ?8Ye98sPy*78(iW0`U#u(k6=B0bNK{C|9t6Ds%_MCRlvDQ0E6!CjW@bvmZB>YpQLa4@hLI#SKb{fGp+m z-bi5AJ9GGg>UOVLq`D=pkJ*oxR@{D)l8K;~N&Pr9DZ4R?a(h)bh`B79_&el4Xo4*L z1J=$DpoP2v9V9E`i`~EBnfx2x;oktAVSE5Gsuvm>D69%5mj=brsxWA{NV%@n0#O4F zD##QCKfS&QgD(R4Hm!d;?~B>Hz6rAm=+s}FI(k&x`kUwxlA+G-@j)dK3l3nq0qi!n z)^r|IgzshC3K_3Tmo11JNS=$?r_spI% zXQy5$h;T#Co9v#MmPMXQeHf0yN$W&+hkk7kRL>X7o;zFGx~^y%THVvXday39=bdxr z%AB%aH7IwpOsMRS3 z>5hW$%Vl=1oVpd+&Fpe>mfh=aNA(n_4)?Nqg$VQ-gI>TD-eoLgc%6#YvvrUzMh|o` z9`Rvdfffp1mkI;LJufiTc0&9z+8hySSz8FJJ5iY1p2>P+0I>;#K}1nyfp9h#t)FX_ zH}oc}+E<=6f9$N4?Q<7w-dNW;l303TYgf51u-klScgR;(JG5xS(CSMzbat)ZvuxA# zBg@uag|lDvXPr5JTUWU`f3sLl`pkpBVG{hEguhe4Pl9cb@OQ$bigYo69~Ug@lp%uf zOMx$a$;_rUG>bL|POKV?yb_d}fH-Y;z*pYYdg9W=NN3%~%?svYAY=0}kg8;FL%BJ3 zy;v?T+&teb@7gy1%(LqISM*-BcG<}Fo0jca-_^O{lGQ^S77f*w`9iyKlIf?S#JobR z1#o4cFbn@FscwP$r_7HWJwvP=$2cc`Y8=6PyPfwC&n;=feQ!5UMv0Q#$HZFe0lZhu z_)?!df@*N6m@>*j$W~D@K5jkm`frH8BY1!JG2XAj`$rBOkgr=t63`AyXoKJY%W15) zuaRI{ClkASmZ7ISV*%H~BW8Z0VJnD|wkR5h)vHn~LV}%Y`ANR-eczV<$GG`F>Uc?v zeOQitCcP@myxm@LzzqKbZh^@k0h9aDKYK0b9Tq_dZRI>A=qlBPI~3ej$Sn-dUW z-&lzM=6%EW>^BVba0D>!{wu@ir8XNzhvE(#$OBPwG|3_TMguvTbFZd9>(Um+4Sq?^ zCU)nZ9S3n7y+d^*kh{L(x9Z=oczuXP%P6e^u zYu+zqr{MDB-dJJsmv$O(NMj3QrJcd%`OvPDDY1Jz_pDfZbh8PQn*CedYr${rUM*nB z`R(qb1LiXOx4UQD@8JWv-{tqa8>??>m?!rue{1)P>4Nlw^pU?MxidoqwGTaBy}KWb z0L$QxxOM!H^}x|PC=o>oCE~Qd<>58C_nY+FhbSeDBQxq3vJd?pIe>+{Q+119&ZyT( zzeJ}}(o4xa8BgZqxkaxj(LJ6!B-Wbe9NjGE2M|-LPyJgDj@{qxHkTb8kiX@knD)0G znv%aQIgs0#-|zIlo!qbdt=%s*5jj6WqgkcMp({wvE!f=@^DFfd%(z)hij6MX?Hmgu?`k3(JSj$6arF|F=8bbti-(;5XU9_- zDl9f{n;CZDw8={ki_vBfZ6dl$w<)A7!%kK4iWKRX+yb+!#z`$~hPYCcrJ?#A^fJ{% z9!%4XQ{id`<0R(57^WX5Q@D_B0~q>o$4QEqG#8WS)1C_&fYrJ!9H(r;=5sbp1TdqT zu84ce1mfP|leAgM)g)P^dCu#<;ruB+J4G9QJuYS>pSleU25kU0vJI|{Vgoebp)0~c zx}vFqZGa*mpZ%Z#@Ls|rAu2hL(jXn(eDn^NgF7uwqN@BBl}4>wbjFyHe3?|`l?iN7 z;(La;DmkE=@!(29)txs^X`R>3I>fXxoUw$VoljxFQx8_M21QvO>><#{GuBD1Vwrn# z6w7XaYINgtkw1D#Yk5*lj=qJOszWK0`e0gv5(K2_=>fSY6xdU(=343kK?69LrX_gh z80KjKxBzg#kWOySg(D2*F{qH12{}ph57*bDm_7}%}iPSi$hy7V`uYh-Pul1xL z@3f~2%$DI?lzQ#EbmImQa7mFu)gn-mk2;O$ra?o>J+3OPOBEZS%E@cMwTm!A{%lKUMr%fHH;$li8x zZTzL?L}SgJ6Rp36cs6))&XpOg6CT3ky@65$x%`!iqLLeO$>hln$Tj2+o3^(C`kJ(E zN?egQMSp6V@}!6C53@iBk)0HE#&*?E*Fh)GE*U<4Ws-`Ya#vG@& zWAVAEdy{l{%=yFEaJ)3{_KQD_T9l-lhFYe_<1nG z!tNE{*Ib~?*vxsI+1Ono)=?O8p~7tokwdUbrSNeOfv5pT{Tc@_THW9lORIZwXCftp zgk$oZLauVB@u0hP;qW4cN0*esO<`*z1YrhxGt13YiQdpkWkm1w>|K_G<5*nL?be;3 zW3OR%RUKmuPqV7tdT-QOJUDhWBZuSvd3mrLozlXj`tsM{!ET>QV1l40@nCqNJyOlK zazKWF%(=s*1)3fn9%u4uFWwbP9o#!(rm-5@WtsLTpa)aym&$n(JeKc3`372H-(G$D z?V=kWdW#UOV628tS*Cpf)3vGg_FUr%YUP(IY?G#Zv?)p^4nmdq4)*i7g_9Cc>A@H( z8n9eTJr}*}Wy2ED9v$;LxmWNX{B5Rj1a0kpOKrgt!YBuN;b0rLn=+w2e-k^c!xF0I zJkJx)^^koq?+7(zdw-}siqfliSmW!Pus9!vta<=^nQ-y*&GGRA z%Ae?uN}nQ_60BK(te7o&wC!R{i0dCKgpzi6#om-1Uur*skRF8}Oc;O_?XFdpyu5Z@ ztB*Y?uGIy0c1jNX_f7G|BWO(T!s#I}b(@C)m*i5s_(UCqr=taPOPdl0VSDv#sF`U> zF=={dsJkh9zUmD<5Zy<{0Y9xV9D=qx*_iR{c!KDIo=$pu)X7kLe-A5?-gOVz zyKZjnX-t5(@MwkEBKJ3(MH@4o{e8aG$aY$K>`@vsDe*-h1~z7bD%DKTmu%C)jIH-6 z1p9~?&L^^?X&)7H2@qQXNLj(J=~PHNNYZ*8FVOV z2It_N9h$^G>>bjU%Cl2dneL>PUXh!c~rS%s!2e(~ip;MM$ zn-h3wn<5Uv7Sug{B)5ikR;g7V)8(?E+@ zWL)_YGqBy+n4w+QwOvlej3x0x@t@*a%B@k`dEjO1+Y$>dmM+q@gB%uaf zU_R;ZrOTMA1*iz~%3H^5j>SHdq9Hw9YmP{oH}5%G@jVQ|>m3Lg{XAXg>d~;khGtAR zj?X}{8%;V`t(rGT-WXzZ@|5!oS_i)DD7$=_BDsR%lJvwXPI=^rjJ@zjmEqn}97y(3 ztfCA`9G^PHDG|i7SkV>xqZ1iD0)zJK@H{>2-Wr2c)5u3`FS_K@QgL*lAVD~gaIv`j z39v|vdL%xhvANo(=27-4M;xTGaMLa#DNeH~vjw)~7Se~7HjJnMMt#o8VMvHvIg_pU zN*SP0+2*s70)b6NvXBOkfE$9RE8D(#4@8jV^utIo8MzU1aO(BC%iJMl7#r6T?jV&o zCF3{H9}fqUk1;{LvbS>GmIJpsiiRseb2X|TxkHjd!PyurWB!&zs<@jRx0cl*TGDLH zs+pBihS;Si%9a3%mvRF@?1JOToscabvHB>*ZL_ixk>sNsxs;J1vLKshOJ1#F_LN7$ z4mnWcv%M3xoCIFYk8pKEAaDdqB1o+2Q4p&qQkdKEFq|AV#!{|xO0=oRL(ZpsP~2-# zT9l!rY+}p@P3B5cv`V?HVxTB4VAqz?RN_?9tK>J56O*2#HO%J3R7f>F(X@!Qfz?8( zq4A0yxn^w2RWr$+mHm*Yg;ne@=1>X}$u0F>X3(Wu;Fa7Gt)N}%!S;Goazu@i87CdC ziB%~1<`LWGri2P`>yarEw>}5AYHg^-5K+TExwW1wckMn2gS%d^k9Me5LXpI}0Th0Y zRTAuON}SvwXTY3qEj<-Afge;ED^)&0rn3YD5xr&#`2l+-=V1sCAz?rZ`8#4|G3#oE zHJ^|(E$7(lQgck*OL2a!v#$kO5wn6BlW}gq zZMl|iD$Y5H5Zh54wn*WwPRh-`tyiv2rRJZ$v~7I#m0SD9+m@a_Kld?PBV{CuY|ne+ zHQJ+xR-Kp;ky*Wnn;l~0aCJnK@b{?{n}VP?O}5J}(4^8=7y}_&EOQ|YqebWpXjR60 z$Us~)hyc#WpjhjH(A?_4C{6>6PV|XvG3>Tzk6E`EK?JKDG(uVV2pbE~xxR3W1;bv%nLH)V7dqD;;H%+V(^*2d*;ydh&)^L}MwFft0p-YX#u5<&xq z2FzCswJNn;tBsty} zk00lK@px{5_x($c_x`218@=y$AMbsTm*;)s#bdn>s(ukKIHNUgKhE2?;|2Ha)yH{z zHC~W!gXTeX_S+6`a4{)BHCU<+?41)wa=$iftsi3+W5}(NHAZpg$0pn&az64=z86_X zK5X1=+>c8>pD>;?eu;EgZ{X--70zigo%Ry3PMjjn78iYk;8QY);6w= zAfJ5@f4x&aOB-dPLq7Ww-g`vWa9OjU^7b&&OqPlBWethV#r>!$Rh=&FgK|WFAJgBLqFjyVC!ySc@>Ko(UHUud!q|o9SE9Ta<$nGB2L1hJlpn>CJ= zul{}`%7gg+VU)L_{0II0ZvFjUl=tKLS5bZ$Xm= zdG3AR`%bIp{b5f%=BZEj&Y!CtZ(m+Gz5ROon(m#T2WIbByzO}Vn(iHMU(>zw*K9{T zRb5_Q&CjE!q$JGGw+kxbi2ZtQw_S5u*loX_b81ctB4NM&7Jss4XVGqkG*Q#l-N92^7{!H($`U|)Jmxh13 z_KnVo7jpk*c3QvrOXxIa1GM=hHbp$(`LJ;+YA4CsCsF&Tti6KT%dCk-Mv)kmwHr}; zudMwK1mdf*b~kGG%G#NzZIiVKYPgLREq@21_Up2?AGIrGZ7FJF^1Y|g-V>-ngjT?E z0^wuflSI85i40%6Q8f6{v^sT;qx8Te~9uCd|pQVd6ci9d=cgIDE}MfizxpH!4pC` zfieO?4wOSEx1n5)@=TN`pqwl~-;3wxr2(knn;#rNm%{C`mX1m$xm ze~I!ZD1ZIG0(DAd!YeHQKPyllZH~p7`T2H1MJ%v6x+77Xiui^7dTzH}b6U8>{+%m; z+#lB4ufN3~ZnS^rbR!Pgk8=NR_vrTHNZU*7x11lkJv)#(zjHwr4y1prA6gHnsjvZd z%4O3D&i{R1;%GYj;QHQ)@8-T`F7?s(_2;(|-2J~+0wtpUj8=k&#dFXQej>Go3}#Jk z_^}ZWIote@v-J;QyH1URmubqaKep~6XTu+Ii~u2L!yj^t03o&E$HqA17y&}CMNl)L zHye>D(ig{X|L@%PKM%NHhOR;#<`tCu?$K%f>P7(SH1CDZL7nDCl#_KBe!m;fZ$o)6 z%I7M+EZ}{9tx%hxcJl<@pn2eF`KDK!QQFO`cuwu+fBsjy`TwtW^YLsdmF4H#1r@Q} z7O#$YcPirF?ALRio_HSvZjXwSH(lpr*nG*eOS+(_;SjeTk##@FTrcR#baU@_luTxl%qoLBVCX!Uq>!!R#%B#sX;PZB{5Hva%pJYd<`ydz* zt4o(LVk98{{dfRJ3UbNFwmM8U##lWYBs6II5j9Ls&K0_;8FfUzENa>>Yr|x2g=?3g ztCvhME+-#}?e!v%z@coz=Zwp41Mzb=fd&ZGj6G+Cn25Wcay4*2F=0qdz|fwIsL^xe z#DD|*r11-PPUyU|{p4y+m^jQkCjj^+L)qFzybBKl z#07ZHLrOp5-zke2f@t@`j@%QGdi0T^UFDfNc5ea4R218DgoSSmH@~T~VQdSt* z9b|-P;oaHuds|nu@r#h0B>2K*) z#b@)rnd_Tl{)%uza>@cDyTu$ed#n^@A!y8*yeds+Wb15PX6=d^s}4oUAk$=KIQGKY z3oe+Ck2%`*wK<=|hx7c3IamC^YC{jm65yFVMJBRb)d4A z*)%w5g3!fR?I}~p=G|gkUFw!6#eI+tG;E0_o%1{Ei#9|nQ;CN5hWbqvnSn8LZd2d< z=FZksTWf2&Gcms}&avGJ2ucA##26@CiPOy~7oh4G2`7i0j(J7g=-f4x7C}>kp%-?=UYCXb$-{#T&AG~1+Bl2w~q7*|7xb>-_XMS3h3+n6RKFjKo z|C(*cH(8$^?X0!SRgJOAs-kxFFJp5*Yj%r2SkItF3(;8=zBW%0pfbj&vaIFE@+osy zK4oHp9a=r8X|)Lh;-&T&&j7=o^jw zEplM0Tu?U@w0iNe+U8umF88T$L#D2IAYI8a(Vwnd+Fj{O^Fz8gVlEM12F+X4m^^D; zuF-;}iL2|JF_8JD7?WSCxQ{ozMWwoqkz^QC+#d55M$=kP`2MV= zi&pzaqnX~?U|YB$G`nimldaS>_Vs2Ryd`LT#d&tX zY%{)ql^?VoRnHLT_(`+h_^?$AOWF|TvWPUY3);0N4PD9FPs(KlLEmy($%fR;^thrd zGn`)e!Ol!$_3Y&XS6H>Fy5|1+#i>(?t49FeEfT)R99Vv8mO*!U39x)^;xghCuv`ew zAXalRRQsy1#aj-C2lx5P>of5?%J)UDG%IRb>&i~L z5Iydj=*Im+O=$gbXQUsQm~G6PcmkwbhSqs|2=3{?2!aKwKx0QURe?@bd>2AL5^hN7 z0&rfO`)^~}#CNf{f`k*wTo7w;%SSHXI{P_}w-dd`L7hSC>$-Py;zV;0^YJL|e5;d~ zmh#JCrizCG_gNx>61ZGel$3$S%OQj1fP$&#GF2}~nf$-HXK`<1a8+epN2(mmGg7yz zvVCAIyzcCGn}c<@ay;AE77tX^MH{n;+3m4^Xn%YzWPpa|D{m8;x+$TtAZDkA=98B$ zT|X5xV&m}F+8k&;2WXP;G!vte9cxTDNSX#WO(2T|=rN|W-2yCmDRgT14&Bn3Y42>A zKXUPuQ0_}LHqP&CZ9d(_+?{|mi<>z$tj7b9334mI4Qo(ROr`-UzCogNOanA7fSqQ0 zGxZQ!Y7^zv$!JwWWn0aHPVbkghV*yD%61p%GxvX`j@{O&iqGeLGoJya<{rym zdimdMh+nt93hl5Kd9Vp_P)WIW3|l)=&e|L7ajv*>$*8#Ydf3| zVE#8!{YG;@Y_SM$iLnw`mU4nuZAo6`2#f+bLB)xuU;`Kd%M$44OfR5s;|1=6O7(wc z-5EP4E?@QT17mlaKWcw;_&tZm&N*l7F#A5q95Q}y-H$o0NA?3vla8{st3Zz{*XkRs zK<-up1{%31phALO3;2GO?0Kv}f!}b&l3h2=`Ov)1xtY46r4`XGq|k4!TU?gzUugcv z#S1rWT6l4+uD!3eqdr+zpQ!JSWixez(=-Q+r``sRtSNC+A~#f^PoN0@=k_SKXVt2g z6ppOx!8vyC-esQ}tT<{Q|( z-U4Yaq1Cp!V?kR4O-il(=?!z0MybU2F%5GUc#Ls*hPgLvgPdIg&W~A@;w9@cAQU-5 zChy^P;W2EZeps?BShA3x7c$DV*4;0u*Sd_>x?h|BCGN8B1kXyaovEyK$1ur_=9}dH zYm!M0)`08G*G&_%Pn+Dv>1}dq`c+Q_1~;%6n&e3OZ^!cX{f;E;hP1q~faT5e&3qlp zvb>_6mbbzJ@PEMkmDy!|4>$}O^QO1FeH6HpYjm5c@ct2Hk~RUgPpK}_`u1bn`t~c2 z_3b~+m&8*z$8H&Yd9x`s)nm1-EpUryfqO|=;O;YjC9bgBnrwmlD7w&a$_n9B<~UPZ z;qHSK&bm!o;jRQ+M=hR3TQ=DW$6xxOr25o-q=*u=8)oHrmbkysmbiyqd)Yzr6*FS} z3;KeEGv5;D#U_YBC=G)?qh2QDT zaEqog!@X2sh7-nN^j(6!BdYKG6?W{tr?te56k6h5DzwDiXFesKN5n8Kai?+Iw(Uw; z;ygJ>6ARt}Zqe+JERZ}IG7EnMw)ebEL)_r83~^7{1~|LSH^f=SJ?4+Z?|fH*ENF+@ zN#~b67OG%Et76g)C-?O_8Jaz==?N7hCHLgG-nKn%>#^){PaW4DH}P@vdE-v&acEcb zp#@0z_1$2EpHra~;ccqInJU84E5g!qwWxes$!gbD^0;Fwffl(5H;2CLI|q7Fo$8G` z$CI4dQ$Ya-QQ^ePD~7k(PhGk=zP+GodV9f7rneU;sLuKmp_<-qFf~-tZZHK@w%tHM z^$yHS66XiuM&d2Z2jN%xC_WNJPokpPsjP5jN-;D1^OvE0aT{I)<}|fEtI*=I*|8K{ zIwc-`@33tJxnCDzlRBk>c?o7WYrGpU*DILo0du_#bG;3-tPtjUyv;v<8Ow?=Q^V}U zqT>F_>ph*`YfAf(M|FfA?<$qS0-MQpuLU8`oG|sctp^=Lf>U{Z3ItfNJiTH(<2xIi zf;)kQz<{(dOcGC$+1X6t&tY)rIG(}5y6X4_2L=5feCI+2(%wMmrM=;!P(C!7$qJ_| zh$%x_wLh2fA$)w}gLV5%j1RCrs5v<6?aaZSVv0EVIHm|+?{Q5L=EQpQ1+m#j*h>&M z%8jaA^E?Jab}O0XvAFTn772T|O>d#z*FNo9B&=)mEfOc1KQsQvcPgl$9;cQi1(Wai z0E5=Ho}|bkFxymx1Ywi&)T$RK>A04Ob<G<_QJKu|!6 zg{xpeRO}s)YwrcUUX|thpLu4p8-l*~-tT?C-3kGhK?OmTe84X$e7nD02^96p=^`b`U7L;e8zm)nA$wsU5{_NfieC$ z^3RyHps^$C_sV0au$nRN4`watGVu=rFTnH7cwREQW6lC&!>y=K{DHJZa~c{uPWRAMfaF?s)vQDAZ*@dwd<^Ok+OGkA*O=GiO*Z;>=*+zp_j=ml-LB zKR-~zwEK~h%jewr4N~gQM4X8b%T*qkksO0TrU-V>(mZbc^x%O%GhdB($37gWohJYI z)$x1IL^$sf%MBwC^+o0SUoOP;wV!6Y|SNLnbUP5C++r&is5LPrmZH!*Hpx9A5zf}XEvKEw;vc=zx_Z(oVlR^xs2VI0^^mfeH6~# zz}c9I=RSHZwe{PF#BFB{8#Yj#we>0H?Q1q{h}!@TD3G0V7<$Dl z8{!_WQha$b`-bgh7Xl-_lpnjFt!MLCwJHT#10he|Ss+~RnSD?v5dN-xY_Rf&D8EDb zo0Ko}Ev9_oGXD_ecPRf3xQ>5!rs@0qhj}mVM4nvJU`nv7_uT{DT1ce-iLHMB)*^7Iq)ogxKc@-OR3& zA&Py@u3(pX#3=!Yj3%60KWxV zC<6`-_C5QOeT?3DhrPy*uxHr;=#(QebcF3hd>i;q@gv|1xwk^ueUH3Xu?;eQAzQ_k z$wTvq|!Jqmu|FlN$GN|K`6aQx>?eFLb{}-IX_Rj zfzll<-D>GtrJF5XyL4&I$9b`IX|=(*S-O#Mh2)kuLjK@^H`Wnh(4vu0>_Jfdg)Bo# zszpktRZ6E#N~B#%WIoOA$ms&`7=KvJVg7$ZdlTU(9)vvH;EV7i!}lu8nZ-oc37c`p;gUnQDGd;`^UZKJQvR0?U8YGYS z1KJ^dSnFcyoR2!1AscN7Q^>n*OIejcl02*8~h2fk8X`nF!6oM4W@QI^owL zv7G}^#&$99jhW7h&yPiBZ)hTdYRT zIiR$Q4aclH3T4O28mX31XsZoCPl<2+A-{PjKMN&W5vRIx0j(&JD>0vg=VPFGsc$h@94 z6BX_nXqi(dOA~HHgNa#zA%V#Qv!3mm6uyn%Cdmg$$xO)$6EJR-c$knz?UrI`Md2>+ z#PnbBrzcOBqJ^cvt`#jVfIkaZFF31SSDu-8HXqzsASr7C7Uy-B7=;?#Qy91;M91N5 z`RR+^>xa^M9~0kniKBL@u1;WPLQS*by2_R#-iiJtTu4IZ$kIAKx@73%mddw*Zj&4# zB#nze56M6mTyrr@>;uZBDwVSJ2a>=+$!gJ0!BF>f}8_L_U5GQv)H_oomzgK6C zq>6fiIN+k&Ro2DPc3^+5F-rXD0Nq5fK59+C#{$VNLNJOy@rPjj~ezHo;JK| zIBxjD@U!7xL4y-7O1wSsU#19CtSQlyY)Us-Om~Z!O+rgM~93bWN z$+W+sLV$=dHbjtP>27@kIIf+bHe*LdgIvmV_nBOk2M_|cr5K$ z>ano*o__xy?>|H(ytYZHWLO`4%KHE3UJv)WshDnAg za9aS&dOoKUxpVy)rWj^YI+pKKF`t}|UEEw&0UbO8x?veszN0bIjD&tH!c07dUCb`P zVZn6hg_#(Cv#>%Mq3xxWAu8~~2=&Gepb2BWnXNQ%HU%r`jqG}M3v_Lpwi{Yw5ytK1 zY$#i(?Ziy5Mm!}BXnRBeG|C3;Y4Id9=VbA@_(XicrtvP`#uxJCypu1(&S^crL5_%P z`8Iw(e~>@Kui#JeXZZpC3_rpTvbES(eZxQFU-GYn;Ggm`DM>ro6KogTkJbN4_8s<| zU$L*bKlkE3+?RdE6L>mSizz&tr?Pd}uZ`iuc{Lx!oA@w3n=fH|c{_WAFJ=3%V>!V$ zuz&Esv5&D^{)k`3KH-01%HGGLrVqn&Ddq{;6Z!~*5HpqdUj&xy^DwQ2)>&~@;yA7KgOf@UfzfA<1u_c zkL6GBc>Xw#`11wAkI(0& z&^tNU4b<@t_9%aVd-JDxGXH{)V0N&*CTe5dJZ* z(jM1#X-{g;Xpd-*X@|8Jv=^~sJfyv(J*z#Zy`sIWJ+B?n-o$R=Epe5&TI>~_?wt0t`XBPms~2Y6Enn(VwSj7w1}IyI3I}6{`j3v$&Jb!1i+{U&MCfya=ay>=~SfAL19VXZeNfIlh)1 z_ zLH}cRI|M1+fmwPnW@o!0+;EH6GOss`*~Znz7rlk|2JcUNa((XcjrCpX`@7$8zq|b2 z@z3|);Qv}cXu!09w*ylGTLK>n{4}U8=-!~?!HL21gRc+%D#RYLBIHPDZs;{({$T^d zE(v=gyia&X_^$AuBc??hiFhM2I&wkeS5bvgw?s!oS4V%?r#>by=E0b!V-ClhjQKe> zFt#xE?%0Q8pNoAx_WRgB;$q?o;>zMi$IXuGjJqQ4!MNRVPsg2(9}<6S{O<{w2@MIW z6YfroNxU*~bK=uUEXgP7W7CJGpUv^+Bguy3dsA*q`91aG)MIJG(`Kf%rCpo$X1X=~ z-t-qTVlqlI8ZxfW*w@#$ueI;qexjeL-{5|2{ci8~biYqB(=$sm*JSR@D$LrRot=Fs zrzGcKZei{=Y;)QzX3GleK*q(QSw5=$~m3QEdKMwd)0nOm}?WL?P>CAXJ6 zShBn1>5`XA-YfaE zGNaT{T3R})w4wA^>6fLyl&vX`D!-%rq4LMdpDBN({QdIJ%6}?9Q{i6`U2%WKqZLn8 zyi)Og#b*^iRn}KFRd!UasJyiDy2?$JTPpWd*{cRuEvZ^pbw$<9RrggrQuSoj;i|W) zP7ZAyx_Ibs!*Yl9A67N&+F^GLduZ5W!=4$QH+;bGp~Gv3Papo$h`bR4MhqQMJ7W5X zc_WsNxM0MUBW@XS|47Hk(vhP^?iqP-rQ2i|U_8@lk=J zVn(Hn`e@WQqy9CzWb~tBYR2pxb7;(~V{68~Hul)qFUS5ePK*m07dtL}oNZjmxDn$H zjeB+6hc&}%Ce$?6ET}oJ=AxRbYi_G~pk`Oi-)ml~dAH`1njdOT*ZS5*)|zW`YKvT|WTTypu-F0=F>bBJFsXJJAwC;nt&+AT2oHen1 z;`tN*Hu1)ZcTaq{KBPXrzHfbg{gC>@^>5XmtpB$Dw+3TFSVLk%WnC47`Oe8(C-0py zbV}`%=~E6*d27naDc?@{ZK`o<*wo~yxl{X3t(v-N>XxZ{rXHMnbm|AwE}nMHwA-f} zrjMOIWqQl>!!wd+ysGim#?6g88xJ%d zX?&;gBqdmz#>3 z);6tgy1JP)&uhN1`Mc(S&R#Y9t2sq;D&}mS^GnO{maAJfw!GT%Zp%llp{+5kAGLll zx8K~$=e{;CW!{Q;U(O#mf8&Di1#1>uy5OS)U$jNGt!%rfJ*<6g`^)X`b(D5o)p1kD zrjE@WCptdw_`c)Ug=Gt0SomsZTIZ_HXBPEcv}Vy)UH!YRUEF8!<%>5izIXAC#ZN3g zwD{E}+LFd4pDg)d$?2uOOJ^_bT)Jvm=(2=mH!OQ~*@w%%SoZUI{Jc5meYCuK`N8vJ z&cFNoAI?9$V)BYvEB3E=ZpG^>j<5J?W!}n*R(`(n)T*Xc@2~o7)px5ctBY1wtgc@D z^6Ix%A6xzD>K|7-*BIA?t*KaZ&sx*k?6pN}E7sn+cJtbu>l)WBSoi6=Z`b{Hf$@T{ z3lcB5xpBhA=8cOtUbON0jrVTcweir#H#dH=@#mYpZjQXU z^ya3UFTeSjn}5Bd8+!lM==-Z~;Hutu>Z~Nl* zzPHc0{jS?TykqPg&)o6$9bawIHpOn5u<5EzZ{8VmXY-vq?$YiWe^=*SSKYPsuETeI zez)=N)Vs^>o^ki8yKlLB&)sj`ed?aDdo1_V+|zZ>?e{!;&*%4s-P`}(Dfh0rchkKu z-23Bw5%&$gZ{dA6-1pRdzucd7|M>e?-oNwyFE)p5F5SFj^VZEDJmCMpkO!7NaNh$T zJ{bAnmq8Gb^vxFQmXc<9569=`42H@36wncEw;U%ma{4!<4!ceL%;z2mD#Vjh|K$c>LY_h{Io z4UgWj(|c#$&ib8ecRslD(9Yw#B6sEPs@gSu*V0{A?Ye*0fn9I!`fYd8?y}u;b}!$3 z`R+S*@7R5C_uIR_+z=bw1N_(IVO>t6Wa zg()8V@gZ#lgC@PWgJ55IBv*x}C)|9JS17mY9Gy;%HW`HRgjw!e7!i?_Xa z|BEM&BpjJ@$scizl;^Sn0?yw&He>2E#uws?Dq>mMrt+S&WD z8$=&055sd5`+uA2wc9!vIOjsQ*avF52rJ9<3RUpWLIFo&chFT z=n!1tMX?y%G$i4iHVwB9SswYYvBDn37boJuI1i7+JwhCA637Z51GlC*jg9lW_;OEo z)~p2`ywlTdYHMG>=X<)dI~!;5*`99O;su?2hNs)!+0@1-dAf_Jt?@nF*0$Mv^de7p zk;Td@7WH&(ygyPrT|2iR#na8_=}7T(9XuW>Zg+9VA|AEK!(HCo+0H{eUD;3AyMwzv z;2HVxEbKYNe+(V@q&lhpK^AdZRy@FfNSF!JZ9T(Z!YoHB(BjC z*FN2CbmIyt-R-VnemIAFUc4X#Z3q63FDp>oRLeI3YGU?C8>9PU(BNk8n#82wUchVms zJ{u>IdiihU)4_uL*)TaUvI3lFrbE9(u^{oId|D>HR=K{Aeu+${x+oo`aPC2V ziAU>SsS=+_e~_R!<)rv*HV86sGt4YD;BI|6PEzOMTxJsJ8UYIW<5V`2C5xYB$#U_7 z^veX@*0r!w@vZcSh%co-SbQ%167i|@2Z>LlKTwvR&GhnwE0v$E%7cDco-m^Fz+ILH zX0rTj7?Y5641hlfbPdM&rdvW_!-5l`E~JoDhan%C$$bDzfg5o0ByalA3-p9~8)k9H zr;lF!?wQI3fWxqe<4bW)6Dx1n<8W5Ap2hQxIFU)5v=){`Fgd1C=L&wll zpFeqe1kc=-8r?FAzSMAwo{L($Z9TMiCGGFPJ*>SA_XQ17t{nu&Qo(~hXg5InNai^X z_a*HF+{4;2xG&(Io^rbD`T+4G*p*X`_hpWga1Q|+4JR}&YA-3ONq3pRgDYU7L$~0a zINO_zv%yI?A)u4N5#Q_^EhhzR(nFjNYNhEKGr^ALcE93D=YUX8keBfhqJI*#WpleqwC^#O{MAh2kJhPu51lA=d9>8!aZ*3VOZ}Lj?bPP@K>5=E z?EtDP6;K1H2FwKH0cHS30a^jnEE!^*=kf<3OzqG!8^8g` z2E+g?0Ltfr(FhX`r2xu9by9o;paMWRrvnJzdld|X4=YdxpL6)2Q~D!kkjCIQ0v0N0hEG8CyFf#}cpYTf5-$o(pngvv zeg0=a^Qa5D5H0{r1(X4X0YU*TJwoGaCE!Xx0)TW^24D)nHMd=Wa327TJ4&N5P4&`P zBf3fENdBz=nm1_;KyqKHz^MGy@QEiC0Lo9}VHSYqhU)+{CsKU^K=S3uKbp&_eM+Og zqWWEJQ(w?rhPhU*6X+S0clBF<3NL_9xKjGL=8QR z9zc9?0r6`sU=@JI1_KaJ2yfyE@y`WRC-K4)T2}mDMe-X?FP`&p7HUsWg;Tz#U0@$wnJK@uFS3Xzx&+<{ZEdW|? z?Na5Qfd3TW0AL${^8CB`qLG&%_8dN?g`Sn}%1h5&WgG|(07L+YZi09KrID<2uj8 zwX48Y&;MV2m%eoIfbe9`DxScnuqW;^-+z$qS@zGuRHy5itlu>j;Zr)Lxq#xtTbWPw zm#g0-&ppa^kLmv)jYICvP`w`j4x=rU6-w99vvbwiBmElWxdE^lIC{h13V04-ANa(# zTNK;|pT_YK9e5=ClYox^u);bs2e1dD+@O#IXGF$lNOscSdr%A9f<;*p%u|7i#o>%hmDjGcP^1Qy^Lmk zaHA57yOMaEzND}aPOo-7iZh;2_7HAlf^qufhf}ECu(;aEcEOtd5Ki!(Vh^wf+1)t1 zxeI4_^cF%1&Pu1@>?jPUfRA%J7k?I(WS_&P>{3{nY+#qM+t}^w0`AM{CTAUc8s~wf zutE!h<<_;Zw%db~sQcNKI3qXXO{44CGq6P4%V3*=H#V+;RaXEHWH-Uy>p~uc)7^`3 zzid_JQzdZ|H?srm@2nNpO)0Pjp3hU+T-ev7 z^98tklQ@J84Z&BCoi7p&9B)_y6U%@*@HyoI;&xqKchwidu%uAO(l zX08*KNB@BR++x_UEyKy^GKQ;az8uzlD`0oDoUh<3VRv*V?2cCQHGC~!$1mU);_UQd zehI%6r>7g(4*oZO8NZxg!9IZn+m-w(el=SUJKJmdb^LmM1Kti>#czc5+Zx#2ZDgzY z&HNUAE5D83&hNm9>z({AemB1dR&V#gR&O(`$H-o93*QRsyKS(hdl>1nz9b#AUXK}l6hBd(g z>Ur409cEv!X4sw`!41b@obA5MUWColQP@Ad2K%TtU?24sY@^Z5h6lG817smM5Krk(XjQ65wRjp#N$ofM3E#+!Yqz_urgtrwHfFC8`&Muv{@osS13u z3AS})i#H9Hcr!$!m_{!iT%KSWIws?mCkh=1$$MpjQd=C(Zf3Kd+`ITfqxRG zU^(}T_@}g%`;DD~#oQn4XZ8#1<(%RS?BzHtYeTeBtxPM|Dzr+iN*fBhK<*cwols+ z3)LrZGXIozK>NG)G%QsQvUhR+@g8oUu3*Puqg;;r-H+J&+OzCK+=x7{y#O2H6SysT z5%(r9!GiS_+&I6gy{5krr@e)f{dcr?wfA7__<{DJc1%02ozOngPHO+4dyihX4Bu+s z;iln-zq)IHT|YMngJv)oyqIRdZM(tSyD=Ab0~V|IoF2Z-k1p=@BzMr}y|}H_Vkxa4 z-)6Hqq;IjybeqL)mvO7DQunPYZY?lWF79lnL`$W;N-tDuRerwm3zT1^{9@&oD!)wm zdgGQ-y%9^9s;5jLQKsrEQ^=L6`pQ&&Wvae1RZm%!v2kW+^O9z&-eN76)mkfc^x)gQ z8y7Ur>TGZGZfu{^-qt+Nud%bWZBFB?#a*%pvPg=om1Tug1$>DSd`Uihi3#$#eAzPM zDu1cO4DqsnMp>=S_5d9%JrdeDtF?31;svwkH!ssuf*YG!n>(8qwJy@*fwJvVtE=#w z&c-FpJs#OrOwr?t=~U@4e@UAj4sp||Cj>Nhwa#zqS!b21MJK$lM@*rjBUa{WUC-(8 z%vstqR?*{Gk2*_>dps-CW8RI;l5hUA+)VPD)zseAIBQmOTbHqERwMe)*etu**eqjy z&E3ycuc=-rEAwtv9p0?7Mm<-(R;GHpT=ibL>g{sX+vT#CEjCB7{~R|u0dr=xFIa%? zC4~IubhjNaMTw&4CFPFo|T3KG~ z-KxlI)yXrq%5D{{b1A3AW-s)g>#i(do(JLq^X7CmH@D4iY-?(rWt=aWZk#Xq88F`? zpJ6@-G`8u_+w|vc9?$*T8tF?fo$Vbh&02HY9AmpD#&RG7Q^oM|s=)S^#Tap&ixm#;d$!j)eQ(~3eP z?65G(jh#9LogNez7s*Hdi##~B$m6+WrM0jsWKMJE07`V6x8y2f>T&#Da*J4sj#>KKTy%xLqQK{&wQuJ23_@nqz zDfwctR!9X5Un)%a*GUBD)rIk9ZOdud+LvPO(1op!HJkN<~0r z4~?R*C{x&%D{RVLL)JAAB-R#dQI-EtH&y{dJ;cp#Xm{I&VWbX*xicDvdotIhz2q#2 zL005FT;Vocse|FVIv75}e}ub|fRP@p8LK6ajMe(MsP=eds0Jd&(faez`t#8q&$UX( z=ok-#T%)jDF{8XPa7+&|AETq^KgMIUk8w+Pg(9Rtq%V}s}5R-#)~WSk_c^PAKykdhJkb_=ZoEb#SN zOQlMkgjCrZ@Fid1>mr|T*U`?m%leV7qn~frbyU7x>Nce7Y|gjqWaZl>`AC;K4!+KY ze0}k0$+SgaimVB#fUteJ(uG+V%_N}UYt7>0~S-zS}@~x_Ut7_k>+PA9qZK{2n zYTu^Xw<-E>Q-TI}~s9<-aArQng#Cp6m0oCBIbFr{?2) zeZIEjSGnp@eW-6YEcyC21HO7*rTCz4Ly)fUs8YVe#V19dL-nac;p0$!>QMY~D15LW zmUL98dUVZ+UQ+z7Q2ezhJc?C%v5U{H=PDh0O}#$VzQxr)im&>D8vUW3>zW*Kg`Yk> zf{(6xUHzllv$*<4@x55Z_4R}$-{R^YSAJLjsQM~ZyM^kxu42(YDxXrR`MSzQ|G4UL z^^fxPMF{#qJ+D&r>x&emD|)JwZ&CeYQT=0a@kjNK#g)(1o~wTpUi!>tvlL1`!QuP(7`ifM2MXJ7{VqbZ7KyNGf zV8fg%16@noWx%hi1zQLi^qt+lxKo8%u~(J(7PT(Z^DV-byiE@_x6Wzl(lfTTstWZs z=&cFah73>}6i{tYP;WyIQ5!NJwITEAZOEYBhRi72pb*I^4mouCt-2mTT&Lfvj~~Q! z`mOr-L0spjRUh|=>wLB9;|XyokMO13!k6*_U*~(FIyEWO=MbA!A5ZZ0=T=?sA+Gn2 zRUapaD?D^PhPd7zR$UHlR&_v9rq4OHGF{GWW%^u%xWYpns91HqVzcVYQuuoRTZ>)3 z;)5>Fs9&|OA7^0YBjpn5E?>&4&0*2`;n4K};yN7;U4J01*YD8B1LC@zIV^hp4t*RT zUFWmIqSx=Rxa!yW>#*qjbtt+Vie87J*P-~}(C1#8L-F0A&%KE2^f~mo7jf0TKKCN7 z+Slh^#8vzH+>5wsU!Qvsm*d*z(C1$GdVf0fxfgL=&K&yOi@0iEpL-Ek?dx+d;;Map z?nPX+ug|@RtM=7toI{^`Z4SHQzg@MjPVXG*^v*`q~R| z)xN&=LR_`4ue}gg^y_Ocn?qlF!B_pSue}gg{jaaR5Lf-Lue}i0<=UaIy%1OZudlrj zSN*TAy%5*s+M%z#Yz{RZ9csKe^!X0yivMbyJJdLLsB!L4*Tnl~J3-f$GE_6t?}g{u8R)qbIB zzfiTW<{5{YXB=vtaj1F5q2?Kfnr9qpo^hyo#-ZjJN0FkxNVQ+2+AmV=7peA(RQpA$ zeWgzwN}oEE9(5?a>QMU4QLOl{^s7VZSBKK84y9)u#j1UMJ&1EZ)xN$iL|nCBT;(sf zZ~EHSPwobD=`}^)9;X==n_6($%49_ryINS;)k4XxD?+48L4Yp_hc7!6z7#O{Qn28= z>XCwkxI`GfWT3^aHXnAi*|4ikgk3H6?P^nCSDOI4tw={+-{?s?iJ7qTTZsC(ZkqunUVSg7Y7U8eX+RP~_5N(Ma|*B?o8^`Po^G#jjf5P|80hLi)D zDX3c_WHf-*%jhl{(M!3T)#L8AgSvacBfFdUFc+KLHFPJrvFuKA*Bjwxx4WoEqMI&{ zM0fFUcX8@1iCee}7Z3h>6m}ymHw+fFfVWsGVB`YJ4JL~4EhG(A8U6RcD8z^PhK3d6 z8_pqn7~aN%Q&|ruFK#bvT>?uQ_Aved;&^I+&*6K2V6oam&7o=LP_s$&aSHyiGhPe$ z<5aA`J5g-pnNzqq4}q*i=h@|lRlK-qc_~aq9aZfsRfTOHz8!`V>g4Q{;+| zov(IN8!k!gCYS;H7WC_H=+}5wz7InvK{D7iu6hyVInW6IK#4y|XaqtQs~1V8>=W-? zml$G7DU1%%cynQg8GqYqlzWQK%8M|ffFM5Ooi}VKdOCN*?_fXbHRuY)EhXp{FL=Yex zh&=Hx@4zok{o z=pPi@xUhf!;DN)qv$N6QMPrD=u8={mehfZ#k`{zXAP{lMl~SJWk)xD?TfK%;pN7*w zA;nH)Q8!^4K!~)fze>}|(!ir&kVbkxF-I-{z<5G!kKK?Ko!EGv5bvnU+jay<2Y6$8P^Xr4o1!7mv{F< zAHojSjosrqi4u}L5;RKCSTN;C0=}fws9sHVNWZ*N4Ko40vc3?3HG04cR*wDfwYz?p zA23-k1VSjXa372;HP%mJR7CU02_$?EQ2C0G4-vg8yi1SS#fBf-zz+qW>A{j!{SYdb zp*{$WKnSB%DijRZLI(}oLPsuUloDaLMJv`N^2mrFDAbG~1fm9TTaR4@^KN6uL8KT)o z$+Mh&dI>WWKyN{gj4<|;Ud*Q+lFjpaNOC{(1Lr3sks!y$D?whhM2Rnta*OmE=Mdz8 z#K?+F4=FAhJ&fPymS5+$E~$prTn5$o1+-=#ngc?~d>Xyx(we>28%mA3)lf9`W3+OEf|GN&G{Bzr`Aj4Tr-V8j)h|iR}U&?|h4ovO0g{xeD6{#1%=WXWO&|Zft1| zy#T1@LmC2!r}Q!YU=L|fBho#GdJ%439)nmR>t1~ZQjS0p50U{d7AU(&fMkF0l%!xV zw|j@9-y>5lNYOf8&-wUF)^}ah?}k}>4?Cabsm=6bF!jVj;N{DP(o)Hf`Fr4{c;?2- zjYe;t(S&X6p0KG0>z{e%)2E&FN#eew(*w{~9B(f$*f@t^-*Nvww59JmToR?mgj=G# ziAHY^E(B3RkVk^&8dfTKwYPKg$-Vf%_7S~GyDt)I6Fwy(M~y~1wIDo+mQVcP$Lml0 zXgqJmyu#y7|fl9L$V9n05`G^2VUXk70FSB2NIDH2Q!yr??tc;Yr zq2FF9N>9(PObdEKQEv5co812_;g5 zq`B}LgUnm@K@L(#-u6M4rLi1@R0mE^@_4SMZvqlUw0EwC)09Y@FeLFrjrIb3 zz{rJ}F&VSUtEUp@$C?M`#3kA*GtvfGGlKgBn6e5}t7_@VIP-v)w0yn)f_4oEMmYkNiP(c*$vw_K{HCM|JiDOI2b{cF=awHi)CEA~9=6 z@;=t5?@Ug{Zw;N{cx&s?B=hyVqw{=Xy&<39&qG98}t(4pu-3LgcdZi+`T$WsZK7KHI0vP zKBlkC_`=hF(EM2kZVF)R%_?XT(@#)c826e#|B{;;B;2go!||{2r~|1xv>ho2gu$7} zPwH)@qOE+i70i|sckoMU9^C1rNqY^(Ui?$XiEeiJ6TAF%b_Js+1$t88K*I>1dNxol zWC%ftWD4GJNl7);8J6WNGt?zbwJk9$vjO2a{t3b9Kln#Z8hJIqn|`@5kS(R(#_PG# z64a*f7Vxho0*PUEvMxLR5K0L&H77Gd>zO$&oj>yiZP9=D&VQEl3Ru zgY(M%WScoO)ND)MFZNBISUxIP1Wp{5Sz(JaN2XfhGUF_1kU^4UN)tFHEyEGPGK~SweVY<>-k*g4ScECXLi14cD`bEVc`obeAy^+dXCut8Vk?1Tlk&M3-}D@ zCe<$e{z(<2LxXgru_d&AN@p1!w5w&9n|38GZq1)YS~yMD{Q89nF~f|$)ODAcW&tn> zANG_Js97#__AoQjk|k?!X@up>xh^Q=r5P*T-5)Go~gvp9Fo=z}nwr-?ot+?AfiY%vtwkwgq7t&o5bvZX zA^Rj?=akrC1e}dsFYV|an{>mat3O&uQOF01i!N448OobCsAoE1pLE~=zvsY#M6oI{ z@$|Yxl$(sT(raillno}4@41ds%FWFHw??KJo>~e;*WuSniNsKSSEL`OI&iSUUu&rw z(HN8xFuZKoIOo@(luvINR_bFPG;utC*NoQj4F|m2Ov@0Qo}4|W_v(*c%gSE;;dy#u z?CuXEIKgSk#F+^?z+M<`_r*`c_^wJ#6|29?cK*SAviP#gzXF0Yui`<@cbyA>+hxEl z47hnQ2d&BQ12`UI;V(uY-6`m!oW}WOseC48oH;}-DLQY|7{qY8DzE?x@u*Q9inw{L zWXqk@_V3?DV3t#s zbbt}f6C@vg*u_pDm9Ot&>F&$(#N;m|g&51#JmHUdf@TNmF}k->5+s)hS@^C6Z7Fb^ znu{NVZuzBQ^5llsUQ2bPgkn>ais3t_zP`nIh);=1v&Cn}+0vpU#}-PC(Ql!n4gpwCO3_Fq7lvL617TM>lel_8YY)O#H1w-wxvsIF zb>?&Y+Sop=ZN%F4mOCF+%)K%$y2g9!PGa!Rt=>%+da&4o$3eKY=^!NH8uHbv#I;<7?`~cornnL^nxxj23-~mV)zE9QAbfKU49-0Ctx zX9s5Rc^?!smIo5iFt8x>C|y{_DuWxk0L{dB@=DGXy^ae!Zv5Sc1xB8iH@tsNczjyp z*vUti?5>aYhp173iC4 z8IUx&p&%zZJ9qeqwEUDvq@~#gCQY9Sis^j7j?v-G29d7oxufkhm#Gev{iPoV&`4mU zv!Sz6Xme4L`m+cU8&A&>8_jZsG)-DX?8C6DB3l>ztkNYBF|-niVQ!xGTD-UqkX>_h zcqk50Tw8Z}r<#jh{JNm@vi$tA^q|!6yfK3YjmZm#nyeq%I3PB5K;uxp**SGwdu3u` zW&1e%A{a;4GJM5@=>GGayc?@tjBs~7sc(;+eE3Iw@kxU8kDwA4h--BnjbFzTDQGL0 zcEmwv?c{suonEu2XIs6_MCq_hgLKh%;&plR!s3mtioB2N8?7LqXV(uJy7%#mhnNR> ztS5f4Yi4;Vh?_1;2BQvp*Wlz}ok$z48A%3wo+2iM4yI z(=-i@iqSz8SuEcw3p1;^axsMqz1%jEhyQK3FI$AJ?a)}MTXcX%_ zlli&!c|V+MnfXTN<$RHIj`KKi&H_yON=&ee$0DQ0olY-Na`T0Z;AlL#MixmY%=9F8 zXlT;H#$xS zyLIwkFoNu@JZEE4iQ!7hVxf}F@^0?WXXx-AH;X*`togbzJUBQUaISfqXN33%_=iZR z2SpK>S|E=M8+Lv3PNq0SQRKfvk-oCfsiNI+q|((!dG$`}$rXwN?fOYmJQ@p-ocE+u z8udg(^K|{@I|CoK@}Mu6PtHBRaYnH7zU*%5#171vV~Y8T<)=Fk8a2Rq;d1)z6xCY- zzrKx@IKCyu@O2?tb4(^l?75=rwbgMe2iNRRdurNU(8dtI%`Us0)>B^cgvhndl)DY@ z3|RNrBd5P@csc6T0WX=wsvR+p>T6&+#S6qt7)K{j;h1$3P?1Y(E1m4tkDfBDZyGgH z^|I}7wCyMHiGfe}=rUY_uXVX>F6CWVgfW<#MIdC^%U(Qo%*fgZvu{fN(45Am(t$tm zYtnFh+*}x2HepzapSgc#pVrA$UH!iyj+J7D`2o1v*<6}<^O?f~S9PQ0#x;eeoD_ZY zOSj>)KiY@+AWSX0Y_uyJf&?=CvCD_C@O4Yp6corr8YVo~G6Sdjy47f+@Hi%-dncE{ z3Ry!qcvRY;?C9uz{gcbaL?uMe7@alD9zSMaMO|XiSnKH4CDa#3K}Dwj*Drx zqHC<6?lI9z>$v5HcEnz4RCA1KHRds_bXn175vh+I*ejC2q(s63IE7#5yopb;c6K^% z#LrFMV&=}%XA*DO%kd#V?4hudV!$hvPG{n=%peO_m;9(MaQBJl4vAPy>sTrlr22#w zfV4r^Z;ENuq62Vxu53BUuF8|$bXnw`5pL$6I-iO*B#bJWzJRzqswE}CR9`+}^2G6p zxoL^P$uWGo*ywyZ-Q3<}8&{kpSv!4H^r)%6p)sLe_%#c`YCwk<=tzJFNKL9s*B+MG z&0BR&?54((w^)BG-bR3iev$^#JosK8C=5l4e%=_0y9rtk(tS~(JxKG8CfZ1(f`o@T zt};^P*~K-E*sS3*3v2_YR_6F?u~PbVgRE27wkEE2FDl*jC@ zp8E?q(&sHY;3Y9cCAt`bE;~+~<=Su$&v0Im!uLDh6F1-fr1>4o6`0Cg8h> z#cU1fc6JsBzyv9ZYeANeR8hm{v}xnY>JXeZf>eQNd}U1Kc3F7%` zxBSKC3`vs`398c}7ipl{3d_6Qq}K%IY{@mCUB;kMxCVCFawl=9uRe?F@gkN>GxU==RhF2*BuC$bzI`$W zqzoDzniyJQDK1M(dS3JM^=cpM6%^E&IYsL;eNgd)=p&WZ$bS6;;%$}v68aZdBa+8i zQU_#356lQou~hUANE@2=wRy&fq^ikj7tbpwH5FUFOPy+oOmbvIlYG^kxt^br^Jh7` zm=+!ttP=R^2S0;})0J2TOI~`OLR6w3_y?rK{8j!?WQ#t!7xGDa^#t7L>KAhf;MV|| z7LI2$w&@0E0Lxdc?8T>1>0X(RRH%0_3O(fxmOkCDYRK&|%#rEc1SNz6h;eEyA$iAN zzjF8#M?@dTxZ>jK+z68)(3({`e0XV=HP8^6F(lVgnH?FDGj{NmO?d?cdG50tue;&-}(G zLhlE%RHCBijjek)kqLy4)R3MAgFHJrA|e`K3=i=O36~C99)IR{++$LmanLQeO$@@i zDNFV@86Nr{rKueD+}-2Y-HsA9&ozORy&kq@DC>>m(@4}qN2n>-n??87ZrJ}KwlX>_ zEIK+g^d{+th24a3G{RotL4iTxf9hbhuJa0ak?HvIFO2EQ62YG3YUy3CM&M%H4=&?368!96W;d8&W9zmG!W$y40N`Rl2Jo>;J^GbQ}A@WUBGUp9nhSbPdw z>H|NF-#AITYnDl-89SM*MCjO>8V*3iU=HR7I?#5l(y&x^*dyhP8P)x=O%LUimNV2A zm*^OolRABF?eNN};mOf$MNyHFQPGi+Psiq!_sbe;H+fz0fY-#~p=H&>EBr@J6e~Q? z#_Tv9+@sks3VWGxv}Sa@trrEnqr3a8*UHq>fSgvQ`q>UyVkb(HqI6z5Jomx!-9xf9 z@b1~iUNc&2M-HD5W{zm7o7~biH5BMagN(foh>63Zhg4UU_zkU{RWoU}-xW`JV$a#9 zXO{4H#IHabBO<_UV@0QgVUX-_wcn5vXLL%g_Nl3GL}o^Ib&<(bRGpoXIik?S3#%{g zoMKL%ykKQ{ZpDfPlatL;IxnViy9Tv)x@z}#*G>xo8aJ+$q`VQyuqSG~^RKF3QIT7| z(p5c&Vq3!T&0dVFek8ozXVYAcW_`J!8>Eq7(D?=p5&az{&i?t%I~%lh@qg^b0S;%4 zsH?z+5Dm%#Ewe;tY}lrj8K56-jc65GM+QIGibk5%#7hb(HB$v=DsAMQ)D?lJ4 zS3|OV=?bUa(PVp~Oi+y8L0SUL>v(pie{iTVI;dv!(4nJif})L~!Ty>15BUZJ8>1u3 z?Dn$AXk&1I@1YHuGZHeBqI}{_p*dOcSvjGmc%P`G%!C=4@eAV8!`Yf>!-a0~4N_<kFhBBP=cK~MydPV2f1c{!!OKvhs!0ydx*{#{zduYXN!m`@L4y~A~4IcrA0 z{)B#&^S9=nC3RWD;sSPD&AiRzyaqz`$0|rdj}jiUqpO4$O7Pd6*O+*lUIe-%7Lz~; zG%=)&&edEptsk*y-MU20%I;mRI&Oz1*30VKkpG9Y?*NdqD%YMfv%Sym%uamNw(IK# ztIru$kR~$mCWmXMlYmaGhf$pABA|-^E~QRsXy87rGGJ8>Df7dQfx4QsvNi;|>jGs> z1O9+(2zRS-2R`P|Q%_?v(YP_KET^}w+#c$wtE{Z+37J=aeYm_lT<_Oc@vhh%u`l8! zK47*muk%}8;6vtK%UGii*OpdXYf2*>u~@7lQfl3ZRyjvSW)t%(r)bJ~^I+aK%Xy1o zD_RWez*(+msn+jy?UD1wSk5ZU53dP*t<%?K`nvP<^H#@MsdG%zI0574G!;lo9#ZUG z?E&XR1?5C_U|*-D59v@H{CuT^#<6R!lzpqigw04;H$Iz@unzRIA1(S}~ z*Ghc06|#Ni^g1-Y%G^{{w%r0r?6&QUhC!uT+ZtkJ%&9L{zN@w);qxUrYJ>9HURysf zP~R{xP$?cRFeX0}?1=k(@s42KP?@J}D5V;81XJoQ+BMV<4vIo~GcX|jtvof@*f^Lf zH?P%wL(!o=`RBX`0uLBJG(Skz)g_(xj)wMEuy=`C@TMV?H=T;pP!*_+nq0=wKG)^g z?aY7<7ZnM*wz%q0*Bn|Zl?jh}N;E3oFZLN9nR|hMrTnuOu~^^2Znct;$XzZRbRy@i z3v)9@I-)EgH8iJPmrg8|XrgT9T*f{uV`|8JN*(J_TxKvAig~!zug1Kh@9kc zeP<8h^c=bWl%a;Kg&;)B$T_Rp+E$%2VqO>SoM~v7*||_(2S;XRMw|Ky1BHzd)bMMM zwiE?Q7M8cIf9vwuOV_uxt-o}3`CHew)if{PKin|9f3~G%R^BXczJA@RRqImW!a(iV zP-t`{TvHrs;PN{vHi=*9owMIHDtd{-G1qt+4*N7N7o39A5|#NtWwXW^xM_2HU_2k8 z0nM%`ULAOi;gz)&sN9YlnF{aNAU6-#zUNdCjiXC?D%jU zL;vtgKJsOk{QVYd&RW{>q*0i|SK_rDFAqW@M`WW>T$SNwloNXr&CrPokm4x5K8mRE zQTg9W{N0Y%A-t}{>ju2?@sxh~ly1E1mk4SGf%SrL#XsG#>zPR+?eDaY_9LmJr&&Pm zt()kqt?itsGp|Sk3NR){U)}!2HIW)$PjyE_dmR@4reNn}ef?x-(7gHsjSHe>(FKhG z>t^b~U~N^Lkg84J(a4|09#=tf&w%ZT96 z`n+tx&7P$2??k`R#yMKQan&~>QxOM69{Dxq#Em2XCXbT40<37kW0_RuJF69Ax zLPs1HPOKE*l9^G0KIadMgz+?Wn0s*hMVup4=eqcA%EA|Okk~`pUES^`oXiA0lQeEc z?9v9&UyuK)uzG0u%dNjDc++$FCt}YRJbzQohr27jza%{K$3M=5mwdkhyQ9hoV!fh5 zMiC+KBQ2{yJJet;)!o&h&vr_V*4(TVP9gVeMh`I@iw^Yy5PUX`3+NF|6{7ZuCt^=L z@oo1V;b)%>&#iIvp~7_qo%8ASUNm#D`;d|7W%of@I+U`Qg=MFD!vGN#48jOlTH=|H z!#qCrlNulUSp1#K4#fV-9;46ChQ(d%wXrJvEU45EVq1jyq#@`N48$@k0g#K? zma>c(mW-G`?PZc-hLS97TNo7!s_m*hp#6QLZKqlc`wtfXGJ4bQvQ{_9|0L zF|K~Tpc5iZALEj*#2p{`RQRKxYK&hR7p?I|{pRKHm%=Y27wMS10TM^W0L};F-T)gt z6RlWB&7@%4LkDCXUMt-BJqN5N+#=Qrp5B^d76~8OJ2o?{Zo|8)}3*x50QY1eSEnlhpiuu0? zns)$E)*f*!#R#f#R|eI#Z~1cMJ46(4>2`@b3$vx zCnP3eVKuFymY!($={Ok%8kiouwoq#2t}{yX6O2KS({F zc;4}JX0GDt!g@LvPeu-fd^!_mb*K4s;LqwfJAWNGcJlf7i5YSP{LAB+px`vp&#yh? zoXI@Rx#oGpOsBZWbGTy!&bxdPSbZO!BRPwH4si%>0UUyRL&@ob*2A?eTDn_Wy779l zJrPK>%Rj_rKmH`K|72sd@IshbKNu-S3po{kC`)Dd^K9fQI^v4s%45Zvm+#3MR!-JRHg`qd_|_b3g3R=xYc_=e3hO zpWIM!0{jL90P@8ed{_^2Xg)q=TBo_^tEhN2V-$a_&S-i@; zhL$f`F*7;ZFghv!@EvH>^e#lfr?D55S$Zc+vDRBOYU`YuXmtTfxkR(2X3q$(Mvb_oxB;KnPxLhu-;*3_srJ|PM2n*+H`2f3>J=-l-qFu% z^#_te&DGV-L&*t{IdI1^r455q76LKS$4YtBlcP&*14Lt{O%-cW@$FKvM|DG zT$SKXT{|RUEiex<44Xc~Huo^1iYVmudnLo5(<4_Fom3-7fV$sH?-}Y&4yL+erQW!= z%-`%A8C)i;d6K=?2NJFSa9xn!UgRprPxl3ajnFa z$P8FII}Msrbg;7FUn!N%IksKNj_0H}5zwoGQJjqyhf;M6$^l_qG5D}Fo15xcLs;YOeMgp`0e3lQ!Scc~+2&t|DkQ(dzWU^J* z_EPbB2=lPnP@u=YOQ9YXM;Zz;N@0yPudm(M-@mbTee>98i+SHNIN_)v{`n{6k#qKlwiRQ!Ykl;;suQt0Y`W*>B1!b~LZv{_OqG&ap_B z5(}Q-d)ni;OHtcp7^SNGOr4jHrTdoG8f=u=vNS2&Cf%rL!FbeqFPI1{>A8LneDPlR z=0)R{J$trg`^7id@k9HQdcDRkWySKHh zeZsw0Y}j;Op7=%Hd7HS`oAoQ|T$gi(>s<{Pqq*B=tZF9@R62mnE5taWGG-Yitu>b~ zXNk*C!Ao){UM&5siWxG7H|X-b4*Ds@4LuL(HF-_v5QXI&UkGQpK#@6~Gj%pZ--f}dYU7RzWTbdKT@RCKUDuy`u9Au02kZgS9{Mj&s zR60hRVGh>mGg7utCK=X>qqB@kQ<2Wup>;z=w-jUcDF3q@Z*F%*qQ4u#B7-6qMvL5p zCkJWAPj9_1`@Z_DnwlSGKi%|j_QRXdMXDvA!e}UAU@q>OedkIdgE$&QQtEpUBSXY!V-DsogSE*;o;2T-DjWthaW- z!it{u4QF($YK)ZER}Srpdg8#^$jKYreor$-*Nc&UmNaL2WV+BTin+tqzN2fj+MLy< zKeJu}Yoe-Lf+AeiPVC1+xQXz}YVzHsDf8zV@d>ZZu-|lnBxs*v zBtt~v4eJn`7?Mhr7ok4VjcKn(1jI<(Bs{WQ7?vb6%G(7Nsz|mhTF_EnTVCHWSQldw z@C7@=%XWrqLu*FEebbF)hj)eVLNaiy3YkQg(<@T3c1w{ck2D1;tLlPfLX2nUCp!nC z8#cN3?8)kD_BXa<8Bb*A*L4m>H}A;a<2B@k&K*fi>dUHTW%+OQEhU`hAB*F&Q;3w7McqlsqPZU8W_2S2YC1fjEc<@vB_h zA@C$sv?xR_)(*fZUb67?cHA72Z@39SO~AL>8`Y+*ocQ_gMN9aOJHl0~H}$oTOt5rOOZb{E`s3ZKS=1f(<4s*k zl`=}z9X{+ncKGn-4U1$Eqs1&@BrZTs&(D4Fwwfk5EqrtD5HvlJzm*6!Ca+Ri>=x5Wm#Ex~FT>MV+?7El zRWQHkUDTs?(NdA9XcD=e%BqSwkFTmC$1l2inoC38-o71MibF-YrFp4vai}EOQyM9( z4=x{AUJD z=HBg@>?Dl9{a?icD#^Zi>q4EA(7rWOty~=%eA=YRBT)vB5OD3)LV1Oo<*JgB^ z@7XfNafs|5$nROratozTU%Bm@B@yOemYRSXnha97a&@MF@}&HfhA9TNhOnxY_<>+9 zNY+SI22!|YA!Rsr0-Xh8Z3Ns75XPJ9kGac?(Z)`3`26hh!WE113b`e`cX2qnd1%ef zg1py%Q&67uoo~C_8@VfN9LNvH7S@KVx&D4K};}LPo82Kcz%-Y*CDften?6eQmTTGGlktl?H7@+M>B;c6!qXe>jdEol*&P zdy1ws`m*SfD!WhRi2Fw_u8a~!bxEL*ffy88xyzK|8pM^~t<~?@Rl?)A5>C~MPhr=y zajnOd-*3Q`=~B($5C|DXi3aF3_zy;UytJ+ZcrM;o!JiC=4+0(Q6XGw^(|wme7M;dF zb^XNU_Xh?p7wgYI$GGFr*;yi9Yy4g0@Kt-XR%9Fh;H&m1|NZUhr^WS8LDFSr^Az@r z0VEXNd<-1dj58TQm-;O1Y9h3e*-ag<+o9vx4B!|ZCG>W@2z$mtpo@FaB3a*)Te2xg zh0t!1v8NS5)>#StNn@}0D)w4<&c zD!`fb$|ld+G}|?FvA?USp)bFzsw9!9E2*ik>1n8lG{oxxDUFv0EAl5syT@xTtz9rY zF+M(l?R3}rnaw4yG&VLhmDdIWC5iZg`iexYH(p(fil#LIek&Y_`MbxOdj4wMCk{-G zwvJ93k7Mfu*OIk6Y}#%Yr7UdM;p&tlZv~#YxA97n;WetSDSef(K5_@o*syg5jy*9p zyUZxN<*ayH;G;u8ndiD83gIEyacyJj#;V{eXHB^(+#J zm*`Ja#qeV6?A?RKQ;Tv&hKu7xVr_A>cz7gd(R9(^?AEtrZ%a)ix8@lCIeA8bXfIeh zc|%TeIfC=vS}Ssmzww1z7CF7?t@vkL_uu#@E_y50!E($KYp^mG>LO~fDw|#zVePsF z8Gg}>l!A&_jX1AnsumOgfdw-I+ zq;EX2X69qpd~9Y-V!ZDXcmLc=ljH8d+$*csxsRQ(+Bi>qXnb;RH}`T@#tOoQS_1~! z;rhZc49GkmA_#>cwL-1}@_bA`tXo_GsH&FuRBGeK)QY*Lxj+6v6t)z zZ*DIRYs8CL=?Qe4wp-oM%h>TUV5>X z+^-q&cjN zH%Fj1?7+?Wc)1Z=$500}g6&5x5oQCZ?`BcM_&qv&5-+J?KmtKKyg58xh(Nt8s2f>$ zdKLopvS3kxvw7=yZrTSjn$Y}OJ6eq5l?BrZ82#&bd^>JN@sbfnrMRKYNG4x`v6F$* z7)1t7hE7rpV{+&sQC*aUHhvF)9Nv}cCKto&!tlCWZ^H{c@IWL&lOt*mSI?)o!{?LX z^ZCRzpWkVbI>j3X4^p!9Rn`iBtvd(WA~*q9UaSp&>B6o;!gb95;nX1h{dmdx;tA;2 zBNN5zm)s==@}`FG;!?P4cq$L4HC!IPIDFmG@vtbbEEl5OS1!V1%fwLY=*f#OzGk%b z9CF8{&~yYeohZbMUY>v#gu;g!c2y^iD z0&w>rKI17aG<)XA=uB$mNqyG^m|~1w5PehyIR0=1mIxT;Wsy(pj8c&yjvP8nH{A$~ znMYk-(^V8v+GD~K7SAtTdHF>J{(N7=-!|%vlys%W{v(WX5=B*czQ_mi%JX;cf6GMU zM0@ouow>fymu`CK%Wn69^UJ2&iy8+?j4uw%9+(Ju+y^~Ax47|!*=PDos~2niFjQRYQ{om9#g z26g@-kyZ$bB3rf)>OLBcet2%q?TJP~`;+*6R(*=Q{y_ay`2*m zLiG12q@tC0ZO7{nUNVIIaoos7fzsEE1I-1~F95w4K)5P!c}V!`Ua`!F$byH&iT_G;xG%oIy?(X# z4`MK~YNRL<>`YZgqwcaroe|H9-LP2#tIfbFqqrlq`GtYk7=F;iYKFY6Po9(V3*uq4 z{9FUAw;M~V46^sh9c+!JISjpv1RPfPBV`{bB=%(NpieAeJuc-BcvQo45*?* zVa#=lL}l1ATlhedJeEWWFCnxiH|4&LHG!i^O^YtHm9+d{Xs-@L$T^3bpCxC-_@?lI z1K~~K$)&yRV-p+Kh95d+mY+ZN1G6Ok50oAE@CA9BR!q*8u^#=Jy`ID3gswqPGp;|S zYtw@&u!@iY|1#w2i0i$ywy1TahH2}s+GA8poTr+B_~lrig@(&BW8X*dN=09D0h4G=-k~YO9;?=UYuV1`oWK}SELxw$2^D>=mhtlHMCLif%M0K( z$Me9;xLEL4E%-xe@V{B`<7x2ME%>oC_%|*1eHQ!>PlDF)T+fdLTmjba+WmRZYR{9S ze{Z#aJgxmb*7NUWd(6_ZlfBq2%OELEvNlv7?0-{oA@u=QNo$rmC{A}cP8)GbE|PI+ zPoUhsB|uZ8^v&kTKoLqY!;*6+@hs(qNm9Ftf?0LoMK5%pY*39W8(fB+j$zsz_-dn+ zACu@8wG_G)Sse)r+$rEex}giOKJiZurA|3BVcdbCfk;(VZJw{7A(ZOu8WpK}_vy~4 zK8fS0M|e(k-GX>cWobcqi7%Omj3wNn@swv)KP^wImgiQR^X93r=HYA3dGmb6f`8o! zcYn`<-|d8Z&eQN*&rhv+CcT*SSmz-FTQcy?OP`*|9Cg9ZOZ8vKw2 zf5w9I_f7h)^N_xszfa91;IY5=to1#@cUjN-RT|vx*Yh?UXNQsg8Onn7_-AW90?zR( z_(N%M_DjK!rNO!G6#PC5eu!t2X*fp^Gx3-9yAN9Jc@jC-9iNlyc|5H>*PVL)y=;$r ztUK`<)?E^W{_$fFbYkm!}ZbuN5I^_MiLC1pX>KZ@o;jw9pXd;QE zUwsC;QJQ{;np!*JIk|QeF2Cl)y<9sA{&go@t{nxx+XUlp;gLCaD_%Cd@yI8IP1%JkZ^Y={}#oC$o`@M*Ze9rN`XRYtO zE?$*uM?LRX4!E;l&l3*m&5t!W4%+Jn&tKvCF@5+eU8^M5r|*6c+?CfEi~DOQolSHZ zhZZ|&OmhED(y1;{K^vv=(NU3KAW04Kx^`XXAQyzT#%c@FiB`1WDc}7f***q{aze$> zz8UR%@g$Y0#EqW&3eAKMx|ZNhmN3IUpfey5&sjgh%DDREOL?d`E1%0V;HeOsg$=Y$ zEVw(!8Y&+dn%S~(`Cx0HF67Ux&Z|kbg*qmRJQd@u6Dy2Al}DSan--MS=2a)!L+#UL zo`S_a3&)l&TiPck7mokd8*VIGF+ICzZ% z6#O{hE}ZZKZu57{csEZUY|~MarUa(v&Ys;i&Rv`K8Umv#3#<)yB@)YRAP(xGyjDL2 z6_|xEan3jtStRJd+S397z79?Z9Tf_^BREc@RvThU1%m{cl1%jL6I57WK$$MY_|&F~ zuy?k9!uiX$6jT((Dr+LaM51i#-Xrd^(e9$QPI=T~Ut3wn z1d_@;(b{N}uf$he8mKC-c6%1*UUT`?*IJn48dDfLmWH|iu;5>nnDe-1uvX556k85X z-QfBtje};jEjnGO>G0ZMtre}&+45|P*i5->fR=b|d}k~kr+13PtwIpFc$mn;pzW|U z=BscP#{HP~FiGQ#x+RNtq|GX>j377R-+9hCJ4aWPdlCsxIf{%fXs)SgUJzb)=9yw& zb2wO}*so}xtHt4+k#rvH{^31p?|L0o*_H3=ZrWx|YZpzU$iUM3PKL)yo9*p^+fGmY z73XO?bWMS_UwMEkLTlE9=B~r3=N+M^)T!qKIQ86&P-ZOqu!?0jqoo>v zD?6VCDZMny+eBg~Zqnlt*PPCeL3PVDNDW_kIRbz%B$U~7>Nre0RG(4Gf^oU{+YK{N zzhk4;(aPe11Bvl&)|$0LmRAQo(Iu_>yt_lg@rC~Oz&V%B3tM*oayGhZ&n44iyV9bU zm+os=>YolY`if(|6>|wIaM`*c?^=%)l_e!NWMY!1anrKk+zM|^z zR$_~!5riD0UP^o1f~i@Ve4@Xed{+kRhuv~JG|j`RqL}8=6$m_)d|RwZb#{)6+UULu zFWlX;s;}0#Wc$XE^;NYc9nF2CrtWn97MyJSU&%yxG~q7b*~Y0wI|fQ>b{-xWC`}C3 z#D`3UNxYc7^YD?K@Tr;fKn+LX?QRF2YoxTJ@cfL0XU>;7?~szvUeB7GhY8Y`<9p9q z-y@tFhI-zw(%{rE6#RL@F>mYe91rHL3an=zIZMnHmogIhiK?>5XidFP?Rj&WX1GdK z-4c1qUWQ$1>n89uF|WoV*;*Bly&8 z-{R&9Qt+>8__C8NT5isl?QNZlaL$y1+d3EE^7#t>h$WY^J)f`OUnLyUOBeq92K!Bv zno^CP2XmLv=(h2nVNlB0UhUIu<^JNuKHNz1=^=7`&pLkB?$3i}dx;frW%(TH-_G{n%KG{DvOQM! z5pd;3SYm0xzJV?jGmepw1_hQ3qm5WLb!k_JZRXO{WvkoH^>171Ra^yi6x!%%fhBWh zsS_1p1gkb|u_r#8Q^)AWmriA7F{TylQMEAEejTte8@Tfw(acUTIzBHDqD# zbW*O3O3gWK%-K;dSWy<|B%WBbmclQy_-Q_7C?3V`7(IfZ-l`Y_vJ$a$+{Dr_bwwf( z7gdQ)<1b#*d|jt+aCq<=x4OSPx3|l4u8kM_4$EviFmbzFbu#DmUt4t;+Wb`q%@l{A z_Qu%Tb49K36S2J0cC=nO@ zu=PcOFp%JZyK#o~&-Op^r11mxcq5mYhw@OV>@g_bb)N~BBT?{2U60BUZo~*(4)~8n zi-O}hDF^(kt{)li!^q|Hu`768A0r>Ms=di!=w)il)Ap(~XM}5$nl1f}P&4G#&N`s5 zROoj+p-|-#(TB;Ci|AicJ31rg)oIyO$IQE8s~veO&kF-@g>O;vS9lh&lw%toyY<$` zUcBX&Z;;Oh`=fp0oQQE{f27~|rR2Dm$lZ=|r=oxdvVl0@O~EM#EBJ8}eli=oBjs1Z zNg17v_LQqs`@7j5Q-a+@?xq2RDO^pt#ynw=a*chORfbhSqtvDyt-aYeKAkC2GE1Uc zmF{)p%Jb>5Z@Rf}R$$A_*e>Ci%S~L8n73ah&gkyK-Zz`MVY*My?Q;oMDR6<2AzM6K zkIdW~GkCdnS=b}8Ghjii6z+7Wj9kacUro0IOa4&xR=#Nrqm;v7E<1$f5;u2!dq~J^ z|IXa(OsK!98jD45|DC_TRlK%wRavwnYTRItCrA#Ua#}h6G(kW=;ysC9*JD)RSXR$Ng$p~^}6oE3DC~=PYyDD-< z-NEmvk9MMQ#V2R81~Bz$5D*^x#1ogyyOjPEv&E3~Nk+zRPSszPl{>j<-v zsrDm#cPtpI)YqS_+Zqv-RTE9P8ZWmOuUmBS)z^-!EYnwa$@#ncR`!Vv!H^M`x5ljt zFy{(4ly;hctNFCRwXJY@x5TAsZMXmygMWPw4}hc$IZDCXj9T~2zO9jV9IMoQBY;kQ#k7GRR~c!q_0xUmHE3`JCE$$d*sO8 z#>AeltlPR3+RIk=1!sAE(F@mIeJz!jqC<0^1`c+gFaKDSPb~1Hc_$V~u@`9gDJWLA z&!AWdr;O;N@c*)&4nCjaeF~`rfnF_e>2`!GDzo zrv|Fv&l8T7QHkf!PG5{@l`+>>8CN#$nvg4lAzvP>3|?(-Q5~&Fbq?oHD*>$zK!(LF z$`(=Ddd+>Y4wI`azKkB{>YzKowA*(9qEgNn5gCwcCqyjB6$2No&Mu~LW03owO6oA} z>Z8jXJ zYcSkBRi7H}tS=1|MVtGR(`)(3>ewJY>08aaE`+P!jYP_bv=3@JUg2X{aMvzp$=Cdj&YJYCgC(s`)r(%~Lk#L&G_* z3*&c zX>6kMc1KraZWD7Mu7ZBhFKr=+9}3R1g=lHsmdG+nALy;p*17EUuVh;kAOcZk$Wx3LYd=PJo;AXiMAZT32QuS8EyjOL8>qp|?PcD1=JFgfU zdpa_3MsM{`jR)O#cSRnJ8^3pNIdI@WqL5 zU4T!`m?=g7A^NwFhKah^%s2;MQws$KJ+(|wCPLa$Ast?E=9$$U)2%Iw+5&+kn|nIy zYg;1THOm*Si&saMbY9lh%3`IyJsX!TUAmH?NZCE>hfs%leNRK%KyzJLaeh^_H8M5b z*x_r9AMEHTEzYk9HAbd}-6h-i@83T6Cvuh)D3+O0)votYC_)~OgR^9$qh)wzwDhml zKo|@q*T?~4RJ}`jVU%r*!Kh3{qgjKYh*T9RvoWBr3RkM{)e>DXS)5kIB7!tPW27`^k^QSTYjzxKgMZKY1J*E&#l9oTE#DcEZq1LVM| z5vW~~)eM-R!BRQQJdfiOwK`zYvG^u^oQZfZRYDUBUgXZ$yz(ligR^{Hr->IKt}at9 zP$wT;(!+KJlpFiL(9{3rEHF&L#QpK zjtQYEc3RoD-SAeC*k~#WN|U*?(MT0fox(|@c0I!GEZIQ2qApH&@c~R+DHpm=pz43LrZhUScY1p7M6|RfT5kO2mk0NZ?Kx=q-pJt( z!9)J6+=&CA2<+%{xL9y%Q40Q08k{?{f*((VbEi=7V`*?|Q3`&a1wVw}rDQ-jrNRcs z?^3H%?H{z-v!B$WRQtyr?O$>9|NgZ0)S}dL?j;-x{180+2!)4n4(EQxw2#`PeI2Z4 zi}&^9h4l{6;&iIJJ?%C}PzK8!D~c#4S)~uZ%I)FJBZg?EgD(T2)!uIL?9f28sw$Z0 zFK7tEiaG8nSvF~z#uK)&5;n|<0%!^SKL`^JZc;GbY+i268rzCx8AF$OV7X7TzURoY?P8CUMmJE+TF-xek zJRynYl4_AhilT(bpOS8R%D_&%^me<4y}kvBG<58Ux=YI|jLO;hXgH+tfN@bnS`TV) zQu`r}SHsh&F|ECW8Ud#jozJ0$WKl2R)R5Hk?{VVU(`-@ib9Q_2tn|Sts{Z9^;7_N) z_gK$)O2d<2Wj%5gz}4c={1lw4Qo&8zhJtfdD)@c)7V$IxITXkUp9PmJlF!F6O?; z_$z5}My0Cf|JsDZn}f5pHC*e;=>Pow{MKwQ`}q;8{cBoNR_(W1&wr8avD>v{zh5Y& zoe;AvYV^uh%gwIisd<rQ6BUF4zA-EPU85} z06Jk#!u7N?nmGxyFxs&gIyuFr6K6n{Bnz8PXhF}`N6|6nhzG8#bQK=6uFQ_=pgOt} zR3aPe@Ds#B8(3--5Ari(0~zCnctSC?@8H3GV{3fTs$H`lGdNJ%8R9B9(0lIT zE8ntwS5?%v#{KyZ-Y|Q^2PaWxZq=#61M|Op_whScj}|YSv~WafR5*Gi4R?nu_)8jo z0957k5T`L`}xxvwA9@Q2d7(fvkp8gHM!hDyvga&d`E31P+qdTQ+aL<%$b0yyBKy z4(!@>;OZ}ZN$d)XfxEu^<-1}xUbXb98;zI3#@9(Jy8rGR@m@(g`!ODmq$yAxX)O;I zv{P_$4+a09G&u31;J-_Q6Tb@nN*bKIhl2k)4Nkl(_)8`nT*D)G6~f6cROHtFdHwvY z*zsUAj6Ns9X^B3W1T{R#EXU=2BUXo#O&^4lz2#tyHU}BiG zh#~`89Hc9e(?}zP;tb51Q@(VXAXrlsTmcSa`8ws+vR{16xJDc_ZW2eGdkd3TjBDM; zV#Y6G#^bTHodp2_)~s=lP@_KKz*01eyjEf9?P@VzR~7la&4{3+gQpt z9VEm1Zzs}Gdq*t*iNPvX&-gt6GSR;sH=}szVtZA{jpiG*^Qp5B)Ynirg8^bJIb(Vh zNZL&5FOf4~m$i^*7cuWpMNlE|g@z%#@5R{?KQV4ku3nuKXYj9ayI5n~;r4~!gMZ<< zSHzK|22Mv{ZZ{XcMATJ2|syA7?NiZu4NpnJtcG1-jsyZbI7w)ds7ltaPlnG{zX0? zJZlqpRtab$;yOsXUpmjq*lFIBXOSzRi+aORTaOA?L^K>Gkag-5kCFjoN_sgZkJ|Le zBjR(9Jd&>Nj|t=LVfPi`@Z3AX^VyS)LGmXxLMg+7`p=Wq!IccRg1f3I!*N%&En68p zLdz`na?sd-HcwkTS%E-NCx^&^vW>_MeRMQWz?t0Pzvl#2Lc$QMKZJmZB~~O zKnbXm@uReyE6)$JkxL={qLvh-eHp)oeF*iWyxV%jL{_}hcu_Q#8(+(UYIuqJJ#XCA z75N$$5dC;HV;CFwB9S@aJ7$X9Q zvpmuPu4&+u>bD(vm{A?dIZ;G^HRzDktn_$Q`?OlpHJueKy-ArJ{w_(wrPf^~Ka;R3 zJcBNgV@$==cS-#zB??^%-4Q1ud{u&B5dI435U&>yEcPsD4fZTJdPHB1@7IY`$EKY- z9^JX4&iG|V(Zur7Gta!|_#Ng|OkOc9{xJT*8;lP?o4I1zC>@t`1>BGp#CI{G`LsZ) zSGY9!r^0=s86#3)#fZ?8^CmJ@M(GrdXK4*(=@b>{PEFbeEsuz%D5iujB2^nb=ZAJMnV=hu4?-OEvjZXft zD3)0G{yZ#zVm*x-ehP}!?K3D=!sk=$Mb`6Qz^|AqB_O30MXd=utPBc@l$K2$(~jiJ;P=k;zzC=cIZZ6| zj}y?etFIW^W`TrrO;D#)@r;P6Wo(aas;KwsiR%`P)GCE|^qzYjeW8}RC3Q+|v530g z`XMNnA0p27Te~0RTvDu1xKwa*DFy$X3Ac7X!fp9@7&xquT#yGG;5mO+&rxtbN5Owb zICjNhsn31OwUl`{jjm;`Su9~wTGr7P_O9r(aZD*&#uUV=DRge?6z)J8KLQd>jJLq) z-C!ayTvZ{P1^7M2Jkm(=fNLCFKYN}_P}VT#33IwyDl3_5ONaCe|WeM4hQ;(v$AGJr<|QkY^jQVw1Aq zFo~2B6=N^xNH>iE)Kh67WXTfviewP6tg{F+ju=TEKaL8Ee>yJq8XpyV!Bt~14ooJVU;t;Z~VzIZNb)QfTut!-wWIKRo$X zRrvkMCs|49$tTS^N>93vePr*(4F_+2tg^1FwuQyDFh|>%!7X`Lmz*P0f>Urxa0+fp za0*VIrr_qBDmd4lg1>^Nkp>i;5}bmY65KZEpGrn1+};mWdrEMsy}2JMI3+mM-jv|x zw>Kp?1*Zh3o@45z+hhhh(;s08&4GgAtft;YcXXG_rnU@AMGITB=#+HI+B#T6iqbtTEX z@<<@wohUbR8&MYq36Nzm-_WWy7ElSqVz zlkTjn@YJEz;n5+e*LxbFz;DUSd5aPo(Ko}Fc3n%|mVOA8 zHdFExz1~(pzH)eYW&6CbAKDGC^wHIarow8d zn)c9l%3`l$l(s|)+T)lsJdO6!+B;|uaL}H7jxCFU#sH@*rk-!gVv6>DY|*M=>VI5o zQr1#5{Fl?f|CRC=G+1t*VEaFa(VIBj7HE^T4pwHHGFK7p8(Amy?2gT%pFK`YCHHs^8_2< z6wsvpt$DdJxRXiPiJoe6rI?Ha0sP8k*p%7>lt6?u6C<$S8G<1LGZ4>OpQ!R*n3!Fx zvNy7Ft8x6>IkBv)Z@a%|JhX8g^Ebrdxi@4!%9aa04ua`;lw?jMa*Pdvq%Y3 zsOF8%=6GrK@UUgk(8ii~bPFIj6vr|8WAq{SJ=6KL;rna$55%Wq?vKpvi@85A#}km@ z_7nfW@8-Ie@>kPOQqGX8bX=$uqa^CmEW!9$oGFQ)rCh{Pa9hPElg5`I3*j6#{3d1T z2}DlN&RFc)%#HJ3voK+1XlOwp2h=pAxsD<1+@LA4Q4>)%dfQf%jU&tPAKV`}N-O3r zF?vMYct(8B*n-r#6XJ8lWT$P7A!WkneVcj^dTYPG0D!71s+5r|4gR|f{dVBM=u2~-LZVxs+tnGe_YGzJcz zd+y;tV^8ge9}ILgRG+zZ>zUOJU4aK9-m?BxXHVV!+0WiSb@r~TexMatzd*>@?uO~SSO|23wTT;k6JOuq{T{mS!Bq}&UIo3z7_-J*?3Xhq~IxC zhFYydbRuT`igVqubI;x0X`EybY6S6x2sK1#E;xXyhF9i>bx=whc#q6&zNb}1<<4gz zZ!`$CXAiA4<|&4?)(X(wv?C8~NlbOBz!Kk8{Bb211g(l(*5)yGUf5q$&>7SzhN6!O zKlb%Q$&%@8Q~!vu3V;@9?Uwn%wN7R9kOo&-sVzYj#C|y@#gOw+jo&|)`?Hy6!|*OO;t@D|3xah0e}9CQDwVe z*2*GHIH)XR1Wta%-qAfkh5<)q;s&wLcqrk{LJm1-A$0OW=1PEUt62fX2W+YG2Mm+V zvFITqRNc0wn#(XBh@}~|4CW>3MvOjJ%aR7bYA6`}h%!Z)1iHDYSfsoOxi&+CWudBK z(YQHgbj8F6o-g(XOCse9R_>p;*$Cct{q?trZ(TjHe?@-Ca0S97UG5I_ zKj!)(IZ9lfn`o{+9RQdyvo;_jwJMF(a+ivc3B?>t$X0Uc!a?q}q5JeZoS~Ky& zX2VLh%v=NE0Sggefx#sGh&OK&?E+fCbj0Wgke0}kmd3C%D?v#{(Z09=ka7UJZl)l#ulvfSCO&O>_V-C z2t;xo9&2JlyOZp}+iO~R0J#C@YWH^;#-q-wprc7qd zEZQHf32*IRwqecUOOKAPoShk5RasrLV{+s6vEGqI2a8%-{Y|OCuJX=>kp-<~tv#uj zx3PI22; zYsuT6Ko<4kM6Rb@b0{uVwT7L?}a6UQJ8WCUelwBYjvAXuh`ntl7{IJTLX z#<5fKA}`|^1T3P!xCHVyaxz6FJb{}=pF%i<605tunEl1hc-B|%^Ta_R_lj9`^k>G0 z#Q~$iLA!bR-hS6LNCr-Y^VM ztjZZC4=tCJdLd9rN&n5HQ+p{nadaB#RBbj&I=xVwpD=!cpI3E=$-`Cl1Aia(Y`jaQ*R;;WBN322@H%PjhI&u1^@D#N!r#wrq~B$0Kh8uAiN;R0&@~z9 zuu;M-tMaNk2&II8aLCxz9S#D)rwg!*crMg~i2EQPNCGk{+x6%>EHWO7B-u016zG?! zo%UJDau4Due`W#*l0O~!A2?szSNTBGz(7++clV8+lFqtVXRNFYf9g6*Jh2SGJJGBI z&C7>7MONqV_5-U9Y;TG-1V{HRpWQziY={~L-|e4WzE8e;;}^2YaHsJ`=P>DE4dy=w zSsFOq10xl#eUMQoVHdjAkoTvrpA34);Qd-xmDU#J1 zg6K}n`Z?Ti)xJk|7P+3eq}JjZi~RTUcnHyH^+C3Di= zqVg0gGU6a*uAVB-3dQOnQL<&j!eteqicO369XYZuIoK92sP(NF+_1%XO$4)c9`0-_ z>KbDehw^A+pscO$@Xi3F#znB$M$q#bgqDNDFfBZ{(1*A*q<@)oS#rRE5%^vuWywhzf@6$V!wEpVkg0u4o);@S(oZ#lqh(*w8f8 zP*Kq^)HJI86@^B3&%EKz`pv|)fnaES-;$+!$3x+rXV09yQ~tryMoPX*{0J1~2W}BR z%nEaiA7)3K)l4$xEu)aWZ7fj9rj&1a21}7V2nf%@U{z%ulrYh?>o~bQ7LL*{jyR_- z2wT;lpkXr?E-Pj$bE6&3f5Qf4Vq#J$JTDXbh&3qxeo4i-8s45s6)-*&rs&k~1?d%m}E^X84OzMANbd%cOC#P=Bg{F{B7Htma5 zrn*8cwcV*o;}MKt2YOrp%XyBJbcE|hywAr7-pux4_dC<}Vf8F=BLdj&gryYDNnobz zABZ01lv$A4kLv0I0+vd1Y9T&I1*wZ8y#X5d| z?^AR8?!W0KPy54P`9+76qk$(z+~>%cZGjQG-0LwuX&V7QI+bn2#+xQ&8<62;{@>X~ z=mE^7h@()9(R0iZX(PdjD}YkE@gypwZKR&3pHq;)L5|WkQU&`uq*76H_PgpY@m7_T z?%1Wxdm(;)O>?EU)MSDxOC#$Mb)EN(m8TtA}WmT3ZyT$k+KPRt7 z3^;6r-$L;fSQAQ6O`FG+o4i`vNo+*eY)xg*WZFqMgUU|AQT~6~NlM%zx$OKzZDRMp z+8tZg?B2O_YE*rUq`K>Gi-m26AqdRj$Gf*0dQ2{tV)r;BP}&wtw1#XOPcm&K zoS}RybtR7}TZ!ZlHnE`=Gb|^JH73bzOWu56{pa&5N=vVnlB=Lqqa&tT+9y2T`8RoPOs?!2upsOnBCXN@V#DnwTx@qvzV z7)pAzMKvLwFpSb*s50;9hN%u#NopsZprT&tFSmly)Z`|?oxoL6L3%?!I@`{Ua|}xjA;!9XCGt;hV%+b7xob zfY92LzjhBHBDNYh?PSh>H3A5DA~$27aH2ezAFp+ktqSlXE+%8}m^$nm9(Zu|4f>m9V6lJ$c~Ambu+NKClKgaJ&-hSrbNrKJ%fXLmNmP#Y;iZM`xdd)eU7Lb zS=rFnxMHME;C4l0U&Bh=at1+1@G)>k;adlP+J$|0DQ2vYlGkbUd3%B~_*1&F$FbV_ zyxeFD6&g?C2P8ft>Lwd!1r}mMF2sgBPw#Iq29jcN@=W-K=l0QwdO!O)jX$rTpFUP= zE7m%Pxl3f^?`WQ5cicyV4i3?z@Jqd4l^KwFe>(u9ckmI!1YpvPtNyZ#&#m#PU>Pb)6@a5!} znv<_@BG?ACG*${Um)eu>v;?G#K=L;HH{%=#slW}Ui?|PrM9a_ckLlPot}a_j%ovj` zC4!M)St>S8(VsDDN`6**kVAf!m7XnC*$P|pe*e)IK1S*J>tBc9ET!j)>%(pK?IHz(!G18BA0A6ihZ-(TbQH&?!I5AtVR$;YdngMMMa6=nl-o3H} zonkCh{D+fAIh>Du%v1)BikoEePR58NLAhP$Viw9U3mg^BEzQ?50-e#|jh2p@F_!;T zPtQ$esw}6#IrFn$M@6G=LE~CWf4a(vG&w~EIy2=-cx&X5V~xJU$>d?-YaDHD9c!wnXc}vcbEddFOvh;GcIg(RM zlLNOU2^Eu~q=^I=he~y2=m1VY!P3vcH6f(|vV(v`!F)@A7Zqk8;lUK3$37?;$1cjN zDBiqs^TrpF_gB-^qKXS)eH2KjkiP9x40$RcJeV5(FvDH3Z>zWwwrAW3+W*-JXL|*ISi}9GDOAM7 zKL3pTzKU6x1D#dM??1o`enY|k4KzP)n}y8PqRGcLDy2!3m=ZSx9?}r4W3)IxsF6_( z(=i#=aQ$tvK3yDBn+^L;G3&<{LC2#+XZ}WpvsD)#mWC_l9xIOvb9w1;p&&S(jU$BJ zuCL>TP20O(d^@zNiL*J9GPm`M{dNlj4r3xEATA{FwZb`}=NxGU$Cz20C zqP>abQL0=#k%;9{|m0t=TZWsNvSUKwV$m&eow+DZLc$ zXH3ekV~y+f9N4ji^f&)3n)EYXNSCnElP*byR(sN=fi(-j~J&p);cpwlo+q6bF&KK zZG%O$$Lce(vciF#hjB_)pfOs`5vk}FjMQDNM#=$MaK;=cxEXU$2fxZ0pq!NJK?)cu z3(usS4Et?{y$0OUA{c7;$%kJV>qJYq!}mk zYy8u3GLPN{?5QXjVzowLb&hCd^vs3Qg5Snyf(Vv2Pg^vx_b)`xz|5s zTzV-meN}3P>RSu2!)q%>oQ?CJOe4O`czKg(8fb1JFuFbbCIK}&HpGfNElqD0Q!}|T z>+KxzMsP`iI)sI;Wpp*BdjvI?v||9B+JN#-+a*(J0p)n|q`Is#N5GjkKK7Wn^|8l{ z4H5SjBCL`M{Hur=;$KC~+(-0VaPAihPWENPQB_aF@6~V>VZ-(zKu{lya17(^SOs3J zf*MBNWNUfdoJUR4HjQT#p3jhIoHRaPqT$Sz1Ah!#rbW{*Pb{^wQGUKS^R^*<-sDj`G(%WF>NK?*CS#qWpckC(DrySV( zyKUS=Su=E#OOat8U_Y|!^3Y}%06f2zMg>(0R`Fs}?oP?EDf^-AZ)OZujK2HURz&FKGfA!_6x54fv@1k5k8?u|8~xD@%Sgs9fzqG(hw&8mJMoWEtbI<(OqS zkJh^xqGnI!Wa5`NBXQlj=>xw^h`n+S-C55(^URW^OP7dT<8PR}%FYEyNKvsOqreGF zQ`EN8<>!AsdrpB`&YmqvkQgw3ayZQ0Q?qAE-PQ=uae9HL5`X^H*Ajo06NZRoNBkQ0 z4`P(^AO11|LdUh?`94e`e4Q=`8mgKT1CqHtW#nDkvuVqHrkKm94aL`avLl_iN+PV0 zn9f$Y))LWHJtB|R&i$f=rzr4+^WQ$cb*tFTvlOJPM|m%D{_fJ!-RBE;9uHE$-e<++ zxsRaRlvyu?4~M23X;Dbe#LZxNcHigAtg7}ghtAr^yoQv-k(R(rXS2?^qkz$}ZLdRI z)knN;n1~h1b6V5Rb8Q>{J=u+KayYZ zd?oQs(4NsCem3{Uw;lZ`bzMN+HJz(vFa#}1*!{@Zk2RZ<9b^8glB-xbE(g8hm40IO zj(Nt}*o$-rrS>R-*Iui8dCfJ6P{{0QNXiatAO|f1&b+Q`XrN24ppvoAX#Q&V^-X1c z5A|=XVKRqYSGK&PY@{rjDlb~eLrM;&yx;}pQMyMlMGqq1v87f~l26Rs>Ath^KOSwm z-Fr zN0?a6u*6U*d&?$9CLR@^{Dix-IuSr{B4$}duW^>!)GXsK`HDIVf;J@@kC>Hsp^Q~7 zbgietnXa+?^L@z{BFv44!UB~STWFBcpxAnP6BjZV^p@BcRruoE8`oct9)Um0vk!Cd zhD?h%}km?NbX6wSwbo|7r9I@zvttB#iGY+Wnk40oqHLGGx@ zd1fAD{kyPTaLb6|#jO7j7z)i~qyU^GrYXQwO*w%)6M#}qr3}MRM`j`0(s@`G%~g;P zVXTs-Ssa_`JTxoq+|2ZYv(iq_40aJ$U6?}P05vNi599qM=6evRIorrS0M7m<-?szT zjUML8h9z#zTv-KYKD>fUmVoEQ(H?OGc>X)(_hsaej5p|$-+vhmNJR?13Iud|3#4u7 z{nspzH;T1!8C-PJ{fI6St|9a#1dm0r3ul4Mm!LHFv46w%Qz)*<(vw_=xXNjRhd3A3 zI2V|ci{X%%Uo7BH;pR@fBy%dojr4T2<7QMsRT3d>S1R6)+IfYnSBd$gY}k7XBcgu( z^W-_=Mo||t{t+>*6Bk8@qq9#QmNgq9JlB;cd^0`{T6Bc|YN}PItKkMs1zn>T1c!2< zYsv^hYdAems-O)+Jy7OX4lSUD7QoN~7+OFLtsOU`cu6MwDcszt-oQ7H8x}2O0UXk* zmDZWdm;wf%nfAwK@$|R6wH1Z%m~IFrIZ}7+y3UIZ-tdL<@~Z0>He5pAsqtl5hqJ8w z@Zn4U6Ewv517{u8^!lWvMG{etC%yhDX;Hy{pNEfuzcimvAuthD_>;KHaHBXGlbZWl z%sri^G}TfrFf}*jE~v1qi|`PrL(gR0T^TtT^Izoj0_iHd@DHJ`)taF81bz7-T~qgi zHWI#@v7Fjyc3icCp=aZJXZ!6kG0=rr!^ zi@M*nCAq~BpSCTz&5TbwdoV7e)80Hn?X~-XaT%Q^XJP=D2Bm5H>bI%tij$l3uN1PFzY(f-X;(l>v86=$|T-z z!~4HW%&7P=b3agUJFe`vBvGsVR?x0$|Dp|7H4@yz62r1K6=-@3Xqxr9YFxK6U|f0n z=UEPI3~MFV2K*Dtp-TIQ6ovK7l9sd_=9u}TV2oVZu%LoAYZPtPn6#;HBIuZoWkAhp zykQ^ZK_PsDJ{Z6pmg>IaD}$pvV#Uh$x5$C>2G}3c}}5por%HD(boPC|6T(%)D?u?3$FRT2{# z8jjYhia)u&wRL^-Kx)L^tY+Dn7E{8v-ioNul(@ZH(f9bz-6(wzuOkn~;nH>6_i51` zX%Q=9@H(=`Q@xISmg;qs*a@gze(-C!h0*wZ_dWmV)aIR!Xusxc5sBdJrfob=8!=b) zW@RunMC_#C`yP)Sn;0y9&J>%dHO?*}?J88IK^M;~KFHf*r5B7G9scs3#%3r%EWhM)}esEso#<(`x(#a2)2K%;>L#67C~ zq5Z3ULmrx^w+E*c$Pi6U$)$P>n=qsis4YgmNQUwyh(~IcjXXftb|Ko7O^N*o@nT4t zq1*jx1;f%@(JM)(=RN7`JGBqv>2dGC4Xkb?W>VT3cUe9b#8*+h)6RNNq}d6P)NFwIK1(){{@( zDoX*{WGTQwY8eYaxvSCIjDEiWXyg?7qkV?6B-6Md=k}VP7O+8a+r)@l_ZGB; zn(SE;-87mnG860?LcKQ|ZIDX9sj8wG%(QtfesbJOAn{u=?z}!8A+Hu$2H|fn|Tcpj$5jbIcUFc1#j&HWZ-%MqED5vcW&D=qGjdtJ=g! z=MnEnM`GmWn_F*I&FcEZSJWpHXEY>^Di21oa$3=g)+75jq8)K`R=TFhrM5P{PDNlk9m)G zym)wJi&~zzAKO%KOgy4yCvH#tKs0GI{AJM>KOmHFL^kYGSn+n2yA-&ncD_g7NKMk- z3~7QOO)QS$JM2Yq3vr3r>a%#b3=uvnQ&w~tY82RGLWqoNEi9@nGEAmXOx?v47TP@4 z3SWwAQR0J%ljcoHA;ORy$uYu^A3;=et#cjY(v$U^G>)2P~eK2Mk=&>w@&(ht?qyP zrClKVqRN^A?0yEEKvR%44u#I=I0lowipSRd0(#&?vL$dv+Ols8b>EIDDjkY|Rs!IE zRCW7X)#}#$HY9oZUO@g~fE%`mU~|FK6r7c`<0W z_12q{X3PX0DfFg;59wK?H-}zD_9%rCn7gO}Sk~-0i|~Ms8E#L8`3k(IwV^Vj({q-9 zA!B+c0(xuo1`XO@1HU5U#ftuO`EhM4Cbr(GF1yo<4Yh6hP<72O&sHB=zox7taV<9% zP5h;(?9@{e2Vy*jmeJX4SG994Ew<#5oYr$`3x&e7%t4TLE&wjTh}EG01-flqiea5s zd8m)dE$tC*W#qe@;wCsZ8vjAifL7h20QMtCbZY?rCjdWpMy+(tAScr6nyuB5rp^RQ z3NTpcgA3e7oQ-nK8iPCyF`_pBF(xM(IDRuj4G$QgW>kfT99>|ZftosGuKdd3 zFFscobCGr&#L-vvg9|S!`f|%owX#Mn7^+&CxUB|I+zKeZ16)>f?KrpMVql7eB8>$b zb|bjM;Vyu}1;JAB&@pxTJRQO`5e%4e8Tf1NAFvy_2j}RNsy_9d#L->ry1Tn)6xJ3k znmst!JN2`_S1ap>mki{`yE~fmC-=|qXIVv?(1`_+FNp)TB|3PRX6r^w{~LZ zwVt*abK|jStgfpqFWy#zG4oaQ%R@pPCETfk!7SWiNN)&Kl-9C<>f=v5gvIUk-ko==l_%BV80NRCPf{lx zL63Y7J#rTylwAjkQsTqXRW-d*o(}mVm|qG0$Hh(a`3IY0qDng!(vZ-F#Cz+X zeqO7DeA=d|o@#;*p0vLf3zFwKxl#$(JMn~Wt<-OH9wYin;_GB~)T zxxH=L@@3PfPMyxHe_)^=ms&cfcS_fUoPz1~-7{u%*H16Vnb0+*cg~aTO?gf2@@M~) z*8J8f@(0vHK7AW7Q3+lESyS#)3%woz#TXYxz=MpNM<|~D3r!)2>oJSCihu`ANd-vt zZk3A5Yvb6Lp`8S;+Z{=6-))9wqHe?T*^8IW8yvdCkc~SpnP`@LIYc#(nj?Qx-&5z0 zOKQeATt(cQ9>ok>CaDSi&+l7IyrK7UE%@V=nt7uLP0;>r5C%WPA;jbNBt};9l2MAmX0`vDT{PWk&VFpU4TzyV`}Vl1H&g8oB*momBuUt>e3ns zqe{z#Pv+w7a)C4#kU~4a_^LRDXsmiEyJS=wGfKu9)a%>{$nON?B;c3G!6g*jJGv8#k{1Z$>f#L-%4_jYl$O zs!?k>JXE*XM1xO3?^5=0xK5Fv2TDer(~^;L)AClccaQdXXOxU)$1Ag?Pr76@60zS% z$h^#gu{w~3`vVzCS|K024VW04WDIa%B%{QYhb7}ABSkVv#>wwQGX6PLFiz*awgFgdH@`!8&mJh`)DN?~nobW+Ep{@I;Vw*UN(>Py>eXVp%q zZ=YPBUs_*X(%%_h(DGrz`mdmkuZ!IYPimHZjRT#}a6*AqTazXDNP85xz8XGdz_0h~ zAr|e*EYWt8&B#$!VyX6?{<4WBovoccQ>ISsnA+Cf*3ey2SvJr@ zs%>k@Yiy~BPm0twPpphioYdRi)Sl->ro^ZAqxWt>FVKGDF_5q@8Qr8UOosjjr%;=@ zx}c55JBK#vxjIb+oU6lrQ)rWmR3G%3dq}$>xdxR~LK#b|u75yB^~LAI!c!l)=k_VH zXV-hzt9vKC^vCMer$6xo@csbsek-7B)KTbu445dRX>Rd!yw`$r>P0E^U`yW>{x;L%)cwORg5ZQNtqi?-ayHdv2`)yY)Skx7dH_n?i zYhGhK-nD2!cSlDzuioj?dvU3)GrL;bBRTn9wNs`|n^N1ApA%_s?V9<+mikD2i~PAI z-jv@Imp`DEJAv)%1G}=ww=0V<{sOx)Ezl*P7`<1cwku&(8a_k+iKZm(F{tgzie!^g zVj+^XgO`13nXSpE*b>clpIQv{d`;*@C`Y6x^r73-N#n9BtHx|sYM)TxjUAg^nL#w> z9YZogJl>(!jVc)fsDl{_tF4bsGQtm=Dj92h!H5xfH=y_z;Bqv{7(fx&Y>eO7C0=m&8V*pb+-fO|ygHe?#8I!R+ zF3CvTW)O^!i^3t+jX^GEhTF=;cW6^)m5X_!iA7-iLD0i3z_{3yS>$2>c{mi4eXIRW z9w(P+Qii0Wn&nGHVCY*IOXIOAgBrtqY^5TsO3}{AImhB{)qM5XHf5@}^%znyZ(Kr= zQW3bm9+)sTfY@^PAM8h(BkDu0oi zj-TY;)9X+F{g)#j58>DTo(;a=vwm;{p7gg8x?jH2Np;&_Q_B6f^K4v1cv*r+vw8sM zs0>uZc(}wz)_Wg$xH<83mwLY7rCxgU>xzfB0~{{GF`ksDX;aQ)+5O;%A9RE7a7)Qz)g<`Dg4QSr4lz#vP2z*(L`7 zsKV@WP8UFl;k4lataxdUG^$AZ;n-RI>MZre#06)m{_L2m zSOe^5cn~Gx09CB$PC6|mZT2=;^#q<7!5KI)1Z)hnmtwCH^>VmmH%}@)`hpwR6%)6g zzz)0IJ27KjX+Dl%o&2=v3vp1*Ks&-e!MBiTba0WqB?K2T5+vHz%QKl=YS?m znW5gqe#q!t_9iXzc9e+5M?hO{eM%u}11phIS&6{86>y%c;VceXjz}Xs6AJ08io^yK zAdSJ=Zysck0w&=~{4e#XB)Hi=oCpUvO_^KMF6oa7ZB@mH7XK6RHr4EJE)D&H?nyZmD5qr#A&NymKVY&%wYBn{2Zjx*IWs{nqYm$20g2Y5!4>Xd> zkvG7r9)d)C6B@`zpo{z!qw1TYjU@esXYw1~;RvEEAdjmdwZ(vNI#`_p@UA7x0*p*@ zxQM_878QtvKWbL@ps>C_YWR$R(9k`op|u#%{QDqkgseb3lCIHAL#KH|f>k~~|JF1g z(}N()%G0aU!$5smLnR=dmH3ptW9xIA4tI_FIr#I?`bOiSLF>uqs%1oInZY9_xp!ne zSSdC%mKhgabB;8we%9)#J*#FlG}TRA*t%wm21F0{r)Qiv*wiqvrq}a2mrSkx*yg8A z^>oj7U{5tuyBpL#5w+`)Zfl35n|n2)atnv9{jk)&WlihCsdY^avsU#?T|KKlsrJnu ztDd@~)AM@Q3^X(io;V|@z0z5ao$Fk{@CQV<~@sw_v(on4)8d}{{)3ans$KswE4HHUEs#OKGl2gP4<65T5vD|EJ zRZAXL91KDx1QPbFr#hC+sH>ZSno+%}cD>-Dre|@-lqEeiO|0Ipbt3kUT!QgFlRLbY zLOq)m8t=xu3VgQV&`k!%Lqfs3T#8&Pa`)p9bHu!h_0@-?w6(<6yI)(V2Vx~&l|6nO z1VbGM(%hYS&2lxTalwqHw&TuNyy%SM+9yq0&{EMjx4SmJXw&RDn-;ay^$a%6bvjzhEn!os*4^5xG{+z`F8;+Y_S5-T(e8|E%Oan|6rHQn8-&lsF};*x>ds=E2dZ5UX5&id)oKXlIG`I}Y_*3Sf5 z95wPQRp5SBt%a|-7$emKoLYPEAX{48uOB^KtsTPH9{H7X1n&*|?@dU1Z+I8pQw51{ zsI}PX$8)MUOM-(?NgHfGwri*M#Qi1;hK9U*{`N9?#u2a z^bqijcvd+Vnz4!sLHxN$xf@76E(Y~8(zOI>F+D7dTQnDA7}+oSKX=~qXX0PZ?au=e z^wBTSM;E_`kgx~Bkf6u)e-@B$JqI`{(EH2$-Y;c*ncdlkVaW(hIi%AqZ>;l1{MLmnUyzy%9P|!o5puK*- zRXC?|5o@Ih#AGu`L*boOZ1XELE#(O^M0Ch_@@r2^$1`bexG3sQ=5g+r?_3al0X!WCL9tQRFb3lCpzc$2DF8C zQy0ewQp1VELm-Z$*BNdoTr=~xy8lzZ9o}^mF%`lY$55|6EBc7qlX!iXuGW4z4D4ot z*w&i#rBn(oPwtHoCSQh5ulCSZ8hutaP;YNh!$XO~YVFbW?l!<{zBRR`eQRs=fF=Li z;iEI$<@Vd*G1t3iSK{^LdWSLkGQ*r&uY7CkMR!5^LHfwISST!$;Iv#!dyN+XwnG&} z&yea)?Dp|QkdFa+-wv!Z*(if@yY5Rg?qQ`A|JEaKA=PXSSfP8KJ5ciY`#J$fap}p$S zB&^ci_P3YWf0|cjC?nUjD}rJ(mx0Eh4B$q};MmA_Km#GKIN=~&(FMXXKoOA7JZBla zm+%Ng1-n`dNJrNny)NM3eu*hmm0TiY*K%x$ej8haFO#amGJz!uzQ>5Gf?cMV5Uw;- z-AU~X2ihZAk}EnVz_6rZ&jFO7vBDZOWreVZ1r?#Trj&|d&gFY%@>;5yAl3L)B)48@ zElH|L>szU*`jnDV2Ui+Tz=XDe7|d6rz;?CnYtaR;lq+jVnB8NzA&qN>V>7gnMx1oF z`*m;-3Tv=6zpq6z$#<5fW7Vw3Oq(y1pj0lu1kXY>wC0HoU6H9u4GRxNWy3A3&B}LE z8)Buf>@;atP~$NOYBSY`I#t)Cq$VuEF*-!IC|hh+3mL{Xkv8OH&;~}sloX7kA4bCz z6{0ZgYey~d7`T63DEfWC{T_%4sq8(+eSv74)WhCY+-u+i+#5Y9;>ak?ID!JY2|`Rb zq)4H95OAqBycy7GR5u+OBKJ6|j4p-M@abc~P^FN3m(ayYuj{b2Bo0G+A}_dZ zsKw|{B41^+MN;TLU@nH+ga-s;BFG->Xwzdr*Vb>^l-SKNfL7hVE2*~8u$I;?85Fvv zj93%SX7os-E4&+hQULAdz3&s&l6W1O<@?enQrp=a8}C)07_0?-V)VB{u5q+8*>(md zOio!SnY(%wTA>;6S1O8HZpe^Hk{yt1g&a3oYD=T9lyOrKh`bE->26Ar9#S7(Vh)AN$tgAp3=gF z0vXP-3TP&b=zz=Xp48mFD3x9jZb0Qw+k-xTVfC8t8!k}H^K2Pf5UxL4+XH}1w1*7T z2_ilTR*?uF9}$R7@YSy&0Ath*npj5N6U#&-guvmYz!4~SM%tNb131EnVW6;9xG8Kc zLb&CgOn&PQF$S$DBgWRVR+hjq8dnUe4H$`)xW^h*qm1D!qiX!MQD+I^IM9rIj{olR zV4*Ipg^Bv|e(>O+&TKpwbK4;~W4#=ZAs};Fxb#4ChNl2&SbGVNSnA;69&?>l&@PM3 zd;)5KMIg33TnkdnD02sT&S*0H+pG5ORo%EaTZAwOXBBkHVlx+ztxRp(bBt@K^}JMi znRMl&OjR&)6;z2w#g9Lk641h_XMtqahn{*4`e2p~L&VJJxQ{0OgnyWCbDbk7Yj|8` z!4tyGjyMYk-?%Nxh4y?9mewADsxfKi$8=8U4uD(*4(ItY*R9!NgU za`j~B1KXyckJ&lqblW&#J2*77OV20fR?3_rm=bNkJ@9~_#E`a~j}8gu$I_vc!{CIy zX+OSbKZ=kZ#XOjD04vH}t37#1!IAw2Jk*z|T&}fqw_p_m7}3V})~uz%^y= z0bIhRxLLgpMdn0{$2}u*0X5bDm{~mwHTSd8Oq#PZ)ZMf{U)P4361#_XsqP~~fS=wN zHo^FvEM`JJqX_EYOs9vjq*o|f`yO5-V|DjitDB}hoe7vNJX+?q8mn9Fv6uweW~JSJ4Qu zk`IdSUoaD*nY^*l4DbWX8{{H03ZNOc^=O&U3~S<9JUdY6Oy?eZx)-ExQPP;{#-B3~c4J5fqt);R;f;mP0C{7Eeg>@r zUzCH4IZT!*!WFseUAO3x$HSF<8cZl|-t!o3z`=>Oy+bEM|4jij*OCxigyO7@C)o;}N@7 ztJ0hfT-!==?H234SQt|o=aguf+e6MrUd|V_v?xYO*~FL+y3Dntm@M$<7$}Mh z__alv3QmPyh2I!onBX;;-xzwLYcV2trPMHZMU5OYmU4AZvS#b0)JhWiPy`9^YUD_v z(-+V!@JenO;MI;tEk|@Kxv!niHNoeFZyvEeH!W0v+mK8V+~)YW)nh{!hKL&0Nz*!2 z?%FyDLoi6?_8ZLpHquj56UJ+WvyyvB>Btp85H({a zogc7favp{N5fTQpkiR1W7rm}~*zgJIY3Xa9UuZ$4iCT*)&6<2IM|!)0_I+tGH0%dP z`D*&k+z(t+PZ%_GJWf)~YAewgEo1)aJ~Bf<)4v|fdMG$KK4vKCqKNhU47XFOHiy%b zb>yHLrbGnOa@}*Nf84!?jedc zy)@@HI{R9n6)`L5F^O|SPnR0$rdQH5BQA1KRWW|IigI(>#tT-pw9G$kS=-R63pP$0 zYFl>N{KPjzyD*U~QeJpZd6dT)TFe_W8ZnA+(k|66C)r0;0l#l)VNv+}qf#!bK#?*6 zMGuk^ivtKtP$H}xlqw}6f>R1y;PyxR)Y=e)?nWO*#e*>X=o2ZiBq-6g*_0SX=&Lju zaiLMQHh|H)C-Ds*MidF^8_9DwdM9FRO7x|PXR&gVa-#~Nr|$IjqffMZC$4z&%@u$n z`70NV;Z_j7MTZ@95E|Iu=WgUzcdy9FT@m`G)PY4>WMQX1uC-1|F{?U|%JWeIHp8yU zNAKkW29=w5vt8w?-1fwq@`tzG>enk0&GIMFyh8mNf21#gDMlsXENW^&CZ;qTeI?PV zP+t+UqGNOTh3GWLib9q67TpuJ20v;wTmx-Gyk@FE-x>OnI9CjM8|UhRc*Ak7G-;#_ zjGz&}Kx!L;nSOGARv?kIcwfiOWQ(Mw?F*Zny1I=2nnTevf!)jaFdI984ef!gesWc|2dW+>3F)EqqkSWcS>Pa)*a;n0 zr~MZQumkZyVF!n2gaLI|{A1KgiwRj_dz0b8w3RMNN2$@K(y<}*4q2Hl*d>D}hEZA? zJbozzjTRr_LQdfEC~-7A!lREMeu5!6I(PzONOfc6(T`Dxkz@TZI47dn-FWmiym%h# zbD$k<92vq}jJ75MbhHU2Ki~TSd6#+XrIfNDspOrS1izG$oGVk_f&MG+T$!l0@2KvS zcPvbp3k_gWPh@-RiMO8iVRCn7dCT4T)^z_ZuQJP9UgewrJ$NfSu5@HLTUczzus`Zk za9e!z&o+`A@2iK7@xFQ}u^{~Z`Nw+y{KOUE_q&hvKFBNdzVqT}?}Mse#0!3FoxR6+ zdoNxH-d=T#w^!i>c^fnjsG--!PyG^>l zq#rQp@g_aZq@ObBmrT0Hq}Q4BTPD5Rq(3m}znSzuO!^y>{%>e@>e=4=)bDV;0zM^^ zyf1P=%8QO{I3y4L#0P&0J$Qo;-rxfYI+~wko9$ppJa&^?G?0cM4R8JmUd44@eFN)+s7)2e8dxf!Z!PoC&DzM$S43v>8UFlBzoo z9ibDi8EHGxKBPTJ=a~D2=6)H{Rd~Ju=?O?ToBNNMd(efm1J5r&dM?sS%>Cu&{wqkY z!SfrDUXS#f=Kgkb4?1z~#q)=eK7jO5bN__7e+KD`FfE>wZS-Hl-Jfxdl-;MGb1PV) zDr)Xy=Dr?j9M5}^b|CFH_k-qsG13)y{z0T`ke+PrPcipfk#5KH^O5dEdJ)p|k$%D4 zUxD;0+cu^zv*dHLJP*Gg zerIy%{ee(E7RqOP=iMqNTvr&*aJ}KWvb_@t!5nT&xSViZ+1?4)mF=DPvmAA(s6cA)fD>`H1llP2ws% z+bQqyXh1RjVY=u027kWq1jzRd{(RpFkgpAX7{>X&6CfYH2x=yr&Gsauv=p*FAF{s+ zsfV=A+&3d_$9*5t9;9>3{X%oU4CyL7-+=T4q?^tC$ILzTmmPS10n&4kUSjSqH}_vb zdJUf6i1d1--!%8Pn|tar_u~1(NFPA@sJVZ_+&_c#IXr&}>5EAJWbXfL?%zN<0@+^( z9UvEJ)ZE9+eLd1Rp7$c{K-zEa2hIIrq$}|JgGkpPJ=xr!V(zyh-HzwyBi)JgB6I%* zbAJWWtML45NUueDlexdu+~0xp*|Pl#F+i`SYcqG_i^uTBexy&zn_+E6Yd5dp`3v~{ zFMro={{Pi(ZtiVq>E-oET1Ks~;?)=Len$PfeLXR3bAAb*x8DV7MDStMzCO+mSK9CV zYSeD~DDjG|F{sB^eLipB@;?k}_96AZ3qV#rr0>^<-aWc2EWmy`m`#iM`}=~UZ1|B` zDzDPank3KFG2TEk4%V3TAoSVt+1%^LCtSfegf~E2kM#_DACEoQ^_~**QIT zW8V+W(%KouVD84B&tv&^wkONHnV#zj&Hv&3Tqn-ib$|BX&Vgb{v6%yPv2zvS)3Zf- zR+D95&fCXA#OYvsl8sQ$DdRM*#1e$|l7U22*eeDlb-1><79=gIZFwDMsmut#qLz*p)y!aeS%)j{`h zYzlZK5oUG}nz153(2rwGB6PaOVHY3w(Go?1O&t{sK;mfbe6HJ9a&xqGNIYa?P z=J!@JaFK_W-*086*9BHY4AJLgfPeFL#PwX>o*R#jip+z@T)4YKZMN=k|g8!I|Z z!dBhpUW@ZK??#t>l>KHn1axGc$9f1)q_d_m!yYNqPja2z$n3*~Q<6A5%+JI2XMV6q zer6D24uVLzVBj`2A@NuD?gr3$#JyOZ;QkaHh6okMuG(URM=n2Lv{XwQjtOG3aCT&# z>aL7ND{;9OmlYQlm&qUSf;-$x)$Q(2P)?n597BaCIrTEk3c(Aa903u6*CntUvMR$f zY0Yn#!P(Uepu;??gk@Gi&8$eOx-aSO$;z^_%8IhGn{ibj?_OF~R8Ulw@&}Op%so-P z;vNMOBF;srYfUgVL8N+YXetMQ>j0^sdxy?M5TE8?n?<~b%Oj=_>0c_)5suS@YZ|Ua zxQ@rQ1=ldHi*fD7mA}(OwX|ac*Y<(fuVQC5_Tq9+EWRQ7Pq@$z69DDa0_ECJTn<4) zZBL*O0f=xQgD_iU7UEim>l9o&aOD!P?;<0wUL_fHA1YK$)n_(IZJ@M+sA-+8DV5R~ z5MpYQ3~TaG6OrPfCJ!}vwkGrHRd}K{qqnfN>A|KmtKFBQHxvU3=WFg}^?>^thSN7l z(^$a-iXgsogcltmGbYSsHdAUd>ulyan|W1duxU6l{GbWfG+c{t9gk}Zu3=mk&1p!BS+Twskhst1}Uyncv{%Ra_tu&sB&U;S>u#g zZLGMqsnb2BGCsYbu&1&%8fk3rDQuV?uLMM2bvLOWyMI9>YZDU~7A+AOBAi?kD8(SblR-=LRy@z8Y;tG}q?|s0L=G)BljX_h&Jm*iE?$kTt&O6llH9;5 zeXpwA{vJQ}C&@I$HtoO* zLQ+@R%sQLlKCHq}us7$?x{@w;I!k+Tq#wa45%l9sMuq!(9+x5ZrSkd3WYU#j(v{#? z2t@;Kih;)n@B=actp%+#v2z;F3gR#&2FikSXxkCQt6D0jGW6XBWBGI$wmY5b?h6KYQN2*lB|tk9hy;KfBbu)VUZkIf9U3`|a1=6P=%c z`$xQc{bw)W*~jJCeg3nr;aRIZ+wVUcb~ihFz|SMz{h?>4;n^E_cEEpjj(du;8=NNM z{lI^A6UsXk<1pg=P(MR7=l9)p&PMkYjLkSGeFCYX7dC`Y1y2qqffq^#k_GrD6t)k< zS6^CQR$AE=JMMD#mC~a8`i8}YpCM-c;2!TR2bD&=2W`!;)}}jiL4^_T$0L;C=);jm z)E}JL?k7=46S)9;&YXi=!&A3Bj3qenKs}IZm3fTp?(dr&tz30{lUrI|QM-e6-80hf zoDO=7cn|q4dVXYw(>ih&w4h>?8^O6U5X*qQDoJ&r=7Q_$KvyA550B(J)gupJv_uFK zH2esLQ&rELNlW2c92wb;`l9$3@g6qyxg$H=4bIix*-%I6i|1Fsq0hB7KO=*n@>)sT z%P?%J-@>qksdhD!Wyd<2nmUk_)HZj zYV{zY8akWnLbVpxHg{dwcxKGqP#zE0+EStNs7}~gPeofB;jbROt&`A!4WOJV5guu+ z4wF&_IJSS@P}gM{peZOVDgeC|eTJAg1Ngt*+W?rlpd5`36Zhk#a$AYC7O*t|w)?^V zo199p{)_H&>S=6Lf`zxqFCFHW3-5C}Xkw(bVj!@pe4_(KRbGY`byT((E32$!S}331 zzB^!RL5nW$v?uZL94U4F8tU)hdXXg3 zPuAflfXsejM#C*8b$UZrv@;c+f72S&h5(Qt2Ssjd*zo{MDt0gmMg{0I z7!D_;K;wNBgJDeoK#-FWvfg=F`l-N~3fu@swT#pORwe)&d4Pmz0aQosDZryiO;2eJ z_yTmwvqlMKUwqPNknYGfceQh!w-eZ}h3cI|1*uv!JTIcpQ2x?lMh#N>LaQ?R9H{cL z=;fD3FRQHY6fQKeqp`7LBGty`PWSP%%eQSSKfAuXX=;68_vG5z$=!wZQ=4$&_eiC? z9+W_u%+OZy@AS4};|OUhxexxQw*N9vyj!_gtUK%&5& zY|o7jI~NCWd;;&Ic(|gnHXnU8eh-%y&*0(m7OFeF%|J8uXiD}w(1xa=E^e#{(5#(S z$0HSQ3)rl76dhs)jNZ{K#k#V*%?-eaig=ys1n`7nuFUs+St6Bled`;BZLW0WBD~_F zEO@%Wo{}Yl@8$A3lf7JCx4Iqr7QI~X)1-O1j0SKBMT2s}^*}G%B2RUNcu|;xl~iC2 zqm0i~UzgV%sE$ESd|hv;SG-$+rHFG`c3)Qphn69jT;HQ)9Exbj&c!uZU0eImraN&x zh>NZM4X#&l6=idIy#_ae?F7+2FII=K za?pKCt+O>H(;oF@5*0e=M>;c#&uhfKstFOj20=ofm$%pYyu65dz`FqqZ(Yb&lq4%r z)91BMirCJ9;+Ug-M~942?;g@Dd{hUOcY|?I!9V2{q0XC8C)P{*el|n*>wuh7aG^gV zsMo;)2RR2by#>3eh(Bk;EP56&YCsKa!WP4tW0rzJocRR6mmbJVfl{a};^` z85~9Ezpr}5>c{B6s52|wQv@I^cQC_l3!V();_x1a|Hv!OCnq7vMtLT7@c`3&6YH zcLBgk^ptaTPPJIX{U~1~xlfgT5ACyEwM8;-*GBeKRvY;p!7*N|*;84qW`Uy+*lvVx z7pfU`wL|b_3ZeGe%s!jhBANYgYtd&g0g7B^^v6;?32S_#c})fbG^fxiwf{2}Qqd>@ z<@Gr{y{Zc_X7@SO8cHl@<#6idd0NcuvzaZD*$*3#P*UY=1J9(1qg69sz450g$%iO( z_e15RDq4kh^1wQ%H&8uA{Q8Qeox!6q9Z79xHg)s-46XLQW36bL-jUvVX!l;Tb4gAO zMltQ{d1$}b*ZvUQXUFOm$yj~=-Lkm7vq!VI0o&C%rI0POxCxtB+=rlGm@YAyE%M~O zvBAAhYw45S27h}Pe7CIfoC%{^D>Zn6YwV-Z-?c0+B_E`H=fUR_NRR|b4W6p zzO$RP;%w12Wypk=&b1~y?B;Fm>&|sKb?DDpXT7Dg9hShTj+h~5GATruYUk_OGZ4i) zvGcw2Mzix1pg)d{cZ$8Y;}npNwN3%?uq2!(a*DuB%dsk&UIFgIlLHx&!(ED_6d$^)tEhGGy5c?y#!%D!rS#5s7F+^)CEhB3uo8 literal 0 HcmV?d00001 diff --git a/docs/public/fonts/IBMPlexMono/IBMPlexMono-ExtraLightItalic.ttf b/docs/public/fonts/IBMPlexMono/IBMPlexMono-ExtraLightItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ea13f86de7588febdaca154a2fb8158fdabc4447 GIT binary patch literal 142780 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

ux_m6G%bdx|~E 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%0DH+7?u>6nO4!-nH^wBvjqBf6xkBf z%#Kkhd~VAse{;O&d7zn|_Y~$8C8yX&oADgKNh`Xe1W=@ z1)xvTVVL|di~rF3hk10I9th@pbe~^COK_x?G-*`TI8C!R+cc3kyi+e|hVxIl`WmN7 z)exK<$@7Qa4NLHB*m*EH{z#4-m~Tapqa2bW4d~{1$l7uWU+8N{cX#p45~(y*!fYhORjhm{JxR7~%}@53Dd$H}l4n z*vQoU7}L}l<}{OG)VQJTBLdHh%#JUKvACF^@Bi^7FfHJL#CiFHwEzu&L>KFj|FFI6 zL(|2Fc~&%!epkL?4|wINV!8mOOqwK=w(Nd^lD}$}PhXs_{J#dMk3X zG=cJ=>ddl>e1Jt3FyW2ApDXLg8{d9#Nd9LJQ*lmJcRR z8(Yp}vXer|tRMR6w~9vmU1(9}ye@B7*(g6B%~fzwrWl+)wr*Oe!8ba!FeQKD$czSO zak77SKxY0CUSlgr4iC;w`wX(#3>{aG-=WQ+)3TIfWK*rd9{fB6$D9J}2@zpn(?6Itg>{obG zC0XfIf&V#|l;y5ZC}0sIu^=x{teY45Sx_D?v8!EI9@p-^tE8ngF~4PH&qqCs|k`Qg~*MPD1|sOA}1FesC=PhXB0^i z!Q6uk9wU;$!b>J`5JbByew$BlO12}lZ6<`Xey+E0=GE9N{-Fj@TAf~&mtge2H1I&# zxcM=;DdDHCJw`@TM@}zpk0}TmKO>=_BDJ`BXfx42YgiK2d32qd{z|2JsGtrvJr!yf z<{^u+9#KK|Eq*{;5`)v>0R81{KHGgmCpQtAJzmZM^vzO^F~jKRZJL86Ess?uDL(DVF)wk@V9eXCr=8C z&Pob9huf<7n*n}|G@NswXXvd*X7IL?-v?tZzwrH`eM3u0vYK)EC!q6TE;@w3pCt2w z?k{ud2m(&?2%VB z(Pc#tFcpvkKja#MoyeK*gR+J^5OTpw(%?-ePb6TI!nrTg_l-8+jPj+_pWT> za}Et%#d{77-3(&9$X!xOJ#(z%|K~a84%^ZX$bA80M4AV@gTCG4R<1f*Ud4>Vw}Xhc zBd-SuS*6l`f9MtT#DV?A8cSY5l4RX0NE{npU+GBB@P|G@!-Baud8nH+O3&w(PMQ}U zVbIE|Rc=}{kiT$o_k<#M-f;5b{+QgbhGusT*lG1@fD8m+QJqQ)5q=m+su^OOX?SJ* z3mK!8kE_)y5UUrhSv3F2JF8?*8a!B6VfqYPH$^LdZEab#bgRAcZkRGg%~7~T49;v^ zwsz=kzPz{~Jv=HmN78nzTv;p#`+}6l(vLbx_+kNH>M(rA`9wTg;!&J&;7o`a@^lWz z?is|w608ge3Mj}2oaAeP1t+^Upbo$8q;mmYAZ)G3(vh4{2P4`aa^$p_l;G*pC%U;3 z5R+Lt-rf+@l|M2xE++b{WBBuMT;!>KCoXjJD7T|)?u62S#oCOF@{pJi-|yXAa_3&$ z3W5Q&jLe~UmLNeU4`%Q%H3Y4v!pojk?DI@j@1-RUO}XqP4(ub9O8P%e>VHgP5JNYX z9GI(;lfE=Dq}8e$s@mz3iJ42gPHkJ&zui%%b2E?F*}K|z=yje~Z?j8=4&e_`au$dA zG6vQ{0qNQdtmZ`+-K}@jrpTjayjL3RBLEy+jcN}>VQxWt^Z-7xOQ}0w^(+I=GBJyf z_305e5%e=0&V!Xl@Qwoe{m0jAS2yVhZL z`LdC;gzNF4ZcL9`Qx)4JmwZ5WvJGK#leUB+qE(b%);qcPOOwbniT=YEiv9+v$0?eM zEYK8IPc!7`vu|~>?V+a%GxAg@Zz_f*pD&4h1dc+7L!+Ram2HJR^j9@LJ_a5Tmv6CE zq(}IVnOqxWE}mYus4dWU6twiRgsjA9|M=Xb(8Q974!(J)x4FM5ebzMdlpOpe1CGC# z$?%IwBwn?2`8O7-+75dl^@swdGRT4zG=bCq{P|hU`Ds2UUO#Q<34n3S(2w}xwArMc zx!mim#h77i6~#)0vj{I~J5H~uiSfr{9(UFuLwTW3@H;k2cThMfh5wQbM5}!$fe8}& z%4JS^AF($r9NCx=<#)@RC_l&Crn^oI@w*mKuR6%L4K?rM7ay+Yw++n%>_@%@z0P#Q zZa4<^<5p;OI_81>IDdji572@iBBwp65r5?qN6?tER7m}Y0d`AT5l@4)!Zk+>;>v9 zSrI84O5CQR8`OsAPi=^jIhC>8uEgC>naP%9v8?n%bROH@`Ng%9&}Z4~$POFgLUXg78)L z%7ofhzD5iT{g9U3KGo6Qm>-#%8&epS8XMeH8ypr?Qkfd(k3WSBYU4W<{LZBw+y(8P zhN)d3!Ap}m&5hk(%w~GYPigTqijoGd*t-DN5IoTxo@uBHml*0hL{Z|v*}6OjlEIsL z+&&~tp1RWqIb3U>KXUE~WlKjdm^?bp$J{!4%Dl`m^Ic0A4P|L9W0Fg4nI^x`#+v*I73uZ0BZ9*N z9VIH`(<|-aAq6)53hAVshz(Sv&_kTT#}7**H1h zkHkO#=o>yW(M5hcrb|SQ^h5_hb5Y2wzD$(Lx>yJ|owDN{5F%dI;UfpxjusKKd^(8D zuikDDKOC+1Lg$twSNI&oORkK*5e|1KW){5MBwdK8M{pDb2^NdozN*#b)~u1aQDM1_ zWigS7w%VMA*^ArOg*BJhWAc*nN@9GB=3JYpv^1bCEk7;?!?w#vs-!$3f?3rrM%;uVQY#cgTQ+)BJmNU8%n^w9MIiN!>%p{djBX^`$jP^(L+{to5qlT&4Ysmnx4^_!9ou`z)re24GjR_-Reo{| z#8s`GAHr!Zk3NV-+4T1(fHnG}AFw6B=r;>k6F%Dv7?rurwi)qhHSnFor_%W}g(E0< zl)wZ1NchVIRw_O&W zKX-QFlCy8!n~4+_JABQx#lPR^7+Klbdt@!&9gq4V)#J;d(IYGG@wT;vUEPcMrsEBD z!LH_Ws#`)elT+iqP-O*=<0_>JE(gRS@QovX^BayTb-Vrz_2gdVnUf!q zzhQ?6D7(uL?o#D%d{lZh9zOX;WtZ&+@aqH(w^F;^T%c6XDy6HA*)o=-bw!D{s;V=U zl0#*A#XviRIDQZMcBhc}fdS1K2w6TRJ5PrXr_Ej%<9rX4byk+kP; z_{Z5>iqGLHJX>A`aSHP)=rRAO@*!k)+ik6-S0M+`Ob66tK#hijM9K85^xzA@;&Z&S zf5+jU)TeM~TR&lgcDHp8E{!{T8t`xG*HkTcW~sE6*JQBomf0gWpwi+wd=q=>KC1lk zfBnsK@pR&wxR+NekHTNcd)a;)?`8Y-xD~+P1^8J4zC*xw5dQy+y)3YI!gdR;zU#xp z-Y(la#8vLLjiA5$llVO`2S{J!x+eZP56Ey!Pbnc+NZGiz`k9*l^V*S5t$%9#uDkgA z_u-qL*T2aWa?3X>@XaX&=^i!8egEgR?fC9hciq*8@8WqDv4c`xc@lTB=YzbHJ=kx6 z&)EZbBj9P<-jmnj-YRT+&m_P9{K*y0JFLu*t&eJ*%qo=*unJ?aRgrkI*dna|18Y^bmBww&U&l6A;jwY$oerPAnc-_^ccdSA~d72o<+@z4K#%5AB( zo|BWx4}qIjSc=o+UwVZrIYCn3Mwf*h&JD&&H1+B*OupX($m}@PM%k&VKg;jh;KAg?w z#KYC&;b>8k8tD;0k33QG`~@Y-{6YWHD!_d16#Gw zYFF;me`LUG`4Q#z-T!pk6~?dhpK1A(58_Ey@GCA`rX<>+2#z7uB6u$~(xPt&ix9aT zjLm=Wb|vWf{!Nd1-eQ0K#LF*D@UA_$>(7eoB}=a7!u3?BVyKP8wOEJ2;#@{4Vj|kF zeD?O@bGX>|z3NLZUq4}Yi>qCVyPLt)=4d&#Yc`w>i$S|PdR01b9p(XaXf|2^zarC= z2Qf-jo6CZVp(ac*IiMe^aLD07d~u*ZEwyLBn0!u+u0bZZx#~rZo2V-&xK1Qc1B5>G z{)R?xxb}iGJ!ekO1*;kr)#-E=I_~v+5p64!8jm+PIhE~6H3wT=)nD+uCE09u`6Eru z9nmH)3VmnCGnsH(uq);8)VD|CJrl8xkjEa5`s=z{vSS{HGaGO3kJNW()&&l_fYB4c z!2)qG0fxIIc{=5)zyqFbPT-&(PN_Me*46_D%yGsU28MGt(O z@xZXYeAwh=2x<6OT>>qGLj%MPG!Q!zVw6i?2?-Sr6A87IIubno8f@Y41&{g?@Zhcm z9x`oZctDxgE8xLX-`H9&G0_BS*bYnx4a3j}sTN4-7D7;`NqJ#Yu?7VB^7Wv``+>XT z`Zp|+U;l>FUZ_*9{rc3`RMN^78kWzlaxtIFB7EJ_ebo|F&8|kBP0~$*m`?NM@wQ#q-2mTg4(FdLnKkBT$;a5Re}SQKQpyhg;>}fq`sC zi+j^RHW;q;I5sI!F%MOL*Fu7T`Z6@hqj?Ek|C#YPDt&S0VSlyiS`%6sMQbA$Vj@YS171e<&n_Hes#aP6o2K3)7dKWq*) zhQ-*}*nFB3jc*tS;4P1Uw|rRVEvMr~&{Q9}eg1aITCg{}alXqI<8snDi_m(>ksRO_ z&~$8e*xxX3yu!q3ADc9o+Dx|6WH$zJu_yx>6w_%S#e8avsEdHUnu+lSja5nz(r|tfie+RkY#lGa{s~$cE2;;wQ<3?@hqh7JC%Ld zd+h7LWfD<<38jTRZqha-usH$b5Stvyr8yQ1u56vxh|L3}r4i(0hAB92I@dT;ZTlcV z|AN=Ucs+{O6L`IVSH&4KPAuXy=p`-NZ14<)*|t1I9DGne$n$_1xjb39f+YoM+oZU` zAZFGke!4^ZX@vT7GcI)YkX>1B#Av@9fN30T#fu-nzN>u!#8G&z;}M5VGX)H#;StPI8EI2`Sm9t!w9{qx!|@L*FzDC$~U zj5Inb)H){e+qNkm!5(W2bT^XUIW?P01{B@K%xO8braUc6c(Hns?Ra{wSXrIwp)3V0 zFhPf@I2>y+%AOJr*y<<=i3YYjsw;@Tc5!ILt~8QeZc6WV|H8dHeN)e5r+xQSPp;nQ zIKSUfU9WuPnVz0!l+evL7oWLd#|J*J;|4saogvCg%e_hrkO`- z1Knzs@nSx844A7C&x>S0iGfG;gAa-WPM4Jzw#tVqCu^9?+C#!Pr}Cmqx1x}^xp%Qk z8{^r6%cFLr<)EBVpXzVRZyk&3<6wX1c%=t{5q;#dd`h_tyBm_*#OYD8K~^T^LVo3E zIegkXZ+V3~7j=%J5DWLb+CJJDYUy3bXk)smtIeP53U}hKa#?+PG?88?MD%g0F4i6H zLPZ-Y=}2AZSf!37T&ebe8W$cAWj>#VZ%%EadycoA*)WTJ+mE1~1>$ zAEOd_^&Z?ht}|>KLi7f{Ynz`bmNHiWSEPRe^_EDF>w2_)-NWO6W^)) z-l5UML){-+7@vOp@#*RLk7e%Rwa!DO{Rn)mBKwO?G#J0p?@o&no85S{TwSx^UbDzV ze*q@rB6AY!nQ3({tOok^nEe$(N+ik)L~-&LF8Z?f%gOoFmpxy;=n?g8Q%^iGbpl)L zDz>P0Cv{w#PB7)a+FeAmqE2@wH2&O%@u%MtjV767!-P36?vA#l4*ZrIPMYBInnE|NP zKAG&(%=y*GL<{zc+!y$Av?g+PA+2Z!@`1gA@Ew4$e%^dEKOT)Nm!)!KuJw3CKB0Kg z^)BXxbK{EN`g-r%dT#Rm{mQ1_Zc^^vv|_yd;q;rQe~6;IW8wg_HKQc4pC=^)A_l;# z=%;!L-3Y3N8fH(U&QJNvn;kEXD%E>#$L_Yu zQ89R`5N2d9II}Zt2s@%Tl9*N)T9xdnLf*rIc^c;^M#1w#QD_h~?K=moZ@!j_#=93514s552fV*I>>i)MYV+FCmi)-$m~S_3 zm-k2PlH65{BzIB3B+1?NtN7QwUyrYdzmxxW_W$C4UQ?-6lgf5{|I|nz2-k=N&Uuyp z^eVNpv-mAGqs*&EaThi8NI4*a{Bpwaqwt*{$FACfeiHJ#ea;YC=ZHahQ|Wu)yMW!s2eFqheOVUouH-K+-Z#_BIm^ez z!ofzHTI82=u#n4YIgP;#Jmcn;jL&>`#9D}!S*h$64|Sf725I$SB>JTX@L!@ zmsGGSPP1m{wvY{UUupG7WhRX8#&J#NGGV>Nx!#yBk`?QXDs)z^w>;My`jEZCdP8*P z6+Th!i4{WOzNXfUeb$#HT=@DXBPUomp!5@Rl4j)7o~6cOY+6cJqE6cJqE6cKWTBNs|rzKyAnvWF+sVP6HIoFKZ5Xx}FpY2T-}lm3gLB>v$7Q%KP&eyLiy zsk+#G!N0k`wer&1pGZf@Va4yS(h6^FX-+&IIh9=9vJ=`s zjE~~aDC8u$Cir$K#w!d9sx0PdO<*9^(YZ-3$BI0J;2}@bbkKd&Pw%%3zZOhND zb^YvGsP<=|rs5+@*kRsZ{AKZXc&a(ux*CS8LDZGF(kc>7>c?||j$?M^lhNX9yvnz` z*1tSk6dhD1aqq0O^xC$U=Q?XPpULmbY(DEFn4O6D5EbGfpo4_!L`}$l6wdMdqrb&@ z)BCp;A6C9T`H|uiN>te^szOfw5*;b7hK5?t3{*By2yx8-8+4UxcBQGIS`|{J8OeTn z&>OUbT5>(J@h+8JMyK@lx-t-jDw+q4wz@aSmb$MmZKwMuG}C?gMbS!^*5LK(hVn~z zg8G1M_>WqRyhp}dlbAY=$YMJVx4s+3Ah{2vSG(ZX?f8(+;A(tI2LbqPHTkUvaB6Qv z8B@Bo?r;L-8@)k$1DEk*-r-m4Pz`Bp2)&A!CuJ(q; z>{Q3da-}o0xyN|BS)uNmy;IkRq4Tg3&Ed7Kz1;HBpwsZe|xVqDco) zD^zS*uiFZ}H!Wb)%IJFGy7h^6OiUtV2BZguw{V%ly@rUqOgNJjX7#Zo!fjL->)+A1 zr9U;<+fkbd^o+0dOrEoxPA{J`$+5UY84Rx%3hUvETeHDLUu!5f(%m$4_>Jr9Z#+E2 zvEw^!nM~Vvxbhd#4gZAt0_G}fJ48>W?rmUaC-W(_Qrt2M7MV&cv5#vSZd@~INWn5$ zk?tlyEhrso!uRfpD^f`NWti(ly+T+P+*+IIFm`?3qe!-e)pU#ea`KDcyp?oIRl z{w^?gMBUWu)Gvc}n~~C2u>A{_acd`OmKHNorbou|#{6muqG|SM&Du;rS(%hc0owXE z4Wr{ocd$c1QXTBY?@^qGFw*R)!5GF!)X~tVfM>i%cw*WqC(vSrKJp3?01#Eq%}U%} z(&SEax4Izml@~S~_NI&RCw$_gSH0HZtT=a04$7w^jjn3dUK`ZL3o5@`sqDS1HeUZ} z@u&DvQT6s0^$2Rm&QP2u?ow{eXSP%}RMv;}@ohsxpdWUgXO=qg3i|Qj`4|z9Y$0V} z@vr7kd%!Sd6qF5EQo=5jNTAhJ4M>ZiA3dFwrV>(Gnbn|$3(FcDzTCa3(2|@xW2msb z&K|ts?CZLg3oRWhM~CJPS68CJ{-`!qwGOT4rZ3x`@9k9gzq6-t`M`zaTiO>07|5{3)7 z6NYS`Rt;W>Tm%hLkF!}(+-`iIe76mv2y#6Q14SqdNZB0LUY}d24*M<`yC!yJ z-KphBb-RhIxC%mnNbXzvr9-M8+4lPx^@ihlO zanoj_kIsSh`S#wr`Pf9hr8b&vjU~oA8=>u=ya$>OYjB%c4_gh+6|p@3E3JFsiZizo z;PXp;#|slkW)gU@x=@89ID-sKO7%{DS`V7=f&%{f#skV*{jF`OrtSS72>jiLy&q5e zmPg<3{p!HO-fz6ID*2eFG1a`c=We(1m$}>eXXd^%S8T|#_jf>({FCgKXh%Lhqv86D znm%`MY7(|}Mg_o31eBh3S?$3`91v4ngT*}{mVXVVSSCw!;BmT7W> zRZUK;ZgDt1>%CJ|yrE=RRTjO`Ni^T;tg3Yn%xtM{>jr%X=7X8g(1E#BI8$h9=^Q_M ze|<7A@2;VTWIA#nf zP}aF8&IE?ImeGLIS&h^yRs=m&)GIm#%G?;GgrHjD$Li-;hjXZHHi2J;v2LW`i35^= zUmye2GSlW5L{gKeClS1Y;pk9ZTC5kHXMnK^1hVEv@Qfk2;E>_unpA$ad`|OZWT~&a z_CxWhy@USoz{38}c<-*x@WyI<=8RGQcyO>kJ-=CT_fK{%@2qss=6k#QT#Cn$xFxqX z7*WqTzjCs(d$sCM6)59Js349|)x|wI-*24@#rJd#R2M5Y(`JrAz`PZ!sE!?v+`1n? zBeAkf5HswdondVs#zI5VZG~_)!Yu$QV=*UKDiB6Laur63B{~bJwzH^Qx>}L*gnwYA z2xGZo-48~Od2fBg?$tR`0Rsac^;Q{-Js0>f&4Y!XYfS9Oz&IbkK;!pTbNH z*gnVV3%#=j^_wRA633V}lHU0~XV6AjPaJCt9By;P8?VqtJ_wC9xnV~O9#7^MwLk{* zC)fm&B{fVXrRpBjnz8Yr8}T`V0Bn*8NrHEzp&S<;Hd{h*Ou;2%nIgN-r*_)fcOLFi z21f=vCq=up%P&`tU4HrQ<;8uq_Uf4_R$D1=dFGirI}*>RdGuE+_9#m6iJa zUc*$b1H)^;a0h64)b_9JgE=OQE7Yms=F@lxj%MC$nNDiuQZ*WO=+QyumS9CB1NPM+ zo9Y2(SjAtXVU3Kb4xjmirXry%Jwl*Ptgi^Z!S+VSF#G!Ti0KZT-)(%>ubq!oh?Nzm zBEwy+h;2rK4B3rdlR|dawY%()-YI)f7vU$O4Q&(Y`L@Y3rdlUj{4G_H3Ft)b6=$vQ zT^)nb*!&j`I-PmoB22L6Vj zXsu;UW59~%Q>4Lh=mu(-vUEY6ib!QAY(hWJ%KfT2pPV}@*2RrMhYlaWbrJ6E@ zFyzQt`@Pc*nc#G4#HkCBa57I{dK8@RkkB96APT-h?~fiIZ4nP>wL{B-P-P;;$~MFV zXj24Bm7X{F-o*r1s@d@)?ELQ$sHY#*Q!5R!N{qxY{i_Wa8Hyt#V{@EVjD)vgWKj?K z2+xm$k0iNI8E`IRS0OE?C}US>Qe_VzZl`2#&MbCJd#8Of-s#LW-FTP55#G&oT!Z~s z2cC2dyy~TwUYyxF^P)B=y~H@C3+i*vt;h0a0~Y*94?uyS!Ikx4u{#8%T82 z7V@2mP@p!{8c6iV!nwK*Z;L+?3pP}F>uWvhTes{Ac61F~Q0RAi6lF(eT0ORTB{4UW z@qBQ4G}RjJ4hF)5@o+v-U*jL}RK>%=SWAtsr7hktzP@AQ?&24fTarD~PG80JbD+*v zAp4+|I-3mYY{GO$Fzp;oPf3}^Uq-SfL27eibq}BwDQ1@}f{l`7pqdF8a=R+F+9uVJ zN=c1=jMCdL12?2r!bzQ^N>V57rFM*LfkEmtDbr;J20*c*2^0RH;vNR0cho!N9f+YQ|@{IL_$8X52tJ- z-+*l}kz&bcDuxQQ3e!Sr=zApGih#ubxVCM_;H+oY+RnCz?h1Zr^A^=UvNoZr+5E=Q zH8ovq934^JMF$!Ht#0x_EPqtF!X5OaI#0X_bb&CSdO7^Pt?;G}+CI+*mEEuL+0P595l=)S`+5$15JKUmQ7pGUKw{3o7|nyuOE* z9a}k3MzDpg-X}JIFUvl$bZU`j)nRObJjNDrTC>|$=Je_LJ<`7jRz3vw~ZfJNCjGxbsrwbf5q0pK(sr&1J3E%nZd3OZ&%^rxjAaWq?|pV zoI376X+*@drSi8mVY7vZ_7%+p)v^-MSxJzgREmk((<#N&UYOE_7G*#PDGB8Rkd<5` z*KQwL^R5-P7kZV-!^J=S*!#pM4*b)wvOK5cir?pJuK0km%qP*ib%m%8>vd$h=1@lY zT5v_kDcHi$tLc9SMZi@_en2jOU>w+Q1wP|mJhX@1nvzdnLZu*(IvmL!_8vfFau?T$ z?6*-18t`jy<`l~B(*q^1NjIqUJAgVM#?Xcf|BH^BuAv%r$fc|&wzuByy}cH%q-Y)X z8@#=v=63JnkAHe*VP-#GKUrS>-0Z^a{@DfGF$&YwOEI5KpuD85OF?9~!SE50Jjtv$ zCbZG?8kX@=&G;5xXFjpM=TxiMegZs>8=3tKKlD4i)H7x(u}a#oO4&vct;e^fOk52>GHdy+m+AS z`?Bw;{vW4HE&jgdn%*T}@%L5Aw&{J-x7{|K>zZEJ^c6LeO0K>y+EaV*=2T(@d~_C; z%{VNZcJR?L+dm$oT_ZZ|JYXBcZBp&x*lF<5GMdoZ=^Hd5JqFxLLE41$Cssi^uvjc?psw@_hg;kXCP6b9y9sP}| zc4p$y=NM|}g9t(x{*(O!sm-ri_tc?%MJCthUT`%xA9|>^GCh4@x}vHgKH&?8|J7CP z&P?Uo&@$M5p0m=qyw~Tx&e?SJzJvGNv{_Nkdv(KFXDHI^D?WR8_|RfnIak?HSgTia zN^D|R|B+DVL&_N&^j@_=GdzsA)sXFb^vDd0CPO;c(U5gId*wLr!Y0p-E}6HWx#?u2 z$3MNxFqvO{74#9+KqEcsT8f=EmVpUUp=Bo z`&*EzPN<*h@1?riP7v0S*U#_W-_N3y$Njih`zQ(G=M15o97b?5v3v6rc z@V2~agAQWl+$)1yyBni}z7yYc_@g=L8CKP!%I54sQ0;D?+&w@`T1DXy$Ow{vc^$}h zDa|r4yRMhnELMjqO$s`=NQn;omHqVCyb&2xHPGt7%3`j|yviTE&u`hj<@;Xc_g?kt z`T4tw9m?bL^H?9#xQokh7ZKY#>8~!`Gxu-$O=tjtN~xh;hFbvXQ=C*noK!-bpf58z zWz&;QZwk(N7!OM=PO7COcAD@ca&k6KFrAl(_Sx9L2(7Qs2$f_D>L%mGqr~YM0a?SD zU#DF9@teIL*|f=1e9Wt))SmHAdX?wBUsak~9k26V;oZ0MQ%Zb(WOzQ`IY008rsMOQ z_j!vy!ZRbW7kPPn=6`3vx%8RK=+fk<%>9z~$Z_Zo4oIm|%Y>dJnY%!JNA3lPN71}N zX!D?L8f;oH=FW;P=rPO&WzbMRV(q`a+n#d3IsG9d>3eBHnCJvkWCB) zr3TTCLDpAyDR*Ary|CuOstc0aTfb8M<(jW}zZ#$2a*=2j-vZ?@Lw%oY`)WTo3qGH~3Zz zI@&06fpdmek=`e|G&q{JZJGA1rCtl!tKf7#3B8E4QQg`|n^kZ!@wv|B+A-&HgA8_C zV?8Lf(RSOYm{scE^yAV?!!2mpHGc|oVWz=+m9*oqy+zfd<(cji@R z;xCSZ{e#*L7?J+v?z)MI+w^@e4%}&Mh9Moam%pZF+o-V-MrQMP+Hr;QvbF)niT}_y z#Q?P|fm(K9$I&1(1?m`h5=!gK1yex$83tCTvO+%(Mv)#M(BU01#t4ciqvcI6QRHdVV24etYUcb<4z`BHI8?8X{!23oN*DF?0^;$Z5Xx*-%?4H00b%qO?U%?H26`~L6;ydS_* z|I7O8*3D;~!-GC`q6JkB%yVeAdr{>87n!ZX{y;4T9j=}<;15~hC_dKDKW>GqCk*(p z68OIx@cRw;2J#eZHMqXX4+iTWW(8na-ZVipcuNWNDH%Qd!!k#ej{YC5i*dH?B|7wM+|7pPQ zv%>9f)Zi}re;V^iy3pw^WhdQf)M3uI<$I4C-yU~`%PiOVsR8Hj z>vWc~la9-O|L=_JJz;$BMRl|N1_S#wY^4-fP&g!`(~g{frcd=DCq4O*7mozda07JK!p zmRDV>(l3@<=UCXeKRdcKvF%_YP=gk~iSD{Yi$Byc)aGmU6(6!Lyb6CyGPvHE@p;{C zF^wuPYg~157QSemHL>a>{9jGD>K3a`!tb-d1A^)a=c?0ZdBZ|=SampGqZyqFRO|O1 zH@=7cH^r)x*ZZLb-e~8llkgu|;MZGz|EC6=)XG)I^Rep6e;?1!RVT0agz>!>)%{}C zN%+q#@T6FE68&KDFK4wzyA{X;s>M6Gc~dRkVKWIWP&I(_5v9d9>19|E z-()_@in!S%&dp(MaC3Ahvv@axtFu^J>XtL&n_L@Pal{;Jrq@lWRIN$Z!m$9t*V|S| zw~m>yY9=pFDOd#BIuPC;X78k4+rM!68I$PGxRUA*^@O&MN4s099ihd1|9sQLxtkrT z+L213jZdFMs7dLms>YetXP2F{^RWnmtb~^3DzL0xc zIvMXA^|!Rl zO|Z$3u19EdZc@cC=X_Yp_W{5@! z2j=5(=+tzX=WXw!Evk2Zqb*9~ildpYtO*WNcg_;$S<9C9n&2>JrA)iFu2nkynA|Ow zrtBqC4G8NSXtIU$)GE=!huhj9yba}=f<(6H(PK#36futSrIjt-P@;dKduXl3-oJh= zw&ad%Pc)B3{B0Fz$QR9q7q?LZ>sP*U?$*(&v(IkdytXjVRwyW=Ct9#E_d;WPa58au zOJ~HlcX`=Y?-`p>KZ#-mnU8!O@YMor-A4haV~f$aw85{mzH%m(v@oNI6m54+QvjPg z0Ljg0L7g^SzZS13UZhSsH_}4z()}#c`)dG^F6KH2V>&lr^uy$pEw~t#qsbq@7>1ov z5|9HXOXG2@i2yd)*iJ|0yGr*mZ+oxjy;bW~)1K*b*WdcrHunDf_|nq&iGLg^-`iWY zjf3Wz)&IhckJ--Q9P1wWAnvlyz+sGp6)Pt!piJ+)7R2Y$6lTwgK7ktab`&sXjK%~n zMrEGNY$joI0w6 z-(LbJZ;U4l8Bzw#4-TU$I{4khAd{IKFu!VdZ9q>QI#nwsY7|CzUjyXovTMDQ`5O{ z)0TgDo#JWf%d})O>4u?Dp%wbLr@_}mv(T}A#H$>iZS6h3kzdoFaw^RpeX&tI}9o*xwhoY&v+Lrn%jas5Y=aksK z&oVo=3!P8S=1+~;;Ve_+WV zw&y|JHJI&oL>7*+X`;+zm%PdJ0czPR=4@Mq1=HFjW8>7xnjjA#vYWdHlN-W251622 zl+?Hw(}B=t=MAlskRHwvo#3WK5ABBkvCLDUL(Wt8rQ5|E4snJKT`>{tsXFb1EU(Jh zn$c$>n#DY{A#Xh{RxRtCE9?((LkZ`~Ta@R+x2VB& z-=aJpl%>IS-=c&=u4r)Gx48WzeK^knTj&WQcnY58H20(X7E7;h`W7V|zD4c&x^Hp2 z@GU+EulTU-EexiNXzqPxdt_f(erWg?uESGY9nhUH4U)xBGnHZG5GGb8#58K`MQW?E z=^4L~7EbZJwv8284oawm04bR>Lt>OSUQpZ=9HUvKCK9ns>w~FWxKeW5DTZ`&X>?(hL;Ntc3S=9Wl65J{c zC2v*7iI*R%Zj3ji@|QT&TTi@$CC~QNQtXz#BL^Kl*{%FYpsC{27#3- z%_t^isO)J&Y>-pPtSs^esjSGSCtm zeQyHFC_qb36W&G3UeTCYmc_%qMl4S3H;m0Ym5$dmuWzh(IWKPqCkSr|KyF z`OJU*e(^iJ=L^AoeRjqku!EH1vLmzzu3U{e^B|}TaeQlNj_z!F^Y48`-um%1(+a1LxC>i;Ckc`c?k5i8+tw_@z%#@5Kw`Y$qDyA}9jx)(Z z9BHz-p}W*-@2*7}6ZuH15*G#1r4M!(5AdW4?$e%K3E1mj4)twXfdllEh`@MJOo4%7hKhd9VtLkWT1zcavE##H) zx#IgU{?YxZ?t`&R$W2P2ejuzBQV^__BnAy06jq6ZAJ^faESIn*B*p!}cEUKnM(C^Z z{QG!5^u>Nn|6tbs8~IRr);`%l%;4@(>KRdsl~~4(w5YO4jAoB_O*OF=R5K(jTX-|c zm`SeCG*qE!K+7;VOPPjI2e-r9*Mma4SkttNEtta+x?^hkyP`mK828&-)`u)vT z?LvJDH$&R$CYIohK~}RHeia6>b*-yRH`YvK^U=b@M%bctnOub)Pn)QexAGBI&Xb|b zJPRvFF|wb~svA#R^6=m^`wb4dQmRJn(vScZYf-j~&={w3yi}jkut8l5eeNQD(9Seg zR->S)0PYnug*0f=6yY)&CE*WQ;9)^)5`NqQZxl9-gdZz`(*l<8`wjSp+9+s~a9Tf# z@w?XhdC)i?_i0?8nhJ7pwfh{mdyMOUzT|vzDEYgeB^AB(9Vo-Y-V>NU8Wq6Y@7$yT_Pb@LB-1UmpJXA|7MJ*PSp7kT{kj3+ugP0L* zbl7gRMRUFtj3d@ovB?fw;8;==Ln2Q?dO%%@;WP>&P`{H^el## zyDY~_~=4!Y)#J;d~&CAMX9^|&bDN@B}_#2 zt@dF&GSVG8J5YRCB5rgY9tO3EGiS*O#tG!V~6s>6lNea#)sHL4@LsVu4#?I;wVPL23b)|hJ3M&&GP zOlfE+KN%TV>YTjx$V4EL2;>J&jVCo_mdBGWf;O;ONCwnzkWv>g zV9iT7^I#$b0^PwaUJSLxK2V|N5Xj>2|rFa_-GzBW<4ln z&2~H0uFbY}Ooh%FQk1r-SBR=F$oSF%;!6u)Fbl$iUkwi6LVO8C2t_c3>EjM?>som5x&>gw_pc%*d zo+ThPQ@Oh*mF~|anw?%pO=~WZnaI?4Ci9+#fVZ!+uCc~tuX0p3=Td9?EfFourI-V; z`sExPGv>y{Ind??bE(jQf!)TTE8PS=ya{_&XqsG^Ri!Q5GId-S|5h{0s|9?mW)|Er z0@r#Y3F%JM4K8lP$NfuScYW1ply&3*?*oC;Hp^O_yU=Wx1qtO>)P zEm+Was)>cNjK)E(z(LCjEb02fa=uxfF)KA~r@WNp0z*0uFtGWKU;x|Yti`ujIlPrLxkZULtYAjddidpF(UNui7A z^i{TlsHVc0^30?!+97&6gd3z&DK^B?jaX_lW_mH3A21o0joP@9q|de$Bb&@|=k!wz zQf82foOG7z!-f(sX`22no>tVz5zmqOfAAg+H#tKqZ9nk-Ab5x8J+a`=)0f8!nP^oi z;c9e$bmBF0_2FCYpL@;3H>+;%+u9ThR)U`p1HI}?;2RbMo5(?n)lKH2I! zJwIQp?FWvP0}{o>*Av4HZS`KoOh=%-UI%^_1wRXdqoK0Wr*Sk{f@5Z)m09B&p_z-^ zYK;rdrX~LvoUKjZk0AlwP;b-3BX*e*CcE$r>c+aXPneTy)q9|Pqk~n$r`JbIBiy~~ zin_YN&z=hXXo&^RCWXrUhR5n;W` z>wmuFd|Iy({#nAYUUp!;;CErU-pF!V*^fnEIa=|N$x!;qi2E(9TI+0RYRqO`$OE$V zkwyuac)Bd8F)>ancaGu4&@$}Tgc6OIB^oPjDVD_<$%eu^Ec17e<6y^I<(o(obZL(D zI9>1aBT6mYH(RD=)+)+kLzb*S=IkvpJ*!_si5QfSFfjJT5==4+S7P!$ z1CuYRx4;rjvKpib+8!fZIws3(k9K0R-Ga%ofVj5Egm=|}Q}wRsGAQ1J^+PXmlV*vu zgJCC7(T)@+)~){)tPK^^tDUXM#?88qrwmhv0t>1yoG9jB5j~e`__;;cox4t1DI3HC z>_x&$DcO3ym6C5EC2QwfDft#*cgpL3#)^OYh=zZc{TCL>Zxi+?=f!3JaS8m*#`*uB z1>Rxj9;ovCpJ?!|lYdZ$1P2Jq=gMQi^9s0FaT0#41kM#L;rCnNmg_vI!JDD+N)E#y zFgOg&ZCqc##q}lpSP7ihm+<=u2d|drJD})H+Ad+zqU=Ei%NL{&F|1xKi^*KWWd@JN zyu}KYEhMtAaF|8sgOy`OY-znPU`qj}$uBe8UNliKDk{bDgif6KXUtI}QkvDNje_)fe$ zvaJw0R9EfvIsFaVpkr0cg2di~C0M1Gf^hQBy_Q+v>Xzr+Oz<+CjkJ#@u;Lls& zDf>qa_;VI`(te!*e_Dqlj$14ACH^i~rQ7&j>-{{dpD*rHzrM@<-^$g-`K|T~jqCr4 z=VRZ)KSGYM$0s}bqQ@T#RHac8H7HS|GgA*M)AP$b-&$>xAWd#O!+@quQ|q}IO$+M2 zAZI}EQAV5!b>$*tXaL&{p++6$U&_oSXIc`=g~V7K4mJJZz#iq*mGA$adhCR?WGUE|qbu;40)?oj%i{+9*bZ@wy}tN%ZhRf9Xc2Y!3*0%zqxEajb%-&l3}cr4H+u=_m1gl6 z9*8y1Y^TURRq{yorecG|@K0u{f$%WQnlQ|oFr-D;wgs<4cvZl}$${Tz!0+2dMU@!{ z&?~~Nw#X@_vJ596tygrPv@195JS%|W@9E{%o^&EOQ`a>xn=#Fjl62|N!QI}Lo`u6x z`FXwFsCxYk7ab0D*Dvq(xA(_m>B(%f-Lz7yJ}UQ(S9Y9p^sM!q(SOv$IXRca?Q<5K zFWTQ=z<;g5hd_-3VlK#AD(ugbQ$xODPzOMz+#%~yGPamab|+%$g4knA7&c`+3C(&; zk~X$C5n_`&?b(IVE&B>`e(0Xo+n2Em6MI=kF>^8@3dOuEr(tu!p+3zIAu4<0_Di>V zw)K5-Xvc6%_l~PJed&>pCu;4EwUzy;w|d^1RklqkUG3vL^4HvV)$sBU4+nDfYg?Y2 zEdCMns6CTfp}bAdXAaM}RnTXPs%-2#k)I{Emg%&XOsih@<{{J%|behEKefo}-T zFX1N%$C{dibv+9H7KdL2T0#Qct50B#?PstLBL2|dr|AJE_t&OIF#Ad{Ea?NSMD&C) z7Qf(j%)-lv2?+wi_zK;DVG;ABjzE7Y*A|@ZOeSS_5FK$uZrZVuDP_Tt*xap-4@RJ zmp8A@#5!hj;p<+TIq!nAx8#;?IEsF|{`TQa16J28u^@CkI>#&QzeP_g&YFainkD=> z1I~P&uWNAn&ZCy|xr*fZzvlVCGJM49>p|sp@Il?ntffY+Sy5??by-gb&GBxcy)5HL zOXC*vfHDtl$AS=hAWh-NM3a}Fi32Hy<<>BEF~#P7UR(}L3iV-hU}T3njt$h|Lff$h5&Jd1VPgNh%27Cno*x6d>bUkGuNIkjTyD*QKf;?K&> zH{M8W5(|>1lfX)a{kdfffM)<-7d$T|;J+z>ljlkJZ%g3hc@qA737oSf;icCn&y(<{ zOU~zPN%*gIIM&{};CX~|)k)9KsrUJ;e!jSW{ddXpUS)YM@;rI{U-5kKybO3At`AOd zF1^4~FV|OEne-}Qaa@as9{6%i&aYoV@L}S#@xB_Qb!*ZdtPu?&?G4lt~yd;7vh`Pl?G4J0RY#v zN5I!HZGRLL3L3!qzj;`mFW@4Vjd1wFZTHFZPr8&pit9-D50qx(Iwvjg&)KdmejF45 zyzzXX2vI8+yu56;q*H|Eb~5o}Hp`O@qxIf+WGs58yh;c@_C{s5VC-ii);oJI%U*Qs za>C3LlAnI$HO^zV9`>C>8Lv{u)V2Z>+hWSI#j|>Ld3TR(8~U;LCrM>h34|BI%2~zF zEG#TM0qn{3O`U)V3Bb~l#FB(_y-N7=Ivm)Rx&`5kCKm;k}l7E3^q_me|qdCjjOtlL;BuWU8TL_zKR8&psu;_JBZj*ZUiIoXxz1U;g(+JNMs8PQCx9T#yVZR!|CmWydKT^t&a6EDS>t@lP5t`hd>0$%Z?}KeIRBZF^T`qAb$&%S>F(rD)JxQ#LILbVSRNT$ zU0Me;w!6b@ftztm8~VuK?D&)xdIxsv5t<1@!SYDz9bMwn0L-s0u?p&qql9s!M|O|F z6R%%oQ2SIS2*`asCPnq6+|k450AH$aQIM;}B8fUJG%~IrUrTZH%r^~=Y^q1%@WR0< z%bP>@IP9u2**drFNZ?Go>hQMs<<_dE#!ZRC{hPZlxagcMIq_y-O}q1TlBQkd zGjOg6B9jl5DTP*-0HsfdK(hndjw~m1Ks{u4wHA6Z@p-FYGQvSF61E&LW1$HGp~%-N zlmwQv%1QMA9Ob@9h&VhndEOz3%kKD&z(Vm(iMo+lZB)M+PPFYBmKeL{N;x8Dt4^Y8 zd0ij%m36Ve*>_IC*@g<-0GEW9t_bV-))jFvSA=%HbwymvoGAgXu>aDsB0ePaf4SoR zY^)%9p7fOk{U7IRzizCsQKA3K@4ak%??v?nq5n(x2@8Bl=>HOal5jB5PW*WlcxnK~ z^m%mVwQKPoRwJ1Df0<@#Wv0xa4q_@12LZ!m^H*sNaH9;_zm&Q@?P$4afv6rpGZ@pi z1FmVLQ;jK#^OB3RJFniPc&hI1c%S$EnU7W78t7aaOk(#V=av=qhU+f8`-(B?@42dN zY-8}SzstX63n)K_r&$(!6Gx={K@0|*{87T6*Wr*r%R(L#PI+G`&ToQ#uq3X-5CN_; zEUzQsypDuFPdFq~6EwOdSW%m}gJ!>0aj8ottxJfxZmhxWDH+_Jf+JuGH#c>f;5I|p zGPuo_2eRFu*}T7>;cOw^nY%Rc=nTv6Cvmw+Ty7GVE01oYI@g+3q4o0?uA);iFsv@7 zqBYzd+Hy298Qn9r{c!KZ>W;PK?1ACzrr{3Xcx1=;+U}9zO}m%cr}hu~jgtJ5R3_(a zp|{YtWv;8==das2pWi$f2}CoE-QC%xiG04=k3BbXTSu{1gHf4}Ih45PijcT}&X^My zaj(HSht*M@5$K-n?dW%Mjay4L4JBVTh)G|>+g6J$>GVv=i3+@0{=^#WP&-pykm9BU1Cjd>!R^Q20`ZH)ot@#Y52M-8`@F>mxki})ZbGB!!#huIjg-UZeWRFQGW$cTqHJNzP zO4H4?N998ut!X$d-L9!uEH9t9b;6)Z@K4a9=+RgOA$Jx%#7&|Y03IgXhABJCv{RFR zQioSGj%i0Os+U+1b42I3bcu788U<-V$#jXEM|*T^7e@s{_Rq^-wY~A~Jv&}~$-Uv! zC($0S!d~e4n0oBC{hKbk?tQ-)%q9Z$of*yp>*1w`u@Aol-lq99B%HdXgzG*K2`A5! z@aId;=X#WI-8Ul7r*0|XPaEg!o0H> z^=ghYrk_ToTM^~}b3=v0UKj_~@^-`gu4or(58}1Y%{iS8#naRs>m5(jRW5CxuWX3s zU^3e5l@*H& zn1QukC89Skh^p%T`ORYwPRFT4^? zE34d0D@5A-qF0M}{3V55A*Ozc!U&5c$;qa!tUGROviBG$@A9+51 zSDyd0e*P)ff3^g!U!VNoBFlA1vGO`kY3IXdr=BV96Y(U=eM&g_nS?)Iaz4F*68>w# z!9POCz+*mEJM*zBPx01ieBI3D&{9B6fX3)$go28Nmi}RC8fMQLnO@A&1@tHuBA@{R zAqxFMmI;N(L`o8_L|zdWM;aZpLszr--pt#`p}aHb@J2fNV~M=W;R!#Ye!KYXk}QqL ziI=az9&wHBv9mq^X-3?*!7H7(flbsc5VjQeK|hDfumsDbndWN|&m>Qk;a&z@&<_`B z0InGPAu+#_z2pG4pjXbT{EM=ARlW4YJ66@RPW+O1hR0mpg5P%8R(J#2{^Oc9R;I6& z6^4{}#=(NIDK>t(j?Qbm?ob}Ma{GD3=gy-)a8bSd#BIoQe-Sgg7r$6-+fO0+I3h zBS#u~mV1?Vd%y4R* ze&wN^M~7ldJ9h0q8t(A74s^A9&c~CoI^h6TR};1L09<>`7U`_1uI6I0T24Ysw{9(A z=ApB~&xsc;Cv3I>@$3e1vlxgg80f{32Rhb>!yzX_`9kW%jk+trjTi$SaJf2c3)+*GdNaXO!K>xYtvqo+ng>l}H zcVc{Xu`}51o1MTyBQ`2f{ljF_3HoxwFjS`mp9upWG)p)R8Fj%?53z#`vs4=^>*{F5R#ZH81$;CzKrVYY5*5whgY?@7 ze*ya`VpDIUlc+S9wB3nm&7yDbUk>ixd)~ytX#a3wHQtp!duH#RGtQd0zHfZ$K&Gp3 zRn@}u)B&HnvM=7AXlv`uq~<54_EfuTx5v}nncf1F3ierjQT3uuB@P|@LRwE!JC_XA z?2f1Lv(v2$z2?RPHYwBFxEnRw7L%{%1q`L;V$XZJB-sj&PuL^+7qNy5o9wZJQH2X^ zPn&Vk15ZA`_(+@Y-}fx^gi^D+dj}W&_F%_kS7X#$?M{U*d(~85YHR280biwRuZi`w zkFTI*nSHFPZD@0L)73k(gMEp)y@MeYehT$Xx8L>szEpUA&&EJyvpSOVsNFDW{>IAk=wet@u-of`tRT3Z}nDG_@=#$O_}BzMctBE zO04^0;b2c=+Pfq_T=qu8sHn87TT)A@&F&Wsa94dS@Z%pZ z?+yojrSM4J`|PvX>7H11(8u+a16{hYzH&BnQK|tMv4UC0yXF}(v1(mkQr!5lC}V=H zF#U~tEy!*FVH~j*+%IyFWE4TV;sky~Nfx@CBJ#-*s|9rm7) zo3Bs@1_~SLuI>w#H_jd#>F$Y+?W*d_p;j=La@M$K=Q?5@Z)+-*>Fw@c8qZGq9G*Pb zOm7Qq0$Kau0KGK|xg~2GY|w%69y;?E7zPDC7KA?H!0LG|H6@w7pyNY(d=np9xYh)e z1=>u14l_b*qB5SEvD|Wl;<{e*Q!xXJyLUibgJ3{3;6bfQ8`TuC+n_7{{`JHK|Fq}b zQP4@FcVg5#&>ZtEUyxo`9Y6fxS35lpd$9Rkb1l((p2m9m3!bA1>nUj4Np2(K(fV^} zO00R?8Y49|bhd(k&neC`nMAzV>C z%Fk=Xdo80M?^`h0c4TgJt9_`(8nP|h_S$|&p1jYtU)<;r&^ZjWa@=ERE@kC8WlUSM zTTI!OAqUP_ShCsTO`BP*qDPpNrvH{adPDFRH%7^$S%11oz#1{iFacX%w1XDtxMpP> zn_;jjo}4L#QP#ot12!sPgRuYE@*lonS($55A3@^rb|iC)WDG6pEsjNVK+03F^g&B- zhn*e828Eh#fnqUb0foIgyw}F<_1Q>Q!5fM<1v2$h0ejS)hQ^afqff!dibW;hFksj4k2;uzvQ4q57nq6Aoz z7p)Upg+yN%y_gN|iOC&VTo|e8OX(5CQID7phJL8BUW+NrHNxku%@p=PL$wk0{WJ<` zr83h7c9hm81Ts}SDzDq35d&)Q=MZZnd)#>W*l!+eV$}%O=|<2^PH}t zt2p7>l8k&fl5RlIO+nhT4RxXp1chHkq0lB2RGpuc71EY9?J-Li_-*VEC01oUw-&4s zmxDy%j%Qo&MuAkf@hqGpQ({2e0y|U-Maiepmm2k-sBwJ1vw3wmKHSk@w};o8RW;w0 z7|k>~8rOGkR_Y6dx>$GE6RW%P&YGr*SiCXW6MEZ;m+?&8)om5e)N6Y`?@Gqi^=Hx; zo+)q23WMULn7D<6G$J!4lBs%VyrGL<>C(6dC`0ai)rBM3!=?kHYv z8LQ&E3aw>2)HJ-)E7(XzukOk^?BmO$c1L%8TeUCX7+xN&sIRYYuM)?*ma83sLRWXn zZV!%E74p7RKsm2?cOd2+4*7$*kg{I9I}wUDYi~}xye&OA+?gE!#_F-g_5ou%ZQncw z+ib(O3%96aOw(3PjA;q@CSVgEf74&XnCXeuF!ukl3aRDJidEQxk%0u+ZlYhn;^357 z0pprn6RY|EZ|}}RH5kYZeQGtO0R|HpPL=guESwv;rKpndsK|l~iT-t?)Z*UwPrmNrYcb0o^rIK_v zPx<4$p{bmEZ{0fQeBb%bx1H~NXXAo%Qcp>DX1aT}<{JbvPk&IA8JHf?^Rzrwe_OEM ziPl#(wm5<6;m)o$BEGw`M-Ni2+8v~t>gtRdq+`ox+G{XxYn#6uj5fwOZ##ma{=hYu zx9O&eS~Vnx9lZRa(1zB8p2fB`4vJ4m%XEU7yzAXK9>#s-T)C(%I&a|gih=jQqimCE zfvXNYMi0gYXSD?uQH2j?bUi%c^bY2eCm*RpyhcCI+vJWBb@~ortN@HGy;BQ|c#Gx>9)9~dQ~G^s zh9BW3VSGYo(5WE8cYv$z#z!LD!Ua!vpesfB6v8N(Uf#z~l%}BeO!%;dtk06YlCyq! z?ItHUytX5dSdwe*&%~NW)^v4FVxM?Nwy6{8AZ@!>ykYH$Ysq_3=| zRPszj3yS~7oXasIW(ZMNRN)NI)OLY4@ZOd_lNo_q1I?ZowdaLatkOPmxT5au^98{# zriPTZx{f57$nJaE7BiDwt2)N(2Zk4=2iFZX;LwE$@3@BJqfd*D@>uDr<=uTfX0Ek8kPk zAFGT6gDq)YmVYGCQ}-J?@bu6L%d#KY_MWpQSFJr|S<_%_xZ9M#Kn7@FM(;)pdB=iyyw*HuqiU}{E!nsRa zT%Lb6`}fNLy|7P>fZ(WVnK@b1Z~yukb$<36vkq%UPIjO8+w%OsGAIbKC)lg`6q%^3-6s&mHTK ze5$+$bb4@?kMi!(>A{5~tf#co_knb=OU93FXcfzMZEN4ykbiT-M)9%JZcQ}K^sim< z?GOFy!RwyA<(6md?rUy)bduOZ^qq_ZFQFF%ewv@)9&z~KOLsFKRplr(*ei-fELsrL zJkNt&E7G3cT%-kRdjfATVhnb%oF*BrC0vgOJPnpxI7vbo9ZnzJ&)I427%!QmJ4MZ$ z95$;mAY2B8W8nqI!SWnOx`v$W>9JhBh*t+v8`@?@H;>M|Ys=nfCLwAQ!LBWXGh9!LrtjD9e9WjLOfyXRs1gnrX|wzzsJ1Kx0mVW42?haDu+dnAW!pu5y&} z$UW(XwRv2SOJf8m&IJSsEl>MUJGXKeT?Xg!9Hy8)?ZeBF<8FOa@kfQCp-!Iapw~?P zyy=3}vh;C_rniM1A*NBKb3zgsap2V`Lx|(!w&^->WiyTpx2BUQ~Ma+LG7e)A45^E zi#7y#d|fkokMmRER@rE=+^cA}Uec~D2NS`6T7zcDTos;Cw0kt_cz#tU`^l}Nd%tq> z-SJdhlts(SL(5i_kEc7!*Y6zzE0W~+^Okz#*(rne`kl4e+#g7dhn@p$T*a@WhqWBg zQDZkFqP0?Q0Q|O>6w==Dc*?P%c8)V&nA(t%8(HSe^03BN;oOdNEG^F2yLHzib+NX# zj(B!yd*j-=<*)m@T@Q1$|MK(Rw{uxMTZ=JiME_2cd>WC@W{l*0yS&%?At8wvCoN=r z^hUt*SBXlvP27b(=l@9Nj(%Qv@H)*48IxRsbs6?h?pQ~BYYDVV-plw(`90$(h4ltN zbQyXWv$iuZq1vkPVO)C`J&bFT_a11)33Gt{Y)*M@7~(u)f@VwskUydXKqQFCM}{9B z(R|UFL+{zVC1uZi>csrr(Z+PHap~Gq?L_`N*Ip$S9ejU7x;jK}Y3HHmkuCCZ2=5LY zLjw;;0tWJ!teLxO8Zp6GN~Q}yQH+p1uI6Tuxk4*c z{O~dTwVmtFURk-ha%c@Ncde-0yt89zf2yR^c9tyP(7w!EE_GTLZRp+bjx!e9r<~%u zwzt};kyRao(Ux*J)cn^N-$TF0cwQ;TcTA3N4jz#ajBg8b%2Yx|bK%y^D7{4C4W~A& zy$2q1p!K`3laXAZP9le=S{1tzGn!d2Do=dAD%-or=PG<>Fq>Zoa(-#o)?FtxM!E~V zfo}nYUq=eRbvY)Uu+9XOpmKPlz`1J?S51GNfl52cJs@D<{Tz_qzG?F3?}p2ptk%+%JsTSZNz{52=k z57mF>OVyp#Z9Vm&XhfWL@EGxy0Svo~L3@CaNYldTm2b&x-`T3694P`H=$@YGS1iSLz?3)wZ&J}yi)1d62d zl}JO!ScmdnwL}{e7lL$BdpGae4Ji59Ajv1%Ae~a3C8b>fmwXHfsdKAG0lBsj7(%4d zu5*E_!nKoh43Re?ej7oB3>Di5Dn{OCBVgfLhl3R4esF$ud-=Z)oPX+xZ`<>&eScGp zlOe~4F6c*?c>chtoBrmCwdde~$I8Agmqe*5Yb1 zd0^GHZRsV)kAA?e*}Ql2%*42ar#FAV-kU#g^7`ecugFkxX^Sl^XGNX0k=}K4iny1f zut-h!q`&GJ(;Gs}OO!;>TPoa01LLLIa660Ocahcjz7{8R4qVM4_?d@q`$9DWm?8bp zk9(mXcPj6QvZf8E(N?sFW6eM1Y|Ns4f)dqRqAbWL8p+g~l_cQ?w^`m1y|n;a*`#v> z$OY%gzW96~uzKzInzmKl7j8NK4du-P#~{PXOn*bk`e1dkCw2T;)q&^5yAu8JwI@w1 z$!uBwj<@&{sU$jEVwazn00CjX|G{1dXn2ea{3BSJ({AWd(2%#MTI*3BTzYN6dr+kN zdX@pToic6YFoA}*hl@djJTXRXL(=Y2I7pxugNzUkWp-8sFwJxRg+6zCmpFcASxIQ~ z80cwqQz+ih5^G%CF|#aG5pT-YHZE?g%{C_@&B2nk6t3#Syei+eIk|lV83mwrc5hp^ zIM!H;Cnue`>-1x58*A4_dpEEAbaH9qSi5%xOd)~>K2tKq9CM2xMoKSj=71@WDvNBz z1=MRQ3`R@Jp*ef7xCOw&%kk0t*|tD zpTjXD7w0F2Yv2kT?5B39A`zLJPJnVt9CK=veC{x^Lp^^83*3BPMJn=rMk?ZcI$+du zoSMk@)$@n+b9n--ToZj(z9%Emn1#)*lfRc|OP~#;^07zl8$d}b=Z)s|d{^2qP=*+W z$A->EO^qv}^n)Po1D=q764}JsZ2tN6So43+{`?9`W9Y!}7xDxhWG|V$bG|4LMYB}2 zLp8U;!V;!bbK%_{z=P%ZNbmLqxVT*2&{slVC{rvbuc(dwF}(ugoFmj7xjl;MW8eS@ zWp6@a-JCcll7GJWa`V-VLjo5(zdfG>7tb)U6z^CyPt%nqa%;@PU z7yYRxQCPOhGUO3!&`xcY)=y_vgPom)%_qr;QdYD)9FI-rl4 zJeB&ZBBL4otlXX$VmJOC5s)HU?B?DUeLC{AjdO|V3LiY9-1BnF!-r2eZgpjKne>4# z8Hcv7BK!ci-Jsy6*=e2=ZvFfrK8Jn%%%O|zvq43xc)miSs~-NzpQp z$MrGexIIDZjA|sL<)Y7 z^r#{OIbQH2kWO`k+yKUf5re~wh8l#qJL;pyqIG-^>n1?G2HZs@-sLgFY6540Ikjrv z1&Y-xG?@B4r7huZ;+4qi(4m7qUz`bMm999<>Fo1MPE9g+aM^T;ut!H!^q>%9lfx&p zA$)MniDxbw@9lrXYiieqgF{_9fH2aMK?Gs2EST=->R<@r)F303M>^J>S@sUh!z)3Q zk0K%}WUZ#ERJdzH>)u{$lb_Ff;rev%FfR$MH5{S^UN0tjY}PyOjpYAqe{}W1(^muY z^XF+U%n$9)Vw;lZ`d4%DS2Hj%gW`YG5jojzutO?~%s~Jnfhv ze*v9sN&qIchqx4Sn?BPpT;o-ErZzEA5GnX5Gn4z3>`Vbpv$O^n=Zx)qYD7Xh8ebak zymkA#Grgj^F1%=QWVETRYH3%^(gTF}l1rZYYCqyUYa4G`-O_#gUi1t*=-^!lKt;m} zi8IT?TC}S~`-Q!+Tu=oxbW2~Wtxe8)U_fQoiQuWyDwK;=>Mzg`Bz#PcUKqUkjhiCR zwY}zp+uvQ4O^BMh@F?R~+oOwLljCj^1h6LRgMmP8^9`%hxsM*e>d*HfKN$(YQ@(Mw zL&!blo9VkIU8`3^;DNN@Y4Ox*)p4oSxblQ!CnhELpJCll5^q{9f~PUIX|o8P#v(Xx znD>%zGl>Y-6J6uLi-iSihaYX8C2=<>;HK#{j?;a1w4y1Mjn@q%W0CQymc~S+;g21G z>Z$DblBS{Qj@Ai;2&B?=ZB5mVW4D)YSy73FNbC5G7i=7f)l{yo9$B|z`QQICom;nT z?4+fcsY!+k^g_Gtj8`WjT?3$z95^-(;DLn<&2jcF`XZ7jQYi|S>?kMorZ}lva=|Ys zQRaX$6l&FuFv>yBf=bSE8Oy5Tnz?)?zH~~*3mur+?Ju-%+Hib!tt9WK@+{66*~PK6zNnk(^8iV7{QP10#P>bQA|vD(m? z8ADfvkJOoW;9|GDF`H|up_V0mqyRhEWoeM|+U?*AizuXlk`H!pJ^h1ihz?nJ;5&Y8 z2Y&RU1xK5ay--O35q5!xfjxhQEiH~c6cw>X&v4LcQlVCaXc&nV?$~FvvS%;QJAk>* zjb?JRU$?3Ko_0}Ee*d~n9rvi<<>~wifAlhSU_>udx9Fi{a!gb+CT0uf{p-18XKdLx z#-734EK~06FCtdIzM)cBwW1OweOl3HYP|HGn*ac_Ys^G?$dCt_gR!m#tN$79P!MJ2 zz_j6GM;dT|+8B;X6Zt1?d-~11>U5@E<<}^|)7v+eMC(ddEfs%%^2P@227^3yW47%J z0WCHAi|sOKQgUxo8|`+W*2t_PIqX5kBT~42X*5lmKGZppg&zoF*?~C+y=j(Gubuol zt1dWn_BWfi6o#&Bi{d=JnaNnTYcRE__q3I@Ys(@RZ|C;5ct&dVCmy$?Iv!rNytHw+ zJ9Er&rSAY-Dt7!~j3#5pOPnuYIfojgdd^W+&t>*_{d}1`Cqg~{qVN5zw1Cv}hxiHjPP&&^rzoG_}`DPH#537G0v~@S*uV*)2WC+^(vIt8&CD1!-XSBCn+rs zmdsGX{#8;FmcCitMQMY7|2^UNcpb$}{idZ$O>dXJ8@&yI#t_+!U|{G)W!4t!I3JC5 z(~9a|$cifB1{y%g`@`TdD%^~R`KX!IjVpCF)DUV`yn=So3JDo~3mf#+eb#1BX?u>L z+6YFLrChvl1CqI2Z9pLRn6lTCBEbu3w!1dHI*|-H$+F@Hq59#LmQ1A+if>)=dJ$M> z+wpp&agK>VNwD%GsZ|}*spfQ5!PnUlevPd*@6B{gkBDqCHM}A%PTzJ(S*ocdmW*^{ zmu!E1XE>A1L_%i_3^iw4hL)yEy$G_X-vDU?i^#Gds4BkQu z#%aX~O%1UG3OXZkxhTrA2@{Bs@8EiJ4b)vFt4lyE3o;r~hCJ+D8W7=oSQ^qUhdlhmHP2oNS8+?=z*J*4q zANSE#7lH2baWftI`6;aV1vvQC$^2X?%DT7q<`5VL{zLrG4y4 zC>3g6B~d|UKTwIX4Q63G-la8xO}Xtn|Cy>rfkzUtvGQnSx>cb%G5^2T6-z?M4m1A| z$!Dz$uPonG{=V@0+T?lBhd(O$j3sND)v{m9tQg zH{$vE&K4MX^ZU@f1)Ty11d#3d(B&GH_Mz_+iyAhzt9Zg&o>lq8rqRw>SShKnE~2l# zP&Y1GKlRqD`3tN_VKA}aN|t*$9!QpZ8!kS_Z($ZPs06(MkuW8PnocDk2!?V}zd)Fr z_MUTXWb=+;8SmKfwaC{NZC$iO+#tGk;cl$0tr>29st!_?tL<(S zxoZ13dOwF7{jJH~bY^r*MK3mHqYm!+`tRt|yk)GU%xlvssiiRUKJ)3Q=Y^U5Nrme9 zi<=d7(Sy#F#4dW!vrtQVd|X2-XdWK@%#?Nl7rYcU)ha1N50pK@OcYH9Nzk?3Qz+zm z7w5CfKj}hG&Al3G|E&CHwzpoLs*xGBR9=@4Z?OA1K6AA1k=8xw^(Z=@=8=@2}j%Li8@6m|8@Ctl%&tFA`4>S`}swdJ_>4JH(Ip@7xz zJWIYQBUR=2ELP*QL{VZA{@a4*=eo~- zshurO)D(PS=~E3n)T%NjWTAnIF=O)+X4tsGO^XVj{c&;xGHV#c{9HVAD;QDS%E*k-0wM; z6IV!lP%J6edCYa4H@P^WeZnKP7(dQn3+hINu{l^O%vGWPT;hSYiwfK$4Pq%q5{)lbS(^F=YF`!zC(A&r(bMla`IFUv zH(nbVCA2+}C8r}=8R1xrp#OO);RJ)pu76$I-uF8ME5n=q6#g6wI8#t1pi$IdalT)- zd7stm`qMOZdk`0GAMiuWO`=NaVb6OdA1_0xrT~vfA%9l_lu1{aj9hM`kde)9FqY>x z_fD2ayjJs2Z8n>&Z4jjc)myft7H=Kdwd?%K+BQ5(E=C52509*3{MJxsd|++O;$5G- z;(czU)}E8zddC}A)Fu5b5(aI|1qIW{xnH-hQ|uvh*}oqf8-oLF=dt zlA$86eBLUGPn|-AWgWU$o`SSRntcK){)76_a+*LH_wO zYRXN%c~h=^+qn&mNYcM{lUN^445EC?`7Zp7?zcY$_<7#kIr6-@Zf5o(=)FE&XaN`% zB%W5zMAS-2l*9xmqef_n4sCv2X509>l@__+4hZB86pR&n|Hz7R#K z?ATuRNX7eNKHwJ=eOrejg`C=;yyyHnVJotX53?d#a;A`3YJUrLFgIzlb{F z&)`LKB@Yc+tMVTB(U71wLP~Ra9M;{aj_QR{vp9qd&{Tt(R?w#n^!fsOEe!NHaS%5~ z25ASe>n(Nn6eyY0A80zJW2d{XpryO9ZGCD=38;dd1=*hZ(((%IEP$}`_C%zu%Q*K7 zVK34_itJG@_?w~}2T@Ddv2mSyA}CCaTEc?@s^AM@Sq(}ccWBXN8eBp}Wx3vO=?PXT zKx~Rs{U0e5lz5$(+n_7;!1-+kb zvB`TvNehk?zE(lWv!}Ww$AV1 zO&U7AH$f_xB_Ne%Ij|*!=L&E!3C0R@aksp1_q0Q^G){8^i}6z4j(IxgwkN2RFBETk z%6}ZR?e2;cx1%GD^(`?iUbMdou988hBeb)2cV}Na<`%Uxmd&nyT_k8V_|@EYScPo) zYW2PWSKP}~s(0zPfM+FgJnYHhc`e&aTBX2SJ!s0?3I5zJNin) zf!35N2C$n;*wHFgi0So92TxwzrT&gA8d#EO%w%-&#z?7M8VpBufl+-#tP_u6RKwi= zMFWGUgBb}`#HIak3JE8TKS#oe_&Jk}0MCN*Te7B7n)x`h4{N-%avmu?r*~KUoy*5x zTPoHKiQr`K+Wc3C(35{gPoBjnr0KzRX32}9y*#V zSI9MLEDdJh3`3Gze?m%?`vZxh#RK`5!&k;z>M9&N+mLB58?9QtsJ<@~ukYxsdF@xk zx~UzNiMsl#aJa6aqb|`tR^HIjknGQ;qN_PO{zqKs z55Q8WlI|&(=mRT5)(v=YJ3e>g<6KA~N8o6Fl}T{0Z$@g-D&<`po&hj(APXmW&ZQa^ zD~rWnlh#C?tuY~v>q-WMXl`okk9E{8@0(maoK3bJJ3YQK+8gQaXw8+_?dk4PJCm#p zmIbQo>+4&av*Wpr!H^y7$PTUQOr{dejj3=+qM0F?)oMkLof(>g%jhus0Tbh`H+^IluN81di`w{GkEX6w2RLHUsaaQ?1mwj(T z_ekkTd8zY(%fz~MV=w(z|2onCMUK$7FhVbμjkF>B3Q$25DYmu6QOq5CXGE-Py1 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 literal 0 HcmV?d00001 diff --git a/docs/public/fonts/IBMPlexMono/IBMPlexMono-Medium.ttf b/docs/public/fonts/IBMPlexMono/IBMPlexMono-Medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..39f178db700c34e524d0b9dc52bd020b44d70d01 GIT binary patch literal 134880 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%0DXk@Y++ZC(#=pPW-Uv!|o5~ewg=R?1wQQ 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

*TAOfDb1DP0c-OD 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 literal 0 HcmV?d00001 diff --git a/docs/public/fonts/IBMPlexMono/IBMPlexMono-Thin.ttf b/docs/public/fonts/IBMPlexMono/IBMPlexMono-Thin.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e173f5a1e5be7f00d7f467f0c06305a65c802f85 GIT binary patch literal 136076 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%0D;ZE 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 VbqrW1a4WnuM?#jD!I9uN{|_oo{kQ-C literal 0 HcmV?d00001 diff --git a/docs/public/fonts/IBMPlexMono/IBMPlexMono-ThinItalic.ttf b/docs/public/fonts/IBMPlexMono/IBMPlexMono-ThinItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..85292757e6749a1f0d9a1ee951ed268301931570 GIT binary patch literal 144240 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 U4rAhZEsQ!5&lgsH#W(8wKOr=Hr2qf` literal 0 HcmV?d00001 diff --git a/docs/public/fonts/Satoshi/Satoshi-Bold.woff b/docs/public/fonts/Satoshi/Satoshi-Bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..bba8257f6eef9aa4d1137035275ec21f6dcdb22d GIT binary patch literal 32972 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 literal 0 HcmV?d00001 diff --git a/docs/public/fonts/Satoshi/Satoshi-Bold.woff2 b/docs/public/fonts/Satoshi/Satoshi-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..0a8db7a468b8c16027691be3f5929e7223542438 GIT binary patch literal 25328 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 literal 0 HcmV?d00001 diff --git a/docs/public/fonts/Satoshi/Satoshi-Light.woff b/docs/public/fonts/Satoshi/Satoshi-Light.woff new file mode 100644 index 0000000000000000000000000000000000000000..8f05e4e9f49b8f407eea7def84fa4392765c1db3 GIT binary patch literal 29276 zcmZUaQ;aZ7vxN6u+qP}nwr$(CZQHhO+qP|c&-Y)SPM%D*LT#q1 z#Dqme|I_aO>y7@y6W#=tKulgv2>?J;82|ud765>29ixd2K}<w?m*%;XWr+ote0D%Ai0LzlLj*6L^7#ITpSOWj& zVg3(R+{5K-^Z&&EH1_{`g8v|fxB`PPw{dp=Pt*Qy?|GnUpR!}h+_jUJ;^27Noph z8AKm*w+qu`6K799J-;3GN^covxgMt(XFN<*!Hg^=#E21#WP)jlxM+Je&feD9v5E7^ z!H%nLMbEE@K5m+K`h!){4sW8QahMs0^x5;Wn4e$Dr8-49r#Ix45?!QKnXN_Kn;xbt zN#((8CCWyXASF7ExDVLH^q+?MavME z+%6%V5w@_6NXBCBlx`-qasnRLb@zg2Rsn%)O z@z|-@DcDKb$=PYz3EN5C$=+li0*_6{Y7nIso7uKvT8lXrW}SRI$+$9JOGg*voEf>& zbH!-$Qx`4Irk-3qNxNcb^CZs>pU^%Dy+V9tdy9PYo=8eaPD!k!sH8d4*wUVv(5w&4 z4@?jY5iAl+85WJh#yu0VNkF6`q+>F*>Dvq*hL5AiNfUXcj7zDdsHL-|LDD=jLNZ9w zOfqKavy3@*k8T+Wy^Y)1Tkr) z5@wQUl4??H5^oZ45>mxwC1}NJ#VU(gi(QL$#d9ThC43TmQZS2rCe6_a4U8ex8PzG$ zG*`q|q)w?X$uP+=$sQAd#tDrPj5*e!)&bTX)b7Sr{sKILJALQQ?t`q*sNPhCzjd;4A+*)V)R5hL;oxofi(B z!W%4V7|;n@Yf$opF3-)c427bv&0_}O6Eao3VXMqYT6sC8i;<~#!&Vd`YNBAGBqbyx z%O`B$@o+H`P{n>l&kvD`S{@Faf)hsEjpzr*1-lv06~r8jeU6Z>ii$AjWzFI7Xe5~x zykl+S^VaKQ*ZYJYI5L})#DBR**b+y|%z`>6U=DK+u_g|k#2u?yIb5p~UXYFGS!szl zSP5x}C>RKZ(iZ6tXclFV@^)d!OIgCbqMVn8%i`3Tbi6;8-8g%AFOf=OV&$Zx#p@t^ ztORv*H1ms)@_L1DIUmo+Bzc6qKQT0B=|O!h9wr(v28ZehwlH9jd`AN&=t2LzR7+RH zfv$=*T^0!#@|8x;<##&dXrf`^GgGIEE{}jhGnkr>=v#AMSY)HiRK$HU$Lo3qwc7=? z*9vH(TiSSj4zD+dPiQ9MS!4$hFX{s(CX?e67$V2QBfaQ^FUv_1Ak@h$m5xE#h(TsU z83-jr6cbsBhew|?E+)1tAS6(TTEe6wC5<*96<%~UCj;AfYD;FS6S{s*DH}#M3^Yh= zu7@wb12m{94V(F|H&7fh<)=>sJtVcbL_EJwf3hb?IqFDKQFpjh9KRobrU`F8OfVP*n#=2Gvz74bp{149&>?V? zOMzoAlLEtD9uk7JP!Rn`LeS=LJhZ|A1l|P&#;|>9v1tiJOUnhPVPLpSw78U1Mq+u) zLPSEeG6Q^7c*A)z#e^X-qX?Rs63J%z5r#f=Xn25}3_L&i`5_Tv(UFm1vqVK_wQ~(E zF9)SemhdPS3k?Y;kz`sffw>5G#yi5og91WC@W%VGyN)V1!=iC8B9WrRi1bZybolTw zat=BqC$*^IQgiSPGXt&=vKSUlMq-AnqQxeK!vkjxEe$UrE0GF#q7hOHMunlR;iR%* zM|0pL*(x_t#4Jg1Vnu08@h`bKJ6&GYbUzH zvNHo=in*aS2&W*qJfcuSDm+p}1VTVAJOX)Sfw)pQMg=58LM=Q31(FKQ1I}PXxW`GE7kVGh*&6!l5!66XB(W$ajdUa1983sW6a!G$u?AgKhKOXuJOM zr4bA!f=saj%;lz2^iLzt*m~dnE&3P8UF={cab=uCMr8!1jlRsG6rilj=rS*%!W$Zr z1s+O5Ez9Xjrl`>>T4@vSRg|P&y33clm{*uU%jv-2LP3}on;6&_E-F!C(S&m2{fy*_ zCNzq*xMph4i2txK)RDO+{DI{XX;MR706r=qaD{~YF&~785@|BU2)s5y(IGjLq%1|b zD6kPZg;OQOO0uOW3z>URk+QN>CCW-Beq5_ES0ztLDKl`8b3S!NY%+?8j0>TAF_Vdu zOF^fit1?@lOs5j8GTdZ>BO&=nh-1k%x!YvWeu}QLT_xN~+NIbFnYjr*OE{)9{j|I# zI!iXDKuocyLQw@nG8s$iJ|^8{)?a;IWd5j90PqE{5`i)~O8{iiU5r% z1!Z7mtpZiW)w0bc=zv;Vxz{qzrPU>EOIoMg{3_5T!AtsQ=w#`tJY9L&GSel;OQL?G zTB1neNFoWMu>C6IgyRI{gyaNeVEd~0s^qG~suZg@t0b!gt5mCat7Izzb}G#V!9>D! z@^#{|q^s1c_^afr#4D0>D%nIDb~3U!EJC&_IR_y{BC=8yF$r)}isU5m32=vsc&wBx z{I{#5W2UBLO=@;Rc1kvp`EB5F;c;TIqGQH>XH}xrvZG~9v81DpqmZMLqm-kTqu681 zF|C028wp(b(lXM7&;(neSmIbBSz=kDS>jnD8ZcCEVt1-Hl?RcBl>7nLgxADdBHXgb zgjgWFU-GxGPNA-nW*~}Rf;XZ21KWfdgt&Wz?qe6Q5)%Y(j*$E%wGjg2u9PCrJuF$zn}8c_+(GsI8Q}rI)6Rl{r)=kU%w#1=VKet?(B7wWX9> zLD!<|GHEB)KtB*M5J`}^S0~pE|64we1zDhtj=9=qjB6Rsd9E{ECtFL{t51u;v(fsX~>W*#j5J9|8AVbBFU zXL2ro*usG`FpdPh6LU?8(YZQjY-}0XB7`$xj(N*vaaa;8>A;mPo%C)9f7zvPEYPG zzg_bEAgG`fqYqf3g^RqQ9R8ov1Xm}?#pu6JYM&He{=R&_(khu`((H)M;RODt1kznn z2GS&%)2wQy4NJ%M;%VTl(@fM%O!QET*=7Sz`W|#WQ$VDlVt9L<@ni7*e@RZ}Ug9rBRtJmYW4<^QHaL3Yj!!8Vk>ki=ooH%*!l_tQI@g+KpJ# zkr~P?9@|$XCl9BoQ{0)TOf^=&#c!pkQJT%R^VLGPC&F?9IhK6X~f58nou^%}4R6rJ8ls z8qJNi%dN>W73HdF)sq^o=Gz5Nb*sNsBrQ3sp2C;cRWZ#x8=pFurBb=91)IPv;^vIa zQ~j*FP5vytP0FoSyR90Vy4InsSUapW)}ov4)~YSk)}Dn_yS2_78?HE4p{-}W|eXu*&1RPQ~^=*PKp#&46DTq{x)F$dQE!#G3Lyy(R*b}NLJ+4gGV@^;P z>PAJa4$TjZ5>1-cP4kwy%H_*$m6R2psx#HQ8eR>l>YJLK>M#v24KOV+Eiw(c)?AyO zbQuy3O4-ADgeN8$6wL z+M6zQH;0SGx+uA{a@x2q*9*)=7oD}d>&*3+`lp7ajhZ&9CNE>PotcuX)-AOi$1a`o z*P5OdpWGjzFSwm77rV6{v$yQql$|>cW{30h{qy;?fjNRjgVZ74ur63Rujq4x1tYmQ zJsd7BP!3csifm1G7iULj%){dg=DmxKrV1xBvz#aDvzFPc95>E1c09MgCr?ghuR@zuvAZ^i(;11$0X}65K#zB*!Dcv-|v?W?K?c9#Fs4(S=*r0T`bVY+ z2Atq&`2uvXRWU96M_(u8FfqoHNq(tT-?C&-a{nH6=l9E#L3TYBOfsWe(OMSj;hWMvFAlTK1BaxH^^7F5E7R&} zon9=IMztcbiFj9!%}NQ3EaxjD*2beovthxo#e*+) zs={#HHGN#LFUfn}iuf&ORx=q#x0I@Ve_nFngP#?F=*KK6;mn-lF=f``YIM+xn-0q_ zqfdNpR_RjcBeW{csT7L(KsBdU$CFw-{Nx}oZ(v4Y`gz9aD?&BdfI|&!wGKy$=0hP4 zE)H2HVuzh$$tjml{8`;vZ3oouj@w7B`wXY}vV*)1++tchm@0NLj^YQ2Y$S_!g65Mf z#8>DW=^8BJxkJ5>+VWR}kRWZCwmbC;Gp^ z1u2s?*}^;xdMCd)EklnqTlHGnwB8=SyRN*dPdBw9-QR;=gx!OqAq72FkyfxbR8m^( zFqQb}mk#uI)gO2jTyA@djYIE;&{gzI2+>;RkrltKc)YzcHw2mLS`2WDI3btiszPuT=eLKD8Y&TtZ(Q1`CN zsbaM_G+tj1=0TO1(nH%O^r<@0uYz6c3P_byJkQ2VkS!SUpn>W1f*erM(;Ou#sM>Pv z6Zz7%gYEJ7{yR$fo_9=X=5v*IkTjpSH$2|3+$Q}?U!XRXqmvZ@MRgI;m$gX%GA}zl zEg0EgLyF>~v+cPw9~>NRpBiR%oLI?}`Si58)9sTq@wQbrTu*;P0Q*ZrtRL=qf?+FE9+>o`fi4-uT z`J|omVzteapnSD;+8y%K=VWTGs6;;z_e|qk-c}fZO(Jq=W=-{z_gWxV(qne#A-2RbXL>}qxh(ee3xcoSYg<6k^42f_(plR?Ts$CE4o@iPKhX2MqmDPL6E zszGfK&}LEu0e9m*oxIzHL*c*c!a*$niU&3_*lzTG`$(snD+zDl#ni<5Fc@w8+_+Zt zII{Srk})^<@;-1na~w{=K0s(3%NzqcYgsLS$b1hmEKCN4a;xTy-#rc3ngM7Z5C(SV zK#tpxUKYt7!7Brgkc2A)jwb3HeQ8*fYOmU2i$lkgWOD|*Y}&Qk|H72X5RMaT39)V0 zho)CdK&9a_ba{{Np9KrGzIPwO6$1Y;Dia+~YSgDpQ*~qe@rL2U*fL}}e+@M%Y1ofm zoFVAKa8n1(`GQ~F^O&C2Mhi8NsV_#c+X)hZtM+@?7Helr+^NJ6Hr>XlL9zQVt0NyM ztc=iChOZ~;3?teTfWs<-r6j4{<57{>(@W|_i-`n?xG=Zkr;cD}KB!{P*W;RZ_hKKc z+LI)6KcI+SxLW{^RZYTBRxHj#SU*>_FF2N94bL2oj;onm3U7{YpNFY}5} zJG%>$YXq9m304Pk?Cm+dQ7DB7_3pxYVqd99eazz*_l3Z(q85oICChNmVz_!Pf)hq_7&68 zCeEs-b~s}ij(v_MQV32YUx?I)K9Phj$kk>8OqO6+}#K1j($wJtT58@>!uC!RNmPiL7?3fWKhN*w~-paE9^+i zSLQ3ao(LMhGN!MbkEuz7Q^+s6q zUUzpffMYmE_ZL&D*GAJ48bT6yhaqZglg&zVXeXjRS1j`W!CiC~6>O@*x#G$*gmZ*O zIH#=XMl8AvN^ZLs7m@F*&8ydB6U&dJ#?iyzEYB&Z7z_xZ>QSz}MJ3D(AtQYmn-_2` z{J{3m$I!5hDHD=Vj9-#Z)Gv!e+yz5@Gur|p4EuY_I~Wi<0&OcFIF``eNsf{Q8kh4| zafafjuYnM4Bm7NI%jOhiA@P0fXK!{fk8C&V}n)@O1Q*PqBw_=p9dDrCX}F` z{`+_m8NL)X)CzwVpa+;60eS!|9Bl0hmo5xWduOdQAJC%;O4D8`O^(3imO@QN^HcRH zH1B41*?iT(OeYZmr&j=*c807zKo>qQw7YyM8_mrhVQ@u6)WT$1Ip`oB)yXo)U-v0Soa!g`b3h(OB zUni_4ge8yqN(FKd3D5$r1YuJzfwR^fOz}o7++Xc3gDMx0@ zgb$}+$tCOQt~!S8jGH_~o#7lF3{>pa&2-^zg3b}Xqni5*q8t+zGclVr186DzV`Cd-%0tDt^hL4Bz5J$iid;?sY{+w_Fa;U_D@ zmExTCebP7d&Eu7x{*AZ!XU+{d6DeW(#huRnkku>gD6I-U0lAIZNSAuE!{&E51U7we z{8*h792031_SOV85OlTMme(V+_hr}D^|yc1_2qN3GD)lsJ;$-l1vvUVXf%%WMoVVu z=?sDU11>5hWp9TeeVFnOTntOv9^3AaPQ4fMyozqW5L!8bd9ps2>X5>qcswwDUGd?jaa$zK~8|)mGGDe3tlqQMRljGFcY#AfwUaTkn?>8I@L#R|V4BwCW zTmJot`gLq#Iz+<@NuC%JEnyxFM$jM(RfqKV!SQVBmoFbre#PP$JV%!DVX~v;Wt_n| z6GkNlD%!~&oVwlpL3kjGjqGp~;YaHs%NLJ-GecIpy$SuAc zujmSe>$b6AvD&}hSZ=t}L#5~Mckv}HQ>vWZqlwQ;I@80>SwzkdG@bWWy@EiqT^ohy z>?Xn_fvi?+wOio52Y>yu8PM3>mrf3A4_Tt|D;l%ShOzBg<4h%1=r?dTdxdIA- zTCFm6S7ofC2r-$cFfkrE#Rl0oiD-EQ(1xaSMvx@I_&Fn3h{2(PF{Y-|a27K)p>|Ce z)qQf7ICveX)Gu}#KXeO<^O_ND0y?>V#DhOc;||1_v)M%bHucmLd_6sSapuMJp5%N75&_D~l_t<&dA!OE3L zT@S_ci6ksaGIk6VI9yy5R2)09TA>2wbW}Z1nsB>080jbZ?EEJ=AADPEGKG(BRpLo~ zGn~7$G5U9*;!iPEnQ02psWvd znl&@?7c4rAOd)Ah`xph|F&f_jmG^aU!chWC)J*QCfKy4TsW)@p(lrsMTXx(%i0u8s-E z?PAY2w2gAzqlcMGAH8Ii3pFRDV=-x_lVKoQJ9*%+)r!XB_L70PEJ?+f173u?)Qv6F z8)55(glwabiY`NDr-khiC)9?lCyaV+*vPYw`RJE4+2&hDz^Mq&w?SaXAh-_+0gxVM ze6hRGQ-e$%8kyi$^>xFLf5l2PK=DC za|;%Y^UEnpYYmgi?Szm}rwO-jh~KxTg~|PGq%ce(5B)ux&&Qts_|XUf5+%HER0&fc z^#%?|C%_ZJ>nhSY&5H9YDXPoK;1|Tk5xM^?9KplTww*a1YSFWhfUqE}-EzlL!76bT(NJs?yK_dfnqq_@=0O9VkTER zSbMqxIDKr$Q5b{VBi9XdF%3iz)q$bL2Sxc&PXQax7h6y@x)Ujd zB9un$5`Pq3E^eBPbcH;>V%(I#g7XpupRS6yHsa1>vdlY2#hcJlX?Mf&xjcXWA((vn zJ_BXdur||c%7-6l=Eu{7sn6*f_I9 zzEh1AW7vJFY7$h7@{ChA8AZhTi6c+=F0OE@^|9R-N;mdSM z&L{UMv7YG90gzf6(Z_kFdE(Z?^l`p}Cjc{$GP4d~ z&NPs0s{s;Xkj0)54^hb4e;%}tljnw0{r9})xd<5}Sy;yibNu`10E?g=y@V9jk#@^x zBP{Y!Pw%ca|F}=a99M_S4@F0D&=I$YuBjsGjc_ZN^=8?WXy8{T0TW2jFR9v}djSa9 z0&ftK5=INw)svtr?e0|Y5P;SPRfzs7R+2!%d=UGz0Q^O-3v0zf{hsl`#a>AU7lO+% z57R=+6=>vJ?dH2?R;GX-L53A~iE%+%tABe2JP$y1KHiAC8aE4VA(8J-J%QTfWBuw_ zy%k;xbV-ce>RPMoyhL2k0uPuv!-ClGNolPlDJ4Z6IxfN%JezGVHczY@talGVq)v;Z znT=Q`1-M#|QLPOgTz%&CgWHtB7+#JctbHSE@n-u*Yi}O-lmfRH%?}+0A(?(gU6s~d&5eEuv6AC44IU(+Y_mpX>L#d_$7R&@fnXkN*w=)9Qz2F z6?_9d0IMcGmsw7)*a@%TdyyaL*+-qc+rQZVJM`-?j&R8>%nAw1t*>GrVK;T7BUEOG zEtne?XzH&8w+P_2Cr5g-7cQ{EF|Ya8hIuq9KpBnN@(&l@=9~mQ0=E#;KlxlBCqO)8 zPecSDk~~oTDx>`0s_;KdWlE-6>WER2PBv?#kcP^F3W*aW<-e=&RLo*~WZksGHTh|# z5>PaQB$@3C^{CZC7OADO*=hcZKUuT20UEVNsaTUef>u_idcA0>L1@fZdxB=;4^|IF z^NU9s+sG|;^#j`WD=n<~@+;3KRcwyKkY#5MDQr%9n{~5ufVT*+RD!>nuzHqsSPJio zd^{QljhkFZjXj^|l|knM`}~H*H%}>opN07bfs)eCpTJZ4Qp1#=Zx;fVu=L7Mm0+0h z#Y>lM#DZCxUn|&&2Vd{DR@tB$iQaFO3Z!%pBPJm@hWL))9{OY{s`pdu2NTcz+{QnT zt}!fa$cCvi`KX3XsnEKRnAx7fARwL3s9%+^m_mb}kacqd4|)v~k4Sy3@c*HqQb&TRP?1jqgs) zr_zRd?!Fl5>&-^J_b$Q8TNy3(X%oAh%pRl5Rf?oCnH+ADt7YpLds71CPy+k7tp*=0 zS=rTAXdP8m(b3mx?3l(U)b)WK8vb|eI>B<}J^^q@`~x&+Y%+BMcNA&pfjgi>bfc_r zvpO7p5+Wo7Wk~bei*R6Mg_N*+y68tDzQuFCS^Ql#hfp&3HF@TUpov2~>bi}vP$$E% zXf22Pl=OG;RR)7m^#ll_Zg8g&2qeuK#J!^?du+G6^NBP}A6xsDjOqPqHYmi`Rx0>K zD)%-^63ppnSvg4MIsQ(RPL=CydegIR9VjORs#YK=llk^X265e76ciOYBq})}rZgE{ z3gy|1K8FX~;YgW#=7ocYID4)a{6=3=XtOhKwI(ld><4WHo)3pmm=<1l=4TWYFyADXK?>inKhpwCn3gQOtaH$Y!u{(>yBx8HlaRoNXB80c`f z72X@4QYecyA2KNG8ie*UzYz3+@{c$A8x4Q zc|3#G(|7b~q>M}gf(r4 zN<@#|ssuAV!Z{J)Trpse*Wh%&R5RBLOGcv`f*f?rA?@J7VD*+C%4F`-J!AZ9pQj=| zWS4(k^44o4mq7;4jvIYFk8y+Jv?kzTNzpv#{zM^0B!avteUjJZZZ68_TcJl`;b~wq2_i6E{cK4Y8Y=un&^=r@z+p7 zBPOtqUr@eZNa?1}MO-Rb7*ROUxl5*v*AXXnS8t}OSd=j?t*Zty^=(L12`W9illxkt z$+u8wSnBC)gs$*%v-L|~w)@q){;PC4eat*oqkazljcjM9b{{r+Cs4pM8oa#g@MJ?Z zV6gbV5?KLyLRc(#Xw*udk3YX>C>hk1?lsp_Gko5Hp)<6vpc$Q}Me-1!yEE(tTnQ@1 z!P@Kt>_oNoKI4>#6l$O=(&uHPFkpeo+9QX!qTtBD3olv7v7ypO7daUYesz;C`S8(Uhv{hRzrM)$*f|L(#lD0*#^xkVAc^HSP50 zWKT@#j8ICXW+eoxq}O5=9F)6lt%*ECS%dNhE;nJ1_$e9_nbfYq;^xWLFeFJwBO}%a_+%xm?Fo+c-gauD=R?g zhEId-(jS0$wi}ZtR;jh>o%SEyCQlmn_)sG}!|>YAx_ue&xH>ysxVQ*oc(zREI^z=u z8(M8Odm*o^__>X=Hdo66No2tJ0@r>(!X@8|i|woMB!`7UpRI-UFl!O@Sk^?hCu~uS zZ0cCne@=G6)EN<@44smwQ*^Bry#N<52Tn5|^ww3ZC~EPUO^o(q7lNIq>*$eHQX_^( z5Su0o2lUSOg9nEaM;~g1tO?-rhwxMm1Pt(i#tN97K4g_4h<_Md=u)fg zBY;nzxbplxmvI;@j!>7jC?lZ(b`+`Ox4G1wk-3fexA!=jd-O45uZ0wbskPWfL zbUy>qdwE)|WL87U%qS+anyHhv146J6W&u_sPBe&+Wb~5iaBdKX+{{jMfjLlp-FGcU zf1x>6PHX3^kZ(P(AjfOFZ<&oYYmq!uP^^t997{28J*B=Wj4mp-jeqTTEd;JWS1CL^ zsRKRGsoDq8J5g@b*_kOUBt!|#31w8=BgfZzeO5EIEf`o!!K|ZaC&M|!Hq+b89%bvI zL0l#nO-z@!$s!Oo)#6$l7LTRRFAZ254qT;U^xvjA>%y~x)qf2U+bCUDS?E;E3?{L* zpJ+1ZT?x8tFeL{6vPs=(Q^M_>dHwvg2>2>BB@mMi%ywh6NXC+)IM89J5OgJodyLWW z#%f4MlyV>YoUD%1M?khU6KBbk3)@|YS)KUqW@^&%fN0tTc%#sJV+38ukCi%P9Q6zQ zx2Rh|7B^dilbFdZ>=Q|`KR1?hKmL(re;D9=bAQ>bQ&b;-ivERQ3C@qtr1lw=cK@S$ z`xw^H=HTopH3#yNM&(-av!x%D1*g&-34(!gle#y$NSu*kEt)aETCACBt-mh^-b=tG zu5O?!0HYK->!Zw`NS!!j`>ZCYixp6}!HD{*$3=K6i7KN(Sa$hTd^GwJ<4(mL49YJe zfhIFou-lwfAy3Z_p@mc2SF zE}6+mB!Wb#g33?S!xe^x9SCvs*>uwxyW(avY ziUi*qr@yq2w$BDj#?NI9bYN*7$*Y3Jgx4?80VL%Pb5U*Qp>CO-7QP)oMh%}$GMVS}X zWxsVixuln!`YRJcS-+oUzjg9$?*944avH$*&t}8XcQ>K04xq&Qi5hl}V84jXp{UY} z2>)Ris2w^D@Pi1D-iylp21=jwzwt#9@*!l@{R|I}cXs5XqxN(JbNt@GAP#q054;cr z$@F13VnK{#!^bglz9)W80bnk$3!@=$=7Z5)h|KjR3dv_tFQRC@Kc<1xJj7|{z@D|k*U^xNzEye7GgE54`o*a#|a0q(#EKy>iyo)>qpCfzytB)32}>kW$XMjt=CCG9fq zC-Xx;e@FKqqmMSG5I-#-T;lWjY8G&VR2yt^O0Qfm#-e-9l#Qb9-S%JOum`}$$y;aT zWLrZg=(1jW^dHr1sApbUq-~)Db+d*tYzTz*uL;qw#BJUx4j`V{ST-=an`+0j}_DSkUbRPkW z(zti-%LpQ#KPbypJiU57T6{uy$Kz>jF`gY3V;MMlb+zehFdY;1Hb>!m>_ zgNllPSVE(jTqu61?0vrP@ONMhL=sv*ZgPl>cQ4c!bpdci=Bs(R<(X&W~kT*%<6~k4+CbC9f z-3W3F;f3t1 zpH);;X`v15J=#PZ;7Bg_Awh5U6M93U?Hf!d7d27MOQ_ye3I;RZQnUv~Bvu3+y)!$ooW z^I>M+!{5h5871FHGX)AeWk ziFe%ANDrA8lKt}=YDN#I`QxLX_4CgKq}zXCOP0twAq-*+81g$`>x%@rp4vyVO>+-W z5r*YFN^k{j5aXm(t+1)2qvP#&xBLD*9P#t@9hm!i zyoz%18i?V-r_&rfNmy|G#Ep!QDjtT@&#*Uu=9~S9Xy*r zpFWxTI#9pGm-q$#wGVFRlJs_&^K0jP2bTVtMj5{oqIMIv&Y-heZ#<8Vpn1YJv(|d< z8y@|5&}*jc)De98j?-hM^VAZ2D)#bQ;^phg4L})oSaZ~eQGC1t$6bJ(&~?#GRq zcvIRss8KwJChAC@&_G(*wVRWIGnJEBC5NHe8`O=Z`nw)f5bOQe(@}m1~W{}j5{AL$F750b6s$XRC)Ifps=BY1W zcObu4b5P*>69ZrhyWC7(t~-?7d?Ty-oRDg#&27$apMFbhxYP;9Ui*{pGACcZo z>tm&QMr_A*py?#TRou$e%Lnf+)`Ma~x7U%0V(m%qm!U@UAfkWleA1tv2X}`CfQE=SU3#UbN~Y8CHa6`@wnsI zo4xc#RdY+Ga(HZAe!Q<`FEIAdwl1=LI7No)z|EMf43>jmn^V8?uCQ*o>}EUAcVcS0 z{MQWfwjGXUn|v4y!`QNI-1CwbGo8wsh&B{UP(?RM%bZ}AYjJFw&Fo?NSXL2Yfwojo>QE{r4J9qdm>LaqG-hom%K(>ww&?obKchvE0u4Z$WEQxQ|N>Dr7Rf;$>K>O2ZP znmx)rBD$o!gumkR{PWs-rD4iO(8$g0SF+htM$%Rp zPiBl|W1A!;8C+JJCFbgj{>If7wwUv%%W zRoDCc*&I8#&-aJd9K7X7-+#YAV4&H(et*XoU2bxpZ%R~?iEbohva{l{+YB^fJqR@# zy^bJ~QgTw+bEM<4bv&8@vQ3dc9UWidRuU4$EyvrHLBwH;@wnu{6}@bSs!Phqs*ubSg_IfXPAyd`A%faCMRog+e6gN9k(ig z3<}=->ho2j9r6x?JR8>mrG=TRK_|=(x0>5Xg1M@Q6u#98D5!x4OzjxO^CS_*q2BTuk$l9g?ALl~R=#(689>sD)crix42LGKKQpuv!hjsT8gIyrRv2%z z1=7Q$7u`|9@foWfpoWcimJs6*c(%h8JU}}jY=Xis!1bHz!yXODT@L`X2)4gatLQ(~ z@r=Vu;O&K^TKX#08zfEB8Y`dK{!8O4cM>!- zC;+UZ9I-2gJZO!Q`Y-4ek=T3NLe&i^6#NAb8})Gs+>724Bq7AUs%4JP$5*2ClO&xq z==OaPBRD5N(j(93fcA4(&}c1eFsw04WI{ICxAS&s!gX353g%yCw(Jni+wdQ{oHaQ>kHD|@dOTR_~MTYLBe5y1cf4k=^_Cv}H;b==cYr7t-@`1JDHsUwTI98diaWXu|y_ zx=zyp@?Xc}Prr7nN_6COy%GVms5l?>p};9o=7@nu1>AIkqKy+REc23I44#hWubDqb zoa~WH+|_m2qW8mFvVZ-<=D+uFY&P0;TP7cH>eYz`6Z-);%R39>M;deBh%=+lO9}mmSKFsA zZS$f-a?uDsYr$eeQaBJ*skp%_r|QVkR3Ykd_c92;9suCf!e z^Cq$jCf0M?6$4qI2o_3ZdrVfYwHrO2cbCB{7*@{I0+D-3-v7-!0rUd< z4M{&}_nNvMXAe2O&2EetLiQ4TAW!HuvM+sAsVDZ;(dH?9Po0X=2LcRrhHjxo5_(I6 zj=5twqyGiUBP-);8=OZQVvH0LTu=~)OxN(kEl5q_A$XO2 zUrWUVR%1g(3T|FiuT7b)&2lRhi5bbg=uHSR(F>Wl zBMBzJM~z3$76^+TM16B6!)yE;`H(ehg%RfbVz812!x}X#@pIZ-v(wTBhN(*`bAw|9 z279GO8@?x8iG&sDE7n7I?Mncj1sDAr_GFA4YR{^E1a^9Hmi@;$s|!Pg!C)x(Ztl|1 zY&@5nSk$F7v?89B!pNK5;w(TBZRo6_zA{rZvbKD#t=zB%`8wm|3>*fYHfxih1DBi_ zlOFYv6j(%75*AW&OR+#s%guGC8W8G@8yyO7S9eVr9Q;exCS2}|e!k2WAYK7*i*injZTkm1)lz2|}bJ`(?beSKw69Zl0V1PH-N z2<{LdcyK*v;Nb2a+}&M*ySoGpK~HdZ4({%7aMy#w$9=y~z4g@lT2yfgbU_sxFjL<#q~x~1(7+aZ?o-$x_x>+yd=So-vof6+fbZwVfKC}OlvK3 zH5XNp$@4^^S_deoxHVPy{se& z>EHeN`L8#YFO$=dm!G^bm`;c3-kZXz@A<0b47YI|?ddMJ0Z?SVP!QY+@?LIU&KWb; za39$iIqHdNLeei!K#(@lsm{qpaaJk7Td^abcDRW9HWOU|I$g&)^4;sd?QJfg??cpQ zGWxZSyj7%)Mrb+f=KW%0cuWAG*+}6Q4FoUFjK;eUvc{(7snEwscjaASX$Y1msW@g2 zj`OmXzzcg_Pn*Hd?Q1>}=d#vsb-{l=>*=+N)gq0t_nH}e_rt2b-~SJa!rBU8T62r& zW$627xn_UckLh7h72?=W^M$sig9fkNpTXOn1;5HE_$e6~7$|SQrd#$%QT+KMC1v{? zyJ50oylY^2^hom?{l#lm};(Ybi>vc(^$yAI;^5T$%G@EoU$9kLfBDK2$e{`{*d0Yfca?5au z4aUFC@~dzdHNqU-c1Se(b_bvKLJ%qaT)W$^eGpx@k16SWj;vyG1=ZU^<|a(Htz=yA zHp7-N6*EX$p0@`G0W>rmv zXcXY`hnvw{WaT^a_+6k<-PRN68J9km>dq69CWa8#d!toL(cRGrmba^&$g`)JxP$l$kIl5wTMC;y2IB8=z-pzN_|*PpFaYt%hRB~x?wN)xuw8S3#*Sz@CDR%>k-wnDy8a}dOM&O(b8C*(}#qc8`Ad+D8i==%B zIwzC(JcsuI7biW7G1JMh*k*JfO@M>a=<1qitN1`DXc-HWH^$&MHD;MWL+Puf|PicidsKl`8g zf+xw#9X=<|_xVk4MPT6+UpKDgC4_&hnZ}C8>9dm_&&1;7pe2ws$hHj)LUVpO?OtvX z0Ji*g5VZJhd*zF^lv#5#@wbiba*vo|4Bqnr<~c;JFgJ>?nu^csM6WjDX^z=+*aRhI z40sh@BtI||CB60$^dr!qZRHVDJy5l^QS1JsLA{^1CFa6)UtssiDPN!u@$^rZ+QUuP zwLf`}kv&TJ^|E@A;?rY{c271S_@uO}NN#7gJYV*XKBUYnPczbN)Qt3%P9yQ}Q>&55Jrb74r!7%Y z>Rt8U*j^Y_tI-jQbg$DrKzMjmQU{8=W>2i8YU>`l`jVpRUAeS0Ox7QUdW)depdIif z&HFO!SJEwn#ed0LVBh#kU`7D>v|@F5BraYnsEYH%y|SJZ|`l z)AkcWWTD3_ey%Q~GL>|TN?F3MZ;o+MyoLvg)7yEm#Grv)6q}cD%9I4Z%SME4l-S2F z_Y^+O=9@GF%64XBe2?9;Q{FH5xH&XbHY^z^<5yGVPWb5qt6vAB+C5|O4Uz4z=cInj zsNhqQTJ75|e4VoI*q=RD5UrZ24AJL!;&i!v4B6YtK-9Bw4|=L-G?A`fQ~Y~>oHn!C zd%WE^hi+ADfi6l>ODG(MM@V znKQAI1hi0ksUM!^lqWWOeRKPp$uI6AmzFOyehOIxg* zvbA2+Py1IMR$?6irDnG~oJFUcdnDsGv!^e7>T&=t@>{7xrh#V;ms{7&1hfC>$G!63Q(dfL z-&+mL_qxsRbfg}7T*WDJ79OtNM{BL+`biAWpbxy#Rq>I%dX44|dzG41?JmOJyCZHl zd{%gHyx$t3 z&a`?~BHp9d($5Frf^S6eH$|2yCZqJ{q0GxKmr--Eb1%RHBdExTFIAdi5j7A-%a`M)~3OkrjojvwM-w@NLuN#zKe9?%BBezv#%K*lydk{mRdO2X4?{XGa{R%7EsLZ0p(>lvNW`*3eLf{|al z-v=`~GCEkMPp_+Su6fS^534d3HbtwzIjJS?O>zrND@s3vay5-*b4oZXLVW}cG0^4e zr(klm+j4YG8;(Rxzm_`j1U4_}wUMMKo}Y^t5ML7RjCv#5#WqvgDnC_|$)bDWx#Ge2 zp$0jd@XIqR-;7;Lr)|0uC$mDA4E@S`pt9X+IsqF%q+xe`!rSCehnAS;_b8KXW8&A~ z5#Yc$mwH?Wtu~hS=jG)-OCCQ{TQa|%`tJ~Vo)vN9V#*r!8h$6151lC?=-)7ypY(iH zeD!=)U)rCluBvcTaCuQOB{G2~zzY02-)obC`Iz>iK^xB^T60gk>m?Rt@Y+Iao`>dD zM6r5CRhs?NPp62YE#LG!?iTJ2cS{GCi;V8#t>`}6De)mfi)?-GLJg+(eT>1fR2GXX zTlFMs&D>bEIn$oPM|;{;Mk!iTi%Q{|9N5x{G<8T$Gt-vYj8dx(8KmR5G`fhTH|JYV zb3MQc+A+Cr4}Z5xgR1Lo4)*KnF4VZ1f@Ljw=_!Pz-INtp7Orz-ZKQ1~kG`;Udq-{^ z?jrO#q76rMk(Gb7m7KUnhG2C4glKc(N>8BbYva;XtKh0HPbRWNtk#>odlVN1iUOA- z-gdEj=JVGekodKq+}EdSF@M!FD&2cN?JlmL_wYhtb6##e8LekjHkR@o+NN!hJ&@qe zJ!i^Z(u+;-S*E@&Q@B~!!J3?)5U4FW94NH(M>~kqtd+%9cG=mmtQy%Gv>s}jMRQ~Y z-~<(Ic%G8xc~=vpDb>x(yi4pttwyx*QsYW%`^xv#V?7JreVw6LN2Dp~^7D|ghc5wy z{VSvE3(pjjEbFf&8Z2QXUhU2=6Ufv-oDcH9vWnPwT#2t40tc6tq|0ceJ3aCBb-^0g z;-tV>WFwb8BeAkNqmzC@wy%7h0<$FPk{&SClYRWBvGBlv`weq@1~y{Em=fQ2J0e3^ zw76Y0i9+2aR4i3YKc1w!Og4r$=r+YzoMmf?vMsPULTES{AvOWZFwfIT05f`1C&z0QP%dESlP zKv;T(=Rc=#M`}gYgB5VcZhfy&a<7l+FIclHjz4S(4!AHkDkaFT3E+XF8#8vH|2kf* zGw5`5a1vv_*U}oW^mPJ0V^Z(2u!z^6+HU7rK}`)%gPMgt_B$jBD?|0#YI{_C&3apw zuLe9q(n4j-3?J2btYpZ!q$CfQ<0++$;$nsC+@Rv)s@tg(poyNHvRmU{v^drg0UaGl zD2q0}UH<$P1i@8;wD5zDPU|2C)4IQE;CT7mJK(hV_S*uIp_l#dxo7)G(DOiw>(&8$ zA5|CN^3yq&(D$-U45*+RC<$P3a372+4MGZPscoS@SW_eR=3*@*w#3(-C0IbgN4Y_ml1>`jZ zRi4hzoo_EAg))|{Q_}!JX$|dY+bCR@*p8Dvr)R`zbL5w$rZ+=mtjPt4K_I0M{P#`+ zhZJRXcnrEYE5Nq|mTJ+kz@D}~8Hp$2_Ffe}O@|2!ry6XY%XN2~rV1nCAcxQLbV|b&cqpft%X^FT)9WZRiAvkXJAuUkw^r(dPtKl5KNwg@C7$E5&56| zLrFhez>)is^$X5Da znBhv6eHc%UdtBLzuv!90-jWO&0b~nq=${kvqAV*|m zYbC4762vmef<3cjs@^gFf@bxvUTYacF6VePD+RjR6YqjS?y07AAVAdqpVfs>&@RhE z{KnUBq(o>jh$xiWOwcdxUarQ(KDIDiftj778;Bb?_VgMUws3@DjQ zGT+tGDtKM9Nm(V56!$Xy;@}*r{umO?WNrL0j{{Z<>%Rr(pX!gn(bU#o-nx9u!=v%6 zYcUtApJ^+I`4rl`6|SP`FS_UCb;DhPsSC{k9{!)<3h~JLU})brC-r&T}M2pb$iySbc+F+5l9&WPu*+q5=!41Z9XW^ErPojHJ17( zIYUmXJhs_1O}3K9=dgh(bW>FamL2s|pMHn_`JK{a2`bhm4SMMVv1P0=35M5|a}}9b zbga<#>aeQbOk3*UI@HP&*>IfcZJFnCFU3O45gDB)ME*w*?i<4C)=qZ4Z#FM{`?>}N zz?E|IMr>0Onse0SzS;uxai5L@b9K*aP<&mx#+mLG#bi#flplL%1X$|i{{z)BiE9^y z|3BimAX1#qyf)~6MNM{EGm5NRoCR*iDcL*|`zm=cbka36Z3ze=Hnb$Ia0@H-VP6-% zBK|+(t?%TYK39KHnUfk6B16mE?2T%y(>~wk1$o@Z14BXGH`D4Srt;%4=9@dSRPF^O zTd!tR12w14gjv=AuJj-@se&1k_>Up(H2!|@=1vSkM% zd%^if!T9{n!@$1&6)2!G5h^u0PV!lM`B%F$Hm{S(NhTfMrk7<&`M33lIf7_l%yeTW ziO2Wt{i`ImvK^=R=C-$u+S>Vg4H#bLZ3kH@(gL&0GFqcI12c!w&*JCC z1UUBS?GU+^K}{o3^{8l6^BO?v0*REBbKn*_FFB}$7Q|6Mr`A8&(Z;DIR#68s z8bDaGVo(wDT@8m=VH_Q@)Z>B|!c!gYsqNi1&TOvtfA9bpN#WrFE9|!Fx-iUF6%+$=S0n zMH<4t`t*JfzyX7|?lg$>Ilxl150=`2#H~`&go_;W#{1-=kI~zd4akmVWDUryWn?uG z-pH~VQN;`hoO&%ez713DBrESZ{g;Kg8c|lzJUe5%#O-72@LC_q?htN(UCdor8`0Ij!gGb(qOR-xrwe?&ca=77{L`cA~E!1+$X z>t_^qER_vSfr#Im$K~#!-=A(>QZ4D-o)@B1+-dMnRO7-uT{kan)^W9wxayH$ambdY z+a4GN)Qw!2Z;Ey;k{kgi7z%!Ib!Y;_H(S$_0u0579S`q4Cie?xBITvp?*3Je)x{$` zUrvt`O}`Lke?@q>A=V83R*#(XLcC=>o1d@)o1wDQh0DF}aqWRw*wOixlN=1*eVr@R zH{|GrOCnAhRKF|FxRwU}+sc39`8(oYauYMmE7N;rZ1@1_MLZ!xCzF{z^)9?AH8+Z6&~KvgVJ1=AMq!p z33a#8titl;fhtvZ47{ftVmJ8?6QwSgx!F`Db3PZPbP)_na9eCD`jYj4`a+Ux*y=LmNoeiMDwAJw!!|mSr0ykpsdjzBX_A|yo8&C} zz$&#FG|_8Brly164xQa;2f-$MTg0cOa1cZw(@{= z^)ja^@=Gz8-yrIqr*x2Ciol43CYnP&AwxFTVs+D{sGidf3~c@1HW|6msIH{q+Qu-EA|ea)FL;Z%M*80*~Nxn%BgG@ z`&?~>-Zp%F6-E`k00D_{2C(!{FFGG4?|S<8vr2B(c3RYewG>r&K%mgqRrleb*vc8~}2k5hVQuX%%3bj}t%UqrxS^LQb;ume%x&;8^Qu3sJfz+hO`7m!I z>NqvomW<`$2~=|*C{9&Q?CzF|hcXrokGko8B#`g*L;)gNle(KoFIZ3f^3auMH&VaGESguJU8|IOZ%yK=&Y5Ca`2Je~ z6?taC#&wGWA7@e7{knK;HZrqzJ+^O81k z2q3rF9F^s<(;g+=vhd{NSr$}T;gMm3fpX!IS&3IE+OyS~6K<&jE(#l$`)E8iRDufT zdVZg~UFQ~UFA~Z2`k;`yCO~QY`;e$4^V6}|Z7~)-20rFs1-GV~Wq_y&*YV*e(pHy& zpxT>?qrPt>whFy0-D71QV>uFR4Wbirhtu_ZRttJJAB;3Kr}ZY256dmZ9wtiAZ7gJV zC3RgYkHh31pT6-3ohUz|KiEpE+ZkWEO$?U_{Ceb!kX23*gD^9PA0@D0H7i}N^otxv ziIFZb_fb-!?J|3-QqQyB`|qlixDm%=cqJaDKL2=fZwH>t{<&}W&WuT9`BHG(a&E#O ze&!mFqdWOIo2u#38xm7ALII}GZ-wGccxNis=yyN`S(dK3=%9Z)c5Juk1)g6vhF{j) z9zKjiWhQmxQyzZJs}unwQ{)S_jBg4*W*pI?+$?f)^wMHY=Y*>(y!s_jKj$+q)Kua@ zJOralFT2t*7i}hxL#L{BKJ91_Lj{$f0YP`Gc%mR?cvGjM7mPxyE#fU0Tonf>e+a0+P z2b?xDTm>mP$IP++d=0uaH_AG0ADX*MwP%qmfP9_=WJTkFmmz6v>Y~N<(-gge*`XOW z@sqE+Wt2;g1&BZ1KM{@zeE*8tz2R|mGHTBsjdPbv_JFWukQ65~`9h7mDECMBeFY1C zi4FY0@jl(b*%$EqZbo^1yY91+*QmT~c-_YH@pAn24ryEejFPy^k9TGDZt>5rdsWS* z89%0ea?d`GmbISA9~ogHEhlxe6T!uqKiq4w2h?a+a#@eu9;q ztJ&5yZYP2RsRsaza!Soc9*^*^U>(DC#=@Xc9x*!f z*-`G!|xk&wg)E4vU}UcpCF0+iuk%{?)8!{}Ttms9jty zaehaTDvoQL&~vI)Tt1_th-NhVvfd)@Y`^JJ*0b{IC(p!4Jk5>Hy#+uWdaZLW29WmE z98b^(nGIh40Z6CJAM=2oasf0c9nXS`IG^4a_uaGV)V*ZpRX@La`*zBci2vq~it~-f zZ~Gjc%)3_`$_h^<;xvN&K@sQO1sofjQw7gn)>Z7T){(HbQT+&V^w4M0Hhn0on1Ukx zRrZo)g<$!3+qyLW_j}Fy^)a5?6|XVCp4VB^UKZ&GvW!UY(eqUSmIh1^HdS3RUZnjf zq^jea!p{#_q_Bd96QrqRIH?rqaJ8HtE+m8~{$ld{+K+*Wu*+01w-4w_r1^|c&2DFD z3nPo5eD#i7!CV~$g&Gmh%8k_6?e?b0?~P>jbcuZN?42RuJL7_J+DsKCCB;aS zBC4*(b7zZ#EK7cEHI_%;nN(G^QDIRJSxH(ot9v-(+b=pH!z}RX8&WzZRF!qy-G&`~&kQlO-2Gc+j3lNPE;wdk zpXP^=9fH)t2w7Cz8+D`qaxZOJWjTo?nW6SbB>j347o%?_co?m<89 z6VB>9;}#V(N*_=`huE);IAjgbW{r7ij7g2{h%oIsR&JwMZxC>T(n%c%-Rzk$coU^v zQv0pzpILLyBs9t!KBXM&YXE6@Ga&miKziZ|2j}(zw3y0^F^2L%2xYyO_xDJMJl~6a z>@6byTJGr`1$f-iyA7hwvv%;9?c3oUd&bpsaYWoP3!!A=7jR615E6H+K??f4yjAKU z^wwhrDisi1zUGzDD(7psvo8g!CgP+Q<}x7#r%#3}O?{vFv`WnxdOoywxtyT zITCB%QQls_U|b=-jN~@vA~t0L7yBujJ0L4PM$H%6+z}n;@E8}L<*(FV`qx`JL{ZiF zX_g1%fyJyF+$#~*+Xe(A-A?X$pc{(Ai%*<}SoL`bEfW!($NeN?ntTv${|lKd6QaS% z5lA+}hOW-|ZDRl-wtQw|x^`po*>HD_CkpM~gy4&TK2#r74jcod9Pyv*B%6p4ZI;pN z5Psi*s&DELG;bA_dyYTsYXkRBY3rQ>>{l$l-FElY{h5vaxtDx%=B??mS8TRs3J}JK zv+;X?7022T&0R1>iyY*(DNNsyX0MwjSN_o3hd1$UIqDtO_3km?Aj*6kVM|tgpv(Bj zC8r$7Nt{}bjTSm9(y&5KHRQcEE4Eak>%%?5qU(CdQ?SzY7)(1>5`}+iYgcR9y~;zA zWmZ(yj-N{SxaMY&6!F5l+{6pE6c{0RuQ|+X0wb1GA)2$I@tlth3vpI9jg8iYetTN7 z_3Eef4MCErC$eP(FV;lWIQs(tY-aWem#d$5%BkEnHUA*c;Fp#s^;wUpP;2#Km#e>D z%HvzD+y@w+`9VYH8m5wcS8uls5 zCfIg)^)=~Qy#=ea;g#@>%t)8Q^I>O~7|KZ3%Y4oG(B{I6O4ZiOpG=@q$3|5XuCjBo zXtR&_MXi}ux5Px3?Y}f76njyp9|?n&-za06Q=gcvf0{C?#viLDgbx7Y|F(isFLRHB zO?mQg%}zbC4%J~z^L3KD7v$O`>P4?8WYfDNXMAtEOK=Ek0=(FZKv7GWPR z-uJ(qZ1{lF)%nZ zj4&`TI1ibKazGUqa`-aQ*|~vUi1)*L9Fxm0FR$AUXIK6e0Z%DSki}cUz#t7Z!N|MQ zIZ7Dzg9pt0Jla16X56zzrzP!G#E8HbXRmF8n3M#Pm?EFRIiYMw=pos0!9qCX{vYT* zVk41LGmw*!B^A9xm(Zx4NeirgA2^hehlc};%l#vnh}%LDbuJS;THra+J!G{cq`A_z zpu75dcsN|r?C00HdpaaG5~FG&H|2(|abIjpE;liPMpTlC!m47(DurC6Wje&VNM@5? zK~y&J(Dl%VzEJAw$JaAf175^BhCp`|r1vp66imwE992}JRSHx=e-uuei)hX|>i=&Il0V~BT#ZWF;U#I*KYdJ~!$eZs1?Y__< zu&PBEH;<%X_d6^PvBuEPxe)T1m*4|uxRD=;E+)?Club%?icWbVPI=~jH#(pmI*p(- z5C9__P#ec5F%P1yzxzJT2h1%^r(WMa@I6|eb(rEBPCbdt7}+G_Yt;Q+XRMnh*R4dz#0A4sF}lA-b+Uuq<(WggxY zrnTNsCL>BfgdeUjF%ripQOSa2-d}zV!jr)f9iRq(xnU9Ew@vui|KqDXCb<;JJt{=f z5Ot3h8Lvx1oF#)L%7h3)Yy3{^v$6;+7Ol~zMB0)-sXy)+v@%5*7BXh<$G;_-rT1Cq zKs@ve&^cNMbo91N^nQ?3vF2*w;Q3`mw*pZ}r}}Mq7sg?EdCWgO;)mX6Q4(?JI!9qq zchTHW72bUYc=z#)U2^Q1d>q!407M!i*;U7yFvO3R8-j=ou=tEg>9_Nor#dYc$y-cP zX9ix{Lo<6yvNnki%@f*KMR*Idi&|-=M|XJFcCe5nB4&o(dB_qJ%HcR_p=Xi|rOula zun#*Pq$K`L<4|Ibo-%IsK{;9+GOfQ7Agzv$wMfSD{?6C3Fj%ETvBN(6oiVU>nE zVPNR#P(J<>i*MJwTbdii11iM2iyD)h2h%X^zQn`nsNjKz=*00+4viA62uby(}Wi2M^B$|uR zm?~^vbKd(jqyR(NkJr`JfU_0)NpOy5f2L#0@OFKFy9DGWJkbobBp({;c8pteo(1Qs ztl62I9sRjw{)(GJsKUNLg5B6Li``aC;-?T@PJe%<;f1V+km64tMWZssk-TCT@l1Uu zpPUcAhw?NIzLmNVfN^p?3%@Vzf3lqg>i<2Pj!F%vJDjgNY+&ngIiT?GGyMVX)qW`-J`~o6;hQnmLd@P1s*MH6KB|U8ktUwWr%Cu> za2&WUqE74Z=IH}uA1%|MuE5xQ4Bqizb6jsPty{}HFM!bNrL29=Udb8dz8*>$tL3kt<^~j5U_vhS)lJ z*|5~`fN~>`mVsD~jzv;I0uh6tLPG4-i|4(qZ%s0&vOIy$lal@JgNHnuI^9+y`f89X z)-{wH{b4mkSJKy>t}6F_OX?N%E$yo@Kvw!G;V<9c`enb;y)DPET9s+y`MUVz?S;fv~3zC9>e6-Rdf;oo@d+jj9d={6(qRY6)FyAY>wY6V3 z4f@2kp8?QL=m^&lT(ZC>`Uqg$uY7C<|MXU5qJ~3ix}{;7ZA~fhRfzFAR>e8aZJmzv zj@=s(r$X+|nC0jGB)%^H`|2RDIi0g~0gJy>Jt|~}3558Rg1U?hX zcP(etwC?CLFGnEzzEa48g+rVBMaWboF{6jxKL3jk;6X1aZ)}VgMXk*BG}z$6T0>U5 z68p}^woV&O{;OkX1@KYk-fw?5I0{CMsaQQ-8uDVRulUTyQApEy#8oKtC|xqZiVwJPj$z& zr71e&_)W9^tsVVnP#z^puxduol&DLst&3Z{wX5;H_Mn}HSZ#fHY_5VBEYKdM-HeD* z+d?@A{b|%4%~lK;HUH7Cms|J=8^UWm8T)p#x;wc3OnbJMgbSQwu;90~5I3s^{Il;J za{@-KD0b9mEbZ@G2Ir%ydQgz|!V%h({UROUxel3GVm8GuX&?k!xtk;!X`MvK6LCG5 z{2%rWO}y-JGk!LQArJ)xpxS&{L%5zadWWot@mz9U*;$8EN!0y;SuuQnUvg7-^O@(x z)Ew#d*jR7hdta=f#;sxT#QC-tG+4`?FPQsvvPL-(`znQ-C>kE0SMh5}#2%gKE!IdM zWs4|!G%7}lw>?Fhizp)rJdOWtJPVisxUaZTFjPVro)@Xpl5*ry_;HcBt>Hso@pQwE+ zetWo#VAwYNsrPy=MyW35G==BEBQqK}<3EW%2&&L?p;zJ&sd2-t0HsBDh_(P=X(bkW zeSAiA*_`2bxgvu6AuiPzHm%OVQ*4_XI*haev6Hip;mdXn9Ftzgr1ra|#QIVE1!XsW zc&0U)N1svzPSPR8c%L?qPU3-_lHIg!&Vlkc^Vt2jUnslEe-y*7!C7Hu0ArI(JL8gz z2fBtP${C8~6BN`(B@R+6xk&<}OuyXFsJK**(aMWWGF+I{`UF_`zs!1|h+xgI^n~^( z|NU?uHMpD9mPf~NkrQnn%Fk$OsG;~PHWB5@2gG}ud&6@&*KI1Nt6DgprN-#u3Btlx z%Vlcu;MB)upC--M@|<&bFhumFM#0`@qb*l2RZs8aQ3xJ5*5Ij9CYPnIz4-HO3L;Df z#Lf|D7|K6X#JWv!0EblVV0~PGvnanSc;@7f)lyRo^4wiA=TV_(4Pb{$C zd8H;=U1l)<2CUcV@ac4?e?SZIgUzxz;`w*1H!?7V33{zZg+6%m4rY literal 0 HcmV?d00001 diff --git a/docs/public/fonts/Satoshi/Satoshi-Light.woff2 b/docs/public/fonts/Satoshi/Satoshi-Light.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..cf18cd4c0c8b230c54bb166ac420bc3efc79cc4d GIT binary patch literal 22800 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 literal 0 HcmV?d00001 diff --git a/docs/public/fonts/Satoshi/Satoshi-Medium.woff b/docs/public/fonts/Satoshi/Satoshi-Medium.woff new file mode 100644 index 0000000000000000000000000000000000000000..cef3226e577d824596b7835eadc62aabf477f9ea GIT binary patch literal 33272 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 literal 0 HcmV?d00001 diff --git a/docs/public/fonts/Satoshi/Satoshi-Medium.woff2 b/docs/public/fonts/Satoshi/Satoshi-Medium.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ffd0ac96c7b87a1411465f450322b41f5ed875b6 GIT binary patch literal 25596 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 if1J$nghK+h3Hwj~ZwTV|*#HL$rwjt}(;74y2 literal 0 HcmV?d00001 diff --git a/docs/public/fonts/Satoshi/Satoshi-Regular.woff2 b/docs/public/fonts/Satoshi/Satoshi-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..81c40ab08a87d975b0e61e0d8497fe4dd3c11da4 GIT binary patch literal 25516 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 literal 0 HcmV?d00001 diff --git a/docs/public/robots.txt b/docs/public/robots.txt new file mode 100644 index 00000000..058a327e --- /dev/null +++ b/docs/public/robots.txt @@ -0,0 +1,9 @@ +User-agent: * +Allow: / + +# Pages not shown in sidebar +Disallow: /core-concepts/issues$ +Disallow: /core-concepts/projects/run-project +Disallow: /importers/github-imp + +Sitemap: https://docs.plane.so/sitemap.xml diff --git a/docs/templates/page-templates.md b/docs/templates/page-templates.md index 35a63f9c..ca97126e 100644 --- a/docs/templates/page-templates.md +++ b/docs/templates/page-templates.md @@ -3,10 +3,7 @@ title: Page templates to standardize documentation structure description: Create Page templates to standardize documentation and build reusable page structures. Save time and ensure consistency with our step-by-step guide. --- -

-

Create pages faster with templates

- -
+# Create pages faster with templates Page Templates help you standardize and streamline your documentation workflow by providing reusable page structures for common content types. Instead of manually creating similar pages from scratch, templates allow you to quickly apply predefined formats and content, saving time and ensuring consistency across your workspace. diff --git a/docs/templates/project-templates.md b/docs/templates/project-templates.md index ad942ecb..ab6a6f8d 100644 --- a/docs/templates/project-templates.md +++ b/docs/templates/project-templates.md @@ -3,10 +3,7 @@ title: Project templates to standardize new project setup description: Create and use Project Templates to standardize projects, save setup time, and ensure consistency across your workspace with predefined settings. --- -
-

Create projects faster with templates

- -
+# Create projects faster with templates Project Templates help you standardize and streamline your workflow by providing reusable structures for common project types. Instead of manually configuring similar projects from scratch, templates allow you to quickly apply predefined settings, saving time and ensuring consistency across your workspace. diff --git a/docs/templates/work-item-templates.md b/docs/templates/work-item-templates.md index 5cf3f7cf..fbd2612a 100644 --- a/docs/templates/work-item-templates.md +++ b/docs/templates/work-item-templates.md @@ -3,10 +3,7 @@ title: Work item templates for recurring tasks description: Create and use Work Item Templates to standardize recurring tasks, save setup time, and ensure consistency with predefined fields and properties. --- -
-

Create work items faster with templates

- -
+# Create work items faster with templates Work Item Templates help you standardize and streamline your workflow by providing reusable templates for common tasks. Instead of manually recreating similar work items, templates allow you to quickly apply predefined structures, saving time and ensuring consistency. diff --git a/docs/workflows-and-approvals/workflows.md b/docs/workflows-and-approvals/workflows.md index 6fdbfb82..9609d787 100644 --- a/docs/workflows-and-approvals/workflows.md +++ b/docs/workflows-and-approvals/workflows.md @@ -3,10 +3,7 @@ title: Workflows to control work item state transitions description: Set up Workflows to control work item transitions, require approval from specific reviewers, and ensure work follows your team's established processes. --- -
-

Control your work item transitions

- -
+# Control your work item transitions Workflows give you control over how work items move through your process. Think of it as creating guardrails that ensure work follows your team's agreed-upon path, with the right people making decisions at each step. @@ -30,7 +27,7 @@ This means you can: >
-## Set up your Workflow +## Set up your workflow Getting started with Workflows takes just a few minutes: @@ -63,7 +60,7 @@ Getting started with Workflows takes just a few minutes: - **View change history** See a log of modifications made to your workflow -## How Workflows work +## How workflows work Once your workflow is live, you'll notice some changes in how work items behave: diff --git a/docs/workspaces-and-users/manage-licenses.md b/docs/workspaces-and-users/manage-licenses.md index d3fe47bd..98538fbe 100644 --- a/docs/workspaces-and-users/manage-licenses.md +++ b/docs/workspaces-and-users/manage-licenses.md @@ -18,11 +18,12 @@ Activate a paid plan license on your self-hosted Plane instance using a license 2. Go to [Manage licenses](https://prime.plane.so/licenses). Copy the value of the **License key** for the license you want to activate. ![Manage licenses](https://media.docs.plane.so/activate-license/copy-license-key.webp#hero) - ::: note - Click the **Get more licenses** button as in the image above on the [Prime portal](https://prime.plane.so/licenses/plans) to buy more licenses. - ::: -3. On the Plane app, navigate to **Workspace Settings > Billing and plans** +::: info +Click the **Get more licenses** button as in the image above on the [Prime portal](https://prime.plane.so/licenses/plans) to buy more licenses. +::: + +3. On the Plane app, navigate to **Workspace Settings > Billing and plans**. 4. Click the **Activate this Workspace** button. ![Activate workspace](https://media.docs.plane.so/activate-license/enter-license-key-selfhosted.webp#hero-tr) diff --git a/docs/workspaces-and-users/permissions.md b/docs/workspaces-and-users/permissions.md index 2b70ddef..da5d7cb8 100644 --- a/docs/workspaces-and-users/permissions.md +++ b/docs/workspaces-and-users/permissions.md @@ -11,9 +11,9 @@ This reference provides a comprehensive breakdown of what each role can do acros ## Permission levels -
- Workspaces - +::: details Workspaces + +
@@ -25,182 +25,180 @@ This reference provides a comprehensive breakdown of what each role can do acros - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + +
Permission
Access Workspace settingsxxxx
Create Workspacexxxx
Update Workspacexxxx
Delete Workspacexxxx
Add userxxxx
Remove userxxxx
Change user rolexxxx
Manage Project statesxxxx
Manage Billing and plansxxxx
Manage Integrationsxxxx
Manage Importsxxxx
Manage Exportsxxxx
Manage Webhooksxxxx
Manage API tokensxxxx
Manage Worklogsxxxx
Home
Your workxx
Inbox
Draftsxx
Projectsxx
View private projectsxxxx
View public projectsxx
Join private projectsxxxx
Join public projectsxx
Cyclesxx
Views
Analyticsxx
Your favouritesxx
-
+::: + +::: details Projects -
- - Projects - - +
@@ -483,13 +481,11 @@ This reference provides a comprehensive breakdown of what each role can do acros
Permission
-
+::: -
- - Work items - - +::: details Work items + +
@@ -791,13 +787,11 @@ This reference provides a comprehensive breakdown of what each role can do acros
Permission
-
+::: + +::: details Cycles -
- - Cycles - - +
@@ -990,13 +984,11 @@ This reference provides a comprehensive breakdown of what each role can do acros
Permission
-
+::: -
- - Modules - - +::: details Modules + +
@@ -1219,13 +1211,11 @@ This reference provides a comprehensive breakdown of what each role can do acros
Permission
-
+::: + +::: details Views -
- - Views - - +
@@ -1451,13 +1441,11 @@ This reference provides a comprehensive breakdown of what each role can do acros
Permission
-
+::: -
- - Pages - - +::: details Pages + +
@@ -1671,13 +1659,11 @@ This reference provides a comprehensive breakdown of what each role can do acros
Permission
-
+::: + +::: details Intake -
- - Intake - - +
@@ -1998,7 +1984,7 @@ This reference provides a comprehensive breakdown of what each role can do acros
Permission
-
+::: ## See also diff --git a/package.json b/package.json index c3414aa5..30f222c3 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,11 @@ "format": "oxfmt --write ." }, "dependencies": { + "@tailwindcss/vite": "^4.2.1", + "lucide-vue-next": "^0.577.0", + "tailwindcss": "^4.2.1", "vitepress": "^1.6.3", + "vitepress-plugin-tabs": "^0.8.0", "vue": "^3.5.13" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 897c1e37..efe0e625 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,9 +8,21 @@ importers: .: dependencies: + '@tailwindcss/vite': + specifier: ^4.2.1 + version: 4.2.1(vite@5.4.21(lightningcss@1.31.1)) + lucide-vue-next: + specifier: ^0.577.0 + version: 0.577.0(vue@3.5.29) + tailwindcss: + specifier: ^4.2.1 + version: 4.2.1 vitepress: specifier: ^1.6.3 - version: 1.6.4(@algolia/client-search@5.49.1)(postcss@8.5.8)(search-insights@2.17.3) + version: 1.6.4(@algolia/client-search@5.49.1)(lightningcss@1.31.1)(postcss@8.5.8)(search-insights@2.17.3) + vitepress-plugin-tabs: + specifier: ^0.8.0 + version: 0.8.0(vitepress@1.6.4(@algolia/client-search@5.49.1)(lightningcss@1.31.1)(postcss@8.5.8)(search-insights@2.17.3))(vue@3.5.29) vue: specifier: ^3.5.13 version: 3.5.29 @@ -281,9 +293,22 @@ packages: '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + '@oxfmt/binding-android-arm-eabi@0.36.0': resolution: {integrity: sha512-Z4yVHJWx/swHHjtr0dXrBZb6LxS+qNz1qdza222mWwPTUK4L790+5i3LTgjx3KYGBzcYpjaiZBw4vOx94dH7MQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -568,6 +593,100 @@ packages: '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} + '@tailwindcss/node@4.2.1': + resolution: {integrity: sha512-jlx6sLk4EOwO6hHe1oCGm1Q4AN/s0rSrTTPBGPM0/RQ6Uylwq17FuU8IeJJKEjtc6K6O07zsvP+gDO6MMWo7pg==} + + '@tailwindcss/oxide-android-arm64@4.2.1': + resolution: {integrity: sha512-eZ7G1Zm5EC8OOKaesIKuw77jw++QJ2lL9N+dDpdQiAB/c/B2wDh0QPFHbkBVrXnwNugvrbJFk1gK2SsVjwWReg==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [android] + + '@tailwindcss/oxide-darwin-arm64@4.2.1': + resolution: {integrity: sha512-q/LHkOstoJ7pI1J0q6djesLzRvQSIfEto148ppAd+BVQK0JYjQIFSK3JgYZJa+Yzi0DDa52ZsQx2rqytBnf8Hw==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [darwin] + + '@tailwindcss/oxide-darwin-x64@4.2.1': + resolution: {integrity: sha512-/f/ozlaXGY6QLbpvd/kFTro2l18f7dHKpB+ieXz+Cijl4Mt9AI2rTrpq7V+t04nK+j9XBQHnSMdeQRhbGyt6fw==} + engines: {node: '>= 20'} + cpu: [x64] + os: [darwin] + + '@tailwindcss/oxide-freebsd-x64@4.2.1': + resolution: {integrity: sha512-5e/AkgYJT/cpbkys/OU2Ei2jdETCLlifwm7ogMC7/hksI2fC3iiq6OcXwjibcIjPung0kRtR3TxEITkqgn0TcA==} + engines: {node: '>= 20'} + cpu: [x64] + os: [freebsd] + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.2.1': + resolution: {integrity: sha512-Uny1EcVTTmerCKt/1ZuKTkb0x8ZaiuYucg2/kImO5A5Y/kBz41/+j0gxUZl+hTF3xkWpDmHX+TaWhOtba2Fyuw==} + engines: {node: '>= 20'} + cpu: [arm] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-gnu@4.2.1': + resolution: {integrity: sha512-CTrwomI+c7n6aSSQlsPL0roRiNMDQ/YzMD9EjcR+H4f0I1SQ8QqIuPnsVp7QgMkC1Qi8rtkekLkOFjo7OlEFRQ==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@tailwindcss/oxide-linux-arm64-musl@4.2.1': + resolution: {integrity: sha512-WZA0CHRL/SP1TRbA5mp9htsppSEkWuQ4KsSUumYQnyl8ZdT39ntwqmz4IUHGN6p4XdSlYfJwM4rRzZLShHsGAQ==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@tailwindcss/oxide-linux-x64-gnu@4.2.1': + resolution: {integrity: sha512-qMFzxI2YlBOLW5PhblzuSWlWfwLHaneBE0xHzLrBgNtqN6mWfs+qYbhryGSXQjFYB1Dzf5w+LN5qbUTPhW7Y5g==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@tailwindcss/oxide-linux-x64-musl@4.2.1': + resolution: {integrity: sha512-5r1X2FKnCMUPlXTWRYpHdPYUY6a1Ar/t7P24OuiEdEOmms5lyqjDRvVY1yy9Rmioh+AunQ0rWiOTPE8F9A3v5g==} + engines: {node: '>= 20'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@tailwindcss/oxide-wasm32-wasi@4.2.1': + resolution: {integrity: sha512-MGFB5cVPvshR85MTJkEvqDUnuNoysrsRxd6vnk1Lf2tbiqNlXpHYZqkqOQalydienEWOHHFyyuTSYRsLfxFJ2Q==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + bundledDependencies: + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' + - tslib + + '@tailwindcss/oxide-win32-arm64-msvc@4.2.1': + resolution: {integrity: sha512-YlUEHRHBGnCMh4Nj4GnqQyBtsshUPdiNroZj8VPkvTZSoHsilRCwXcVKnG9kyi0ZFAS/3u+qKHBdDc81SADTRA==} + engines: {node: '>= 20'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.2.1': + resolution: {integrity: sha512-rbO34G5sMWWyrN/idLeVxAZgAKWrn5LiR3/I90Q9MkA67s6T1oB0xtTe+0heoBvHSpbU9Mk7i6uwJnpo4u21XQ==} + engines: {node: '>= 20'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.2.1': + resolution: {integrity: sha512-yv9jeEFWnjKCI6/T3Oq50yQEOqmpmpfzG1hcZsAOaXFQPfzWprWrlHSdGPEF3WQTi8zu8ohC9Mh9J470nT5pUw==} + engines: {node: '>= 20'} + + '@tailwindcss/vite@4.2.1': + resolution: {integrity: sha512-TBf2sJjYeb28jD2U/OhwdW0bbOsxkWPwQ7SrqGf9sVcoYwZj7rkXljroBO9wKBut9XnmQLXanuDUeqQK0lGg/w==} + peerDependencies: + vite: ^5.2.0 || ^6 || ^7 + '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} @@ -720,12 +839,20 @@ packages: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} + devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} emoji-regex-xs@1.0.0: resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} + enhanced-resolve@5.20.0: + resolution: {integrity: sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ==} + engines: {node: '>=10.13.0'} + entities@7.0.1: resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} engines: {node: '>=0.12'} @@ -746,6 +873,9 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + hast-util-to-html@9.0.5: resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==} @@ -762,6 +892,89 @@ packages: resolution: {integrity: sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==} engines: {node: '>=18'} + jiti@2.6.1: + resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} + hasBin: true + + lightningcss-android-arm64@1.31.1: + resolution: {integrity: sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + + lightningcss-darwin-arm64@1.31.1: + resolution: {integrity: sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.31.1: + resolution: {integrity: sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.31.1: + resolution: {integrity: sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.31.1: + resolution: {integrity: sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.31.1: + resolution: {integrity: sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + lightningcss-linux-arm64-musl@1.31.1: + resolution: {integrity: sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + lightningcss-linux-x64-gnu@1.31.1: + resolution: {integrity: sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + lightningcss-linux-x64-musl@1.31.1: + resolution: {integrity: sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + lightningcss-win32-arm64-msvc@1.31.1: + resolution: {integrity: sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.31.1: + resolution: {integrity: sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.31.1: + resolution: {integrity: sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==} + engines: {node: '>= 12.0.0'} + + lucide-vue-next@0.577.0: + resolution: {integrity: sha512-py05bAfv9SHVJqscbiOnjcnLlEmOffA58a+7XhZuFxrs6txe1E8VoR1ngWGTYO+9aVKABAz8l3ee3PqiQN9QPA==} + peerDependencies: + vue: '>=3.0.1' + magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} @@ -865,6 +1078,13 @@ packages: tabbable@6.4.0: resolution: {integrity: sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==} + tailwindcss@4.2.1: + resolution: {integrity: sha512-/tBrSQ36vCleJkAOsy9kbNTgaxvGbyOamC30PRePTQe/o1MFwEKHQk4Cn7BNGaPtjp+PuUrByJehM1hgxfq4sw==} + + tapable@2.3.0: + resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} + engines: {node: '>=6'} + tinypool@2.1.0: resolution: {integrity: sha512-Pugqs6M0m7Lv1I7FtxN4aoyToKg1C4tu+/381vH35y8oENM/Ai7f7C4StcoK4/+BSw9ebcS8jRiVrORFKCALLw==} engines: {node: ^20.0.0 || >=22.0.0} @@ -924,6 +1144,12 @@ packages: terser: optional: true + vitepress-plugin-tabs@0.8.0: + resolution: {integrity: sha512-86FWHAuS9XCyTMDpMd5MELwp3bQyITDf/+IdZ20+iYbB8TIR8yoCp08PkDHxi4WWSVsCZ3n1uUIC7YCVhMsI3A==} + peerDependencies: + vitepress: ^1.0.0 + vue: ^3.5.0 + vitepress@1.6.4: resolution: {integrity: sha512-+2ym1/+0VVrbhNyRoFFesVvBvHAVMZMK0rw60E3X/5349M1GuVdKeazuksqopEdvkKwKGs21Q729jX81/bkBJg==} hasBin: true @@ -1173,8 +1399,25 @@ snapshots: '@iconify/types@2.0.0': {} + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + '@jridgewell/sourcemap-codec@1.5.5': {} + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + '@oxfmt/binding-android-arm-eabi@0.36.0': optional: true @@ -1347,6 +1590,74 @@ snapshots: '@shikijs/vscode-textmate@10.0.2': {} + '@tailwindcss/node@4.2.1': + dependencies: + '@jridgewell/remapping': 2.3.5 + enhanced-resolve: 5.20.0 + jiti: 2.6.1 + lightningcss: 1.31.1 + magic-string: 0.30.21 + source-map-js: 1.2.1 + tailwindcss: 4.2.1 + + '@tailwindcss/oxide-android-arm64@4.2.1': + optional: true + + '@tailwindcss/oxide-darwin-arm64@4.2.1': + optional: true + + '@tailwindcss/oxide-darwin-x64@4.2.1': + optional: true + + '@tailwindcss/oxide-freebsd-x64@4.2.1': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.2.1': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.2.1': + optional: true + + '@tailwindcss/oxide-linux-arm64-musl@4.2.1': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.2.1': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.2.1': + optional: true + + '@tailwindcss/oxide-wasm32-wasi@4.2.1': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.2.1': + optional: true + + '@tailwindcss/oxide-win32-x64-msvc@4.2.1': + optional: true + + '@tailwindcss/oxide@4.2.1': + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.2.1 + '@tailwindcss/oxide-darwin-arm64': 4.2.1 + '@tailwindcss/oxide-darwin-x64': 4.2.1 + '@tailwindcss/oxide-freebsd-x64': 4.2.1 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.2.1 + '@tailwindcss/oxide-linux-arm64-gnu': 4.2.1 + '@tailwindcss/oxide-linux-arm64-musl': 4.2.1 + '@tailwindcss/oxide-linux-x64-gnu': 4.2.1 + '@tailwindcss/oxide-linux-x64-musl': 4.2.1 + '@tailwindcss/oxide-wasm32-wasi': 4.2.1 + '@tailwindcss/oxide-win32-arm64-msvc': 4.2.1 + '@tailwindcss/oxide-win32-x64-msvc': 4.2.1 + + '@tailwindcss/vite@4.2.1(vite@5.4.21(lightningcss@1.31.1))': + dependencies: + '@tailwindcss/node': 4.2.1 + '@tailwindcss/oxide': 4.2.1 + tailwindcss: 4.2.1 + vite: 5.4.21(lightningcss@1.31.1) + '@types/estree@1.0.8': {} '@types/hast@3.0.4': @@ -1372,9 +1683,9 @@ snapshots: '@ungap/structured-clone@1.3.0': {} - '@vitejs/plugin-vue@5.2.4(vite@5.4.21)(vue@3.5.29)': + '@vitejs/plugin-vue@5.2.4(vite@5.4.21(lightningcss@1.31.1))(vue@3.5.29)': dependencies: - vite: 5.4.21 + vite: 5.4.21(lightningcss@1.31.1) vue: 3.5.29 '@vue/compiler-core@3.5.29': @@ -1511,12 +1822,19 @@ snapshots: dequal@2.0.3: {} + detect-libc@2.1.2: {} + devlop@1.1.0: dependencies: dequal: 2.0.3 emoji-regex-xs@1.0.0: {} + enhanced-resolve@5.20.0: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.3.0 + entities@7.0.1: {} esbuild@0.21.5: @@ -1554,6 +1872,8 @@ snapshots: fsevents@2.3.3: optional: true + graceful-fs@4.2.11: {} + hast-util-to-html@9.0.5: dependencies: '@types/hast': 3.0.4 @@ -1578,6 +1898,61 @@ snapshots: is-what@5.5.0: {} + jiti@2.6.1: {} + + lightningcss-android-arm64@1.31.1: + optional: true + + lightningcss-darwin-arm64@1.31.1: + optional: true + + lightningcss-darwin-x64@1.31.1: + optional: true + + lightningcss-freebsd-x64@1.31.1: + optional: true + + lightningcss-linux-arm-gnueabihf@1.31.1: + optional: true + + lightningcss-linux-arm64-gnu@1.31.1: + optional: true + + lightningcss-linux-arm64-musl@1.31.1: + optional: true + + lightningcss-linux-x64-gnu@1.31.1: + optional: true + + lightningcss-linux-x64-musl@1.31.1: + optional: true + + lightningcss-win32-arm64-msvc@1.31.1: + optional: true + + lightningcss-win32-x64-msvc@1.31.1: + optional: true + + lightningcss@1.31.1: + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.31.1 + lightningcss-darwin-arm64: 1.31.1 + lightningcss-darwin-x64: 1.31.1 + lightningcss-freebsd-x64: 1.31.1 + lightningcss-linux-arm-gnueabihf: 1.31.1 + lightningcss-linux-arm64-gnu: 1.31.1 + lightningcss-linux-arm64-musl: 1.31.1 + lightningcss-linux-x64-gnu: 1.31.1 + lightningcss-linux-x64-musl: 1.31.1 + lightningcss-win32-arm64-msvc: 1.31.1 + lightningcss-win32-x64-msvc: 1.31.1 + + lucide-vue-next@0.577.0(vue@3.5.29): + dependencies: + vue: 3.5.29 + magic-string@0.30.21: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -1736,6 +2111,10 @@ snapshots: tabbable@6.4.0: {} + tailwindcss@4.2.1: {} + + tapable@2.3.0: {} + tinypool@2.1.0: {} trim-lines@3.0.1: {} @@ -1773,15 +2152,21 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite@5.4.21: + vite@5.4.21(lightningcss@1.31.1): dependencies: esbuild: 0.21.5 postcss: 8.5.8 rollup: 4.59.0 optionalDependencies: fsevents: 2.3.3 + lightningcss: 1.31.1 + + vitepress-plugin-tabs@0.8.0(vitepress@1.6.4(@algolia/client-search@5.49.1)(lightningcss@1.31.1)(postcss@8.5.8)(search-insights@2.17.3))(vue@3.5.29): + dependencies: + vitepress: 1.6.4(@algolia/client-search@5.49.1)(lightningcss@1.31.1)(postcss@8.5.8)(search-insights@2.17.3) + vue: 3.5.29 - vitepress@1.6.4(@algolia/client-search@5.49.1)(postcss@8.5.8)(search-insights@2.17.3): + vitepress@1.6.4(@algolia/client-search@5.49.1)(lightningcss@1.31.1)(postcss@8.5.8)(search-insights@2.17.3): dependencies: '@docsearch/css': 3.8.2 '@docsearch/js': 3.8.2(@algolia/client-search@5.49.1)(search-insights@2.17.3) @@ -1790,7 +2175,7 @@ snapshots: '@shikijs/transformers': 2.5.0 '@shikijs/types': 2.5.0 '@types/markdown-it': 14.1.2 - '@vitejs/plugin-vue': 5.2.4(vite@5.4.21)(vue@3.5.29) + '@vitejs/plugin-vue': 5.2.4(vite@5.4.21(lightningcss@1.31.1))(vue@3.5.29) '@vue/devtools-api': 7.7.9 '@vue/shared': 3.5.29 '@vueuse/core': 12.8.2 @@ -1799,7 +2184,7 @@ snapshots: mark.js: 8.11.1 minisearch: 7.2.0 shiki: 2.5.0 - vite: 5.4.21 + vite: 5.4.21(lightningcss@1.31.1) vue: 3.5.29 optionalDependencies: postcss: 8.5.8 diff --git a/public/fonts/Satoshi/Satoshi-Variable.ttf b/public/fonts/Satoshi/Satoshi-Variable.ttf deleted file mode 100644 index 976e85cb58307b184289e3cdb11ddfd3a530a3e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 127420 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 From 52163ae173e770993f0bdfe965629977a95ade4b Mon Sep 17 00:00:00 2001 From: sriramveeraghanta Date: Mon, 9 Mar 2026 17:36:10 +0530 Subject: [PATCH 3/6] chore: replace values with env variables --- .env.example | 4 +++ .gitignore | 1 + docs/.vitepress/config.ts | 64 +++++++++++++++++++++++++++++---------- 3 files changed, 53 insertions(+), 16 deletions(-) create mode 100644 .env.example diff --git a/.env.example b/.env.example new file mode 100644 index 00000000..685af0b7 --- /dev/null +++ b/.env.example @@ -0,0 +1,4 @@ +VITE_ALGOLIA_APP_ID= +VITE_ALGOLIA_API_KEY= +VITE_ALGOLIA_INDEX_NAME= +VITE_POSTHOG_KEY= diff --git a/.gitignore b/.gitignore index 6dddbbf9..b6b7f563 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,7 @@ docs/.vitepress/cache # Misc .DS_Store +.env .env.local .env.development.local .env.test.local diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index e14d9c3b..5a2148d4 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -1,6 +1,50 @@ -import { defineConfig } from "vitepress"; +import { readFileSync } from "fs"; +import { resolve } from "path"; +import { defineConfig, type HeadConfig } from "vitepress"; import { tabsMarkdownPlugin } from "vitepress-plugin-tabs"; +function loadEnvVar(key: string): string | undefined { + // process.env takes precedence (CI/hosting platforms set vars here) + if (key in process.env) return process.env[key] || undefined; + // Fall back to .env file for local development + try { + const envFile = readFileSync(resolve(process.cwd(), ".env"), "utf-8"); + const match = envFile.match(new RegExp(`^${key}=(.+)$`, "m")); + return match?.[1]?.trim(); + } catch { + return undefined; + } +} + +const posthogKey = loadEnvVar("VITE_POSTHOG_KEY"); +const algoliaAppId = loadEnvVar("VITE_ALGOLIA_APP_ID"); +const algoliaApiKey = loadEnvVar("VITE_ALGOLIA_API_KEY"); +const algoliaIndexName = loadEnvVar("VITE_ALGOLIA_INDEX_NAME"); + +const posthogHead: HeadConfig[] = posthogKey + ? [ + [ + "script", + {}, + `!function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled onFeatureFlags getFeatureFlag getFeatureFlagPayload reloadFeatureFlags group updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures getActiveMatchingSurveys getSurveys onSessionId".split(" "),n=0;n Date: Mon, 9 Mar 2026 18:06:11 +0530 Subject: [PATCH 4/6] Fixed homepage (#405) * Fixed homepage * Updated content in homepage --- docs/.vitepress/config.ts | 2 +- docs/index.md | 92 ++++++++++++++++++++------------------- 2 files changed, 48 insertions(+), 46 deletions(-) diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 5a2148d4..f275e372 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -212,7 +212,7 @@ export default defineConfig({ { text: "Get started", items: [ - { text: "Introduction", link: "/" }, + { text: "Introduction", link: "/introduction/home" }, { text: "Quickstart guide", link: "/introduction/quickstart" }, { text: "Core concepts", link: "/introduction/core-concepts" }, { diff --git a/docs/index.md b/docs/index.md index 8a4f6f32..d80e1363 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,47 +1,49 @@ --- -title: Modern project management software -description: Discover Plane, the enterprise project management software for teams of all sizes. Learn how our issue tracking, sprint management, and knowledge tools can streamline your workflow. +layout: home +title: Plane Docs +description: Everything you need to learn Plane, manage projects, and build powerful workflows. + +hero: + name: "Plane Documentation" + text: "Plan, track, and ship your work" + tagline: Guides and reference for using Plane to manage projects, collaborate with teams, and automate workflows. + actions: + - theme: brand + text: Get Started + link: /introduction/home + - theme: alt + text: Tutorials + link: /introduction/tutorials/overview + +features: + - icon: 👥 + title: Workspaces + details: Set up workspaces, invite members, configure roles and permissions, and collaborate effectively. + link: /core-concepts/workspaces/overview + linkText: Configure workspaces + - icon: 📋 + title: Projects + details: Create projects, manage work items, plan with cycles and modules, and track progress. + link: /core-concepts/projects/overview + linkText: Manage projects + - icon: 📄 + title: Pages and Wiki + details: Create pages, build wikis, and keep your team's knowledge organized and accessible. + link: /core-concepts/pages/overview + linkText: Explore pages + - icon: 🔗 + title: Integrations + details: Connect Plane with GitHub, GitLab, Slack, Sentry, and more to streamline your workflow. + link: /integrations/about + linkText: View integrations + - icon: 📥 + title: Import and export + details: Migrate from Jira, Asana, Linear, ClickUp, and other tools with our importers. + link: /importers/overview + linkText: Import data + - icon: 🛠️ + title: Developers + details: Self-host Plane, use the API, and extend Plane with MCP servers, agents, and custom integrations. + link: https://developers.plane.so/self-hosting/overview + linkText: Developer docs --- - -# Welcome to Plane - -This page gives you a quick rundown of Plane and highlights why it's a great choice for managing your projects. - -![Plane interface](https://media.docs.plane.so/introduction/introduction-plane.webp#hero) - -## What is Plane - -Plane is modern project management software that helps teams plan, track, and manage their work more efficiently. - -Whether you're a startup, a growing business, or a large enterprise, Plane can adapt to your team’s specific needs, making it a perfect solution for smooth, collaborative project management. - -## Why Plane - -Plane strikes a balance between simplicity, adaptability, and powerful features: - -- **Flexible and adaptable**
- Plane adjusts to your team's unique workflow. It evolves with your processes, whether you follow Agile, Scrum, or a hybrid approach. - -- **Intuitive and easy to use**
- With a simple, user-friendly interface, Plane has a minimal learning curve. Anyone from startup founders to project managers can quickly get started without much setup or training. - -- **Cloud and self-hosted options**
- Choose between cloud or self-hosted solutions. For regulated industries, running Plane on your own infrastructure provides crucial data control. - -- **Integrated workspace**
- Combine project management and knowledge management in one software, reducing silos and keeping everything centralized. - -## Get Plane - -You can setup Plane in two ways: - -- **[Plane Cloud](https://app.plane.so/sign-up)**
- Sign up for a free cloud account - it's the easiest and quickest way to start using Plane. - -- **[Self-host Plane](https://developers.plane.so/self-hosting/overview)**
- Install and run Plane on your own servers if you want full control over your data and infrastructure. - -## What's next - -- **New to Plane?** Start with [Tutorials](/introduction/tutorials/overview). -- **Want to understand key concepts?** Explore [Core Concepts](/introduction/core-concepts). From e8711d706e65157c01e4d8151c8e4d3f89ddbef9 Mon Sep 17 00:00:00 2001 From: danciaclara Date: Mon, 9 Mar 2026 18:20:33 +0530 Subject: [PATCH 5/6] Updated emojis to icons --- docs/index.md | 30 ++++++++++++++++++++------ docs/public/icons/arrow-left-right.svg | 1 + docs/public/icons/book-open.svg | 1 + docs/public/icons/building-2.svg | 1 + docs/public/icons/kanban.svg | 1 + docs/public/icons/plug.svg | 1 + docs/public/icons/terminal.svg | 1 + 7 files changed, 30 insertions(+), 6 deletions(-) create mode 100644 docs/public/icons/arrow-left-right.svg create mode 100644 docs/public/icons/book-open.svg create mode 100644 docs/public/icons/building-2.svg create mode 100644 docs/public/icons/kanban.svg create mode 100644 docs/public/icons/plug.svg create mode 100644 docs/public/icons/terminal.svg diff --git a/docs/index.md b/docs/index.md index d80e1363..104faec1 100644 --- a/docs/index.md +++ b/docs/index.md @@ -16,32 +16,50 @@ hero: link: /introduction/tutorials/overview features: - - icon: 👥 + - icon: + src: /icons/building-2.svg + width: 25 + height: 25 title: Workspaces details: Set up workspaces, invite members, configure roles and permissions, and collaborate effectively. link: /core-concepts/workspaces/overview linkText: Configure workspaces - - icon: 📋 + - icon: + src: /icons/kanban.svg + width: 25 + height: 25 title: Projects details: Create projects, manage work items, plan with cycles and modules, and track progress. link: /core-concepts/projects/overview linkText: Manage projects - - icon: 📄 + - icon: + src: /icons/book-open.svg + width: 25 + height: 25 title: Pages and Wiki details: Create pages, build wikis, and keep your team's knowledge organized and accessible. link: /core-concepts/pages/overview linkText: Explore pages - - icon: 🔗 + - icon: + src: /icons/plug.svg + width: 25 + height: 25 title: Integrations details: Connect Plane with GitHub, GitLab, Slack, Sentry, and more to streamline your workflow. link: /integrations/about linkText: View integrations - - icon: 📥 + - icon: + src: /icons/arrow-left-right.svg + width: 25 + height: 25 title: Import and export details: Migrate from Jira, Asana, Linear, ClickUp, and other tools with our importers. link: /importers/overview linkText: Import data - - icon: 🛠️ + - icon: + src: /icons/terminal.svg + width: 25 + height: 25 title: Developers details: Self-host Plane, use the API, and extend Plane with MCP servers, agents, and custom integrations. link: https://developers.plane.so/self-hosting/overview diff --git a/docs/public/icons/arrow-left-right.svg b/docs/public/icons/arrow-left-right.svg new file mode 100644 index 00000000..34d78aab --- /dev/null +++ b/docs/public/icons/arrow-left-right.svg @@ -0,0 +1 @@ + diff --git a/docs/public/icons/book-open.svg b/docs/public/icons/book-open.svg new file mode 100644 index 00000000..e129253f --- /dev/null +++ b/docs/public/icons/book-open.svg @@ -0,0 +1 @@ + diff --git a/docs/public/icons/building-2.svg b/docs/public/icons/building-2.svg new file mode 100644 index 00000000..5aeac764 --- /dev/null +++ b/docs/public/icons/building-2.svg @@ -0,0 +1 @@ + diff --git a/docs/public/icons/kanban.svg b/docs/public/icons/kanban.svg new file mode 100644 index 00000000..1b4ea2a8 --- /dev/null +++ b/docs/public/icons/kanban.svg @@ -0,0 +1 @@ + diff --git a/docs/public/icons/plug.svg b/docs/public/icons/plug.svg new file mode 100644 index 00000000..e6f6be41 --- /dev/null +++ b/docs/public/icons/plug.svg @@ -0,0 +1 @@ + diff --git a/docs/public/icons/terminal.svg b/docs/public/icons/terminal.svg new file mode 100644 index 00000000..744b03f2 --- /dev/null +++ b/docs/public/icons/terminal.svg @@ -0,0 +1 @@ + From b2fb9b73c0884038f28ab3789b16e415c3627253 Mon Sep 17 00:00:00 2001 From: danciaclara Date: Mon, 9 Mar 2026 19:02:19 +0530 Subject: [PATCH 6/6] fixed icon color in dark mode --- docs/.vitepress/theme/style.css | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/.vitepress/theme/style.css b/docs/.vitepress/theme/style.css index 60fcf09f..5b40fa25 100644 --- a/docs/.vitepress/theme/style.css +++ b/docs/.vitepress/theme/style.css @@ -844,3 +844,18 @@ article img[src$="#hero-br"] { margin: 10px; } +/* ================================================ + HOMEPAGE FEATURE ICONS - DARK MODE + ================================================ */ + +/* Feature card icons use currentColor in SVG, but since they're + loaded as tags, currentColor defaults to black. This filter + inverts them for visibility in dark mode. */ +.dark .VPFeature .VPImage { + filter: invert(1) hue-rotate(180deg); +} + +.dark .VPFeatures .VPFeature .icon img { + filter: invert(1) hue-rotate(180deg); +} +