From 35c8f368affc3a57872a7b25e3570f0853e24cc9 Mon Sep 17 00:00:00 2001 From: Jeffrey Aven Date: Tue, 6 Oct 2026 15:30:52 +1100 Subject: [PATCH 1/3] website: add the Back to StackQL Docs sidebar link Opens the docs sidebar with a link to /stackqldocs, the redirect to the main stackql.io docs, matching the query library site and the provider template. Styled by the new .sidebar-back-link rules in the site stylesheet. No generated docs or dependencies change. Co-Authored-By: Claude Fable 5.1 --- stackql_cloudflare/website/sidebars.js | 10 +++++++++ stackql_cloudflare/website/src/css/custom.css | 22 ++++++++++++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/stackql_cloudflare/website/sidebars.js b/stackql_cloudflare/website/sidebars.js index 72e3166db77..ca437e584d0 100644 --- a/stackql_cloudflare/website/sidebars.js +++ b/stackql_cloudflare/website/sidebars.js @@ -21,6 +21,16 @@ const providerTitle = config.title.replace(/^StackQL /, '').replace(/ Provider$/ const sidebars = { mainSidebar: [ + // Way back to the main stackql.io docs, as on the query library site. + // '/stackqldocs' is this site's redirect page (src/pages/stackqldocs.js). + // The arrow and divider come from the .sidebar-back-link rules in the + // site stylesheet. + { + type: 'link', + label: 'Back to StackQL Docs', + href: '/stackqldocs', + className: 'sidebar-back-link', + }, { type: 'link', label: 'All Providers', diff --git a/stackql_cloudflare/website/src/css/custom.css b/stackql_cloudflare/website/src/css/custom.css index ce0b531af65..5f8fb937dd4 100644 --- a/stackql_cloudflare/website/src/css/custom.css +++ b/stackql_cloudflare/website/src/css/custom.css @@ -256,4 +256,24 @@ div:has(> .vhsImage) { .providerDocColumn { width: 100%; } - } \ No newline at end of file + } + +/* +* sidebar: back link to the main stackql.io docs (the first item in +* sidebars.js). Same treatment as the query library site: bold label, +* leading arrow drawn here so the label stays plain text, divider below. +*/ +.sidebar-back-link { + border-bottom: 1px solid var(--ifm-color-emphasis-300); + padding-bottom: 0.5rem; + margin-bottom: 0.5rem !important; +} + +.sidebar-back-link .menu__link { + font-weight: 600; +} + +.sidebar-back-link .menu__link::before { + content: '\2190'; + margin-right: 0.5rem; +} From ab6ddc697d40dd86c9f43357605428efa684bb04 Mon Sep 17 00:00:00 2001 From: Jeffrey Aven Date: Wed, 7 Oct 2026 05:52:03 +1100 Subject: [PATCH 2/3] docs: regenerate with @stackql/provider-utils 0.7.12 and the source repo link Bumps @stackql/provider-utils from 0.7.5 to 0.7.12, makes the docgen wrapper (bin/generate-docs.mjs) pass the source project (this repository, overridable with SOURCE_PROJECT) and regenerates the markdown docs, so the provider summary links to the source repository. The Makefile docs target is unchanged; it already runs the wrapper. Co-Authored-By: Claude Fable 5.1 --- stackql_cloudflare/bin/generate-docs.mjs | 4 ++ stackql_cloudflare/package-lock.json | 68 +++++++++++++++++++----- stackql_cloudflare/package.json | 2 +- stackql_cloudflare/website/docs/index.md | 1 + 4 files changed, 61 insertions(+), 14 deletions(-) diff --git a/stackql_cloudflare/bin/generate-docs.mjs b/stackql_cloudflare/bin/generate-docs.mjs index baf1da49da5..42fd688ba99 100644 --- a/stackql_cloudflare/bin/generate-docs.mjs +++ b/stackql_cloudflare/bin/generate-docs.mjs @@ -23,6 +23,9 @@ const providerDir = path.join(BASE_DIR, 'provider-dev', 'openapi', 'src', 'c // website/docs/... const outputDir = path.join(BASE_DIR, 'website'); const providerDataDir = path.join(BASE_DIR, 'provider-dev', 'docgen', 'provider-data'); +// Repository linked from the Provider Summary on the docs landing page (the +// provider-utils --source-project row); override with SOURCE_PROJECT. +const sourceProject = process.env.SOURCE_PROJECT || 'https://github.com/stackql-registry/stackql-provider-cloudflare'; console.log(`[generate-docs] provider: ${providerDir}`); console.log(`[generate-docs] providerData:${providerDataDir}`); @@ -33,6 +36,7 @@ const result = await docgen.generateDocs({ providerDir, outputDir, providerDataDir, + sourceProject, // Let docgen run SwaggerParser.dereference + flattenAllOf. Cloudflare's // upstream `{accounts_or_zones}` paths (which used to crash the // dereferencer) are now fanned out into concrete /accounts/ and /zones/ diff --git a/stackql_cloudflare/package-lock.json b/stackql_cloudflare/package-lock.json index 3595cc245ea..14f0d5a9e57 100644 --- a/stackql_cloudflare/package-lock.json +++ b/stackql_cloudflare/package-lock.json @@ -9,7 +9,7 @@ "version": "0.1.0", "dependencies": { "@stackql/pgwire-lite": "^1.0.1", - "@stackql/provider-utils": "^0.7.5" + "@stackql/provider-utils": "^0.7.12" }, "engines": { "node": ">=14.16.0" @@ -91,6 +91,30 @@ "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", "license": "MIT" }, + "node_modules/@jsep-plugin/assignment": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@jsep-plugin/assignment/-/assignment-1.3.0.tgz", + "integrity": "sha512-VVgV+CXrhbMI3aSusQyclHkenWSAm95WaiKrMxRFam3JSUiIaQjoMIw2sEs/OX4XifnqeQUN4DYbJjlA8EfktQ==", + "license": "MIT", + "engines": { + "node": ">= 10.16.0" + }, + "peerDependencies": { + "jsep": "^0.4.0||^1.0.0" + } + }, + "node_modules/@jsep-plugin/regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@jsep-plugin/regex/-/regex-1.0.4.tgz", + "integrity": "sha512-q7qL4Mgjs1vByCaTnDFcBnV9HS7GVPJX5vyVoCgZHNSC9rjwIlmbXG5sUuorR5ndfHAIlJ8pVStxvjXHbNvtUg==", + "license": "MIT", + "engines": { + "node": ">= 10.16.0" + }, + "peerDependencies": { + "jsep": "^0.4.0||^1.0.0" + } + }, "node_modules/@so-ric/colorspace": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/@so-ric/colorspace/-/colorspace-1.1.6.tgz", @@ -103,11 +127,11 @@ }, "node_modules/@stackql/deno-openapi-dereferencer": { "name": "@jsr/stackql__deno-openapi-dereferencer", - "version": "0.3.1", - "resolved": "https://npm.jsr.io/~/11/@jsr/stackql__deno-openapi-dereferencer/0.3.1.tgz", - "integrity": "sha512-7Ucdom3SYxvzp7VwzulQMe66E+1LeCZIprFQ70PwRPIUfL90bYNQDrLfe5L1WaB+X7StWdHmoFSFxoa9RDlN7w==", + "version": "0.3.2", + "resolved": "https://npm.jsr.io/~/11/@jsr/stackql__deno-openapi-dereferencer/0.3.2.tgz", + "integrity": "sha512-Qj5B0pl2Rsec+GHwGGIh9254AQfEplkD82HW9FEhQR+vZvzhEgF2Ap72hmdLq8rWOGV4soSnQ4sFYorE2pIT5Q==", "dependencies": { - "jsonpath-plus": "7.0.0" + "jsonpath-plus": "^10.3.0" } }, "node_modules/@stackql/pgwire-lite": { @@ -120,13 +144,13 @@ } }, "node_modules/@stackql/provider-utils": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@stackql/provider-utils/-/provider-utils-0.7.5.tgz", - "integrity": "sha512-dgNUoK4XWq7vqD0iTwq2S3ulQVzQvIhSBZ+nuz0EnkvAqyCmN0ARHTcmrT31KBmYXwV2GC6LcOEULowTWctR2A==", + "version": "0.7.12", + "resolved": "https://registry.npmjs.org/@stackql/provider-utils/-/provider-utils-0.7.12.tgz", + "integrity": "sha512-cwlnLkW/AZ86YVthU/HmVDVlwLHsuJtiCx+w0peqO7t/NpsgLsUneH5vG2PPt+yPv3euZeQg1HeO7NOAgDQdBw==", "license": "MIT", "dependencies": { "@apidevtools/swagger-parser": "^10.1.1", - "@stackql/deno-openapi-dereferencer": "npm:@jsr/stackql__deno-openapi-dereferencer@^0.3.1", + "@stackql/deno-openapi-dereferencer": "npm:@jsr/stackql__deno-openapi-dereferencer@^0.3.2", "csv-parser": "^3.2.0", "js-yaml": "^4.1.0", "pluralize": "^8.0.0" @@ -327,6 +351,15 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsep": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jsep/-/jsep-1.4.0.tgz", + "integrity": "sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw==", + "license": "MIT", + "engines": { + "node": ">= 10.16.0" + } + }, "node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", @@ -334,12 +367,21 @@ "license": "MIT" }, "node_modules/jsonpath-plus": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-7.0.0.tgz", - "integrity": "sha512-MH4UnrWrU1hJGVEyEyjvYgONkzNTO6Yol0nq18EMnUQ/ZC5cTuJheirXXIwu1b9mZ6t3XL0P79gPsu+zlTnDIQ==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-10.4.0.tgz", + "integrity": "sha512-T92WWatJXmhBbKsgH/0hl+jxjdXrifi5IKeMY02DWggRxX0UElcbVzPlmgLTbvsPeW1PasQ6xE2Q75stkhGbsA==", "license": "MIT", + "dependencies": { + "@jsep-plugin/assignment": "^1.3.0", + "@jsep-plugin/regex": "^1.0.4", + "jsep": "^1.4.0" + }, + "bin": { + "jsonpath": "bin/jsonpath-cli.js", + "jsonpath-plus": "bin/jsonpath-cli.js" + }, "engines": { - "node": ">=12.0.0" + "node": ">=18.0.0" } }, "node_modules/kuler": { diff --git a/stackql_cloudflare/package.json b/stackql_cloudflare/package.json index dddc1f7106c..78712eeba7f 100644 --- a/stackql_cloudflare/package.json +++ b/stackql_cloudflare/package.json @@ -16,7 +16,7 @@ }, "dependencies": { "@stackql/pgwire-lite": "^1.0.1", - "@stackql/provider-utils": "^0.7.5" + "@stackql/provider-utils": "^0.7.12" }, "keywords": [ "stackql", diff --git a/stackql_cloudflare/website/docs/index.md b/stackql_cloudflare/website/docs/index.md index 3974fd0dee3..0f6d39e5ca9 100644 --- a/stackql_cloudflare/website/docs/index.md +++ b/stackql_cloudflare/website/docs/index.md @@ -23,6 +23,7 @@ The connectivity cloud - DNS, CDN, Zero Trust, Workers, and more. total services: __108__ total resources: __1235__ +source project: __[stackql-provider-cloudflare](https://github.com/stackql-registry/stackql-provider-cloudflare)__ ::: From e7d64c7f245bb9a5efa91fd8a9cd4edada4a9746 Mon Sep 17 00:00:00 2001 From: Jeffrey Aven Date: Wed, 7 Oct 2026 05:54:30 +1100 Subject: [PATCH 3/3] website: migrate to the shared stackql/docusaurus-config Moves the site from the self-contained Docusaurus config to createConfig from the shared stackql/docusaurus-config, vendored into .shared-config at build time by the vendor-config script (prebuild and prestart), so it picks up the current navbar, the nested providers dropdown, the footer and the shared redirect routes: provider.js; the template's docusaurus.config.js (with the edit link pointing at this subdirectory), sidebars.js, package.json (Docusaurus 3.10.2, Node 22) and .gitignore; src/css/custom.css renamed to global.css with the template's rules; the redirect pages under src/pages and HomepageFeatures removed (the shared plugin registers those routes); the template's DocBreadcrumbs, SchemaTable and StackqlDeployDropdown added; favicons and site.webmanifest at the static root; a netlify.toml with the build command and Node 22; yarn.lock regenerated. static/CNAME named the snowflake host and now names this site's. Co-Authored-By: Claude Fable 5.1 --- stackql_cloudflare/website/.gitignore | 3 + .../website/docusaurus.config.js | 276 +--- stackql_cloudflare/website/netlify.toml | 9 + stackql_cloudflare/website/package.json | 10 +- stackql_cloudflare/website/provider.js | 5 + stackql_cloudflare/website/sidebars.js | 49 +- .../src/components/HomepageFeatures/index.js | 64 - .../HomepageFeatures/styles.module.css | 11 - .../src/components/SchemaTable/SchemaTable.js | 49 + .../SchemaTable/SchemaTable.module.css | 27 + .../StackqlDeployDropdown.js | 400 ++++++ .../StackqlDeployDropdown.module.css | 12 + .../src/css/{custom.css => global.css} | 28 + stackql_cloudflare/website/src/pages/blog.js | 10 - .../website/src/pages/contact-us.js | 10 - .../website/src/pages/install.js | 10 - .../website/src/pages/providers/aws.js | 10 - .../website/src/pages/providers/azure.js | 10 - .../website/src/pages/providers/confluent.js | 10 - .../website/src/pages/providers/databricks.js | 10 - .../website/src/pages/providers/github.js | 10 - .../website/src/pages/providers/google.js | 10 - .../website/src/pages/providers/index.js | 10 - .../website/src/pages/providers/okta.js | 10 - .../website/src/pages/providers/openai.js | 10 - .../website/src/pages/providers/snowflake.js | 10 - .../website/src/pages/stackql-deploy.js | 10 - .../website/src/pages/stackqldocs.js | 10 - .../website/src/pages/tutorials.js | 10 - .../website/src/theme/DocBreadcrumbs/index.js | 12 + stackql_cloudflare/website/static/CNAME | 2 +- .../website/static/apple-touch-icon.png | Bin 0 -> 7748 bytes .../website/static/favicon-16x16.png | Bin 0 -> 872 bytes .../website/static/favicon-32x32.png | Bin 0 -> 1533 bytes stackql_cloudflare/website/static/favicon.ico | Bin 0 -> 15086 bytes .../static/img/stackql-featured-image.png | Bin 0 -> 29955 bytes .../website/static/safari-pinned-tab.svg | 27 + .../website/static/site.webmanifest | 11 + stackql_cloudflare/website/yarn.lock | 1173 ++++++++++++++++- 39 files changed, 1788 insertions(+), 540 deletions(-) create mode 100644 stackql_cloudflare/website/netlify.toml create mode 100644 stackql_cloudflare/website/provider.js delete mode 100644 stackql_cloudflare/website/src/components/HomepageFeatures/index.js delete mode 100644 stackql_cloudflare/website/src/components/HomepageFeatures/styles.module.css create mode 100644 stackql_cloudflare/website/src/components/SchemaTable/SchemaTable.js create mode 100644 stackql_cloudflare/website/src/components/SchemaTable/SchemaTable.module.css create mode 100644 stackql_cloudflare/website/src/components/StackqlDeployDropdown/StackqlDeployDropdown.js create mode 100644 stackql_cloudflare/website/src/components/StackqlDeployDropdown/StackqlDeployDropdown.module.css rename stackql_cloudflare/website/src/css/{custom.css => global.css} (90%) delete mode 100644 stackql_cloudflare/website/src/pages/blog.js delete mode 100644 stackql_cloudflare/website/src/pages/contact-us.js delete mode 100644 stackql_cloudflare/website/src/pages/install.js delete mode 100644 stackql_cloudflare/website/src/pages/providers/aws.js delete mode 100644 stackql_cloudflare/website/src/pages/providers/azure.js delete mode 100644 stackql_cloudflare/website/src/pages/providers/confluent.js delete mode 100644 stackql_cloudflare/website/src/pages/providers/databricks.js delete mode 100644 stackql_cloudflare/website/src/pages/providers/github.js delete mode 100644 stackql_cloudflare/website/src/pages/providers/google.js delete mode 100644 stackql_cloudflare/website/src/pages/providers/index.js delete mode 100644 stackql_cloudflare/website/src/pages/providers/okta.js delete mode 100644 stackql_cloudflare/website/src/pages/providers/openai.js delete mode 100644 stackql_cloudflare/website/src/pages/providers/snowflake.js delete mode 100644 stackql_cloudflare/website/src/pages/stackql-deploy.js delete mode 100644 stackql_cloudflare/website/src/pages/stackqldocs.js delete mode 100644 stackql_cloudflare/website/src/pages/tutorials.js create mode 100644 stackql_cloudflare/website/src/theme/DocBreadcrumbs/index.js create mode 100644 stackql_cloudflare/website/static/apple-touch-icon.png create mode 100644 stackql_cloudflare/website/static/favicon-16x16.png create mode 100644 stackql_cloudflare/website/static/favicon-32x32.png create mode 100644 stackql_cloudflare/website/static/favicon.ico create mode 100644 stackql_cloudflare/website/static/img/stackql-featured-image.png create mode 100644 stackql_cloudflare/website/static/safari-pinned-tab.svg create mode 100644 stackql_cloudflare/website/static/site.webmanifest diff --git a/stackql_cloudflare/website/.gitignore b/stackql_cloudflare/website/.gitignore index b2d6de30624..f6810848f11 100644 --- a/stackql_cloudflare/website/.gitignore +++ b/stackql_cloudflare/website/.gitignore @@ -8,6 +8,9 @@ .docusaurus .cache-loader +# The shared stackql/docusaurus-config, vendored at build time +.shared-config + # Misc .DS_Store .env.local diff --git a/stackql_cloudflare/website/docusaurus.config.js b/stackql_cloudflare/website/docusaurus.config.js index 8802026c00e..764755b2498 100644 --- a/stackql_cloudflare/website/docusaurus.config.js +++ b/stackql_cloudflare/website/docusaurus.config.js @@ -1,240 +1,48 @@ -// @ts-check -// `@type` JSDoc annotations allow editor autocompletion and type checking -// (when paired with `@ts-check`). -// There are various equivalent ways to declare your Docusaurus config. -// See: https://docusaurus.io/docs/api/docusaurus-config - import {themes as prismThemes} from 'prism-react-renderer'; - -// Provider configuration - change these for different providers -const providerName = "cloudflare"; -const providerTitle = "Cloudflare"; - -const providerDropDownListItems = [ - { - label: 'AWS', - to: '/providers/aws', - }, - { - label: 'Azure', - to: '/providers/azure', - }, - { - label: 'Google', - to: '/providers/google', - }, - { - label: 'Databricks', - to: '/providers/databricks', - }, - { - label: 'Snowflake', - to: '/providers/snowflake', - }, - { - label: 'Confluent', - to: '/providers/confluent', - }, - { - label: 'Okta', - to: '/providers/okta', - }, - { - label: 'GitHub', - to: '/providers/github', - }, - { - label: 'OpenAI', - to: '/providers/openai', - }, - { - label: '... More', - to: '/providers', - }, -]; - -const footerStackQLItems = [ - { - label: 'Documentation', - to: '/stackqldocs', - }, - { - label: 'Install', - to: '/install', - }, - { - label: 'Contact us', - to: '/contact-us', - }, -]; - -const footerMoreItems = [ - { - label: 'Providers', - to: '/providers', - }, - { - label: 'stackql-deploy', - to: '/stackql-deploy', - }, - { - label: 'Blog', - to: '/blog', - }, - { - label: 'Tutorials', - to: '/tutorials', - }, -]; - -// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) - -/** @type {import('@docusaurus/types').Config} */ -const config = { - title: `StackQL ${providerTitle} Provider`, - tagline: `Query and Provision ${providerTitle} Resources using StackQL`, - favicon: 'img/favicon.ico', - staticDirectories: ['static'], - // Future flags, see https://docusaurus.io/docs/api/docusaurus-config#future - future: { - v4: true, // Improve compatibility with the upcoming Docusaurus v4 - }, - - // Set the production url of your site here - url: `https://${providerName}-provider.stackql.io`, - // 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: 'stackql', // Usually your GitHub org/user name. - projectName: `stackql-provider-${providerName}`, // Usually your repo name. - - onBrokenLinks: 'warn', - markdown: { - hooks: { - onBrokenMarkdownLinks: 'warn', +import { createConfig } from './.shared-config/index.js'; +import { providerName, providerTitle } from './provider.js'; + +const config = createConfig({ + providerName, + providerTitle, + prismThemes, + overrides: { + // Docusaurus Faster (rspack + swc, via @docusaurus/faster), consistent + // with the other provider microsites. + future: { + v4: true, + faster: true, }, }, - - // 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', - /** @type {import('@docusaurus/preset-classic').Options} */ - ({ - docs: { - sidebarPath: './sidebars.js', - // Please change this to your repo. - // Remove this to remove the "edit this page" links. - // editUrl: 'https://github.com/stackql/stackql-deploy/tree/main/website/', - routeBasePath: '/', // Set the docs to be the root of the site - }, - // Disable the built-in blog. The `/blog` route is served by - // src/pages/blog.js (a meta-refresh to https://stackql.io/blog), - // so the default blog plugin would just collide. - blog: false, - theme: { - customCss: './src/css/custom.css', - }, - }), - ], - ], - - themeConfig: - /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ - ({ - // Replace with your project's social card - image: 'img/stackql-cover.png', - navbar: { - logo: { - alt: 'StackQL Registry', - href: '/providers', - src: 'img/stackql-registry-logo.svg', - srcDark: 'img/stackql-registry-logo-white.svg', - }, - items: [ - { - to: '/install', - position: 'left', - label: 'Install', - }, - { - to: '/stackql-deploy', - position: 'left', - label: 'stackql-deploy', - }, - { - to: '/providers', - type: 'dropdown', - label: 'Providers', - position: 'left', - items: providerDropDownListItems, - }, - { - type: 'dropdown', - label: 'More', - position: 'left', - items: [ - { - to: '/stackqldocs', - label: 'StackQL Docs', - }, - { - to: '/blog', - label: 'Blog', - }, - { - to: '/tutorials', - label: 'Tutorials', - }, - ], - }, - { - href: 'https://github.com/stackql/stackql', - position: 'right', - className: 'header-github-link', - 'aria-label': 'GitHub repository', - }, - ], - }, - footer: { - style: 'dark', - logo: { - alt: 'StackQL', - href: '/providers', - src: 'img/stackql-registry-logo.svg', - srcDark: 'img/stackql-registry-logo-white.svg', - }, - links: [ - { - title: 'StackQL', - items: footerStackQLItems, - }, - { - title: 'More', - items: footerMoreItems, - }, - ], - copyright: `© ${new Date().getFullYear()} StackQL Studios`, - }, - colorMode: { - // using user system preferences, instead of the hardcoded defaultMode - respectPrefersColorScheme: true, - }, - prism: { - theme: prismThemes.nightOwl, - darkTheme: prismThemes.dracula, - }, - }), +}); + +// Date-stamp every doc page ("Last updated on ..."). The pages are +// regenerated and committed on every provider refresh, so the stamp is the +// regeneration date. +config.presets[0][1].docs.showLastUpdateTime = true; + +// The site lives under stackql_cloudflare/website in the provider repo, so +// the shared config's edit link (repo root) needs the subdirectory. +config.presets[0][1].docs.editUrl = + 'https://github.com/stackql-registry/stackql-provider-cloudflare/edit/stackql-provider/stackql_cloudflare/website/'; + +// Use the locally vendored registry-branded logos (STACKQL>> | REGISTRY) +// instead of the shared config's hotlinked main-site wordmark - +// self-contained assets, no cross-origin fetch. global.css swaps in the +// -mobile variants below 996px. +const registryLogo = { + alt: 'StackQL', + href: '/', + src: 'img/stackql-registry-logo.svg', + srcDark: 'img/stackql-registry-logo-white.svg', }; +config.themeConfig.navbar.logo = { ...registryLogo }; +config.themeConfig.footer.logo = { ...registryLogo }; + +// URL form. Keep the Docusaurus default (pages emitted as /index.html) +// regardless of the shared config's trailingSlash setting, so GitHub Pages +// serves both /services/x/y and /services/x/y/. A trailingSlash: false site +// emits .html instead, which returns 404 for the trailing-slash URL. +delete config.trailingSlash; export default config; diff --git a/stackql_cloudflare/website/netlify.toml b/stackql_cloudflare/website/netlify.toml new file mode 100644 index 00000000000..e45ccce30e1 --- /dev/null +++ b/stackql_cloudflare/website/netlify.toml @@ -0,0 +1,9 @@ +# Netlify site: cloudflare-provider.stackql.io +# Base directory (set in Netlify UI): stackql_cloudflare/website + +[build] + command = "yarn build" + publish = "build" + +[build.environment] + NODE_VERSION = "22" diff --git a/stackql_cloudflare/website/package.json b/stackql_cloudflare/website/package.json index d4b0374ada7..f4bc7c6116b 100644 --- a/stackql_cloudflare/website/package.json +++ b/stackql_cloudflare/website/package.json @@ -4,6 +4,9 @@ "private": true, "scripts": { "docusaurus": "docusaurus", + "vendor-config": "rimraf .shared-config && git clone --depth 1 --branch main https://github.com/stackql/docusaurus-config.git .shared-config", + "prestart": "yarn vendor-config", + "prebuild": "yarn vendor-config", "start": "docusaurus start", "build": "docusaurus build", "swizzle": "docusaurus swizzle", @@ -16,7 +19,9 @@ "dependencies": { "@docusaurus/core": "^3.10.2", "@docusaurus/faster": "^3.10.2", + "@docusaurus/plugin-ideal-image": "^3.10.2", "@docusaurus/preset-classic": "^3.10.2", + "@docusaurus/theme-mermaid": "^3.10.2", "@emotion/react": "^11.14.0", "@emotion/styled": "^11.14.1", "@iconify/react": "^6.0.0", @@ -31,7 +36,8 @@ }, "devDependencies": { "@docusaurus/module-type-aliases": "^3.10.2", - "@docusaurus/types": "^3.10.1" + "@docusaurus/types": "^3.10.2", + "rimraf": "^6.0.1" }, "overrides": { "rimraf": "^6.0.1", @@ -60,7 +66,7 @@ ] }, "engines": { - "node": ">=18.0" + "node": ">=22.19" }, "license": "MIT" } diff --git a/stackql_cloudflare/website/provider.js b/stackql_cloudflare/website/provider.js new file mode 100644 index 00000000000..76a6ed49c51 --- /dev/null +++ b/stackql_cloudflare/website/provider.js @@ -0,0 +1,5 @@ +// The only site-local identity the microsite needs. Everything else comes +// from the shared stackql/docusaurus-config, vendored to .shared-config/ at +// build time (see package.json vendor-config). +export const providerName = 'cloudflare'; +export const providerTitle = 'Cloudflare'; diff --git a/stackql_cloudflare/website/sidebars.js b/stackql_cloudflare/website/sidebars.js index ca437e584d0..fe6cbb3bcbe 100644 --- a/stackql_cloudflare/website/sidebars.js +++ b/stackql_cloudflare/website/sidebars.js @@ -1,52 +1,27 @@ -// @ts-check +import { providerTitle } from './provider.js'; -// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...) - -/** - * Creating a sidebar enables you to: - - create an ordered group of docs - - render a sidebar for each doc of that group - - provide next/previous navigation - - The sidebars can be generated from the filesystem, or explicitly defined here. - - Create as many sidebars as you want. - - @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} - */ - -import config from './docusaurus.config'; - -const providerTitle = config.title.replace(/^StackQL /, '').replace(/ Provider$/, ''); - - const sidebars = { +const sidebars = { mainSidebar: [ // Way back to the main stackql.io docs, as on the query library site. - // '/stackqldocs' is this site's redirect page (src/pages/stackqldocs.js). - // The arrow and divider come from the .sidebar-back-link rules in the - // site stylesheet. + // '/stackqldocs' is a shared-config redirect route (registered on this + // site by the vendored redirects plugin) that forwards to + // https://stackql.io/, so the link renders as internal - no external-link + // icon - and the broken-link checker validates it. The arrow and the + // divider come from the .sidebar-back-link rules in src/css/global.css. { type: 'link', label: 'Back to StackQL Docs', href: '/stackqldocs', className: 'sidebar-back-link', }, - { - type: 'link', - label: 'All Providers', - href: '/providers', - }, + // '/providers' is likewise a shared redirect, to https://stackql.io/providers. + { type: 'link', label: 'All Providers', href: '/providers' }, { type: 'category', label: `${providerTitle} Provider`, - link: {type: 'doc', id: 'provider-intro'}, - items: [ - { - type: 'autogenerated', - dirName: 'services', - } - ] - }, + link: { type: 'doc', id: 'provider-intro' }, + items: [{ type: 'autogenerated', dirName: 'services' }], + }, ], }; diff --git a/stackql_cloudflare/website/src/components/HomepageFeatures/index.js b/stackql_cloudflare/website/src/components/HomepageFeatures/index.js deleted file mode 100644 index acc762199e3..00000000000 --- a/stackql_cloudflare/website/src/components/HomepageFeatures/index.js +++ /dev/null @@ -1,64 +0,0 @@ -import clsx from 'clsx'; -import Heading from '@theme/Heading'; -import styles from './styles.module.css'; - -const FeatureList = [ - { - title: 'Easy to Use', - Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default, - description: ( - <> - Docusaurus was designed from the ground up to be easily installed and - used to get your website up and running quickly. - - ), - }, - { - title: 'Focus on What Matters', - Svg: require('@site/static/img/undraw_docusaurus_tree.svg').default, - description: ( - <> - Docusaurus lets you focus on your docs, and we'll do the chores. Go - ahead and move your docs into the docs directory. - - ), - }, - { - title: 'Powered by React', - Svg: require('@site/static/img/undraw_docusaurus_react.svg').default, - description: ( - <> - Extend or customize your website layout by reusing React. Docusaurus can - be extended while reusing the same header and footer. - - ), - }, -]; - -function Feature({Svg, title, description}) { - return ( -
-
- -
-
- {title} -

{description}

-
-
- ); -} - -export default function HomepageFeatures() { - return ( -
-
-
- {FeatureList.map((props, idx) => ( - - ))} -
-
-
- ); -} diff --git a/stackql_cloudflare/website/src/components/HomepageFeatures/styles.module.css b/stackql_cloudflare/website/src/components/HomepageFeatures/styles.module.css deleted file mode 100644 index b248eb2e5de..00000000000 --- a/stackql_cloudflare/website/src/components/HomepageFeatures/styles.module.css +++ /dev/null @@ -1,11 +0,0 @@ -.features { - display: flex; - align-items: center; - padding: 2rem 0; - width: 100%; -} - -.featureSvg { - height: 200px; - width: 200px; -} diff --git a/stackql_cloudflare/website/src/components/SchemaTable/SchemaTable.js b/stackql_cloudflare/website/src/components/SchemaTable/SchemaTable.js new file mode 100644 index 00000000000..25533539b16 --- /dev/null +++ b/stackql_cloudflare/website/src/components/SchemaTable/SchemaTable.js @@ -0,0 +1,49 @@ +import React, { useState } from 'react'; +import styles from './SchemaTable.module.css'; + +function SchemaRow({ name, type, description, children, depth = 0 }) { + const [expanded, setExpanded] = useState(false); + const hasChildren = children && children.length > 0; + + return ( + <> + + + {hasChildren && ( + setExpanded(!expanded)} + > + {expanded ? '▼' : '▶'} + + )} + {name} + + {type} + + + {expanded && children?.map((child, idx) => ( + + ))} + + ); +} + +export default function SchemaTable({ fields }) { + return ( + + + + + + + + + + {fields.map((field, idx) => ( + + ))} + +
NameDatatypeDescription
+ ); +} \ No newline at end of file diff --git a/stackql_cloudflare/website/src/components/SchemaTable/SchemaTable.module.css b/stackql_cloudflare/website/src/components/SchemaTable/SchemaTable.module.css new file mode 100644 index 00000000000..ed4ef36e705 --- /dev/null +++ b/stackql_cloudflare/website/src/components/SchemaTable/SchemaTable.module.css @@ -0,0 +1,27 @@ +.schemaTable { + width: 100%; + border-collapse: collapse; +} + +.schemaTable th, +.schemaTable td { + border: 1px solid var(--ifm-table-border-color); + padding: 8px 12px; + text-align: left; +} + +.schemaTable th { + background: var(--ifm-table-head-background); +} + +.row:hover { + background: var(--ifm-table-stripe-background); +} + +.expander { + cursor: pointer; + margin-right: 8px; + user-select: none; + color: var(--ifm-color-primary); + font-size: 10px; +} \ No newline at end of file diff --git a/stackql_cloudflare/website/src/components/StackqlDeployDropdown/StackqlDeployDropdown.js b/stackql_cloudflare/website/src/components/StackqlDeployDropdown/StackqlDeployDropdown.js new file mode 100644 index 00000000000..b252fd71bdb --- /dev/null +++ b/stackql_cloudflare/website/src/components/StackqlDeployDropdown/StackqlDeployDropdown.js @@ -0,0 +1,400 @@ +import React, { useState } from 'react'; +import Button from '@mui/material/Button'; +import Menu from '@mui/material/Menu'; +import MenuItem from '@mui/material/MenuItem'; +import ListItemIcon from '@mui/material/ListItemIcon'; +import ListItemText from '@mui/material/ListItemText'; +import DownloadIcon from '@mui/icons-material/Download'; +import ContentCopyIcon from '@mui/icons-material/ContentCopy'; +import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown'; +import {useLocation} from '@docusaurus/router'; +import styles from './StackqlDeployDropdown.module.css'; + +/** + * Collects all DOM elements between a heading and the next

. + */ +function getElementsBetweenHeadings(heading) { + const elements = []; + let el = heading.nextElementSibling; + while (el && el.tagName !== 'H2') { + elements.push(el); + el = el.nextElementSibling; + } + return elements; +} + +/** + * Extracts text from a element, preserving newlines. + * prism-react-renderer wraps each line in a child element (div or span), + * and textContent concatenates them without newlines, so we join manually. + */ +function getCodeText(codeEl) { + if (codeEl.children.length > 0) { + return Array.from(codeEl.children) + .map(line => line.textContent.replace(/\n$/, '')) + .join('\n'); + } + return codeEl.textContent; +} + +/** + * Extracts the text content of a code block from within a set of elements. + * If preferredTab is provided, looks for a tab with that label first. + */ +function extractCodeFromElements(elements, preferredTab) { + if (preferredTab) { + for (const el of elements) { + const tabs = el.querySelectorAll('[role="tab"]'); + const panels = el.querySelectorAll('[role="tabpanel"]'); + for (let i = 0; i < tabs.length; i++) { + const tabLabel = tabs[i].textContent.trim().toLowerCase(); + if (tabLabel === preferredTab.toLowerCase() && panels[i]) { + const codeEl = panels[i].querySelector('pre code'); + if (codeEl) return getCodeText(codeEl); + } + } + } + } + // Fallback: first code block in the section + for (const el of elements) { + const codeEl = el.querySelector('pre code'); + if (codeEl) return getCodeText(codeEl); + } + return null; +} + +/** + * Scans the rendered page DOM for SQL example sections and extracts + * code blocks to build a context-aware stackql-deploy template. + * + * Section heading IDs generated by Docusaurus: + * ## `SELECT` examples -> #select-examples + * ## `INSERT` examples -> #insert-examples + * ## `UPDATE` examples -> #update-examples + * ## `REPLACE` examples -> #replace-examples + * ## `DELETE` examples -> #delete-examples + * ## Lifecycle Methods -> #lifecycle-methods + */ +function extractTemplateFromPage() { + const sections = {}; + + // --- SELECT (prefer "get" tab for a single-resource check) --- + const selectH2 = document.getElementById('select-examples'); + if (selectH2) { + const els = getElementsBetweenHeadings(selectH2); + sections.select = extractCodeFromElements(els, 'get (all properties)') + || extractCodeFromElements(els, 'get') + || extractCodeFromElements(els); + } + + // --- INSERT (prefer "create" tab -- skip "Manifest" yaml tab) --- + const insertH2 = document.getElementById('insert-examples') || document.getElementById('insert-example'); + if (insertH2) { + const els = getElementsBetweenHeadings(insertH2); + sections.insert = extractCodeFromElements(els, 'All Properties') + || extractCodeFromElements(els, 'create') + || extractCodeFromElements(els); + } + + // --- UPDATE --- + const updateH2 = document.getElementById('update-examples') || document.getElementById('update-example'); + if (updateH2) { + const els = getElementsBetweenHeadings(updateH2); + sections.update = extractCodeFromElements(els); + } + + // --- REPLACE --- + const replaceH2 = document.getElementById('replace-examples'); + if (replaceH2) { + const els = getElementsBetweenHeadings(replaceH2); + sections.replace = extractCodeFromElements(els); + } + + // --- DELETE (standalone section) --- + const deleteH2 = document.getElementById('delete-examples') || document.getElementById('delete-example'); + if (deleteH2) { + const els = getElementsBetweenHeadings(deleteH2); + sections.delete = extractCodeFromElements(els); + } + + // --- Lifecycle Methods: look for a "delete" tab if no standalone DELETE --- + if (!sections.delete) { + const lifecycleH2 = document.getElementById('lifecycle-methods'); + if (lifecycleH2) { + const els = getElementsBetweenHeadings(lifecycleH2); + sections.delete = extractCodeFromElements(els, 'delete'); + } + } + + return sections; +} + +/** + * Parses a SELECT SQL string into its components: + * fields - column names from the SELECT list + * table - fully-qualified table reference after FROM + * where - the raw WHERE clause (conditions only, no leading WHERE) + */ +function parseSelectSQL(sql) { + const selectFromMatch = sql.match(/SELECT\s+([\s\S]+?)\s+FROM\s+/i); + const fromMatch = sql.match(/FROM\s+(\S+)/i); + const whereMatch = sql.match(/WHERE\s+([\s\S]+?)(?:\s*;\s*$|$)/i); + + const fields = selectFromMatch + ? selectFromMatch[1] + .split(',') + .map(f => f.trim()) + .filter(f => f && f !== '*') + : []; + + const table = fromMatch ? fromMatch[1] : ''; + const where = whereMatch ? whereMatch[1].trim().replace(/;\s*$/, '').trim() : ''; + + return { fields, table, where }; +} + +// Parses column names from an INSERT INTO ... (...) statement +// and returns the base field names (stripping data__ prefix). +function parseInsertColumns(sql) { + const match = sql.match(/INSERT\s+INTO\s+\S+\s*\(([\s\S]+?)\)/i); + if (!match) return []; + return match[1] + .split(',') + // .map(c => c.trim().replace(/^data__/, '')) + .map(c => c.trim()) + .filter(Boolean); +} + +// Builds an "exists" hint query - a simplified count query using only the +// original WHERE params (required parameters from the page). +function buildExistsQuery(parsed) { + let sql = `SELECT count(*) as count\nFROM ${parsed.table}`; + if (parsed.where) { + const conditions = parsed.where.split(/\s+AND\s+/i).map(c => c.trim()); + sql += `\nWHERE ${conditions.join(' AND\n')}`; + } + sql += '\n;'; + return sql; +} + +// Builds a "statecheck" hint query - a count query where SELECT fields become +// equality checks in the WHERE clause, followed by the original WHERE params. +function buildStatecheckQuery(parsed) { + // Extract condition field names from WHERE clause to avoid duplicates + const whereConditionFields = new Set(); + if (parsed.where) { + parsed.where.split(/\s+AND\s+/i).forEach(c => { + const match = c.trim().match(/^\s*(\w+)\s*=/); + if (match) whereConditionFields.add(match[1].toLowerCase()); + }); + } + + // Filter out fields already in the WHERE clause (e.g., region) + const filteredFields = parsed.fields.filter(f => !whereConditionFields.has(f.toLowerCase())); + const fieldConditions = filteredFields.map(f => `${f} = {{ ${f} }}`); + + // Collect all WHERE conditions + const allConditions = [...fieldConditions]; + if (parsed.where) { + parsed.where.split(/\s+AND\s+/i).forEach(c => allConditions.push(c.trim())); + } + + let sql = `SELECT count(*) as count\nFROM ${parsed.table}`; + if (allConditions.length > 0) { + sql += `\nWHERE \n${allConditions.join(' AND\n')}`; + } + sql += '\n;'; + return sql; +} + +/** + * Builds the stackql-deploy IQL template from extracted sections. + * Only includes anchors for operations that actually exist on the page. + */ +function buildTemplate(sections) { + const parts = []; + let parsed = null; + + if (sections.select) { + parsed = parseSelectSQL(sections.select); + parts.push(`/*+ exists */\n${buildExistsQuery(parsed)}`); + } + + if (sections.insert) { + parts.push(sections.insert); + } + + if (sections.update) { + parts.push(sections.update); + } else if (sections.replace) { + parts.push(sections.replace); + } + + if (parsed) { + // If INSERT exists, narrow to mutable fields only (skip created_at, etc.) + let mutableParsed = parsed; + if (sections.insert) { + const insertColSet = new Set(parseInsertColumns(sections.insert)); + const mutableFields = parsed.fields.filter(f => insertColSet.has(f)); + if (mutableFields.length > 0) { + mutableParsed = { ...parsed, fields: mutableFields }; + } + } + + parts.push(`/*+ statecheck, retries=5, retry_delay=10 */\n${buildStatecheckQuery(mutableParsed)}`); + + // Use all GET fields minus region for exports + const exportFields = parsed.fields.filter(f => f.toLowerCase() !== 'region'); + let exportsSql = `SELECT\n${exportFields.join(',\n')}\nFROM ${parsed.table}`; + if (parsed.where) { + const conditions = parsed.where.split(/\s+AND\s+/i).map(c => c.trim()); + exportsSql += `\nWHERE ${conditions.join(' AND\n')}`; + } + exportsSql += ';'; + parts.push(`/*+ exports */\n${exportsSql}`); + } + + if (sections.delete) { + parts.push(sections.delete); + } + + return parts.join('\n\n'); +} + +function getResourceName(pathname) { + const match = pathname.match(/\/services\/[^/]+\/([^/]+)/); + return match ? match[1] : null; +} + +export default function StackqlDeployDropdown() { + const [anchorEl, setAnchorEl] = useState(null); + const [copied, setCopied] = useState(false); + const open = Boolean(anchorEl); + const location = useLocation(); + + const resourceName = getResourceName(location.pathname); + + // Only render on resource pages (URL: /services/{service}/{resource}) + if (!resourceName) return null; + + const filename = `${resourceName}.iql`; + + function getTemplate() { + const sections = extractTemplateFromPage(); + return buildTemplate(sections); + } + + const handleClick = (event) => { + setAnchorEl(event.currentTarget); + }; + + const handleClose = () => { + setAnchorEl(null); + }; + + const handleDownload = () => { + const template = getTemplate(); + if (!template) { + handleClose(); + return; + } + const blob = new Blob([template], { type: 'text/plain' }); + const url = URL.createObjectURL(blob); + const a = document.createElement('a'); + a.href = url; + a.download = filename; + document.body.appendChild(a); + a.click(); + document.body.removeChild(a); + URL.revokeObjectURL(url); + handleClose(); + }; + + const handleCopy = async () => { + const template = getTemplate(); + if (!template) { + handleClose(); + return; + } + try { + await navigator.clipboard.writeText(template); + setCopied(true); + setTimeout(() => setCopied(false), 2000); + } catch { + const textarea = document.createElement('textarea'); + textarea.value = template; + document.body.appendChild(textarea); + textarea.select(); + document.execCommand('copy'); + document.body.removeChild(textarea); + setCopied(true); + setTimeout(() => setCopied(false), 2000); + } + handleClose(); + }; + + return ( +
+ + + + + + + + Download + + + + + + + + {copied ? 'Copied!' : 'Copy'} + + + +
+ ); +} diff --git a/stackql_cloudflare/website/src/components/StackqlDeployDropdown/StackqlDeployDropdown.module.css b/stackql_cloudflare/website/src/components/StackqlDeployDropdown/StackqlDeployDropdown.module.css new file mode 100644 index 00000000000..cdb453c6dab --- /dev/null +++ b/stackql_cloudflare/website/src/components/StackqlDeployDropdown/StackqlDeployDropdown.module.css @@ -0,0 +1,12 @@ +/* Only show on md+ viewports (Docusaurus default breakpoint: 996px) */ +.dropdownWrapper { + display: none; + flex-shrink: 0; +} + +@media screen and (min-width: 997px) { + .dropdownWrapper { + display: flex; + align-items: center; + } +} diff --git a/stackql_cloudflare/website/src/css/custom.css b/stackql_cloudflare/website/src/css/global.css similarity index 90% rename from stackql_cloudflare/website/src/css/custom.css rename to stackql_cloudflare/website/src/css/global.css index 5f8fb937dd4..0b80357302b 100644 --- a/stackql_cloudflare/website/src/css/custom.css +++ b/stackql_cloudflare/website/src/css/global.css @@ -258,6 +258,34 @@ div:has(> .vhsImage) { } } +/* +* breadcrumbs with actions (stackql-deploy dropdown) +*/ +.breadcrumbs-with-actions { + display: flex; + align-items: center; + justify-content: space-between; + flex-wrap: nowrap; +} + +.breadcrumbs-with-actions nav { + flex: 1; + min-width: 0; +} + +/* +* registry logo: swap to the narrower -mobile mark below the Docusaurus +* mobile breakpoint (996px), per theme +*/ +@media (max-width: 996px) { + .navbar__logo img[src$='stackql-registry-logo.svg'] { + content: url('/img/stackql-registry-logo-mobile.svg'); + } + .navbar__logo img[src$='stackql-registry-logo-white.svg'] { + content: url('/img/stackql-registry-logo-white-mobile.svg'); + } +} + /* * sidebar: back link to the main stackql.io docs (the first item in * sidebars.js). Same treatment as the query library site: bold label, diff --git a/stackql_cloudflare/website/src/pages/blog.js b/stackql_cloudflare/website/src/pages/blog.js deleted file mode 100644 index e435012938c..00000000000 --- a/stackql_cloudflare/website/src/pages/blog.js +++ /dev/null @@ -1,10 +0,0 @@ -import React from 'react'; -import Head from '@docusaurus/Head'; - -export default function Blog() { - return ( - - - - ); -}; \ No newline at end of file diff --git a/stackql_cloudflare/website/src/pages/contact-us.js b/stackql_cloudflare/website/src/pages/contact-us.js deleted file mode 100644 index b6850d87e41..00000000000 --- a/stackql_cloudflare/website/src/pages/contact-us.js +++ /dev/null @@ -1,10 +0,0 @@ -import React from 'react'; -import Head from '@docusaurus/Head'; - -export default function ConactUs() { - return ( - - - - ); -}; \ No newline at end of file diff --git a/stackql_cloudflare/website/src/pages/install.js b/stackql_cloudflare/website/src/pages/install.js deleted file mode 100644 index 341a4bb17ee..00000000000 --- a/stackql_cloudflare/website/src/pages/install.js +++ /dev/null @@ -1,10 +0,0 @@ -import React from 'react'; -import Head from '@docusaurus/Head'; - -export default function Install() { - return ( - - - - ); -}; \ No newline at end of file diff --git a/stackql_cloudflare/website/src/pages/providers/aws.js b/stackql_cloudflare/website/src/pages/providers/aws.js deleted file mode 100644 index 780099a7532..00000000000 --- a/stackql_cloudflare/website/src/pages/providers/aws.js +++ /dev/null @@ -1,10 +0,0 @@ -import React from 'react'; -import Head from '@docusaurus/Head'; - -export default function Registry() { - return ( - - - - ); -}; \ No newline at end of file diff --git a/stackql_cloudflare/website/src/pages/providers/azure.js b/stackql_cloudflare/website/src/pages/providers/azure.js deleted file mode 100644 index 467f77a8e10..00000000000 --- a/stackql_cloudflare/website/src/pages/providers/azure.js +++ /dev/null @@ -1,10 +0,0 @@ -import React from 'react'; -import Head from '@docusaurus/Head'; - -export default function Registry() { - return ( - - - - ); -}; \ No newline at end of file diff --git a/stackql_cloudflare/website/src/pages/providers/confluent.js b/stackql_cloudflare/website/src/pages/providers/confluent.js deleted file mode 100644 index e886aafb306..00000000000 --- a/stackql_cloudflare/website/src/pages/providers/confluent.js +++ /dev/null @@ -1,10 +0,0 @@ -import React from 'react'; -import Head from '@docusaurus/Head'; - -export default function Registry() { - return ( - - - - ); -}; \ No newline at end of file diff --git a/stackql_cloudflare/website/src/pages/providers/databricks.js b/stackql_cloudflare/website/src/pages/providers/databricks.js deleted file mode 100644 index a04b603face..00000000000 --- a/stackql_cloudflare/website/src/pages/providers/databricks.js +++ /dev/null @@ -1,10 +0,0 @@ -import React from 'react'; -import Head from '@docusaurus/Head'; - -export default function Registry() { - return ( - - - - ); -}; \ No newline at end of file diff --git a/stackql_cloudflare/website/src/pages/providers/github.js b/stackql_cloudflare/website/src/pages/providers/github.js deleted file mode 100644 index b425c6c23bd..00000000000 --- a/stackql_cloudflare/website/src/pages/providers/github.js +++ /dev/null @@ -1,10 +0,0 @@ -import React from 'react'; -import Head from '@docusaurus/Head'; - -export default function Registry() { - return ( - - - - ); -}; \ No newline at end of file diff --git a/stackql_cloudflare/website/src/pages/providers/google.js b/stackql_cloudflare/website/src/pages/providers/google.js deleted file mode 100644 index 01fe8b708cd..00000000000 --- a/stackql_cloudflare/website/src/pages/providers/google.js +++ /dev/null @@ -1,10 +0,0 @@ -import React from 'react'; -import Head from '@docusaurus/Head'; - -export default function Registry() { - return ( - - - - ); -}; \ No newline at end of file diff --git a/stackql_cloudflare/website/src/pages/providers/index.js b/stackql_cloudflare/website/src/pages/providers/index.js deleted file mode 100644 index 9afaa02b533..00000000000 --- a/stackql_cloudflare/website/src/pages/providers/index.js +++ /dev/null @@ -1,10 +0,0 @@ -import React from 'react'; -import Head from '@docusaurus/Head'; - -export default function Providers() { - return ( - - - - ); -}; \ No newline at end of file diff --git a/stackql_cloudflare/website/src/pages/providers/okta.js b/stackql_cloudflare/website/src/pages/providers/okta.js deleted file mode 100644 index cdddc72ab62..00000000000 --- a/stackql_cloudflare/website/src/pages/providers/okta.js +++ /dev/null @@ -1,10 +0,0 @@ -import React from 'react'; -import Head from '@docusaurus/Head'; - -export default function Registry() { - return ( - - - - ); -}; \ No newline at end of file diff --git a/stackql_cloudflare/website/src/pages/providers/openai.js b/stackql_cloudflare/website/src/pages/providers/openai.js deleted file mode 100644 index 9884c84a787..00000000000 --- a/stackql_cloudflare/website/src/pages/providers/openai.js +++ /dev/null @@ -1,10 +0,0 @@ -import React from 'react'; -import Head from '@docusaurus/Head'; - -export default function Registry() { - return ( - - - - ); -}; \ No newline at end of file diff --git a/stackql_cloudflare/website/src/pages/providers/snowflake.js b/stackql_cloudflare/website/src/pages/providers/snowflake.js deleted file mode 100644 index 7b3ec43b98e..00000000000 --- a/stackql_cloudflare/website/src/pages/providers/snowflake.js +++ /dev/null @@ -1,10 +0,0 @@ -import React from 'react'; -import Head from '@docusaurus/Head'; - -export default function Registry() { - return ( - - - - ); -}; \ No newline at end of file diff --git a/stackql_cloudflare/website/src/pages/stackql-deploy.js b/stackql_cloudflare/website/src/pages/stackql-deploy.js deleted file mode 100644 index 95e18b38216..00000000000 --- a/stackql_cloudflare/website/src/pages/stackql-deploy.js +++ /dev/null @@ -1,10 +0,0 @@ -import React from 'react'; -import Head from '@docusaurus/Head'; - -export default function Deploy() { - return ( - - - - ); -}; \ No newline at end of file diff --git a/stackql_cloudflare/website/src/pages/stackqldocs.js b/stackql_cloudflare/website/src/pages/stackqldocs.js deleted file mode 100644 index 7182d9321d8..00000000000 --- a/stackql_cloudflare/website/src/pages/stackqldocs.js +++ /dev/null @@ -1,10 +0,0 @@ -import React from 'react'; -import Head from '@docusaurus/Head'; - -export default function StackQLDocs() { - return ( - - - - ); -}; \ No newline at end of file diff --git a/stackql_cloudflare/website/src/pages/tutorials.js b/stackql_cloudflare/website/src/pages/tutorials.js deleted file mode 100644 index 2bb5f07e5f0..00000000000 --- a/stackql_cloudflare/website/src/pages/tutorials.js +++ /dev/null @@ -1,10 +0,0 @@ -import React from 'react'; -import Head from '@docusaurus/Head'; - -export default function Tutorials() { - return ( - - - - ); -}; \ No newline at end of file diff --git a/stackql_cloudflare/website/src/theme/DocBreadcrumbs/index.js b/stackql_cloudflare/website/src/theme/DocBreadcrumbs/index.js new file mode 100644 index 00000000000..2c5c7cfaea3 --- /dev/null +++ b/stackql_cloudflare/website/src/theme/DocBreadcrumbs/index.js @@ -0,0 +1,12 @@ +import React from 'react'; +import DocBreadcrumbs from '@theme-original/DocBreadcrumbs'; +import StackqlDeployDropdown from '@site/src/components/StackqlDeployDropdown/StackqlDeployDropdown'; + +export default function DocBreadcrumbsWrapper(props) { + return ( +
+ + +
+ ); +} diff --git a/stackql_cloudflare/website/static/CNAME b/stackql_cloudflare/website/static/CNAME index 1f7a4f53853..8a2c7913fe0 100644 --- a/stackql_cloudflare/website/static/CNAME +++ b/stackql_cloudflare/website/static/CNAME @@ -1 +1 @@ -snowflake-provider.stackql.io +cloudflare-provider.stackql.io diff --git a/stackql_cloudflare/website/static/apple-touch-icon.png b/stackql_cloudflare/website/static/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..54d5bf4c39a0ea69edae2faf1de88b441fc77799 GIT binary patch literal 7748 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 KpUXO@geCwPM^2Og literal 0 HcmV?d00001 diff --git a/stackql_cloudflare/website/static/favicon-32x32.png b/stackql_cloudflare/website/static/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..f1efee03ab3cbef83577a5b041c102fb9d599fe9 GIT binary patch literal 1533 zcmZ`%dpwj`82(Uchjz8tNl{ZFmeHsPT{ap&cO%BNW*f$kA~Tv{#wFkR$X!?>*DfpD zg?2C%)-|lz&@Rm)^HUl>>qo6?|Gm1Jn#EF=Z|v|ogA&UV76l*2-;#} zO>{;PC*7On&`c~&`W=N0{^kzm5LBL~AokuUZPKir9Uv%N8-n0i2wFiYcnX5p1PGd@ zLXg>Y2*NT7YEB)6AlYOmd$Q#i4~|8^l^B2kX+%eZOW}YM2>|>rgVvFkKeu4u86+*( z5gm7sxY(fHE37zP*| z5W)qven8h1(R4wy$cQ!>*+)hQo`_o@u=4|Ij)=rn@&K(t&C z0}qr3ny&F?{#oiyF<5(8$1};qFB5AI3_X!;_Q1?PvwKi<`$>mAyKv{JSbJ7s@5r0$ zzqVNh=Ni#62F7RB*VpG4K9)6fyGQ-Jha88sgNebpuV)vg=NF5sI!R$Sb~#_M4#_X9 ze75*;xmwWY6L(MBJ<*ACqon5f%)7;Ri%aECgiP<%YWO+sWxUKhluVhu*=%eSZJ!$JZ8Fc+SJGi-PXmn~`*DEO?xvai( zU~y^L)GrfHNo8hKw04gyEw2iMqj*Zn{vT6WS(VRv##UCv5{V@FPQwmTOjKS~*MLYY zUK6iLghNxHsK(eg!t!z%CNayyv&}P>>Q$w}hZD;22tjbBVhU z3idc7=h@(Z7joz{qUVMjJBv660Cf_w`xN342uvsl-W|z#B(op=ulg)!M;8>KusccBM) zmW_j@{KTejs8nzI3-e7i;f%)TO@9a)Tg!r}35qEx-i0v)=4)^-PLF}vqL7x5l61A4{~;w+ zA&q2hA5uwlqt4_Ne2Xp0%Ptxfsify#(@6m!5eP-s$Cgxb$?x zt!nOgiSfR9dj69@N(HCu@!XK3^(c?#&slo-D&lBiVBOMNh2dywKlzDlRyxa+GsQdN z(J?3JqP3A)RB#pxnoi)(s;>WCk0#mm7lzpaCR3!J?me2Qbdsn_Y^tuT%8V(S6|gn6yDX7}v<=ZnWH_twmRL zH8OGPJpnl|@j-qNti4Yt64&$5C)Z+Gda!)GS#&d62pt9J0O0@uPcX(C8j%SH%?O5O zhQ@k?17-xmkrr^_KZ2lO-vB@E{|jt$O?y#+dpOyHM-?TM=rmJ#&?_JtOGn~E3o7ytz75d- literal 0 HcmV?d00001 diff --git a/stackql_cloudflare/website/static/favicon.ico b/stackql_cloudflare/website/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..0145fbfbd5b887d60a9edca52036888a7d3cbd0d GIT binary patch literal 15086 zcmeHOX>?Ro5^l#CJ@aSAIdc>o(20nsFerM|;|!ysqXS})Eri8ELVyHF!X5}DguahO z!j6P}7eqlpQG~DvVMq2o5SAn?VF?KkLK3po)K{-xr#s#0yoLtCIrKS|`}*bGcfVV= zs&3t?YK!F&%cGWh^(@@_S-yS2VtLDAvH1DfzCU5HoaTE^aEt$U{k_F9f**K^pW!Z+ zAST?GPffjX_g7i1k1>6yl$xrPwvFka59kQLBb6!52Xuh3#WTh?n11It2mbz~vZ^uM zUQyAJr22)D>J{Vz>OiVTJ5muopgx^R#SAE6oT-d6l<6_df!javy;&+YrbKlQAT6*C zY0aJ`t!Z`N(5KZ%^940~hP1ZzNc9dT#(aY**oHqs4T;TFA^tkvCQtKtf2*9-q$+7G zo+pL1P%4S%P@CoQkm}c!wC2w-=1Pp+;3?+t*_)&WM;Ec&MDsj~RcI5^Dl^{=>_*GH zR{g_y4YXgBbqHx4-)H0poslFk=zgZ1o{6P&KJp8bc2L6r@@!wO~gZw<` z{CAZ92Tp#f>-(4?{|}u0GJg0szz_Qw{DDXNqx`Fqx&!;FcyCeuReWck*|#ahZzZks zf8FB8xZ^t1qo3pZ(WH=n@-x8U-99m_`Lp!H*l?N`)trX6_&ZrKk2~Ef&EjXQle_+# zZe(4e%=4#d)8g?oHLL**ZCcGVKY{u9Z)+$&=Q;@Y93eq~l+$_vgR)xi@$|t7*v>ohh!(i_#zK?3MjBi=W>+ z_VZWh#O`%eRB+3V0T(&fGHCy=i|MQA02&eST)F%l+N?SyE*e9**;k$V7v9RFl!IGn z`Gj6HrhQ$JOVc`L62HNdQSEBe_oKSnjCw*5li4(&iATfg9zpTk@D z(VWO8v}@%&%Fevt)W4{(fX*lHqg69vXhQHCVkaupF)#6BeIX|!18dSEtvwyt@-yY- zTyw%vkav?#?MZ>$6C25^jM=|}SiwWNJ(zoDF~mkkKgLe9=4?V?|%44`pAuQ3js zze>+T25;j->kC$3E@te;2Xo50kS24S-t$A&F+O)W^q1?~#qaPQ%wrgz>1Ou%n11_d zmgqGz)PNzF&K=uBlS2RH*5>Ma%F`k<2`oG3PwXeilH=z_=0#e{a_h1VKEQAA1n-7D zof7sQZTx1e$c2I7R&I{iDa_S)zHAGf#aza=e}#S=--A*QZKL9%LgN*@Mk8g-o%;C_ zKV<5YDs0nh&^N3bXOni@$2Nl>xMY6JgJ}^T(4N%`oowCu1z+41{Dw}CYWFfN9o>yi z?pe>a>82e!F0y(3p|39MFLJ2s6848V{hQG4Rr6hJQ*ludt(qR=Q~btykNf;p@hj4f z>~P{2aOYgR!h6FKn$LR!@Hwu%G4BxpHE6-$*0Lwx%+5kL`={_$zR1x}6MKs-bMZHB zLw*c>o7nj+T0PrJ=_e05$tiUAdd7L$xuWdetlJ&~cU+rVv}8mu9ovyW`8Tuem~nB7 z_vYlCYw5d@U1(I>mxS-==Qw}4_6EQ7uSS!*y(9Z*#@Q28Qe12wx1^+4e51`vCeqaK z_ucwNShF$z`-kY~>HV9iAV1gM9~ao04{iK`zP7fr`$leY8}`pEe#Q~O)%^q56f^#oBmT>2$7#dDIN=F!xwlKDd$n8an1fmVGhd;vdlDAX;^7_HKdV)~ zP8qx@(*i%v4Qp8EP5WnM-r+J2llakZDEkP&AZzT-7F0M^HSw>-?s||j7mS|X>ji$V z-dpaNZfsz=&-zY&e1qKt9&hKuHcjSFIR4PkZT#VZ zz^^pYLOJ*1E8X%|7H;c#2mT9w*H$OFTEqE4W1DCbX|&q?=JK0M%u4-;6M)S!NhU(J;qYV6=bB{|5-z6OjB zxudXF$iZhYHDs#Fb4ZZ7hoJZL+5yZF_Ovn)hSlq zTmw<0`g9@{@`>(KATQu63Te#yB=0j`lRqK9uEN`pis}izXEWAu-2MgFjSqjX#`lM_ zKBTZ*ah-=1&-#v(g1+4@m2lrorUb?m$n-}8_cdJn*9W zhkw1`fECX&|BN;f-Q zF4eeqV*>}q|BQ1&kcG(Z_hEeI^?e<`63o9H$LIzROm@Hiw!FLf!D5)0e#^m*g0q1XkpyE}uCr&mw+(a_nvB3+c4oS`q zxy1C72Pk1?tW&%YIkNb!^(Fq9aVA+}*~r(OIl7Zp#7AOg$e-Er zDR>{=i#Rc2{Tsd>E%8>p=0UGRK^!w-#$ZZ6ae#9eMVt@dSo-P1v}TTyc&RZrkrBK6 zIj_I{8Jnztf8e8$k2)dwC_PtxDK$xA^jHV<(=k`!b*f9q(WD;SD)D73PTJuedOja> zH!=URIDlbD<0oa#$F{GM^+tYTT7+vJ%=*bwEQ3!;9R2ix&GPJ3j;$MUUT?<7+`xlL zA#c;V`NQc_%28b&IG35i^RvGb^Jk2}J*E4*oHHFqSI(W}^(qz_PTIbbMsvM^$fJq* z%ez>%riM2l4N;5bYj;! z&O3#OO|kQ|g7J}inAxWh?c{ot>??X*19GOvcC4nwBZ4W;9&fKIwJLL?n$g}hi=_4g zs6 zpVu3?dE^0iulh=CYkBoJ;QQ=;{scYP{=+o$c^ePoBVGZ!4;x%z4v61_y#lg{wKe3= zzRrBl?X}18(TDdm_$cM|cf8Nmq8rVn9@AouL^>BP%e;fa!BXhOZY)8QpcWZSw?uq}8-x>@$ z%yp&-5|=@oQZN9=T_lW+SXV?_#4aW=)n`3SQi$WUdRg}c;g5Pl0jxh9gQ}Qb)PL&| z9>`~(nDsn%4ci&`T|SQ{szH4V)qo!4HL(suk4#ZaR3^uh=JD9IFm@tG4Xk=3=AK4l zFeb)EoC0A9KPG#ef`4mP_M-+x2C4AC<18yTn6jOz@eS4G<6NdZTWehBaa@688c|L8 zjGwMG_w!!H@w=XgcKh_-lH8t-s8Ihb=`V5(KhgC)`aReCqLU%$k6P@fCFhO$3fwpR zPF&;6V4Rm+bh%68EG-y*BF+}Cvmdic>MW*l4VA_|7JS9Eb2O>l!FdO@JWgjATYu;! zY9(j(ZX~sRs43gIVh+vXT0i*d@b^#cOO$gHYTn>83x0?G_zu4Tgt{EmAftvEK2Pk& zf0bHO`0zKcXG%R1p3@xrGY?QV03T=f%K386fPV;|40A)xAZmF~3yd?Q@YR?<>pn1{ zHU{Sj)b*i$2>bWcd z#4qdST4Ms7GFSe;@XWF8(kM&o^by}LM?M^%b$8vl;T`v9{kbT=AN1BXv(Bloz+-Hi idZ}*BG9ZWU=|ep>kDR{)sjz@F_7mD$@4z~t@Bab!?d6{U literal 0 HcmV?d00001 diff --git a/stackql_cloudflare/website/static/img/stackql-featured-image.png b/stackql_cloudflare/website/static/img/stackql-featured-image.png new file mode 100644 index 0000000000000000000000000000000000000000..872999ade8cefbb87d897c0662d8a9b41c0eae5e GIT binary patch literal 29955 zcmeFZcQ~7G_&%(=)q!eC&7!3>OYPZVv{kD_Y(*7STf_=&joR9(y{VNT_Kc{JXeo-u z9wjAaBKAu1K0e>yd%VZ{|NGZ_eE)FpM0oD|ey;nv&g(qSJCXXjT9+9)7#SECET^IRzl3_BKb<~7)xKKc z=_I1=f~;G1gO9AfXO=pYsvgdAAp5miqkgPPrj7-aIh3_z_0v>mYNy;TUI50%AhlhJ z3qAq-a8vuF=xrr zO}k#Am1!&K9PdPiEQlC3G2$ZHe-6e*3}=p?U?INyoAIE07-Xl2^F@zfgXKVWn5kV1 z`%r>aqv8H`5G$^LJIh*m8d|gwFhQU8>LH(E=n(jR@|hYn-nuXmds(WlqhR; zs$;H5QsOti2eEb)II-f2BC(Bpa^P&OIQY=Clf~<{DPl6}soqiP0bJRxo5$%z_@VUV zz$l6`%|k{~ng3JGW_;+Avu)1!doN}Hai~suv zNs9{VHRp^O*??~cs(}Ci3uOoyI-_w)wBPyK^61ruks6g;!y0S-kpvZ3-pTD zNaA73vPg#=)2N80|G}(NbIha26*7nKOtd7evw!7+y?Lq$n#c|N{!Q9zgSW^-X~#7M zI{LBvd41WG{#e7Q+-5EQ5(GyMon(#~As2NLh8SE3ViXZ4@tx!FK z2yU6Tzp;W+ta!0sJ}<*)^J{TCdShiqC)uL;^`A$`T=fR{#%#jStl>^^?ThNfpeq&2 zjHtYgH$P3aUb9$X_y2A741XmA)&Or^Rk8_Gr0FDdZ@$odXsvYGguy!+c8>k=+#L1W zMU>d7_t7Zx1Q%bB?Md!_kM5=9!V(8jQ4uVAz=8y(mIAKjN83NhVB`NgMd-XZbWXfk zp?O`n^UFelctc%a9Lr4?TD-L^jTf=r)&u!-)kWg9yS>!0%>n8^^<-4t}6h#(4;x~cGRnEfi~ zVI{ig$^cRD;6|){C7gg}e(!UGar=9yLYCcr#u?MZ#$`@eGVk?2ELIv}V^><~XdJ9b z;sdfiBfwtq->O8xit&{BzH{m0(?1-<%?!AbvqeHgFW!#ulEGK1FUdeywOkJ7+KCY+;Y5iHl)<#%2PU`+3a3W&?HZ=Xyk){?EBY~ zw9f>n{J!ELF7MwqST#Uj2;MF67XqI1oa>k9e#JL`+L8Ti3Djb%sGmV<&vor$c>Vi8 z^X$QSOmU{+4pTU-!Db1wB*9*+>uFSWt1Fa%q_Mr<`7( z!As&9uZg$U_}&jz6;qp(XwKn4wcfqoiA!Qc3rYRi9ZqvrPoeK0RIkl~C3c#YjV5zH z(XOfZHRYmN9kO>jA|l}y8Cp40{mBak20KY!80p{rB@~scyZ){C8&+%E-I*LSOIeFh z(5$YX5E{38U=TwYyI8L4Al~%zMU|vDu6;(lSwu&9DQ_c zk_#U9?|+$h7ufpUs{FYxj5)iv~8)ps4eNWnK-BHJ4g&QG3Q`sg8ZpMlLm*F^b&m5f_y=-<7)0> zI(DAz7}9&K?jRrgc^yJPj0=D6?B0}cB%W&I`;-2uy@i~woip2{ zsmkJt9IBLma2Cw$%$YDL8mp8Uo zh2NFqfkL(>ql9r*Y&IHW^b$%+CATeB5~S0*avr6drJ%qa@ZG8%dFgzmqaaRe>u1^@ zlPhd0EZaXhFpCM$4UL|jaI(SdP6MOdqVS39TMa2WTZY?DL=52D?K1(c1QzPQIcG>R z+jxG#L`yxw*myjHdYd)i8D*L|5yHs>M^iGF)!m`f86kr{mb$1=$m3`);%dB>iIY_C zZ~h;OtCJ!_x!A_p?m3exF4sN&A5o0;k(=Ve_L>KyE*%d2MI5AZkh z?<@5l`T+YD+)6^F(M;j9Pv>V2|4oJr-TkO1PKSfy0*0nzQHyf<+?|@_GM#uASLJ0f z7UNE#6}=c+h7@E%^k#oS5%<9Mv)ln`cB?6B$4AbY65UWprFX@|EFL`5(2RZ>d13DN z*#KMW_@JO!L^zpDo2;sey2F79AhTl{&eA95VJhI+I-mTP%x`L@-0+_s=>_y=^yBLS z?>#Ca%+x^A6zt=>5m~mW!)q(Dh4#)QiDVZje_DO8+kjK7R%RsT0pxl@wyW>@fRON% z&@mtxr|o8s_!^-`XCxo4)s3ocN-YwugMyN?g478H;YrzSD0SW z6kwO%dG~bbB6c*`IC*EthPSEet*a%T^nWV)gu`k`U-Q9E6<9q}C3$X=%65NR|13>O zxm9U|Gk>0m7WnW0A53qe6!W-EdL?g>QWK)R7D$##S8Pg|Up{0q$1KpKooR!({N>KD zUquT%76G3OrafGH;qyhyYoVqFy&yQmlZ`D6Jk25{JeC%AlA6AMt*@lb|lg72#DOt zQn6mumoF5Zhqt7IinxVUf*0~QPYmZk(62sjwdL>Xba7X}{D-Sgo9dq-U-{iJH#CL7 zh6RYyS2RI=;@HlcCriL=zqEJ76_=gxR*@&y%!uVl;yw;6pX#^ zdFeyr=MIF>jFKKRqXnBC7}l<2)MnqD%H1Snyfm8eV~fr1R@hM7o%nRG_%XG$^`jY= zBem_QAe*ExNv@E~GfXOn+Dmn{9GLjdmmRy7afjXqDdA-O3%~}fNCeHuhzSPCN%(5r z5QUl_^`&@E!}gc#QDtQzqP-J`kVO0&@SVd|X-uDG{ecyhQor1u(4AA#xA{2Kc31jC z>8z+-$k~m$XPQ0Yg9Cf8Mzo;M} zn!^3ic&g`~Kuj>iBgh>Y94>P3>c5&9>tK;oF4`w{pm^DuE1oE3nF=IYL;L2?%kj!q z`;8npMqt>*CdLC!OeMy74-Xwbs#6a8vs9=z9u5PE;x1h~IFd0BA$$SZWbnW!#By72 zYAIRv>VRBnobWF(jhRMHHgx`_WMr|X69fP^m7aTlR5)gwT<)Qx?%9_5Nul2;mp^+u zWD+IIF$?w`2^+zyI;kEmIxY2W5{Iu_xVYT=VFqtQ*X$yF%C}*f>Fbk zZaK_*A5LboZq~G)IWI=jG-|NSh_kAwDRpPP^vL0~$?yC;7SBZ6!DPei0`61g=&u~07F%~7PG6Dy@V1kk83^7IK{6VNoWOE zK0ECq*BktC9r4IRR0BM?$E{WO&8tDR^{Ct|`3i0&y5IxRJD1~)x!^Uj(~NSkt0Jv8 zVC3MCp2yBB_`_&6cg|ONC0b-Kw2>{bCs9syL%rWfgt!>qjIlOu;0DmvDUd7TcCOe- z(M1C$<3JlVuMJWxYU66csOuIX?=UawUeXGf&;LHwBoa3VzC*rcOu0HGoCtrG3c%_w?Y%co}2x-bbX$1yj_+%mOnrpRt5=wBW? zyfQI3ljY-kV{jN+R8^I?#R(h1TuP`ENa~=jRW%QGCWs3sSI$s7v|>;!dkZQ|s;09( z1GUKQpC7Ituc|Cq*{|%)KB#78jxoJJt7G21Z>|qTpGm&fL>7(c$L$Y2o%eu1 zBDN`5k%YM`%gmQ&cHv}ud(h`_vHcwAwX1J-Yb?9w^oH(2Wb%~%Wx)fo6CI%5gLe8#Ip6IprV4x}HO6{P1C zCBf^;vjiXRsqSy*9anr^6v81P{GEz!q_)~n6GVmoM5@+WGRA#;*2#a%i8E}ze2x9> z9)^gH9s;Gx1=2}uy1GQ3=3sxy#U?MU-@2Ej16!#-8Rag|%r2cad2o07UaooG2|uu% z_@iVo?p8eEvx&Yze7P_le<=LnyTmJFzuMY1W|5?r>AlKgG)DkTuE^tqV>%Z=1(ck+DyCgc8>;t->TlYIG zwwZFozi)-Opv$}K!WN!WmbGZirc|-0vsTPni&d@ReAnDdYqiapX<3`2xTVdaU(cB= zw`o;TiyAi|EO6VUZfToo4XlC)B4PsoWC8T2PHP21MV!P|0q)9vp0Tqb147QYkC+U> zU$Kn!W??ormxN$TcBEw&Z&D-t4(Q%|2~pw=f4yh>0esiW*yjovWl?&NLw{x5-{gC1R- zBI?-Jw;^r+gYt$t0bmRuadZD8B7JNx_~j~4o8vhkl(Jp|KY^M&^~d-0c1e}O0VQ@} z%{;o01h(waLX}&H*C&@Xwo<@Q+oit%(;>t2IUmZ&QznLvdP!Uz8>&h<3R3mAmcf)i zGqTg%2A3y-CZudexQFiE7h*g7Hcmtb_U=|+Vq#A6ZQ)x$S< z9S^ef5O21Mz}Ew7zFE{K+L3ISALWQ_u3O;ez_cFb**iVTpAE2tadAgB)cKCs(C?SE zY<;cSS~Yc|KP6OOI!j2QwQn?ctD06C-6x$c(YsF7eRoC$QEr~06(KWUqunDopPz ziL}TITg}cT?M?ms?W(&`$*$Sg)j zbAdgt3T84(h-+_rtCS;Y*VyK#+;9@?Lkwd*Kq#c!hjAJ`1V$({^Ur+b0%Gp=|U5KRAD1)E02J{)ePt`vd4@o^nVg#b0 zS3XOSY5+Yh;LUkQrj$QJEmQojO8v_NyAIBY$#4kFDM}`>X@Uk~FHRd6v&^$EXo3u+ z183$(^%6(28f63H=fjdSqy$v95_gN3xSNAHvX?g69ruD(g)oZxvp&(`zB z-1&`qDtRiyNA&>hz4ZavgAld3-U0Op>-|09GDsuwrJgV`uRIW+`6P%>RBV^X4DS_rG#c&vjhh?F)3KIVLTF1YU!zGzm zv4hojMPr2XTB8b?w9A+>G$@t0m>6) zLz>i}cf9YAz=$s&kJu42Db`~=0|}D4ZZrJn{`JB$*jJdiDCPr*^kdYc=jaLU!-0SB zk5Pilm7x*{Tg{HC${NJn%ASepXouG!1~dycvcgM_{g6R3db|ZIKwOHRRkLv&7Cv=q zj#{}j;^M2$TPi7>#AfB${mWBf62RM1`Wk=s=$=>MRkjL~oc#@=6X9f=9a_TRMm$fp zt7spxi?;y=1WtbY8oHpq$TE)Von~&)rM6xHj9K=0%s{`4a=Br1f1v0V!r+PmfFpOA z=;@wSw}0oQ7Eeb<7YlREeDgaTo+J0BR0RN=&oa;w3VxMYoKMFG1;n`pYKWihKsE>O zxf7J|k-vonO@X48yUf^e!)>%oBB_fc$Cm_`;W4^ZSG&J5dYv3gPNS%0Bly!&h#T!t zPF{G`?4ia;`BS}D<3i5ajyb$-f7=a*8oNl@R!1L{MJ9oE*^1mG&)xFUsmW#S?B$uI zrvPm6Fwl@3xAknX&jEqV0Ggx`?VNV|W2obAvqZ=4$w=egX(bjFv}|nqM*2D4fIJFV zCQlK&(T4uRZKW{}2IC{ZB8NR-<@oXXlux^lBW+G!rkEiD@7muk@e{cW6oLJ&I6auv zJy=fEoeqLvQb#5g3!4ARmF6Svj=}SIKxUN|Z-VXxMXjF9IdvX|P(F*ej!y;aJ>8w~vY5F<@f8E}ROlTwGbQ;JULe3k zkr6yi%T#;NK(tgD|1zi&?GBVPHsTEIo50SPz(h0KBNRZ(#7FBn5M+NUa9*m(d$eL- zt+xN_v2X0Fu5g6Eb(l|jy_-t|-PL?<`z^`S-UbgcVYO~dI1&~Rvh=kyQ_}1}R@BW+ zd(N+{<)2VpN>nmF@Fbb=YJW+5S?S_oc>}D@1Z-~)c;kO1%g+WCF&}2Fy7|M?Z`LVT zR^#4zfm;AS!`xEgY4U6|Ztoksg74^F&0Bm+ZRZ7+e_M|QHg(rFzL0jqOASr!#nfJ2 z>)dFcP*ZZqdAgszX<;=gV(T}1M2Eh-@e2NCn$Ky(F~`m8Q5S$Dg~U~;5uScvROE6g zlZDS_f{n4!>!ozO8se?L>fook?oV?5{@b3^cE`!1_YR7i8=(J4?g^8qb@{%M#@!|E z^Nz@XF9|+yC+m5Y!{G|9!9&qZUpwi$YEafnfCxuP0o1MP}BWJ|qJ;Vwdn=u9Ukzl4+pvO>cM|yV0(# zoBEmOp!;y>V;t46=VI=0*O}T-Yyxz@iLzxpVl1zEtpm-|JjV-2FGub8y-TJ3Dv)#n z3Odx!{Wh7&j*tEcnQXg8U zAyu%`<)4;#+V^-=1>G0yhXo7jqR^clLxT>nS!bK$7sQMf|vx?=dnY*XCi7! zMd*aLr$hSd(9F+(<+GDCZ6$9EiIgec&@qUG4u*}$@_ep#^t4L!ic6i|LvVB%`zou) zqjY2>C=((F=Fxy_A24MnU~6UFWC`F8DZ z4kCSmDhtA5{D9kddGN8o?x0}?!KY1G*gK~fx3S$L0MKC)4M09HVm6){5=(1?_)&NF z8Ob#bVjhlV*Ja_`c==;Wfu z{Vn{|_1Wx({gZZC3>R?`jxSZ%Uma6(dNZ18q)F(Xqk>qie}&!CkYh2)?;Wces#~~J zq%{aOK56$Jk>zOz5nYQ7GEtC$X4kC5B^uu_t_@URg9g5=CWl%YdFq#ZOuc=M(Jlw;9mRd$a+_Ks|-L!w*on z<-xDba;n1+R$?tD56kIKWdJ+=(tlS2KuHPW&v=`cjUV=$|B836*W4bz?F6LarQur6 zLAS3KZA0fPUS3LXSc$W*-fg?LlHkRpn~*o78y_(rT4@m*Xkjty*#rod5~oHK)eZNA zyAE!Tl$St1C^(J0iSJPwhOkKurYE5=5@IH3sp$DT6KbvF!aW~()=)|?Rd)D}aG(m+ z-HT1rT9kE?+!8%#-q*-)xnD~*6P7<&`FuU2_0TMh9q&xk+D-tgmR{o_X z3?VKq6nsq1NWGrrp+0tBWOuprj^PNC2$ST`DE&&|u93-VF$5FxDo6}MHH4zz&R{+H z5m#R$jdMCX_Adi_iS%n7sZJ6O3;kv3(t`61jx>>9;>^J8D6E)`f?wp5gPY)lB!#c zmTt*DYS;UvV8W+)?pUiGCG8{{8r{NOCC5vYkzq`MPdt3bUB9~Oz!n=Jg^A8`MzXkk zGhZqIi>kBm69Pw@J>+K&Rz6+@ZEcr%mH2eh2_o1nxh13Snv4E3cG^Z+tB9!V z1}hg)&ijYJ&b{ocEC0)e+L67efqQhs^2uha>ukm8JQI_?MwwFIOZWWYrbfm8 zpklqU>b}sSBi2EMuICcuEYp!1u}6z36>-B|Y4cKJjMf%`pQ?_^54F~|jc)H~u=UO-brNm z_@-?kGJ8-f?hARKQ!V)%@y$*--8JJz^CH&P=IEs9OzHBOb;mJOc{k)i|FlB#%Zi9_baH+J(Z0X;1nILv-JrYR;MW)4-tLfbc+_2Z2plUg2*G5~$uIC02Ro#)dTPhZZ<+w%k2W z2;$x?R=I=ywok23Uonq*;CvJ(@kSXjy?O>xq!aI>_Gwxosphx`pR}R0X(3S&t4WH& zbA=#Q2p$rOoiRxl%=GqXRHimL-pZOyZxgYqdffEyPpT8uzNpYEJ~hi~>qxm{WYG<} zf$iy8u8r4BI4rj6S#Q~1{Ey7p+Vg%)Q3WVcHPZg=;TWBhqB$afuDeJyg2)U{xvueIr!b+xxbqGYx&#bcxsAtAH!R=NL&y045K=b^HzYQ?|R{J|^z^eG$+0V2S5 zx=^}$-i;-P-*rGyBj%KwY5Na9fG{3LvjdO?3QY1noAwBk;#>yF!npRL1ui4=j%|~=o%cPq7T&OzzcQ-KDXn-+VR3uZr@E2wy>pm`yp1(p za`U0C{(G70SgAIcbxo;-;9e!tRVSV<+M09w7j5Y2(t(gj=*|x*$H+JI_sg}~gQaJ* zhssjLS!0%KO?(<%XYVc<0;Q#yw8h`03I`f-Z_DSHx$^hm=%;K`tg!5uoN$Mz+hss9 z-<~LpQ*yz1u);ag4UoKB?mxi`SUAQX>1|wl*c0Q0dhVt`jPjlz!KB;&zS_3DYWudlW$RDXi{SBZ z4Ub<35u}qYWU=ayh?akftqz|i@zTEbi0h>qoQ0g~5nm}84jbVAeo|Az$X27D)qmtR z0+kju{Ss_Fp?PXTv3!Lnfe|Z%{~f^PA8GiG$B$n|orTYJh7A6?8*DN0p&~&XEnYVD zyM^hj?Ty)A9FI!Re^oOv=2+mh#g1C(bHzhXU+&`4j}bdzJQK~ByP5ZS53MOcfwF`z z$n6L??*A=yaso15Pk~D_sphd5*-ZdSRADM4hMh_D6e!>g!&I2j%{TVK~iq(zp zBd@1cc{Bl2KulVyAp#|st2B3V{}~>lqhW7|rxxTTTi{^=TmXqs;I!FF3>FBDXG=IN zDY71ifs!);7Itn1@8{57Jh}KiBHP!pYPDQbuLLJ2b&ZH0%WhCqG3Yq$ zH#3KpbQyNm3?g;xH2yN zUn#>XtdBoWpZw_fi-%g~nn90~hNCRE>+{G!@EY8A8Y!BwjGp$GA8ADrO*mDpJGeOj z)uScpsiRQ|muFvc)s;%yrxQoF>l5EUdoFx%yHn9`;h*d){rtW00 z#ddC52(sr%227qHXKC8)aFO4!@ofm9Fe4`3!k{3WSOPl-0C?t|6n_f zW*ozP+*nBFMo+lLgC`sg?pmoe{Tr`T>Qk%)j8#sC*q*6niy+ST`sIAX#AvUHr)*Y- zug>V47BTEM8Qp}B0)8s1C3F>E0D-fE8GeS)7Ydby#=94ovo==8ryBP--?&8ZMBA-d z2a=k+Ej=*BcC1=AeSc+>z!Q5phy0HF?HlxT!7Oi&G?`$hrn1%4BnNj;>==1(b+YPs zDiU2D4M2@Mg?H`>5{7Sy)E8#IYI=STF>)Qf`Mt(EjSDkOIdBo&=HrR+>^+L;0+nd_glzf2%$!XMXU0+>?NoH$|c$NE1N-B)Tcv%|6&R zE0ha}pcz-LN^w+Y`*(ib;^!Te3O}|aSX5zO6r2w)%m{K)^cv`$$9j|}{m1Xh_}mds zDbAjTWJbE%dttk5rsN(*Ft5ZDEmDljk#!#-MRP~nNnQk!X>XSWD%_-tTi*rztJ&eX zE)Xa|uL+!>!v}21f8n!R9nLHBSNVp4+LS!I;b>e|I--0;{3KGMBhyFzzM^L~;4lR6$dCf=;P z1(2BYyej3TR?+s!9MvI!E#lE+?VTiH7ctU@y5m+ECfzOe!wk@zyAMY?r8t&lOqR49 z#2f1llw^ZE``T)CFP#+zV~nPA-KG0@J>u>>uCetTh&x|dXJIREjBQBS>h@1-Vmhlf z<+#k#Qo;YN%qvF1q)Lk0la%O0$e%*pp&o5C54Hi26Ju`Jk9SVzp|!%zh<3`f6Ez{Q*g1_kD8q16%Hw z78^xP$4xa@#9nw6s@m1ERO>Vu2Y3U_V^_#cYLwDvRkZ=*mTrw5Il)F|*M z322-O`>mS`H<(=qMPR}rpXVBl3zAQky5r?Yx|`y~WYT-UYvSv1iEJ5=_&t|sm1?Z{ zV9yiOP}&y&7s~O*%@poCU>0gVB4ZVzvCDqN+!JHC7Bh-HgRzGK@PgrT)L5!hJUq ze5NWdEzPauKFSB!S$-E`!41HzD;)3_57lKif=1w-PZ;n0ofjFzj+B+JD!ARPb4G`^ zM6FpA$iCP+W_noAQA8SGlk2&$#vpQFj=ikBlPRz3ex?Ip=XkDXuNqHj zztQ&i%)_=40AeFiwi~zs1M@XDsmC`mGBo4A>R|u1n)hP7O7uDY#Ge?x4cJwCd=Xc* z&-M5D?*GlnXR~PO<-BzX5?UrXiz0lHNprS_%zCY{fx}H&*k6V%HeLfgheoV%qVh?R zE>qh4hZ>>6*7DSda@`o@l?s0>5NwHLJE+7VM;U|j4A4<@p`B3Wq25!{94Cy?bgs>! zghA_H8OrVsnvI}K=?oYBO#=D3Z3aw|%(uadT@1+O%A}z${jc*r-1D~qF9l$oc_AIn z@xqCZ`)Dsr_uGaNd*mdPpq-$*EgUbgqoaVC#;GGeUJheecEfPziFTi2)lO7)Q?mL_ zQzXl9&}wM81o`Sqyb`II`=v%OvY0t)CC(L0ff~x4DqVB~zDT|$mq$j2-p33yk+@ohmb?9cZId3X`AJ2o%dw=hRY;I zjI5eB-fWJu+_8;x;pPW8%3;xjQL)ZfqQWv=O~)>s>%;8-#7wHHj$Rg!I9T|G?_WT% zm!B_Jm3KBXYhC{{cjT@uC+X9!dnYN zDsL@j*zEvTMDc-`hVIJihhm5{|DP1M@#c+-2dF@5b1VwMhIc`V%a`on##?T-Bkg8t zk}sHc*kCJReXC9-<*P)1;1W5!Ijj@0{WY>(B%F_<+S+sZ*VbPMt*Vq+Do9h1qZ$Rs zlHP`|b?j7`aU3FYmR$R1xUHD~I*i<@|f*fMCY>f*7nsP0tw+*P6Ak1 z(4&BhW|}w4HTpAT#LApSns zJm9GEsPx!!C4nfZhxFx1dQW~=_tj9!YsGVCXQsQ}5eeM_SfWL@+P|6S5_`n^RbKmZ z@b-wi=q_>`52d)29U0qWXWIn$t+ra0zi11WZ$&@Ig&-Gff9W86pH2gX5!qs`|CZcP zKocVJC=0e{jB2rr_ht;5_ZT&c;jn<$4k5M|$*E>h^;QQ$dd9~4IuNh`&R1ntN_{-) z%n0d@isz2nRcC)@ai5C)C8uo4cMa6|A!#<6W}K}CeLa>!{UacFG2Z4YP#Ml)UD6@e zzAxrkmouhQOtd+`@P+RSeIwY772sCyA&y-(bB06{ zMV3Sm3u&wR{4#$<_1lVo@+07cfxRm@5y1b0s?}nwUF5A- zVZZMh@ckid&mO}gOFD>hw0Ii5GtTve}!F%909R@DZZW)Al~Ss zLqG!F^A>52yl#P{hsJkF>+CSlT4C{D^l^C|@1(?%x5`I(DQ2QKxG;+X;GK&|8&}!U zKUBFX6YWvvhikFCN~&Uk{VYx&RTpDx$)S{`tRCH!!)2*(31Dy02M9xQ5-Iof`CesQ zGPi&MZP2;a4O*3b7;g2`u_XOI#iZ*S;D{^!!Ld8Y%|X{AN4-fdZi*VwfN9XvOs0(! z8*au>$Cz~E3Y20|$QMvlrH}f}K*AAgw-Sgn67tYknFwafFxr6{KxI6w<=570Ah9}A zGtgP6rPDH|;5=Zh^fpu6O`!%z{fPRDP}YoA1FY)QU2g{xy){xa4tFb%gVa5Z*J zLIJAjzupsUD*HP4GtKyu7%;xi|G`U+aa^agDwtf0C{0PhdBx8^K$L50i8>=+OrDXz zy;h5mY;?oE*PC4O_|LP{B$D(Ad%6+wp;W#I>lI5Z9Rbcxh?Z2B1RO1ShJ&+Uwx%|x zO|#Qr?i{UzXkgNqInsxaHn7pt?pvcTEQa9j!!=v_M&~nwLTSbV*J8(7H`@L)sXP@z z@7ErfKV$;5(Cny4CnF(su<_T2M6TD^O%4mjYiw&IDS3Za>(-Lel;RggV%rJl{~>n% zlS1)}?3b$M*kk6i6f#Bf@}!flc6mj6rENY|;a@Ge->JCNzA^|1{#oYZAk^B_eZist zaU~f`IH}Yd@cLCThTFzu%Mo+7T6*TF2mQiKt*~aBlDOttqg`iCNV;hUm0++?a>4Ufc*+k-YeCy_SZwrc*d6!gmhpM+dAdrWb zLq=oks$c7fOmO|Ntlj(#xQ}|Qn_8YBqm;KKuscT`wgKZgzY|WI+`}b;7y4!&WW*75~0y9=(THyV4n z$&RZN&76QiH+PLqR}G!yzJvhuDj`evwFI55RzDiLW(0|7jkY<;ij7yE_LcToHIE^9 zifTV%Xwp2EAw=aOqIb_ltA*4*i0@k4S{g&9gkBL><5(@R`^mJGeZDsDjs3mfPDCyi zo8G@Vf^$dAiSksg*F(*K@=ZF&b9d&P8laZ>&;93Qh1L7|ImO<-72S1%O!X2@ zzeK1rOo z4xDkn^QaVP7vwV67g`J@>OY(9eiv|>Z;E{iVPOEyy8t(~IhYu_qL-Z!@T6b%alF#i zzLcuw*Cd8ldaN)82KHQ~VYg>m5)Dm7Y0bO=-@gGK=J+T5SFKL`J_Q`-V$gqoeEM&C zyK!Z(yOy)cErur%lAYpJvCjA|3*gQf-Z8=he|Ad;Q(VS&5)ay!J{A$KjP_JLWbltV zUTEPYJDK5zWYVW&tM@U<|7DT!ofU8jkl|gL#dd7%@zITf*m%|Hy}m{H6~N#7N1*WA zS}@%&mdx&0UiTk@o9@odb!fapNxaTVqRyay;{8GgeFt3^7pumnZa% zg=H=VwBu*!K~05wLl+O$wiy_{n*d?WPRKL6+n(W5bGWN%*xJIw!0_PRnR^Sh2%}{g z>W)9K?kBE)PuXps+0Vp5sJZ|B%bUQTZCY)f3)Y`bMR6Ni*Le|;f!h-+zy~t`5B{2} zGV~1rnG481lNVS4pYZ>gnIbT=rN178q5YvAX9R zng_$8e5bQ&4rV_NJytt3^J^ef}lzEczQKCd47n?1|SHn@C4?>Q_j=IlyiY@=?c z$2Hr)D;$BA67g#N!9j#(ztIg}4rzH((JI=Dpk!ybrGIGPp*!iBaV3i>gH=(^H*4wu zE_g8Ll07Eby6vUnSw9s`kVo0o^LF~gdHrU^Qb6=6&lgt-w#{>`lHzkJxtzn-h~%-sj(VPdX*@e_qGWPsH;dLmStP2H& z$7XY~-7o9Z(4Cwj6;JuB_~t?XZOl92ub*hE3w*V#y3~1rl_Nf!*it`bhAGVLbT*;X zsRiRYl^!JnQ9JBg<03FN%yN3tVzqfRxU8-tiT_r_jMBEfQt|}G655(2b{SLWc)itr zPvL8u-O}H^p*Cj@;4q9p^vL*X?@!&6(tb$>)6 z*fXzIjO-MX`dPR6Y`sH<1MgdcvXZYw=Q&mZ>Qu96lPI>P$Hiz2`b3I~eW79b=YW+qwMA{a7G}^Z4DC z66fwN%Uk|#z-~{GM$b?`Vxo2EiqEnUbUP-pQr2ZFc zICsQ8vH2Ib^H#1n;-x?wQYD%|y+7m1GY!7om&t2dE36~7W7pgd?aN{{JA0a9rsz?e`?sC#tQWNJp>D`P3seJGG2a&jPF{1>U%_nJ4MN`$lIxz%)!{<{Y~Dn{RAo z<~ZC{(rPEtxp1zr_KX6C0+KSp1qDaLO3xr&LuUYM-PJ4($wd)J(E z@+@U@j#ziK%>bzvLx9HJVvmW0h!{K^5v!zMIXFbsUBZvcupg9Z#43XI80$`Y?7Y>Xz``L(m3?Z_!+ zj9F8dTw|HoI&y=HaKBhhE{-YDR-VZ(x3RVw+fsF?Zwk7`@srW@Q%|nCY4w#B4`e(+hmXE9v7U>q|!HxPfJrYj!HQK;-R;%&4btPUn^F%({!2 z)t9F%PASZ}+uti*Dq>!NW940HpQ9`*>9*$a_`5&dJ91vnjYiDJL9|AH?^%I^c97Od z{c?yq;e^iO_BSj%8t%%IMDCuhv@-%BJ>y<+sI%?J`K3Nyx|dj&hG_E2tH{?zmQ=8Z zcwk;$cZs}EU-NvD%^4?iGs@pWDXzx+NnQNg5?@z}e|{ci#O}_W{iWc`p%7>KytOc= z7jFaHUcr?IEe%MWba=PYXx2%krx+7vFJ=LyM+5)2AL zGXG!gefL+A{r`VED@SIIa^32k-JxlY+@sXAVVWsuE*y6`0m%e6t=l~+@3fq$IRa5h z1-F%gr75W?DyRvmIS>&yDxa(O_k6zR`#*f&KXN#SbDfLV>vcWW^Kk_&K21!mij%5} zGI-==o9hO~hT*nATeeQ8%;4;nDnSOtc}$XjW-T;j)2L%3g$=Pu0Iv>XIC#<;5O5Q! zV!p!N4|JwQsG^b4R^N0P7s_7`m-Zc=n=XG45M6Z?sh<8bTq8=9z3l|8fF;f-bUrAf z8Wa6+nDsU1HY0w?6LHVFrmt8>8>ykHy5}G zsxq$ykfM=0TV3rqLLe}AXJ!!=$$^mu8*@Vpl&!9v2R#H1YcV6yn^KYzbco}q#97;~ zk(*uz&d#d|pCF=uI$7z#{B*RRJw6_>X4?A}xulf^i!>PrQ8&zZo(_uSZ4s(4Zq2z(f_e4rJ z!2QcksCV>dh1(%#$n~tBKMI!N5#)kGB8KGIIi&ortX=p;1}mVRMa*G7j(RJCwYg!! zp$h9flD*wTTEua%lV~Avh;H38t&Ile zq?)hMH<0Te?|ECQUsLRDD9O?AubDebv0|*=@4I~1bkp-VOPO*l+Mj@D%c7No*V|KE z@|__ybzJu%?4oH^)K~^}YMI%_QOoaqs>fO00RE?!oJZ`GZ$hy%vFyyWcHA(hueoht zX&Et8q2PGqh|OH452IFAom_9ILg{&Q*z6*F_osb-hm1aKp)6gBf6p<8b%@f)PReNT zJ-GF`ThncL18a&@()D9@XuFJT`CQ0+3~ba^cHE5k^$Md%6szxB(cZO?C?PT@e3Mtu z_$u|`k9Nm0Jq1&b6@|oBb9O?3EGfk7ZT++H_ieY`y{rpx;l1nwI!YSNIjc=c3fJ+U zp4D$8j;pd0>=7*GpuY&|w6A8R0Tbmyip8JGU%#q{>iAl-`iOOr8im5|l3-(9KZxlC z(!SMs6XxYunuHJYR7~%v!xZwJTana z@{X;MFLc^%|9e=Tx_nA#dsGr_BNN{%ayMj~rI>Xi)TklHH9Vx3K?K<_{YZ1vupV!n z{_j~~QrMTi(_2$F&#tf+=>}$^o1GYc!!OB4);9;rvgo0IIY_S4aL#qYr_GFEkw*8| z$K1?F9#S593)R5%{b^{tnEmS)YwD`S^!vN$R@3T&?Cr{M`wd%eGkt`kmJ~|Pb%O_N zF%XgS^sbqKt+LcK1GDk^zmWqU{#4x|XwoC(*QHnsbBfz<4B#A1&Niu5W}SbM)jHUg zy#AbYk`?NkJk8b8F!wOYx@WF~En!m5<1@F&{k_zaGmCztVH#4usr+b=UyAj?)#p{? zcoVUfr3NZ28vTYFwQ@aqJPN-Rd2=LSX65zHy5|0mFw>f2r&;wQygT=QdC#U2QjLVD zLng~t8~$Bs%TdoT{y%^SPrNg{x_o7}Ew16G2JvGib*Czc73ntlcS=tCF4eqLBu8K0 zRM2Wd>4_c4hG&HDgeC)zVJWmi3R1#%$&h**y06E;!b>a9s|!qH?@hm~0@-1Y)dG=hnYHs2L&M6na9aj#L> zgi-vb)4~zii5E)lgo8`sV~3iR&r;ltC&4m|H9`SPq9u#wZ+9g+7#f0zVbPkN?N6=C2fLD_d^K&f2x*BS^XFKXeuen4h9|aUl49fp zf*u5)r;FP_@CO=pPfXs#eRyY*CT3g_5H2}>C#5rIVvAVYE+w%73z$KR+Q_v#T;_gb zM34<<-mSmh&~XZvoVLXmw_N&8;k#R9reSaJWmvEz&B z$uvIAvGnaAnH&Cb7n8kquJ;amyUB$z4Dw2YMfhqhb{#L`w!mJyZ}%D~+6HoSS!g2m z(`ljn*l&>VRcFW2Qk+=M^Ly-8{=g^Pk_|cHR|>7Qve|lM{Vt}q=lB_m%zw!BX-E?| zzyJ!!yQwrqMY-s(>91w-w7dT}u{f}ETQBMwCH^*q?=Ij2Cd^0IP>TQIMf!g7d26v> zZe;Ja+-IC*6>aIru1N2dN^w9IDimHa{%CD$Hk$VU-MEc^S?+(w!S;Ck(Sva(sKt4p z7bu)N0BTVd6_CrG2ZXqd*@?HXc~f`9@7G4=If(z8EWK;TOPsx>?3I{Ih9}2-1N|W! zCU2irHQ%i0s-qRFX}t8NwDWdzoXhxN?~6+K$^o2f!%g}tT}o_{Z|mUSnnY(Ow+^Cw zkVLzInewXu;zgC(tq`rf2t6eIw%iP|6|uI?l9L5r2ivXqU~IqxN-Q)x+?*nlfSFjB zAV(PWp26pb1`m`!4PIL>;y{|{I)3dD<_Rzly($E671|o>(f#Z%5Q~Tq&lUxxuj_$k zi?XZl2#qW*ca?vBt>bOcJt0jE`r;jLdfq+x2Pl6&uO`hdo>IT~L~G!kjGDMMc^*N6 zx+cWl!>>`x)^ajY;p4p1>DkFUym#f5fxe7wYfH5Mb)ZA(`_y51_trw9nno}E2x9d0 z0!hsxU+7?*gnO;y5vfAUCSdw@gOA4wS=i3SouIem0TnJzMK6Du4%t4vn|A;cmYjH} zti{XPv1Z5MFG_$%r(+6h$T4^A-^-uA$Bbs@b_Q+EzjLH-HMP{5TjE0g_;)7G=Y8Lo z2bx5-n&-wRN-;qRwB!o5xH9;42&{s)Is?J&2^(xrua&eS77MHSV$!`HV|<*v>o(R2 zR=B}6(35lujeepNiL0(~wz_)D=FHd|7nF>*pAJWT%}tJz7fdZbl*~idT>5)eMNB^i zrjHo?uKh>i%+TC=@cGP*)QMRBdqqbl9qU2JSwU;Tzc&n%Sz9CW8ee4P^n2EN1)#N? zO)-6kb^r+PuF%x8)|t)RxfXq}=LitcPdZjK`Sdg=W~V^6HLwzUZ_&X}mx0YeJ+5`h zG>~JfKMGpq)88cpf_tRs4TIzeQcga=3x|~KRx*;zy!whOu!P%LC`uo3%cD*utqdaF zM!?{XCNR_P;z0u9ceof4#lJhn%rDq}%N_hyBycSAwtgDRiDA!gDZBX7Zj%3O9{E#~ zLcdHlINhrkASrakcLh|G9-fxxlpu0u99LB3SyKRb6uG>($Z`m>vp|%xXcjAV+ zu}A^a0;dp>B^qWJrrW_YN*fq0rieR zaExTZ_s;$%c;LDyOv}3HW2~-gx~!P3$9n_$hUkb91PGfpddF-;MC%&7B=0&F7O)b%#hrMmi{FK9?@p%l^_*XGOt|3V)`ltPAkK|98ROl5oL_=jOfeP0H zV&;Jk@{$GHMD6cDPrz)?cL04J_wEf*eIh{1i^gzjIVgBOPU5Vc9OUKo=#b-_7)1@rC5HE^ zWa_PXorztDR_SgX`%(~3GnqT$BTOFS5-;wKZVoJnCM!{9h--evw5#G?Q;Lq$LHCjF zVrV|OKHwrHt#xt>mX?Uxt!;ebV+cPD-4F1YeMZZl^fD8`-hXC%Fs7GhN05(M>%CTl z>nxwY@@zQpy+mOzQPmjPy>QRxg$|?Z&GUpK+cu?(1L3;b;(_EpRWq|}J)^-5KdWUsr3r2dbBC9%78aGde6xc6dU)_mUur(1Pf zon&61cx>uR-c=7ziO$sv=`Syy-^v2T^c&;^*DR~F%+p@hGk)ndl=x%tlSl+0Ov`Zepsszt! zTV1Ii>Hl=xl*qK_bU5!<^j9|xw$2{*u9=4@e>M84xNA06kF+Gn+vpTwsri^CX8uvN zP@WAL37fx+0bHXPKfaz>Lj|_#+ts?7pYZu=Q0ALj*Tw;O`%a@(LLC!^@r)2FanalC zl~g;OJ~!BVJI^k&=EByfp}y5buICA`LSEX(`w={$!*Dr8)dcFv!kf9Y99T}d#@MoG z@%|oq+r)#c71!0lH^U10&8x847|in7fcT?PM&zg;3^({SwDm}Fx`K(}P_5JkwQQu4Q0^=c< zebib)Oja|7%kV$%!~LC&(O|~tC1~CAn}5+qGQ+y->~BTHH%jd#Pt9{8?%!_vD-!w= z3UfQ4HPzoiVR=5F1VOVP@}|Z+J!S}7U{CX~k>@cD%S0tv&$elDu^T~(L#CfT+^0_% z3#`uC={Wa+|N!71Gu5AL+#do`Iq)R2b@AU+Y!#v&c0GpB<( z%Q|~%w>FVw4gN!8U!$Oct(9?FODk|>Ie3J9GvAH@D9&O`rvTy7y-;)(ta}PkGFC9r z%S$~rDfFa>W2?ItcF%xM$}2G5kh50)H1LaeBBqNOX5;eB4qAl2ay5cS-)-jpdX0@V zjf$PckecbgpYFN~vMLLXa`yPh26a&EuF}oe*ybVs2aJUt6VLfUau9o^Xk(i~7+vrK z_|H8quPKVuJ(;A14nbDbH7;$AAK}Oh$$tQfRAxRyvLIr;uj!D`c@z=Dc)1ABFH|ie zy>WNz!A!cKf$L8nA22wq&u@^Z+_)WC^u?o2Is6VZxO-A}x$=`nvPMvZeidr{O4+@O zL}blG>`Y(HfQDxHURv7azI8^g|g&`wFcncgW2pkUoX=9x77_KsNWt?@T+??`M2B_K9xNI+2}E~@U3 zbo2~;YO{1iOJZ^XDm|0qhrS@?HxXjlsFL=Ns`>f~MFuhRAH6j*^_!vr(rzoy8{UMD z*$JAB6Oqk^$ImCn=**tcoSm!Rd#D^xVEoIC>2)V0rcfFhHhc|tvwdo!wFzHsVy%nn=Ptwzt2$g1m&PWGnv@Gai`7MYx|;G|X$u9C zZmX#pk6l>3i_f}5!E@q^cUS=%=&wI#yRe0Ns#o=40C@R1n(5!`@wNYSdZWtL-mqn3 z6)O$F&4bJhf8xbr3oh<_CS?_;0^OO@!&U=br7+)a-iPN+>~SI(V*&Umr3T`n4V;}by5=TMW5i>NO(`Cjp!NdXi*X8^WE!HnPGS2t${@k4fEzmu$z*DlO_1ndwKWZZnm48 zqJzgtD#D=fj+`S$jbft-Mg+fGa2xzvS&pSP?wr%or~)0^_6t70FU4|~tJn|4H`bVR zcC4jOh+mFMnH8Ie@N+)fAih8;m`u8$2KqNXQ~@X<$;0pgFgCJJ4(C=WXOah^;5*h0wk>%DOUn}oPHzmR=3bavm7zuE zuaS|U!t0EW)fMAG1k5;w-?h@A8QT~By>-~0V9Vut@6ugfoZ{pVz9M5-ExMqOzH*&W zvmvn>D<}R#DktTT${QB=(5iUv8b;lT}sDYIDRPP<8SV)OH@+ zHngj{K6Mv@tgt~4;$3rPmH$p`la@%tk|W-NFP-d~iQHLM$|@q)^FL$3Q*UQTlJF^j zTy_LroK59jdJ1Bzzm`9_(^mA}D}alba07%&t&VJo9)>Jb%w|DgcY3fhHlJ7Lmc2Ic z+Z>r)7Sd{}HP!rU&9_-v_|Un$B--~mcopE8enY1QNh-$~#1$(}>Km8easwpkfm!*2&3LH=ikTjJUo=I9@;is`zt-p$ygt6;`;k@`AmDAKDQDuv>c)e z7|KM+liS^xUBAt9-VtTFK9<|qVGYgAmI*b|N0MNQu(H|I<_3=k)SY@S!A>`O_?>g} zkAJ3kGL`=03e+eAp90b-L|lmIct@(c%Ev;!(2fBz^BfSIN9pF& zhR&5gXmc*9Ai_OwWb>L>mFr-*ZmmEdVgI%mHPM1U^8ISZMzU{n9_XXNbg{jIZdO{u zS7NV--x$&+vZ5!n{muG=Z_oJgWK`k=t?NUm2XwK@AWJ0Q&zz4(l!=Waqv$O7w;zV} zgEfq@4P$64XM81Ds5L&&sL;2dW5ST1gEql4bv-dDyeGcbTyp5= za|LV!N%&8r5$U`ng49mJ=;jY!H?s}%iEj>1xK#`^v~e-sJa{u(ak$xVr|O7AAfi%{ zzYs$bQGdc8w~xKONdL9D+AY`(i-Z#dESJDFVdg}EW6D2}$)&H(Em*mD`e?fNzRHM= z=b4iMxovG*Pag5mPsO=4#MoGeG2+6b!(H4{_yfB&TGPJ46I;cKC9kWZ!G@J|abH$e z+bILFx>2aP`Wh{Z(?T+^G4nLrovOk(nvt3mBL2kha?`u-HXd7S4Ep>`&C_i=f8$hq z%ks+r{)`#=GkfJU#} zhUFqgPi06;Rgu78XWf4|Z~L}~x{!{+6OW9EqA)MU_M2hR{d}!h){WS8bb+1}=RDEx z07MI}p_cYYu+0%@v?E68iy0FzUq%OYGiMOz8uwVsb9`;i8At)FHxsGy-)=De zIlg6Uj8>|!w6%h4Z_?>=gAVH+LZt84R$U~E_MP7{5TS(>AaG5~0DUGoT>ftB?oMnB zf|tfB-4md09k4IRYsIkobik{Thpt>YIq691 zAU3=kE?~PyQ-XRnHJ-A!Q!Xp!H`*H!Ub)a>`s7&;x?Yf9YHkKOpGCK-t#ekpn>-(V z@AVKmOz!Vke^7XRu4bULOa+a=++q8V{}XcSDZ(LUXjU5=ZtsEqWNeiEloUGCep$a| z6&66v=Csm!J=i|)hD6EyOHKk|vn<7(1-~g&GH~$ImV1i*%8)lLR)q44uFr9^)7Q&K zH*LAC-@lj{F9^1MUHO`V{-Jrfcm8&*Kdalb$44$$$Dc?k&SWFkO;kMvo2DQl%uQE^8SzRNEX+jlKA&C~L7YPdAeg=2KH+(F18I zvIZ+53CH;Xp*>1>ay9Ar@FY-{!T7u=0TMjw1bJ3xY*FmJ(QhdR#O60Q(w0Ej@1qf` z1^IgTwV466qLJ8K`W!Gt%CKr9j~mr|{Pi14I^BIG@$y1X=KU$J3msTol2UebCvfeK z|JY^OrPTsuG)%{pM)Se+J@1lAO4=oTTPo+OJ|3@KtgfRQ9g!6~MQc~eNfpO8NpV{sAoTPlnGB{SWj6{pjtNGD*0z;i>Ii_SaC<>y4on;(!r)U*R)0yEhw6g5=TIS9$iSIs35ndk@EyPi z9i(fhFbcG+4`XMrV$~MGIUtLQ@Rqxnx@^^qzLTazOI^jP+bchlLc@*G&%Qb^!YapL z<6kDm`i;-p`p>Hhao6X74w}RZyi`qov1_dTf!A7bXGK+(5))&#>6YlRx_;k3GPSLt zgh`XK1y_uR?=ZA%e1QGa=j~%=y9~`-2aoW8NT` z<_tOgMiJP!vI0Q$@4w;Mf8T@>`s&s~76gM>wlhYbL|q12qkeOY8@k&HcEiUp=DTCr zBc1_vL@YBcdw+g9QL$|Ug~jDdq4ChJzJ+xwH4^+|h5lA4mO zfl=Y@s&lc6SNF{f+x11w;Zj5V{*>4Ww{w;@Kf5IbaTo~$WC`b1lAJs}_?5XPC{p>7 z+_g7S${kzN6~zP1i5W%;np`<4g>bKk*4Zp;rnt7}*0g@s-k61g=W>?f+E?mj6d$7c z_p=?zu`$RDq&TO9;9g7HZ|P6*5GthBhDv`@?8&2T1inEy=-Q@ELHmG~Bc=$lAgiT9 zxI+2DsaY%I#a}~nc2Q$g+VLu5&Ccdu+}`wUm1{6ZJr)KA9fhHZwGYZb?3Z zwnbTk7B^OCILJi>m|OF%o!X*L^w^yg+#_RQiXJ>B>tlIG;>1NDOC}cOMq7=HJJF^| zdC*KLOe;Q~F>qfF{6PI5BWRFuXW%wtV-w%uvay6U9_Yu%ddkfMCbj|fr*fwGOV-+C ze0=jxtf6%>ArgpK+0WlWIkD_QdYq6mO~d&F43i;G4RiC!$(*U6L!h`s!W&7VMA>fl77_zwghPDjDA&}+x_UJz?ryO7`|tA8!b#RWH{5g!tBSH* z7^duYoU=JQ?I}T?W%;oD+5FJ_n5#*ZL8*_N$#DIER}D%I4=IEI}u+g(BD?jBdJS=!8r z9?D^=K0VuvLQG65`pE0aWGxhv!`;`b1V%r3>DTc9xzy47tzdM=%_NJN)~+2tOT4yH znZ!ogb4M39zu3nuP^IbjmYN}HQ{pK(8!d_+HAd&p^`3FdpYV~j9@vx)n=IXPAsZNR z@iP*sCQ2bvkk56?lS1BR1@CP6z8Iyx)G9usTHE&vbz?_w2qG;}cUkMpmy+8Who8_( zo!264YY#u6LHO_8_6`k2vKe)&hFcwGD3WqT?3fbN!7n%BqdWLX?s2p@B9JeklR?uZiu#3B^*?2w+87B!OD^;qX zo@;^t)h&U`J>fk)cPxZrC?_l)_W2%}96piCBn4-hxuX?KqpZ+F`yUc69sExq9b3gr zi&PP*VlF-m8}k<1vjw#0@7ZItGJ?QFeWp*7)E1>S0d3EdqqfH%m>>tfx^-n0%uzmF=CHFk|{Cnfd0oDkR=Jog;TTt7BU3m`1^>1PLBp?miv{l`{VlpRT z&L6Dm?~&Cn&C!S1qIWks146msZbh`gfAgT3(^l;$wCsV0-v0@qAB?UIpM%|DPc5?<@cB$N!Br|MzbEcQO3mjQf8V!+#gU|L==Iy+j~Z Y#5x*y>S=)4?+3-TD|S|u7G9742QxT=#{d8T literal 0 HcmV?d00001 diff --git a/stackql_cloudflare/website/static/safari-pinned-tab.svg b/stackql_cloudflare/website/static/safari-pinned-tab.svg new file mode 100644 index 00000000000..2563f7614e4 --- /dev/null +++ b/stackql_cloudflare/website/static/safari-pinned-tab.svg @@ -0,0 +1,27 @@ + + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + diff --git a/stackql_cloudflare/website/static/site.webmanifest b/stackql_cloudflare/website/static/site.webmanifest new file mode 100644 index 00000000000..e12a01e1972 --- /dev/null +++ b/stackql_cloudflare/website/static/site.webmanifest @@ -0,0 +1,11 @@ +{ + "name": "StackQL Cloudflare Provider", + "short_name": "StackQL cloudflare", + "icons": [ + { "src": "/favicon-32x32.png", "sizes": "32x32", "type": "image/png" }, + { "src": "/favicon-16x16.png", "sizes": "16x16", "type": "image/png" } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/stackql_cloudflare/website/yarn.lock b/stackql_cloudflare/website/yarn.lock index 823b24d7f5d..d67597d94e7 100644 --- a/stackql_cloudflare/website/yarn.lock +++ b/stackql_cloudflare/website/yarn.lock @@ -183,6 +183,14 @@ dependencies: "@algolia/client-common" "5.52.1" +"@antfu/install-pkg@^2.0.1": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@antfu/install-pkg/-/install-pkg-2.1.0.tgz#0e227e9161f8c9821b1a8944ff26366be929a519" + integrity sha512-sdg9NxU3zR4Mnawfbc/x6GB5Wf17WYud5qOuEuxXjaKpYpMkISSJEjItGebXJ2bQ4DIcly4NYH23mtkGJjvKUw== + dependencies: + package-manager-detector "^1.8.0" + tinyexec "^1.3.1" + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.29.7": version "7.29.7" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.29.7.tgz#f2fbbfea87c44a21590ec515b778b2c26d8866e7" @@ -1086,6 +1094,41 @@ "@babel/helper-string-parser" "^7.29.7" "@babel/helper-validator-identifier" "^7.29.7" +"@braintree/sanitize-url@^7.1.2": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-7.1.2.tgz#ca2035b0fefe956a8676ff0c69af73e605fcd81f" + integrity sha512-jigsZK+sMF/cuiB7sERuo9V7N9jx+dhmHHnQyDSVdpZwVutaBu7WvNYqMDLSgFgfB30n452TP3vjDAvFC973mA== + +"@chevrotain/cst-dts-gen@13.2.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@chevrotain/cst-dts-gen/-/cst-dts-gen-13.2.0.tgz#64d904738c224327b14ed616d174cb2c097c8eea" + integrity sha512-bA9dvWlhAUcHkNwU+8w9yiUxJPlj/Lm3VqS7MD+NbIR/7LmpNLuK/AWNFdCo/T3SK5ND0/UHf3IJvl/Jn/i6yg== + dependencies: + "@chevrotain/gast" "13.2.0" + "@chevrotain/types" "13.2.0" + +"@chevrotain/gast@13.2.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@chevrotain/gast/-/gast-13.2.0.tgz#3fd21451c3a6d1550e8ef61aca656359fd468644" + integrity sha512-bCARdAsG+eEbOveSXcOAC7pVxA04I1ionzeMOwIYf5NX7SaS7zgn4Dgug2BSqoL+iyKeMNSorQjsFSHJHsCNwg== + dependencies: + "@chevrotain/types" "13.2.0" + +"@chevrotain/regexp-to-ast@13.2.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@chevrotain/regexp-to-ast/-/regexp-to-ast-13.2.0.tgz#fc254a6af6461f7cce6a0f5b8ecbd3dd2dadf3ea" + integrity sha512-kxpUkLtiaK09ph+dib+Yvm+3sWSnuwlo25gqfKRgTPNmF6H7uW4gVkMjaRdtnN783S9sM6vUNWh9CsxYX4QwKw== + +"@chevrotain/types@13.2.0", "@chevrotain/types@~13.2.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@chevrotain/types/-/types-13.2.0.tgz#546500791f9713e8c7bcd1a090fdc232374cf832" + integrity sha512-7qrYHRlKfWf2AvBfJi5eVOrKAkbxvMFsy/iIHTGIiApNcEecCaVIdR+mIQhyCBsTDJxBz4JWXHMo6krbhR9hVg== + +"@chevrotain/utils@13.2.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@chevrotain/utils/-/utils-13.2.0.tgz#87111f7fa043331083adb0e65ec4d8e66ff98688" + integrity sha512-SzKYY68rseOrb9KILVzPsl6SjkQtdWw01SRGB5aCVI5kFcHltQsOYV3JB0Ffst72DgkvHCyDQ0NLwxtmCCf97Q== + "@colors/colors@1.5.0": version "1.5.0" resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" @@ -1641,6 +1684,17 @@ chalk "^4.1.2" tslib "^2.6.0" +"@docusaurus/lqip-loader@3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/lqip-loader/-/lqip-loader-3.10.2.tgz#6cfe52091e4df3832acfec4001910d0e0889158b" + integrity sha512-U9ON9YXhfQcF7s4JUrcw02Nxez9ctI5nu/+6XGGmLJ+yx36ALT1fFCHzHfd7+TvSB1H7aoT/6T5BdfZvRp++Wg== + dependencies: + "@docusaurus/logger" "3.10.2" + file-loader "^6.2.0" + lodash "^4.17.21" + sharp "^0.32.3" + tslib "^2.6.0" + "@docusaurus/mdx-loader@3.10.2": version "3.10.2" resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-3.10.2.tgz#3b4e7ffacff4ed856db2ec4e94c13b0a652d62eb" @@ -1800,6 +1854,21 @@ "@docusaurus/utils-validation" "3.10.2" tslib "^2.6.0" +"@docusaurus/plugin-ideal-image@^3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-ideal-image/-/plugin-ideal-image-3.10.2.tgz#51fa3048328ce403b2f153aee1fa676827d49106" + integrity sha512-M1uRffUaE5hqbo7368jSclYSU6oOOFdJ3/fq644kwaoComeG+jjBJ9piFrHkExtiU2Q7zcm1dWaqtfJVrR9wSQ== + dependencies: + "@docusaurus/core" "3.10.2" + "@docusaurus/lqip-loader" "3.10.2" + "@docusaurus/responsive-loader" "^1.7.0" + "@docusaurus/theme-translations" "3.10.2" + "@docusaurus/types" "3.10.2" + "@docusaurus/utils-validation" "3.10.2" + sharp "^0.32.3" + tslib "^2.6.0" + webpack "^5.88.1" + "@docusaurus/plugin-sitemap@3.10.2": version "3.10.2" resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.10.2.tgz#6c662c7df3bb7d36887f8b73f54d85dc4d36371d" @@ -1850,6 +1919,13 @@ "@docusaurus/theme-search-algolia" "3.10.2" "@docusaurus/types" "3.10.2" +"@docusaurus/responsive-loader@^1.7.0": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@docusaurus/responsive-loader/-/responsive-loader-1.7.1.tgz#fe22a657263350cbc777e296e8d8403c53d2f247" + integrity sha512-jAebZ43f8GVpZSrijLGHVVp7Y0OMIPRaL+HhiIWQ+f/b72lTsKLkSkOVHEzvd2psNJ9lsoiM3gt6akpak6508w== + dependencies: + loader-utils "^2.0.0" + "@docusaurus/theme-classic@3.10.2": version "3.10.2" resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-3.10.2.tgz#a64bd600c789b33c67c30c256b07e2ca0f57e2ae" @@ -1900,6 +1976,19 @@ tslib "^2.6.0" utility-types "^3.10.0" +"@docusaurus/theme-mermaid@^3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-mermaid/-/theme-mermaid-3.10.2.tgz#826e47a01fefbe49fdbb0f4f575c9399d3ccd92c" + integrity sha512-Stssh5MYQJ+EdYugUXf+ZcpeJFQPKXf0KCd/SWp10o3CmXNaOoh5IEgVjVqY1e1XhQf3on4+Y4BnrMiD95E2SQ== + dependencies: + "@docusaurus/core" "3.10.2" + "@docusaurus/module-type-aliases" "3.10.2" + "@docusaurus/theme-common" "3.10.2" + "@docusaurus/types" "3.10.2" + "@docusaurus/utils-validation" "3.10.2" + mermaid ">=11.6.0" + tslib "^2.6.0" + "@docusaurus/theme-search-algolia@3.10.2": version "3.10.2" resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.10.2.tgz#e7756d4088a7df4d11fd734bfe0e8fa28ceac1dd" @@ -1931,7 +2020,7 @@ fs-extra "^11.1.1" tslib "^2.6.0" -"@docusaurus/types@3.10.2": +"@docusaurus/types@3.10.2", "@docusaurus/types@^3.10.2": version "3.10.2" resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-3.10.2.tgz#9ffe35adfb4587e49158ee9e10d94b86419a5932" integrity sha512-B6rvfwIFSapUqUJjMriZswX13K8l5Z7AcmVE6uTEJpYddQieSTR12DsGaFtcZAIDsQd4p+0WTl0Vc6jmZK0Trw== @@ -1947,22 +2036,6 @@ webpack "^5.95.0" webpack-merge "^5.9.0" -"@docusaurus/types@^3.10.1": - version "3.10.1" - resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-3.10.1.tgz#d42837938ae43ca2be0ca47e63e00476b5eb94be" - integrity sha512-XYMK8k1szDCFMw2V+Xyen0g7Kee1sP3dtFnl7vkGkZOkeAJ/oPDQPL8iz4HBKOo/cwU8QeV6onVjMqtP+tFzsw== - dependencies: - "@mdx-js/mdx" "^3.0.0" - "@types/history" "^4.7.11" - "@types/mdast" "^4.0.2" - "@types/react" "*" - commander "^5.1.0" - joi "^17.9.2" - react-helmet-async "npm:@slorber/react-helmet-async@1.3.0" - utility-types "^3.10.0" - webpack "^5.95.0" - webpack-merge "^5.9.0" - "@docusaurus/utils-common@3.10.2": version "3.10.2" resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-3.10.2.tgz#a65fcfffafa4e15a59fe61d7ba315ee5d4c49269" @@ -2165,6 +2238,15 @@ resolved "https://registry.yarnpkg.com/@iconify/types/-/types-2.0.0.tgz#ab0e9ea681d6c8a1214f30cd741fe3a20cc57f57" integrity sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg== +"@iconify/utils@^3.0.2": + version "3.1.7" + resolved "https://registry.yarnpkg.com/@iconify/utils/-/utils-3.1.7.tgz#fff11c528490b119a250ace3cf35a0a78e182317" + integrity sha512-JZHlwdID+dy+lTgbYC8NEC4zeugqeYsc6jewvzb4c58kHauJn+X7rNwQjxz5p2qSjqaEeQoLkCIQ9v/H4PK0/w== + dependencies: + "@antfu/install-pkg" "^2.0.1" + "@iconify/types" "^2.0.0" + import-meta-resolve "^4.2.0" + "@jest/schemas@^29.6.3": version "29.6.3" resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" @@ -2429,6 +2511,13 @@ dependencies: "@types/mdx" "^2.0.0" +"@mermaid-js/parser@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@mermaid-js/parser/-/parser-2.0.1.tgz#ac69b59ead67a3b16a8e6d7ec5159e3cd66ee7c5" + integrity sha512-j37dj/h6p6pots1L7pLPPNuABEEu9WP4OYg9pW1g+nYG331j0+3canE9OagtYdytYvdSAMG+2fKU5cxep6LgjA== + dependencies: + "@chevrotain/types" "~13.2.0" + "@module-federation/error-codes@0.22.0": version "0.22.0" resolved "https://registry.yarnpkg.com/@module-federation/error-codes/-/error-codes-0.22.0.tgz#31ccc990dc240d73912ba7bd001f7e35ac751992" @@ -3198,6 +3287,216 @@ dependencies: "@types/node" "*" +"@types/d3-array@*": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@types/d3-array/-/d3-array-3.2.2.tgz#e02151464d02d4a1b44646d0fcdb93faf88fde8c" + integrity sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw== + +"@types/d3-axis@*": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@types/d3-axis/-/d3-axis-3.0.6.tgz#e760e5765b8188b1defa32bc8bb6062f81e4c795" + integrity sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw== + dependencies: + "@types/d3-selection" "*" + +"@types/d3-brush@*": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@types/d3-brush/-/d3-brush-3.0.6.tgz#c2f4362b045d472e1b186cdbec329ba52bdaee6c" + integrity sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A== + dependencies: + "@types/d3-selection" "*" + +"@types/d3-chord@*": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@types/d3-chord/-/d3-chord-3.0.6.tgz#1706ca40cf7ea59a0add8f4456efff8f8775793d" + integrity sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg== + +"@types/d3-color@*": + version "3.1.3" + resolved "https://registry.yarnpkg.com/@types/d3-color/-/d3-color-3.1.3.tgz#368c961a18de721da8200e80bf3943fb53136af2" + integrity sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A== + +"@types/d3-contour@*": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@types/d3-contour/-/d3-contour-3.0.6.tgz#9ada3fa9c4d00e3a5093fed0356c7ab929604231" + integrity sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg== + dependencies: + "@types/d3-array" "*" + "@types/geojson" "*" + +"@types/d3-delaunay@*": + version "6.0.4" + resolved "https://registry.yarnpkg.com/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz#185c1a80cc807fdda2a3fe960f7c11c4a27952e1" + integrity sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw== + +"@types/d3-dispatch@*": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@types/d3-dispatch/-/d3-dispatch-3.0.7.tgz#ef004d8a128046cfce434d17182f834e44ef95b2" + integrity sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA== + +"@types/d3-drag@*": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@types/d3-drag/-/d3-drag-3.0.7.tgz#b13aba8b2442b4068c9a9e6d1d82f8bcea77fc02" + integrity sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ== + dependencies: + "@types/d3-selection" "*" + +"@types/d3-dsv@*": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@types/d3-dsv/-/d3-dsv-3.0.7.tgz#0a351f996dc99b37f4fa58b492c2d1c04e3dac17" + integrity sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g== + +"@types/d3-ease@*": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/d3-ease/-/d3-ease-3.0.2.tgz#e28db1bfbfa617076f7770dd1d9a48eaa3b6c51b" + integrity sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA== + +"@types/d3-fetch@*": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@types/d3-fetch/-/d3-fetch-3.0.7.tgz#c04a2b4f23181aa376f30af0283dbc7b3b569980" + integrity sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA== + dependencies: + "@types/d3-dsv" "*" + +"@types/d3-force@*": + version "3.0.10" + resolved "https://registry.yarnpkg.com/@types/d3-force/-/d3-force-3.0.10.tgz#6dc8fc6e1f35704f3b057090beeeb7ac674bff1a" + integrity sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw== + +"@types/d3-format@*": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/d3-format/-/d3-format-3.0.4.tgz#b1e4465644ddb3fdf3a263febb240a6cd616de90" + integrity sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g== + +"@types/d3-geo@*": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@types/d3-geo/-/d3-geo-3.1.1.tgz#9e283af179601c549581600b3fec25941911329d" + integrity sha512-65Emv9fQiQQqphLlRkuQ5ypPsOmWPhtBGCMv61JDPEPMvsx+gzhGf74yw1a78xFKPj6zw4AgQICJoQv0vK9M2w== + dependencies: + "@types/geojson" "*" + +"@types/d3-hierarchy@*": + version "3.1.7" + resolved "https://registry.yarnpkg.com/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz#6023fb3b2d463229f2d680f9ac4b47466f71f17b" + integrity sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg== + +"@types/d3-interpolate@*": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz#412b90e84870285f2ff8a846c6eb60344f12a41c" + integrity sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA== + dependencies: + "@types/d3-color" "*" + +"@types/d3-path@*": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@types/d3-path/-/d3-path-3.1.1.tgz#f632b380c3aca1dba8e34aa049bcd6a4af23df8a" + integrity sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg== + +"@types/d3-polygon@*": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/d3-polygon/-/d3-polygon-3.0.2.tgz#dfae54a6d35d19e76ac9565bcb32a8e54693189c" + integrity sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA== + +"@types/d3-quadtree@*": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz#d4740b0fe35b1c58b66e1488f4e7ed02952f570f" + integrity sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg== + +"@types/d3-random@*": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/d3-random/-/d3-random-3.0.4.tgz#6bd3683b8332fc0f01e7059b7636bc5c7ede7337" + integrity sha512-UHYId5WTCx4L4YNel7NU00XUXXgvgpgZOvp10PuvsQENjMDXhh2RyFc0KBjO7B45ne4Ha1yVH7ii0vnzKkuzWA== + +"@types/d3-scale-chromatic@*": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz#dc6d4f9a98376f18ea50bad6c39537f1b5463c39" + integrity sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ== + +"@types/d3-scale@*": + version "4.0.9" + resolved "https://registry.yarnpkg.com/@types/d3-scale/-/d3-scale-4.0.9.tgz#57a2f707242e6fe1de81ad7bfcccaaf606179afb" + integrity sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw== + dependencies: + "@types/d3-time" "*" + +"@types/d3-selection@*": + version "3.0.12" + resolved "https://registry.yarnpkg.com/@types/d3-selection/-/d3-selection-3.0.12.tgz#bb207aec0b20bbe62466781c07e74212e9f5c0b1" + integrity sha512-Qe/KWYhEiIIxGs7HrAAjMfShxKldx19SJtr5zu53f3afPsdZNz7HHtdTLXo/kqeiWNXVycI24kSnfzBYkTzpgw== + +"@types/d3-shape@*": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@types/d3-shape/-/d3-shape-3.2.0.tgz#66ff342011dc243c6c20e6b899523d148aca412d" + integrity sha512-kVd74ta9eof3eJOvbNd1vGKS/XERRyQbT26Og63hIsvDO84cjD5gEOhsXf26w3FSoNlPVz84DOFcKv/oou+fMw== + dependencies: + "@types/d3-path" "*" + +"@types/d3-time-format@*": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/d3-time-format/-/d3-time-format-4.0.3.tgz#d6bc1e6b6a7db69cccfbbdd4c34b70632d9e9db2" + integrity sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg== + +"@types/d3-time@*": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/d3-time/-/d3-time-3.0.4.tgz#8472feecd639691450dd8000eb33edd444e1323f" + integrity sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g== + +"@types/d3-timer@*": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/d3-timer/-/d3-timer-3.0.2.tgz#70bbda77dc23aa727413e22e214afa3f0e852f70" + integrity sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw== + +"@types/d3-transition@*": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@types/d3-transition/-/d3-transition-3.0.9.tgz#1136bc57e9ddb3c390dccc9b5ff3b7d2b8d94706" + integrity sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg== + dependencies: + "@types/d3-selection" "*" + +"@types/d3-zoom@*": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@types/d3-zoom/-/d3-zoom-3.0.9.tgz#22beb547522f579cf39dbe04be9e0abce2bc7bdf" + integrity sha512-0sE1406XBYJGiqD3AusTl9ZqC//2mIXix51tbom25gDCA8ri4xnSZg28CaSE8Srl6FClqABUKfsn0qghgdepMA== + dependencies: + "@types/d3-interpolate" "*" + "@types/d3-selection" "*" + +"@types/d3@^7.4.3": + version "7.4.3" + resolved "https://registry.yarnpkg.com/@types/d3/-/d3-7.4.3.tgz#d4550a85d08f4978faf0a4c36b848c61eaac07e2" + integrity sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww== + dependencies: + "@types/d3-array" "*" + "@types/d3-axis" "*" + "@types/d3-brush" "*" + "@types/d3-chord" "*" + "@types/d3-color" "*" + "@types/d3-contour" "*" + "@types/d3-delaunay" "*" + "@types/d3-dispatch" "*" + "@types/d3-drag" "*" + "@types/d3-dsv" "*" + "@types/d3-ease" "*" + "@types/d3-fetch" "*" + "@types/d3-force" "*" + "@types/d3-format" "*" + "@types/d3-geo" "*" + "@types/d3-hierarchy" "*" + "@types/d3-interpolate" "*" + "@types/d3-path" "*" + "@types/d3-polygon" "*" + "@types/d3-quadtree" "*" + "@types/d3-random" "*" + "@types/d3-scale" "*" + "@types/d3-scale-chromatic" "*" + "@types/d3-selection" "*" + "@types/d3-shape" "*" + "@types/d3-time" "*" + "@types/d3-time-format" "*" + "@types/d3-timer" "*" + "@types/d3-transition" "*" + "@types/d3-zoom" "*" + "@types/debug@^4.0.0": version "4.1.13" resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.13.tgz#22d1cc9d542d3593caea764f974306ab36286ee7" @@ -3256,6 +3555,11 @@ "@types/qs" "*" "@types/serve-static" "^1" +"@types/geojson@*": + version "7946.0.16" + resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.16.tgz#8ebe53d69efada7044454e3305c19017d97ced2a" + integrity sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg== + "@types/hast@^3.0.0": version "3.0.4" resolved "https://registry.yarnpkg.com/@types/hast/-/hast-3.0.4.tgz#1d6b39993b82cea6ad783945b0508c25903e15aa" @@ -3469,6 +3773,11 @@ dependencies: "@types/node" "*" +"@types/trusted-types@^2.0.7": + version "2.0.7" + resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.7.tgz#baccb07a970b91707df3a3e8ba6896c57ead2d11" + integrity sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw== + "@types/unist@*", "@types/unist@^3.0.0": version "3.0.3" resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.3.tgz#acaab0f919ce69cce629c2d4ed2eb4adc1b6c20c" @@ -3503,6 +3812,14 @@ resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.3.1.tgz#0e8f34854df7966b09304a18e808b23997bb9fc1" integrity sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ== +"@upsetjs/venn.js@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@upsetjs/venn.js/-/venn.js-2.0.0.tgz#3be192038cdda927aa4f8b22ab51af82abf47f34" + integrity sha512-WbBhLrooyePuQ1VZxrJjtLvTc4NVfpOyKx0sKqioq9bX1C1m7Jgykkn8gLrtwumBioXIqam8DLxp88Adbue6Hw== + optionalDependencies: + d3-selection "^3.0.0" + d3-transition "^3.0.1" + "@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.14.1": version "1.14.1" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.14.1.tgz#a9f6a07f2b03c95c8d38c4536a1fdfb521ff55b6" @@ -3835,6 +4152,11 @@ autoprefixer@^10.4.19, autoprefixer@^10.4.23: picocolors "^1.1.1" postcss-value-parser "^4.2.0" +b4a@^1.6.4, b4a@^1.8.1, b4a@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.9.0.tgz#6336313b6e76b299c397afa68676ec6ebc788845" + integrity sha512-dpfcF9fDNR6++cthXR67iyhgqWy9CBouAvIWhIntzBG6cvK/cnIPiZQjBwi/ZqjjBEDGfoNDtmB0kTjroOJ3pQ== + babel-loader@^9.2.1: version "9.2.1" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.2.1.tgz#04c7835db16c246dd19ba0914418f3937797587b" @@ -3906,6 +4228,48 @@ balanced-match@^4.0.2: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-4.0.4.tgz#bfb10662feed8196a2c62e7c68e17720c274179a" integrity sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA== +bare-events@^2.5.4, bare-events@^2.7.0: + version "2.9.2" + resolved "https://registry.yarnpkg.com/bare-events/-/bare-events-2.9.2.tgz#01d377b64c3c7167b28b52da7add3221aecf2d7f" + integrity sha512-AIPKioV7/Y/8KfZ3AAhjPJxLLbY49S64Ym5DakZlUg75qQiTgUq9hEJoEwa4eUezPUlXRy/i5NpsKvo9jgKmoA== + +bare-fs@^4.0.1, bare-fs@^4.8.2: + version "4.8.2" + resolved "https://registry.yarnpkg.com/bare-fs/-/bare-fs-4.8.2.tgz#3d124eae8a0af0c34590b1a0f266a7df2b26b0d2" + integrity sha512-+ZI68KHMUvosXfKbg/UOHK0tbCdRnegbvPEdEcZ3Nd6TetieQsJPRXBRXPdLyy8+3VSEbPXtsumTpEtt78xv9w== + dependencies: + bare-events "^2.5.4" + bare-path "^3.0.0" + bare-stream "^2.6.4" + bare-url "^2.2.2" + fast-fifo "^1.3.2" + +bare-path@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bare-path/-/bare-path-3.1.2.tgz#67261bc74a9ba0105ba139b8638f218c09e8d82e" + integrity sha512-ZyKbsuuqK6Ag0K8pX6V5Txq6XeJRvY+wXucnFGRjiyVYP9YWDpIQugk/b+enRYrEYBJaqLzghRQpXPMR7341Nw== + +bare-stream@^2.6.4: + version "2.13.4" + resolved "https://registry.yarnpkg.com/bare-stream/-/bare-stream-2.13.4.tgz#61d448a268d1efd992103aae6bd729332f278ac0" + integrity sha512-PcrQ8lVLbiJscNm1Kez+Yp4Gy4AHGcN1lzwjvf5NybWen7VvEgUfyfnXYJ2zNqWnzOfCb1Abq6lH8ti0syQszA== + dependencies: + b4a "^1.8.1" + streamx "^2.25.0" + teex "^1.0.1" + +bare-url@^2.2.2: + version "2.5.4" + resolved "https://registry.yarnpkg.com/bare-url/-/bare-url-2.5.4.tgz#10ab50f39b50335e2aa7672d5941043dbfc7749e" + integrity sha512-Gxa7UVWBr0/edU1b+TJhn/AZvMQUj9OGspvYsaTYQrAbZA4BOTZGL3LiZxvD+CeMlDH4juwD84+eTAp/bLYW5g== + dependencies: + bare-path "^3.0.0" + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + baseline-browser-mapping@^2.10.12: version "2.10.32" resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.10.32.tgz#b6b553a4285fdd606327a617de36a5351e3aaa64" @@ -3926,6 +4290,15 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== +bl@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + body-parser@~1.20.5: version "1.20.5" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.5.tgz#303c8c34423d1d6fa799bc764e93c1e4dc6ebf64" @@ -4023,6 +4396,14 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + bundle-name@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/bundle-name/-/bundle-name-4.1.0.tgz#f3b96b34160d6431a19d7688135af7cfb8797889" @@ -4195,6 +4576,17 @@ cheerio@1.0.0-rc.12: parse5 "^7.0.0" parse5-htmlparser2-tree-adapter "^7.0.0" +chevrotain@~13.2.0: + version "13.2.0" + resolved "https://registry.yarnpkg.com/chevrotain/-/chevrotain-13.2.0.tgz#eb4426dcd8befff3d4c2880f8a54367498803ba4" + integrity sha512-GTouk5YzgBxlTPCaDn5q0q2EJKkrYmnPF+HmF8v0Qo4r3iyPG7HJivkN1wthCXZcm3sIcZFpGTRovLPNdJNRCA== + dependencies: + "@chevrotain/cst-dts-gen" "13.2.0" + "@chevrotain/gast" "13.2.0" + "@chevrotain/regexp-to-ast" "13.2.0" + "@chevrotain/types" "13.2.0" + "@chevrotain/utils" "13.2.0" + chokidar@^3.5.3, chokidar@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" @@ -4210,6 +4602,11 @@ chokidar@^3.5.3, chokidar@^3.6.0: optionalDependencies: fsevents "~2.3.2" +chownr@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + chrome-trace-event@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz#05bffd7ff928465093314708c93bdfa9bd1f0f5b" @@ -4281,11 +4678,27 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@~1.1.4: +color-name@^1.0.0, color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +color-string@^1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4" + integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/color/-/color-4.2.3.tgz#d781ecb5e57224ee43ea9627560107c0e0c6463a" + integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== + dependencies: + color-convert "^2.0.1" + color-string "^1.9.0" + colord@^2.9.3: version "2.9.3" resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" @@ -4306,6 +4719,11 @@ comma-separated-tokens@^2.0.0: resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee" integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== +commander@7, commander@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + commander@^10.0.0: version "10.0.1" resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" @@ -4321,11 +4739,6 @@ commander@^5.1.0: resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== -commander@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - commander@^8.3.0: version "8.3.0" resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" @@ -4461,6 +4874,20 @@ core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== +cose-base@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/cose-base/-/cose-base-1.0.3.tgz#650334b41b869578a543358b80cda7e0abe0a60a" + integrity sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg== + dependencies: + layout-base "^1.0.0" + +cose-base@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cose-base/-/cose-base-2.2.0.tgz#1c395c35b6e10bb83f9769ca8b817d614add5c01" + integrity sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g== + dependencies: + layout-base "^2.0.0" + cosmiconfig@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" @@ -4677,6 +5104,309 @@ csstype@^3.0.2, csstype@^3.2.2, csstype@^3.2.3: resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.2.3.tgz#ec48c0f3e993e50648c86da559e2610995cf989a" integrity sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ== +cytoscape-cose-bilkent@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz#762fa121df9930ffeb51a495d87917c570ac209b" + integrity sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ== + dependencies: + cose-base "^1.0.0" + +cytoscape-fcose@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz#e4d6f6490df4fab58ae9cea9e5c3ab8d7472f471" + integrity sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ== + dependencies: + cose-base "^2.2.0" + +cytoscape@^3.34.0: + version "3.34.3" + resolved "https://registry.yarnpkg.com/cytoscape/-/cytoscape-3.34.3.tgz#1503996ba0b59b901d86310a1f612e92dc464f51" + integrity sha512-yfYGhRcGAntq6YBD583j4n0Eg3jIxvWmZtz/5uz9UYkeIStSlMxuUja+ec5j3iBD8nv1rwaOAYMW09tBdkSeaQ== + +"d3-array@1 - 2": + version "2.12.1" + resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-2.12.1.tgz#e20b41aafcdffdf5d50928004ececf815a465e81" + integrity sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ== + dependencies: + internmap "^1.0.0" + +"d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3, d3-array@^3.2.0: + version "3.2.4" + resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-3.2.4.tgz#15fec33b237f97ac5d7c986dc77da273a8ed0bb5" + integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== + dependencies: + internmap "1 - 2" + +d3-axis@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-axis/-/d3-axis-3.0.0.tgz#c42a4a13e8131d637b745fc2973824cfeaf93322" + integrity sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw== + +d3-brush@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-3.0.0.tgz#6f767c4ed8dcb79de7ede3e1c0f89e63ef64d31c" + integrity sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ== + dependencies: + d3-dispatch "1 - 3" + d3-drag "2 - 3" + d3-interpolate "1 - 3" + d3-selection "3" + d3-transition "3" + +d3-chord@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-chord/-/d3-chord-3.0.1.tgz#d156d61f485fce8327e6abf339cb41d8cbba6966" + integrity sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g== + dependencies: + d3-path "1 - 3" + +"d3-color@1 - 3", d3-color@3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2" + integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== + +d3-contour@4: + version "4.0.2" + resolved "https://registry.yarnpkg.com/d3-contour/-/d3-contour-4.0.2.tgz#bb92063bc8c5663acb2422f99c73cbb6c6ae3bcc" + integrity sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA== + dependencies: + d3-array "^3.2.0" + +d3-delaunay@6: + version "6.0.4" + resolved "https://registry.yarnpkg.com/d3-delaunay/-/d3-delaunay-6.0.4.tgz#98169038733a0a5babbeda55054f795bb9e4a58b" + integrity sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A== + dependencies: + delaunator "5" + +"d3-dispatch@1 - 3", d3-dispatch@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-3.0.1.tgz#5fc75284e9c2375c36c839411a0cf550cbfc4d5e" + integrity sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg== + +"d3-drag@2 - 3", d3-drag@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-3.0.0.tgz#994aae9cd23c719f53b5e10e3a0a6108c69607ba" + integrity sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg== + dependencies: + d3-dispatch "1 - 3" + d3-selection "3" + +"d3-dsv@1 - 3", d3-dsv@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-3.0.1.tgz#c63af978f4d6a0d084a52a673922be2160789b73" + integrity sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q== + dependencies: + commander "7" + iconv-lite "0.6" + rw "1" + +"d3-ease@1 - 3", d3-ease@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-3.0.1.tgz#9658ac38a2140d59d346160f1f6c30fda0bd12f4" + integrity sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w== + +d3-fetch@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-fetch/-/d3-fetch-3.0.1.tgz#83141bff9856a0edb5e38de89cdcfe63d0a60a22" + integrity sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw== + dependencies: + d3-dsv "1 - 3" + +d3-force@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-3.0.0.tgz#3e2ba1a61e70888fe3d9194e30d6d14eece155c4" + integrity sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg== + dependencies: + d3-dispatch "1 - 3" + d3-quadtree "1 - 3" + d3-timer "1 - 3" + +"d3-format@1 - 3", d3-format@3: + version "3.1.2" + resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-3.1.2.tgz#01fdb46b58beb1f55b10b42ad70b6e344d5eb2ae" + integrity sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg== + +d3-geo@3: + version "3.1.1" + resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-3.1.1.tgz#6027cf51246f9b2ebd64f99e01dc7c3364033a4d" + integrity sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q== + dependencies: + d3-array "2.5.0 - 3" + +d3-hierarchy@3: + version "3.1.2" + resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz#b01cd42c1eed3d46db77a5966cf726f8c09160c6" + integrity sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA== + +"d3-interpolate@1 - 3", "d3-interpolate@1.2.0 - 3", d3-interpolate@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz#3c47aa5b32c5b3dfb56ef3fd4342078a632b400d" + integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== + dependencies: + d3-color "1 - 3" + +d3-path@1: + version "1.0.9" + resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-1.0.9.tgz#48c050bb1fe8c262493a8caf5524e3e9591701cf" + integrity sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg== + +"d3-path@1 - 3", d3-path@3, d3-path@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-3.1.0.tgz#22df939032fb5a71ae8b1800d61ddb7851c42526" + integrity sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ== + +d3-polygon@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-polygon/-/d3-polygon-3.0.1.tgz#0b45d3dd1c48a29c8e057e6135693ec80bf16398" + integrity sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg== + +"d3-quadtree@1 - 3", d3-quadtree@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-3.0.1.tgz#6dca3e8be2b393c9a9d514dabbd80a92deef1a4f" + integrity sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw== + +d3-random@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-random/-/d3-random-3.0.1.tgz#d4926378d333d9c0bfd1e6fa0194d30aebaa20f4" + integrity sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ== + +d3-sankey@^0.12.3: + version "0.12.3" + resolved "https://registry.yarnpkg.com/d3-sankey/-/d3-sankey-0.12.3.tgz#b3c268627bd72e5d80336e8de6acbfec9d15d01d" + integrity sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ== + dependencies: + d3-array "1 - 2" + d3-shape "^1.2.0" + +d3-scale-chromatic@3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz#34c39da298b23c20e02f1a4b239bd0f22e7f1314" + integrity sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ== + dependencies: + d3-color "1 - 3" + d3-interpolate "1 - 3" + +d3-scale@4: + version "4.0.2" + resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-4.0.2.tgz#82b38e8e8ff7080764f8dcec77bd4be393689396" + integrity sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ== + dependencies: + d3-array "2.10.0 - 3" + d3-format "1 - 3" + d3-interpolate "1.2.0 - 3" + d3-time "2.1.1 - 3" + d3-time-format "2 - 4" + +"d3-selection@2 - 3", d3-selection@3, d3-selection@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-3.0.0.tgz#c25338207efa72cc5b9bd1458a1a41901f1e1b31" + integrity sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ== + +d3-shape@3: + version "3.2.0" + resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-3.2.0.tgz#a1a839cbd9ba45f28674c69d7f855bcf91dfc6a5" + integrity sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA== + dependencies: + d3-path "^3.1.0" + +d3-shape@^1.2.0: + version "1.3.7" + resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.3.7.tgz#df63801be07bc986bc54f63789b4fe502992b5d7" + integrity sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw== + dependencies: + d3-path "1" + +"d3-time-format@2 - 4", d3-time-format@4: + version "4.1.0" + resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-4.1.0.tgz#7ab5257a5041d11ecb4fe70a5c7d16a195bb408a" + integrity sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg== + dependencies: + d3-time "1 - 3" + +"d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-3.1.0.tgz#9310db56e992e3c0175e1ef385e545e48a9bb5c7" + integrity sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q== + dependencies: + d3-array "2 - 3" + +"d3-timer@1 - 3", d3-timer@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-3.0.1.tgz#6284d2a2708285b1abb7e201eda4380af35e63b0" + integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA== + +"d3-transition@2 - 3", d3-transition@3, d3-transition@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-3.0.1.tgz#6869fdde1448868077fdd5989200cb61b2a1645f" + integrity sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w== + dependencies: + d3-color "1 - 3" + d3-dispatch "1 - 3" + d3-ease "1 - 3" + d3-interpolate "1 - 3" + d3-timer "1 - 3" + +d3-zoom@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-3.0.0.tgz#d13f4165c73217ffeaa54295cd6969b3e7aee8f3" + integrity sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw== + dependencies: + d3-dispatch "1 - 3" + d3-drag "2 - 3" + d3-interpolate "1 - 3" + d3-selection "2 - 3" + d3-transition "2 - 3" + +d3@^7.9.0: + version "7.9.0" + resolved "https://registry.yarnpkg.com/d3/-/d3-7.9.0.tgz#579e7acb3d749caf8860bd1741ae8d371070cd5d" + integrity sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA== + dependencies: + d3-array "3" + d3-axis "3" + d3-brush "3" + d3-chord "3" + d3-color "3" + d3-contour "4" + d3-delaunay "6" + d3-dispatch "3" + d3-drag "3" + d3-dsv "3" + d3-ease "3" + d3-fetch "3" + d3-force "3" + d3-format "3" + d3-geo "3" + d3-hierarchy "3" + d3-interpolate "3" + d3-path "3" + d3-polygon "3" + d3-quadtree "3" + d3-random "3" + d3-scale "4" + d3-scale-chromatic "3" + d3-selection "3" + d3-shape "3" + d3-time "3" + d3-time-format "4" + d3-timer "3" + d3-transition "3" + d3-zoom "3" + +dagre-d3-es@7.0.14: + version "7.0.14" + resolved "https://registry.yarnpkg.com/dagre-d3-es/-/dagre-d3-es-7.0.14.tgz#1272276e26457cf3b97dac569f8f0531ec33c377" + integrity sha512-P4rFMVq9ESWqmOgK+dlXvOtLwYg0i7u0HBGJER0LZDJT2VHIPAMZ/riPxqJceWMStH5+E61QxFra9kIS3AqdMg== + dependencies: + d3 "^7.9.0" + lodash-es "^4.17.21" + +dayjs@^1.11.21: + version "1.11.23" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.23.tgz#b0a363506dde5f36cf5075e42ebe8115165a8c79" + integrity sha512-QDTCU0M0MxR3hQfnlDJfwekQiaanm1ubOD231u73WBckQ/fsamwRLiE2GBz6D3a/xF1NgfiDLJjXBa1hYOYTtQ== + debounce@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5" @@ -4766,6 +5496,13 @@ define-properties@^1.2.1: has-property-descriptors "^1.0.0" object-keys "^1.1.1" +delaunator@5: + version "5.1.0" + resolved "https://registry.yarnpkg.com/delaunator/-/delaunator-5.1.0.tgz#d13271fbf3aff6753f9ea6e235557f20901046ea" + integrity sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ== + dependencies: + robust-predicates "^3.0.2" + delegate@^3.1.2: version "3.2.0" resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166" @@ -4791,7 +5528,7 @@ destroy@1.2.0, destroy@~1.2.0: resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== -detect-libc@^2.0.3: +detect-libc@^2.0.0, detect-libc@^2.0.2, detect-libc@^2.0.3: version "2.1.2" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.1.2.tgz#689c5dcdc1900ef5583a4cb9f6d7b473742074ad" integrity sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ== @@ -4881,6 +5618,13 @@ domhandler@^5.0.2, domhandler@^5.0.3: dependencies: domelementtype "^2.3.0" +dompurify@^3.4.12: + version "3.4.16" + resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.4.16.tgz#c51b3709ea15ee9abb07e804f2ef30ea9b953128" + integrity sha512-sqo+pNp3qRhCIpbgRi1y8Tgk27Bo2Ry7w0dC1NBeNTdZChWjz9Xb/KOoZbRP/R6pQZ80Qw8YhXw13hWWBbMRnQ== + optionalDependencies: + "@types/trusted-types" "^2.0.7" + domutils@^2.5.2, domutils@^2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" @@ -4943,6 +5687,11 @@ electron-to-chromium@^1.5.328: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.362.tgz#0696661e1e8ea46248e82f62f0a0bfe1aac2ce76" integrity sha512-PUY2DrLvkjkUuWqq+KPL2iWshrJsZOcIojzRQ7eXFacc9dWga7MGMJAa15VbiejSZB1PAXaRLAiKgruHP8LB1w== +elkjs@^0.9.3: + version "0.9.3" + resolved "https://registry.yarnpkg.com/elkjs/-/elkjs-0.9.3.tgz#16711f8ceb09f1b12b99e971b138a8384a529161" + integrity sha512-f/ZeWvW/BCXbhGEf1Ujp29EASo/lk1FDnETgNKwJrsVvGZhUWCZyg3xLJjAsxfOmt8KjswHmI5EwCQcPMpOYhQ== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -4973,6 +5722,13 @@ encodeurl@~2.0.0: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== +end-of-stream@^1.1.0, end-of-stream@^1.4.1: + version "1.4.5" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.5.tgz#7344d711dea40e0b74abc2ed49778743ccedb08c" + integrity sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg== + dependencies: + once "^1.4.0" + enhanced-resolve@^5.22.0: version "5.22.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.22.0.tgz#43c5caad657c6fce58fc6142e5ca6fa8528ed460" @@ -5025,6 +5781,11 @@ es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: dependencies: es-errors "^1.3.0" +es-toolkit@^1.45.1: + version "1.52.0" + resolved "https://registry.yarnpkg.com/es-toolkit/-/es-toolkit-1.52.0.tgz#71eaf1a8b18834ef77637eccbb885ba4c03cd6dd" + integrity sha512-XTNEJQh1tY1ZJVcf6ayP/2n4ZPyaHlW2FWs7xvw5ddPuhUVjLD3olQVQS7kf58JbAB48iL0uL/jerTrjtV3lDA== + esast-util-from-estree@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz#8d1cfb51ad534d2f159dc250e604f3478a79f1ad" @@ -5184,6 +5945,13 @@ eventemitter3@^4.0.0, eventemitter3@^4.0.4: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== +events-universal@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/events-universal/-/events-universal-1.0.1.tgz#b56a84fd611b6610e0a2d0f09f80fdf931e2dfe6" + integrity sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw== + dependencies: + bare-events "^2.7.0" + events@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" @@ -5204,6 +5972,11 @@ execa@^5.1.1: signal-exit "^3.0.3" strip-final-newline "^2.0.0" +expand-template@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" + integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== + express@^4.22.1: version "4.22.2" resolved "https://registry.yarnpkg.com/express/-/express-4.22.2.tgz#c17ae0981e5efc24b22272f0e041c4662503b700" @@ -5258,6 +6031,11 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== +fast-fifo@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.3.2.tgz#286e31de96eb96d38a97899815740ba2a4f3640c" + integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== + fast-glob@^3.2.11, fast-glob@^3.2.9, fast-glob@^3.3.0: version "3.3.3" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" @@ -5391,6 +6169,11 @@ fresh@~0.5.2: resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + fs-extra@^11.1.1, fs-extra@^11.2.0: version "11.3.5" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.3.5.tgz#07a44eff40bea53e719909a532f91a23bf0769ff" @@ -5449,6 +6232,11 @@ get-stream@^6.0.0, get-stream@^6.0.1: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== +github-from-package@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" + integrity sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== + github-slugger@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.5.0.tgz#17891bbc73232051474d68bd867a34625c955f7d" @@ -5563,6 +6351,11 @@ gzip-size@^6.0.0: dependencies: duplexer "^0.1.2" +hachure-fill@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/hachure-fill/-/hachure-fill-0.5.2.tgz#d19bc4cc8750a5962b47fb1300557a85fcf934cc" + integrity sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg== + handle-thing@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" @@ -5892,6 +6685,13 @@ hyperdyperid@^1.2.0: resolved "https://registry.yarnpkg.com/hyperdyperid/-/hyperdyperid-1.2.0.tgz#59668d323ada92228d2a869d3e474d5a33b69e6b" integrity sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A== +iconv-lite@0.6: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + iconv-lite@~0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -5904,6 +6704,11 @@ icss-utils@^5.0.0, icss-utils@^5.1.0: resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + ignore@^5.2.0, ignore@^5.2.4: version "5.3.2" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" @@ -5927,6 +6732,11 @@ import-lazy@^4.0.0: resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== +import-meta-resolve@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz#08cb85b5bd37ecc8eb1e0f670dc2767002d43734" + integrity sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg== + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -5942,7 +6752,7 @@ infima@0.2.0-alpha.45: resolved "https://registry.yarnpkg.com/infima/-/infima-0.2.0-alpha.45.tgz#542aab5a249274d81679631b492973dd2c1e7466" integrity sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw== -inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3, inherits@~2.0.4: +inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -5962,6 +6772,16 @@ inline-style-parser@0.2.7: resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.2.7.tgz#b1fc68bfc0313b8685745e4464e37f9376b9c909" integrity sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA== +"internmap@1 - 2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/internmap/-/internmap-2.0.3.tgz#6685f23755e43c524e251d29cbc97248e3061009" + integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg== + +internmap@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/internmap/-/internmap-1.0.1.tgz#0017cc8a3b99605f0302f2b198d272e015e5df95" + integrity sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw== + invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" @@ -5997,6 +6817,11 @@ is-arrayish@^0.2.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== +is-arrayish@^0.3.1: + version "0.3.4" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.4.tgz#1ee5553818511915685d33bb13d31bf854e5059d" + integrity sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA== + is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -6274,6 +7099,13 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" +katex@^0.16.47: + version "0.16.47" + resolved "https://registry.yarnpkg.com/katex/-/katex-0.16.47.tgz#0a13a42c2deb4f74e61f162d440b9165a548030f" + integrity sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg== + dependencies: + commander "^8.3.0" + keyv@^4.5.3: version "4.5.4" resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" @@ -6281,6 +7113,11 @@ keyv@^4.5.3: dependencies: json-buffer "3.0.1" +khroma@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/khroma/-/khroma-2.1.0.tgz#45f2ce94ce231a437cf5b63c2e886e6eb42bbbb1" + integrity sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw== + kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" @@ -6306,6 +7143,16 @@ launch-editor@^2.6.1: picocolors "^1.1.1" shell-quote "^1.8.3" +layout-base@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/layout-base/-/layout-base-1.0.2.tgz#1291e296883c322a9dd4c5dd82063721b53e26e2" + integrity sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg== + +layout-base@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/layout-base/-/layout-base-2.0.1.tgz#d0337913586c90f9c2c075292069f5c2da5dd285" + integrity sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg== + leven@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" @@ -6416,6 +7263,11 @@ locate-path@^7.1.0: dependencies: p-locate "^6.0.0" +lodash-es@^4.17.21: + version "4.18.1" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.18.1.tgz#b962eeb80d9d983a900bf342961fb7418ca10b1d" + integrity sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A== + lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" @@ -6482,6 +7334,11 @@ markdown-table@^3.0.0: resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.4.tgz#fe44d6d410ff9d6f2ea1797a3f60aa4d2b631c2a" integrity sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw== +marked@^16.3.0: + version "16.4.2" + resolved "https://registry.yarnpkg.com/marked/-/marked-16.4.2.tgz#4959a64be6c486f0db7467ead7ce288de54290a3" + integrity sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA== + math-intrinsics@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" @@ -6755,6 +7612,35 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== +mermaid@>=11.6.0: + version "12.1.0" + resolved "https://registry.yarnpkg.com/mermaid/-/mermaid-12.1.0.tgz#b9f893f32dc2f86bf7b31d3399e2e2d381e0464b" + integrity sha512-wlVCp+8eTupfCeeFvoZNNiTuHrvag0P2jz/ILgb/f/6jkVokUefOcujefi8qUe/j2asHiSePncVsz/xzzA80LQ== + dependencies: + "@braintree/sanitize-url" "^7.1.2" + "@iconify/utils" "^3.0.2" + "@mermaid-js/parser" "^2.0.1" + "@types/d3" "^7.4.3" + "@upsetjs/venn.js" "^2.0.0" + chevrotain "~13.2.0" + cytoscape "^3.34.0" + cytoscape-cose-bilkent "^4.1.0" + cytoscape-fcose "^2.2.0" + d3 "^7.9.0" + d3-sankey "^0.12.3" + dagre-d3-es "7.0.14" + dayjs "^1.11.21" + dompurify "^3.4.12" + elkjs "^0.9.3" + es-toolkit "^1.45.1" + katex "^0.16.47" + khroma "^2.1.0" + marked "^16.3.0" + roughjs "^4.6.6" + stylis "^4.3.6" + ts-dedent "^2.2.0" + uuid "^11.1.0 || ^12 || ^13 || ^14.0.0" + methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" @@ -7267,7 +8153,7 @@ minimatch@^10.2.2: dependencies: brace-expansion "^5.0.5" -minimist@^1.2.0: +minimist@^1.2.0, minimist@^1.2.3: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -7277,6 +8163,11 @@ minipass@^7.1.2, minipass@^7.1.3: resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.3.tgz#79389b4eb1bb2d003a9bba87d492f2bd37bdc65b" integrity sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A== +mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" + integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== + mrmime@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-2.0.1.tgz#bc3e87f7987853a54c9850eeb1f1078cd44adddc" @@ -7305,6 +8196,11 @@ nanoid@^3.3.12: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.12.tgz#ab3d912e217a6d0a514f00a72a16543a28982c05" integrity sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ== +napi-build-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-2.0.0.tgz#13c22c0187fcfccce1461844136372a47ddc027e" + integrity sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA== + negotiator@0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" @@ -7328,6 +8224,18 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" +node-abi@^3.3.0: + version "3.97.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.97.0.tgz#6baca1e84394db3103d27b68c0fb03300c401731" + integrity sha512-6Pu8F0eXGZlyz0EepPJrWgWDcBI8rKt2Wj8exOJU1tjVbu/VyZy5ZaLYS5N+Jp/Y3IP3sIRKcIOElTu7uC6KKA== + dependencies: + semver "^7.3.5" + +node-addon-api@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-6.1.0.tgz#ac8470034e58e67d0c6f1204a18ae6995d9c0d76" + integrity sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA== + node-emoji@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-2.2.0.tgz#1d000e3c76e462577895be1b436f4aa2d6760eb0" @@ -7424,6 +8332,13 @@ on-headers@~1.1.0: resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.1.0.tgz#59da4f91c45f5f989c6e4bcedc5a3b0aed70ff65" integrity sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A== +once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + onetime@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" @@ -7525,6 +8440,11 @@ package-json@^8.1.0: registry-url "^6.0.0" semver "^7.3.7" +package-manager-detector@^1.8.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/package-manager-detector/-/package-manager-detector-1.9.0.tgz#217ed03645bfeb563e9efce4c5bbbfbb652754ab" + integrity sha512-zAMfbta9nPA8AKkA4WdmNAT8R8s6Dk0/xwPsqNnRidMFcLo1YkLuPDTgs2f64XdzS8vbLNnoJ+uUIkgbz7oRHA== + param-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" @@ -7596,6 +8516,11 @@ pascal-case@^3.1.2: no-case "^3.0.4" tslib "^2.0.3" +path-data-parser@0.1.0, path-data-parser@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/path-data-parser/-/path-data-parser-0.1.0.tgz#8f5ba5cc70fc7becb3dcefaea08e2659aba60b8c" + integrity sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w== + path-exists@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" @@ -7675,6 +8600,19 @@ pkijs@^3.3.3: pvutils "^1.1.3" tslib "^2.8.1" +points-on-curve@0.2.0, points-on-curve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/points-on-curve/-/points-on-curve-0.2.0.tgz#7dbb98c43791859434284761330fa893cb81b4d1" + integrity sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A== + +points-on-path@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/points-on-path/-/points-on-path-0.2.1.tgz#553202b5424c53bed37135b318858eacff85dd52" + integrity sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g== + dependencies: + path-data-parser "0.1.0" + points-on-curve "0.2.0" + postcss-attribute-case-insensitive@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-7.0.1.tgz#0c4500e3bcb2141848e89382c05b5a31c23033a3" @@ -8239,6 +9177,24 @@ postcss@^8.4.21, postcss@^8.4.24, postcss@^8.4.33, postcss@^8.5.4: picocolors "^1.1.1" source-map-js "^1.2.1" +prebuild-install@^7.1.1: + version "7.1.3" + resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.3.tgz#d630abad2b147443f20a212917beae68b8092eec" + integrity sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug== + dependencies: + detect-libc "^2.0.0" + expand-template "^2.0.3" + github-from-package "0.0.0" + minimist "^1.2.3" + mkdirp-classic "^0.5.3" + napi-build-utils "^2.0.0" + node-abi "^3.3.0" + pump "^3.0.0" + rc "^1.2.7" + simple-get "^4.0.0" + tar-fs "^2.0.0" + tunnel-agent "^0.6.0" + pretty-error@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" @@ -8305,6 +9261,14 @@ proxy-addr@~2.0.7: forwarded "0.2.0" ipaddr.js "1.9.1" +pump@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.4.tgz#1f313430527fa8b905622ebd22fe1444e757ab3c" + integrity sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + punycode@^2.1.0: version "2.3.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" @@ -8373,7 +9337,7 @@ raw-body@~2.5.3: iconv-lite "~0.4.24" unpipe "~1.0.0" -rc@1.2.8: +rc@1.2.8, rc@^1.2.7: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -8498,7 +9462,7 @@ readable-stream@^2.0.1: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.6: +readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0: version "3.6.2" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -8789,6 +9753,21 @@ rimraf@^6.0.1: glob "^13.0.3" package-json-from-dist "^1.0.1" +robust-predicates@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/robust-predicates/-/robust-predicates-3.0.3.tgz#1099061b3349e2c5abec6c2ab0acd440d24d4062" + integrity sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA== + +roughjs@^4.6.6: + version "4.6.6" + resolved "https://registry.yarnpkg.com/roughjs/-/roughjs-4.6.6.tgz#1059f49a5e0c80dee541a005b20cc322b222158b" + integrity sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ== + dependencies: + hachure-fill "^0.5.2" + path-data-parser "^0.1.0" + points-on-curve "^0.2.0" + points-on-path "^0.2.1" + rtlcss@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/rtlcss/-/rtlcss-4.3.0.tgz#f8efd4d5b64f640ec4af8fa25b65bacd9e07cc97" @@ -8811,7 +9790,12 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: +rw@1: + version "1.3.3" + resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" + integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ== + +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -8821,7 +9805,7 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -"safer-buffer@>= 2.1.2 < 3": +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -8994,6 +9978,20 @@ shallowequal@^1.1.0: resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== +sharp@^0.32.3: + version "0.32.6" + resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.32.6.tgz#6ad30c0b7cd910df65d5f355f774aa4fce45732a" + integrity sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w== + dependencies: + color "^4.2.3" + detect-libc "^2.0.2" + node-addon-api "^6.1.0" + prebuild-install "^7.1.1" + semver "^7.5.4" + simple-get "^4.0.1" + tar-fs "^3.0.4" + tunnel-agent "^0.6.0" + shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -9056,6 +10054,27 @@ signal-exit@^3.0.2, signal-exit@^3.0.3: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== +simple-concat@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" + integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== + +simple-get@^4.0.0, simple-get@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.1.tgz#4a39db549287c979d352112fa03fd99fd6bc3543" + integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== + dependencies: + decompress-response "^6.0.0" + once "^1.3.1" + simple-concat "^1.0.0" + +simple-swizzle@^0.2.2: + version "0.2.4" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.4.tgz#a8d11a45a11600d6a1ecdff6363329e3648c3667" + integrity sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw== + dependencies: + is-arrayish "^0.3.1" + sirv@^2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/sirv/-/sirv-2.0.4.tgz#5dd9a725c578e34e449f332703eb2a74e46a29b0" @@ -9195,6 +10214,15 @@ std-env@^3.7.0: resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.10.0.tgz#d810b27e3a073047b2b5e40034881f5ea6f9c83b" integrity sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg== +streamx@^2.12.5, streamx@^2.25.0, streamx@^2.28.1: + version "2.28.1" + resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.28.1.tgz#376cd42a089505a69bec0efdb5189aa45586141f" + integrity sha512-zEzXb0s5Cds7tqMH6rhZ05lcJydCWiQPEwiNngVqzsxCc962vLY4Uw+mW7od8kDH258k2Uz/JrOkdIAAhSh9VA== + dependencies: + events-universal "^1.0.0" + fast-fifo "^1.3.2" + text-decoder "^1.1.0" + string-width@^4.1.0, string-width@^4.2.0: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" @@ -9305,6 +10333,11 @@ stylis@4.2.0: resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== +stylis@^4.3.6: + version "4.4.0" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.4.0.tgz#c5846c9345f4bfc51bd0cbd7ca35a0744f485a5d" + integrity sha512-5Z9ZpRzfuH6l/UAvCPAPUo3665Nk2wLaZU3x+TLHKVzIz33+sbJqbtrYoC3KD4/uVOr2Zp+L0LySezP9OHV9yA== + supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" @@ -9354,6 +10387,55 @@ tapable@^2.0.0, tapable@^2.2.1, tapable@^2.3.0, tapable@^2.3.3: resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.3.3.tgz#5da7c9992c46038221267985ab28421a8879f160" integrity sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A== +tar-fs@^2.0.0: + version "2.1.5" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.5.tgz#33e9c29413dce0c58ada7ff77db4e5a30afffe70" + integrity sha512-OboTd8mmMhZDNPV+UjQcK9yKAatXu2aJ+r1w4im1Otd4M4fl2hwvdoXUxIYHFTHWK/3y3FarBP70v3vwmGlOxw== + dependencies: + chownr "^1.1.1" + mkdirp-classic "^0.5.2" + pump "^3.0.0" + tar-stream "^2.1.4" + +tar-fs@^3.0.4: + version "3.1.3" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-3.1.3.tgz#05668cc68a30741c3813f9c16593b8dec7dcbcd1" + integrity sha512-/hU4AXnIdZu+Gvl1pk0oI5f5HxWsCJRtY2aFaJdk9VvyL48DWU6iU5WAIPG+wIi1YvWA6eTJvIviP/tMAZZNwQ== + dependencies: + pump "^3.0.0" + tar-stream "^3.1.5" + optionalDependencies: + bare-fs "^4.0.1" + bare-path "^3.0.0" + +tar-stream@^2.1.4: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + +tar-stream@^3.1.5: + version "3.2.2" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-3.2.2.tgz#aec7f257e712192a177a93aa0450c2e76855c8be" + integrity sha512-+8NeqHRjQWH9nYlwo2gamAMImZCVzI4UoEgDpWorBt9OEfppiZn+uSkskzQKPWIZyji/C8fpWO7u69G0DX0tbg== + dependencies: + b4a "^1.9.0" + bare-fs "^4.8.2" + fast-fifo "^1.3.2" + streamx "^2.28.1" + +teex@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/teex/-/teex-1.0.1.tgz#b8fa7245ef8e8effa8078281946c85ab780a0b12" + integrity sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg== + dependencies: + streamx "^2.12.5" + terser-webpack-plugin@^5.3.9, terser-webpack-plugin@^5.5.0: version "5.6.0" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.6.0.tgz#8e7caad248183ab9e91ff08a83b0fc9f0439c3c3" @@ -9374,6 +10456,13 @@ terser@^5.10.0, terser@^5.15.1, terser@^5.31.1: commander "^2.20.0" source-map-support "~0.5.20" +text-decoder@^1.1.0: + version "1.2.7" + resolved "https://registry.yarnpkg.com/text-decoder/-/text-decoder-1.2.7.tgz#5d073a9a74b9c0a9d28dfadcab96b604af57d8ba" + integrity sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ== + dependencies: + b4a "^1.6.4" + thingies@^2.5.0: version "2.6.0" resolved "https://registry.yarnpkg.com/thingies/-/thingies-2.6.0.tgz#e09b98b9e6f6caf8a759eca8481fea1de974d2b1" @@ -9399,6 +10488,11 @@ tiny-warning@^1.0.0: resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== +tinyexec@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-1.3.1.tgz#16a2e3c6e23fafce72640e678e651db36145b9c6" + integrity sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA== + tinypool@^1.0.2: version "1.1.1" resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-1.1.1.tgz#059f2d042bd37567fbc017d3d426bdd2a2612591" @@ -9436,6 +10530,11 @@ trough@^2.0.0: resolved "https://registry.yarnpkg.com/trough/-/trough-2.2.0.tgz#94a60bd6bd375c152c1df911a4b11d5b0256f50f" integrity sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw== +ts-dedent@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/ts-dedent/-/ts-dedent-2.3.0.tgz#8fac36c7902b541c154ac13a27ac467997af11f8" + integrity sha512-JfJeIHke7y2egdGGgRAvpCwYFUsHlM2gPcrVOxFkznt/4uzQ7HFmvE63iFHVLBJNDuyDOQgijDK/tXH/f6Msjg== + tslib@^1.9.3: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" @@ -9453,6 +10552,13 @@ tsyringe@^4.10.0: dependencies: tslib "^1.9.3" +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== + dependencies: + safe-buffer "^5.0.1" + type-fest@^1.0.1: version "1.4.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" @@ -9650,7 +10756,7 @@ utils-merge@1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== -uuid@^11.0.0, uuid@^8.3.2: +uuid@^11.0.0, "uuid@^11.1.0 || ^12 || ^13 || ^14.0.0", uuid@^8.3.2: version "11.1.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-11.1.1.tgz#f6d81d2e1c65d00762e5e29b16c5d2d995e208ad" integrity sha512-vIYxrBCC/N/K+Js3qSN88go7kIfNPssr/hHCesKCQNAjmgvYS2oqr69kIufEG+O4+PfezOH4EbIeHCfFov8ZgQ== @@ -9877,6 +10983,11 @@ wrap-ansi@^8.0.1, wrap-ansi@^8.1.0: string-width "^5.0.1" strip-ansi "^7.0.1" +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + write-file-atomic@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8"