nuxt-og-image 2.0.23 → 2.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/client/200.html +5 -5
  2. package/dist/client/404.html +5 -5
  3. package/dist/client/_nuxt/IconCSS.29c035fc.css +1 -0
  4. package/dist/client/_nuxt/IconCSS.d5d4ba18.js +1 -0
  5. package/dist/client/_nuxt/{ImageLoader.7d142ae6.js → ImageLoader.9a2c5592.js} +1 -1
  6. package/dist/client/_nuxt/{entry.baaec905.js → entry.5e420308.js} +64 -64
  7. package/dist/client/_nuxt/entry.9cb59451.css +1 -0
  8. package/dist/client/_nuxt/{error-404.1e9d5490.js → error-404.5039d699.js} +1 -1
  9. package/dist/client/_nuxt/{error-500.a2569504.js → error-500.b422d33f.js} +1 -1
  10. package/dist/client/_nuxt/{index.3defa0e2.js → index.0f460624.js} +1 -1
  11. package/dist/client/_nuxt/{options.bfa3a6f5.js → options.b061e670.js} +1 -1
  12. package/dist/client/_nuxt/{png.25a0a86a.js → png.a29fa077.js} +1 -1
  13. package/dist/client/_nuxt/{shiki.3055e6bb.js → shiki.1fe83df5.js} +1 -1
  14. package/dist/client/_nuxt/{svg.60dc20c6.js → svg.b56c3a39.js} +1 -1
  15. package/dist/client/_nuxt/{vnodes.8b4e811d.js → vnodes.d38ef018.js} +1 -1
  16. package/dist/client/index.html +5 -5
  17. package/dist/client/options/index.html +5 -5
  18. package/dist/client/png/index.html +5 -5
  19. package/dist/client/svg/index.html +5 -5
  20. package/dist/client/vnodes/index.html +5 -5
  21. package/dist/module.json +1 -1
  22. package/dist/module.mjs +55 -53
  23. package/dist/runtime/nitro/plugins/prerender.mjs +2 -2
  24. package/dist/runtime/nitro/providers/browser/universal.d.ts +2 -1
  25. package/dist/runtime/nitro/renderers/browser.mjs +1 -1
  26. package/package.json +9 -8
  27. package/dist/client/_nuxt/IconCSS.772400bb.css +0 -1
  28. package/dist/client/_nuxt/IconCSS.7dbf5ef2.js +0 -1
  29. package/dist/client/_nuxt/entry.d5c2937d.css +0 -1
package/dist/module.mjs CHANGED
@@ -15,12 +15,13 @@ import { globby } from 'globby';
15
15
  import { installNuxtSiteConfig, updateSiteConfig } from 'nuxt-site-config-kit';
16
16
  import { provider } from 'std-env';
17
17
  import { hash } from 'ohash';
18
+ import terminate from 'terminate';
18
19
  import playwrightCore from 'playwright-core';
19
20
  import { createBirpcGroup } from 'birpc';
20
21
  import { stringify, parse } from 'flatted';
21
22
  import { addDependency } from 'nypm';
22
23
 
23
- const version = "2.0.23";
24
+ const version = "2.0.25";
24
25
 
25
26
  async function createBrowser() {
26
27
  if (process.dev || process.env.prerender) {
@@ -741,10 +742,15 @@ export async function useProvider(provider) {
741
742
  resolve2(true);
742
743
  });
743
744
  });
745
+ installChromeProcess.pid && terminate(installChromeProcess.pid);
746
+ const browser = await createBrowser();
747
+ if (!browser) {
748
+ nitro.logger.log(chalk.red("Failed to create a browser to create og:images."));
749
+ return;
750
+ }
751
+ nitro.logger.info("Creating server for og:image generation...");
744
752
  const previewProcess = execa("npx", ["serve", nitro.options.output.publicDir]);
745
- let browser = null;
746
753
  try {
747
- previewProcess.stderr?.pipe(process.stderr);
748
754
  const host = (await new Promise((resolve2) => {
749
755
  previewProcess.stdout?.on("data", (data) => {
750
756
  if (data.includes("Accepting connections at")) {
@@ -752,67 +758,63 @@ export async function useProvider(provider) {
752
758
  }
753
759
  });
754
760
  })).trim();
755
- browser = await createBrowser();
756
- if (browser) {
757
- nitro.logger.info(`Prerendering ${screenshotQueue.length} og:image screenshots...`);
758
- for (const k in screenshotQueue) {
759
- let entry = screenshotQueue[k];
760
- if (entry.route && Object.keys(entry).length === 1) {
761
- const html = await $fetch(entry.route, { baseURL: withBase(nuxt.options.app.baseURL, host) });
762
- const routeRules = defu$1({}, ..._routeRulesMatcher.matchAll(entry.route).reverse());
763
- const extractedOptions = extractAndNormaliseOgImageOptions(entry.route, html, routeRules.ogImage || {}, {
764
- ...config.defaults,
765
- component: "PageScreenshot"
766
- });
767
- if (!extractedOptions || routeRules.ogImage === false) {
768
- entry.skip = true;
769
- continue;
770
- }
771
- screenshotQueue[k] = entry = defu$1(
772
- { path: extractedOptions.component !== "PageScreenshot" ? `/api/og-image-html?path=${entry.route}` : entry.route },
773
- entry,
774
- extractedOptions
775
- );
761
+ previewProcess.removeAllListeners("data");
762
+ nitro.logger.info(`Prerendering ${screenshotQueue.length} og:image screenshots...`);
763
+ for (const k in screenshotQueue) {
764
+ let entry = screenshotQueue[k];
765
+ if (entry.route && Object.keys(entry).length === 1) {
766
+ const html = await $fetch(entry.route, { baseURL: withBase(nuxt.options.app.baseURL, host) });
767
+ const routeRules = defu$1({}, ..._routeRulesMatcher.matchAll(entry.route).reverse());
768
+ const extractedOptions = extractAndNormaliseOgImageOptions(entry.route, html, routeRules.ogImage || {}, {
769
+ ...config.defaults,
770
+ component: "PageScreenshot"
771
+ });
772
+ if (!extractedOptions || routeRules.ogImage === false) {
773
+ entry.skip = true;
774
+ continue;
776
775
  }
777
- if (!entry.skip && entry.component !== "PageScreenshot")
778
- entry.html = await globalThis.$fetch(entry.path);
776
+ screenshotQueue[k] = entry = defu$1(
777
+ { path: extractedOptions.component !== "PageScreenshot" ? `/api/og-image-html?path=${entry.route}` : entry.route },
778
+ entry,
779
+ extractedOptions
780
+ );
779
781
  }
780
- for (const k in screenshotQueue) {
781
- const entry = screenshotQueue[k];
782
- if (entry.skip)
783
- continue;
784
- const start = Date.now();
785
- let hasError = false;
786
- const dirname2 = joinURL(nitro.options.output.publicDir, entry.route, "/__og_image__/");
787
- const filename = joinURL(dirname2, "/og.png");
782
+ if (!entry.skip && entry.component !== "PageScreenshot")
783
+ entry.html = await globalThis.$fetch(entry.path);
784
+ }
785
+ for (const k in screenshotQueue) {
786
+ const entry = screenshotQueue[k];
787
+ if (entry.skip)
788
+ continue;
789
+ const start = Date.now();
790
+ let hasError = false;
791
+ const dirname2 = joinURL(nitro.options.output.publicDir, entry.route, "/__og_image__/");
792
+ const filename = joinURL(dirname2, "/og.png");
793
+ try {
794
+ const imgBuffer = await screenshot(browser, {
795
+ ...config.defaults || {},
796
+ ...entry || {},
797
+ host
798
+ });
788
799
  try {
789
- const imgBuffer = await screenshot(browser, {
790
- ...config.defaults || {},
791
- ...entry || {},
792
- host
793
- });
794
- try {
795
- await mkdirp(dirname2);
796
- } catch (e) {
797
- }
798
- await writeFile(filename, imgBuffer);
800
+ await mkdirp(dirname2);
799
801
  } catch (e) {
800
- hasError = true;
801
- console.error(e);
802
802
  }
803
- const generateTimeMS = Date.now() - start;
804
- nitro.logger.log(chalk[hasError ? "red" : "gray"](
805
- ` ${Number(k) === screenshotQueue.length - 1 ? "\u2514\u2500" : "\u251C\u2500"} /${relative(nitro.options.output.publicDir, filename)} (${generateTimeMS}ms) ${Math.round((Number(k) + 1) / screenshotQueue.length * 100)}%`
806
- ));
803
+ await writeFile(filename, imgBuffer);
804
+ } catch (e) {
805
+ hasError = true;
806
+ console.error(e);
807
807
  }
808
- } else {
809
- nitro.logger.log(chalk.red("Failed to create a browser to create og:images."));
808
+ const generateTimeMS = Date.now() - start;
809
+ nitro.logger.log(chalk[hasError ? "red" : "gray"](
810
+ ` ${Number(k) === screenshotQueue.length - 1 ? "\u2514\u2500" : "\u251C\u2500"} /${relative(nitro.options.output.publicDir, filename)} (${generateTimeMS}ms) ${Math.round((Number(k) + 1) / screenshotQueue.length * 100)}%`
811
+ ));
810
812
  }
811
813
  } catch (e) {
812
814
  console.error(e);
813
815
  } finally {
814
816
  await browser?.close();
815
- previewProcess.kill();
817
+ previewProcess.pid && terminate(previewProcess.pid);
816
818
  }
817
819
  screenshotQueue = [];
818
820
  };
@@ -1,5 +1,5 @@
1
1
  import { appendHeader } from "h3";
2
- import { joinURL, withoutLeadingSlash } from "ufo";
2
+ import { joinURL, parseURL, withoutLeadingSlash } from "ufo";
3
3
  import { extractAndNormaliseOgImageOptions } from "../utils-pure.mjs";
4
4
  import { useNitroCache } from "../../cache.mjs";
5
5
  import { getRouteRules } from "#internal/nitro";
@@ -9,7 +9,7 @@ const OgImagePrenderNitroPlugin = async (nitroApp) => {
9
9
  return;
10
10
  const { defaults } = useRuntimeConfig()["nuxt-og-image"];
11
11
  nitroApp.hooks.hook("render:html", async (ctx, { event }) => {
12
- const path = event.node.req.url;
12
+ const path = parseURL(event.path).pathname;
13
13
  if (path.includes(".") || path.startsWith("/__nuxt_island/"))
14
14
  return;
15
15
  const routeRules = getRouteRules(event)?.ogImage || {};
@@ -1 +1,2 @@
1
- export default function createBrowser(): Promise<any>;
1
+ import type { Browser } from 'playwright-core';
2
+ export default function createBrowser(): Promise<Browser | void>;
@@ -23,7 +23,7 @@ const BrowserRenderer = {
23
23
  path: `/api/og-image-html?path=${options.path}`
24
24
  });
25
25
  } finally {
26
- browser.close();
26
+ await browser.close();
27
27
  }
28
28
  }
29
29
  return res;
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "nuxt-og-image",
3
3
  "type": "module",
4
- "version": "2.0.23",
5
- "packageManager": "pnpm@8.7.0",
4
+ "version": "2.0.25",
5
+ "packageManager": "pnpm@8.7.4",
6
6
  "description": "Enlightened OG Image generation for Nuxt.",
7
7
  "license": "MIT",
8
8
  "funding": "https://github.com/sponsors/harlan-zw",
@@ -27,11 +27,11 @@
27
27
  "dist"
28
28
  ],
29
29
  "dependencies": {
30
- "@nuxt/kit": "^3.7.0",
30
+ "@nuxt/kit": "^3.7.1",
31
31
  "@resvg/resvg-js": "^2.4.1",
32
32
  "@resvg/resvg-wasm": "^2.4.1",
33
33
  "@types/fs-extra": "^11.0.1",
34
- "birpc": "0.2.13",
34
+ "birpc": "0.2.14",
35
35
  "chalk": "^5.3.0",
36
36
  "chrome-launcher": "^1.0.0",
37
37
  "defu": "^6.1.2",
@@ -51,11 +51,12 @@
51
51
  "pathe": "^1.1.1",
52
52
  "playwright-core": "^1.37.1",
53
53
  "radix3": "^1.1.0",
54
- "satori": "0.10.3",
54
+ "satori": "0.10.4",
55
55
  "satori-html": "^0.3.2",
56
56
  "sirv": "^2.0.3",
57
57
  "std-env": "^3.4.3",
58
58
  "svg2png-wasm": "^1.4.0",
59
+ "terminate": "^2.6.1",
59
60
  "tinyws": "^0.1.0",
60
61
  "twemoji": "^14.0.2",
61
62
  "ufo": "^1.3.0",
@@ -65,14 +66,14 @@
65
66
  "devDependencies": {
66
67
  "@antfu/eslint-config": "^0.41.0",
67
68
  "@nuxt/devtools": "0.8.2",
68
- "@nuxt/module-builder": "^0.5.0",
69
- "@nuxt/test-utils": "3.7.0",
69
+ "@nuxt/module-builder": "^0.5.1",
70
+ "@nuxt/test-utils": "3.7.1",
70
71
  "@nuxtjs/eslint-config-typescript": "^12.1.0",
71
72
  "@types/ws": "^8.5.5",
72
73
  "bumpp": "^9.2.0",
73
74
  "eslint": "8.48.0",
74
75
  "jest-image-snapshot": "^6.2.0",
75
- "nuxt": "^3.7.0",
76
+ "nuxt": "^3.7.1",
76
77
  "nuxt-icon": "^0.5.0",
77
78
  "playwright": "^1.37.1",
78
79
  "sass": "^1.66.1",
@@ -1 +0,0 @@
1
- span[data-v-4d447e1c]{background-color:currentColor;display:inline-block;-webkit-mask-image:var(--f7c88320);mask-image:var(--f7c88320);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle}
@@ -1 +0,0 @@
1
- import{g as l,H as _,I as d,n as o,o as m,c as f,s as S,_ as g}from"./entry.baaec905.js";const x=l({__name:"IconCSS",props:{name:{type:String,required:!0},size:{type:String,default:""}},setup(r){const n=r;_(e=>({f7c88320:u.value}));const s=d(),p=o(()=>{var e;return((((e=s.nuxtIcon)==null?void 0:e.aliases)||{})[n.name]||n.name).replace(/^i-/,"")}),u=o(()=>`url('https://api.iconify.design/${p.value.replace(":","/")}.svg')`),c=o(()=>{var t,a,i;if(!n.size&&typeof((t=s.nuxtIcon)==null?void 0:t.size)=="boolean"&&!((a=s.nuxtIcon)!=null&&a.size))return;const e=n.size||((i=s.nuxtIcon)==null?void 0:i.size)||"1em";return String(Number(e))===e?`${e}px`:e});return(e,t)=>(m(),f("span",{style:S({width:c.value,height:c.value})},null,4))}});const z=g(x,[["__scopeId","data-v-4d447e1c"]]);export{z as default};
@@ -1 +0,0 @@
1
- :root{--nui-c-context: 125,125,125}html{background-color:#fff}html.dark{background-color:#151515;color:#fff;color-scheme:dark}::-moz-selection{background:#8884}::selection{background:#8884}.shiki .line{display:inline-block;position:relative;width:100%}.shiki.diff .line>span{filter:saturate(.75);opacity:.75}.shiki.diff .line-added,.shiki.diff .line-removed{scroll-margin:5em}.shiki.diff .line-added>span,.shiki.diff .line-removed>span{opacity:1!important;position:inherit;scroll-margin:20px;z-index:100}.shiki.diff .line-added>span{color:#218c3b!important}.shiki.diff .line-removed>span{color:#8c2c21!important}.shiki .line-added:after{background-color:#43885440;bottom:0;content:"";display:block;left:0;position:absolute;right:0;top:0}.shiki .line-removed:after{background-color:#8f4b3950;bottom:0;content:"";display:block;left:0;position:absolute;right:0;top:0}::view-transition-new(root),::view-transition-old(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2147483646}.dark::view-transition-old(root){z-index:2147483646}.dark::view-transition-new(root){z-index:1}*,:after,:before{border-color:var(--un-default-border-color, #e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.carbon-sun{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M16 12.005a4 4 0 1 1-4 4a4.005 4.005 0 0 1 4-4m0-2a6 6 0 1 0 6 6a6 6 0 0 0-6-6ZM5.394 6.813L6.81 5.399l3.505 3.506L8.9 10.319zM2 15.005h5v2H2zm3.394 10.193L8.9 21.692l1.414 1.414l-3.505 3.506zM15 25.005h2v5h-2zm6.687-1.9l1.414-1.414l3.506 3.506l-1.414 1.414zm3.313-8.1h5v2h-5zm-3.313-6.101l3.506-3.506l1.414 1.414l-3.506 3.506zM15 2.005h2v5h-2z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:ibm-cloud-pak-manta-automated-data-lineage{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M30 11V5h-6v2H14V4a2.002 2.002 0 0 0-2-2H4a2.002 2.002 0 0 0-2 2v8a2.002 2.002 0 0 0 2 2h8a2.002 2.002 0 0 0 2-2V9a3.003 3.003 0 0 1 3 3v9h-6v-2H5v6h6v-2h6v2a2.002 2.002 0 0 0 2 2h5v2h6v-6h-6v2h-5v-7h5v2h6v-6h-6v2h-5v-4a4.952 4.952 0 0 0-1.025-3H24v2ZM4 12V4h8v8Zm5 11H7v-2h2Zm17 2h2v2h-2Zm0-9h2v2h-2Zm0-9h2v2h-2Z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:image-search{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M24 14a5.99 5.99 0 0 0-4.885 9.471L14 28.586L15.414 30l5.115-5.115A5.997 5.997 0 1 0 24 14zm0 10a4 4 0 1 1 4-4a4.005 4.005 0 0 1-4 4zm-7-12a3 3 0 1 0-3-3a3.003 3.003 0 0 0 3 3zm0-4a1 1 0 1 1-1 1a1 1 0 0 1 1-1z'/%3E%3Cpath fill='currentColor' d='M12 24H4v-6.003L9 13l5.586 5.586L16 17.168l-5.586-5.585a2 2 0 0 0-2.828 0L4 15.168V4h20v6h2V4a2.002 2.002 0 0 0-2-2H4a2.002 2.002 0 0 0-2 2v20a2.002 2.002 0 0 0 2 2h8Z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:laptop{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M26 24.005H6a2.002 2.002 0 0 1-2-2v-14a2.002 2.002 0 0 1 2-2h20a2.002 2.002 0 0 1 2 2v14a2.003 2.003 0 0 1-2 2Zm-20-16v14h20v-14Zm-4 18h28v2H2z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:mobile{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M22 4H10a2.002 2.002 0 0 0-2 2v22a2.002 2.002 0 0 0 2 2h12a2.003 2.003 0 0 0 2-2V6a2.002 2.002 0 0 0-2-2Zm0 2v2H10V6ZM10 28V10h12v18Z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:operations-record{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M20 20h10v2H20zm0 4h10v2H20zm0 4h10v2H20zm-4-8a3.912 3.912 0 0 1-4-4a3.912 3.912 0 0 1 4-4a3.912 3.912 0 0 1 4 4h2a6 6 0 1 0-6 6z'/%3E%3Cpath fill='currentColor' d='m29.305 11.044l-2.36-4.088a1.998 1.998 0 0 0-2.374-.895l-2.434.824a11.042 11.042 0 0 0-1.312-.758l-.504-2.52A2 2 0 0 0 18.36 2h-4.72a2 2 0 0 0-1.961 1.608l-.504 2.518a10.967 10.967 0 0 0-1.327.754l-2.42-.819a1.998 1.998 0 0 0-2.372.895l-2.36 4.088a2 2 0 0 0 .411 2.502l1.931 1.697C5.021 15.495 5 15.745 5 16c0 .258.01.513.028.766l-1.92 1.688a2 2 0 0 0-.413 2.502l2.36 4.088a1.998 1.998 0 0 0 2.374.895l2.434-.824a10.974 10.974 0 0 0 1.312.759l.503 2.518A2 2 0 0 0 13.64 30H16v-2h-2.36l-.71-3.55a9.095 9.095 0 0 1-2.695-1.572l-3.447 1.166l-2.36-4.088l2.725-2.395a8.926 8.926 0 0 1-.007-3.128l-2.718-2.39l2.36-4.087l3.427 1.16A9.03 9.03 0 0 1 12.93 7.55L13.64 4h4.72l.71 3.55a9.098 9.098 0 0 1 2.695 1.572l3.447-1.166l2.36 4.088l-2.798 2.452L26.092 16l2.8-2.454a2 2 0 0 0 .413-2.502Z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:png{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M30 23h-6a2 2 0 0 1-2-2V11a2 2 0 0 1 2-2h6v2h-6v10h4v-4h-2v-2h4zm-12-4L14.32 9H12v14h2V13l3.68 10H20V9h-2v10zM4 23H2V9h6a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H4zm0-7h4v-5H4z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.carbon\:svg{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M30 23h-6a2 2 0 0 1-2-2V11a2 2 0 0 1 2-2h6v2h-6v10h4v-4h-2v-2h4zM18 9l-2 13l-2-13h-2l2.52 14h2.96L20 9h-2zM8 23H2v-2h6v-4H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h6v2H4v4h4a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.dark .dark\:carbon-moon{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3Z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.n-button-icon{font-size:1.1em;margin-left:-.2em;margin-right:.2em}.n-button-base{--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgba(0,0,0,.05));align-items:center;border-color:#9ca3af33;border-radius:.25rem;border-width:1px;box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow);display:inline-flex;gap:.25rem;opacity:.8;outline:2px solid transparent!important;outline-offset:2px!important;padding:.25em 1em;touch-action:manipulation}.n-icon{flex:none}.n-border-base{border-color:#9ca3af33}[n~=borderless]{--un-shadow:0 0 var(--un-shadow-color, transparent) !important;border-color:transparent!important;box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)!important}.hover\:n-button-hover:hover{border-color:rgba(var(--nui-c-context),1)!important;color:rgba(var(--nui-c-context),1);opacity:1}.dark .n-bg-base{--un-bg-opacity:1;background-color:rgba(21,21,21,var(--un-bg-opacity))}.n-bg-base{--un-bg-opacity:1;background-color:rgba(255,255,255,var(--un-bg-opacity))}.active\:n-button-active:active{--un-ring-width:3px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);--un-ring-color:rgba(var(--nui-c-context),.1);background-color:rgba(var(--nui-c-context),.05);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.focus-within\:n-focus-base:focus-within{--un-ring-width:2px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);--un-ring-color:rgba(var(--nui-c-context),.5);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.focus-visible\:n-focus-base:focus-visible{--un-ring-width:2px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);--un-ring-color:rgba(var(--nui-c-context),.5);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.n-transition{transition-duration:.15s;transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.-bottom-1\/2{bottom:-50%}.left-0{left:0}.right-0{right:0}.right-1{right:.25rem}.top-1{top:.25rem}.z-10{z-index:10}.z-20{z-index:20}.z-5{z-index:5}.grid{display:grid}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mb-16{margin-bottom:4rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0\.3em{margin-left:.3em}.ml-0\.4em{margin-left:.4em}.ml-1{margin-left:.25rem}.mr-0\.1em{margin-right:.1em}.mr-1{margin-right:.25rem}.hover\:ml-1:hover{margin-left:.25rem}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.h-1\/2{height:50%}.h-auto{height:auto}.h-full,[h-full=""]{height:100%}.h-screen{height:100vh}.h1{height:.25rem}.h2{height:.5rem}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.max-w-520px{max-width:520px}.max-w-full{max-width:100%}.min-h-screen{min-height:100vh}.w-40{width:10rem}.w-full{width:100%}.flex{display:flex}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-grow{flex-grow:1}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.cursor-pointer{cursor:pointer}.place-content-center{place-content:center}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.space-x-1>:not([hidden])~:not([hidden]){--un-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--un-space-x-reverse)));margin-right:calc(.25rem*var(--un-space-x-reverse))}.space-x-5>:not([hidden])~:not([hidden]){--un-space-x-reverse:0;margin-left:calc(1.25rem*(1 - var(--un-space-x-reverse)));margin-right:calc(1.25rem*var(--un-space-x-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--un-space-y-reverse:0;margin-bottom:calc(.75rem*var(--un-space-y-reverse));margin-top:calc(.75rem*(1 - var(--un-space-y-reverse)))}.of-auto,[of-auto=""]{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.border,.border-1{border-width:1px}.border-r-1{border-right-width:1px}.border-light-400{--un-border-opacity:1;border-color:rgba(246,246,246,var(--un-border-opacity))}.border-light-500{--un-border-opacity:1;border-color:rgba(242,242,242,var(--un-border-opacity))}.dark .dark\:border-dark-400{--un-border-opacity:1;border-color:rgba(34,34,34,var(--un-border-opacity))}.focus-within\:border-context:focus-within{border-color:rgba(var(--nui-c-context),1)}.rounded{border-radius:.25rem}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.bg-black\/5{background-color:#0000000d}.bg-blue-100{--un-bg-opacity:1;background-color:rgba(219,234,254,var(--un-bg-opacity))}.bg-light-200{--un-bg-opacity:1;background-color:rgba(250,250,250,var(--un-bg-opacity))}.bg-white{--un-bg-opacity:1;background-color:rgba(255,255,255,var(--un-bg-opacity))}.dark .dark\:bg-black{--un-bg-opacity:1;background-color:rgba(0,0,0,var(--un-bg-opacity))}.dark .dark\:bg-dark-700{--un-bg-opacity:1;background-color:rgba(27,27,27,var(--un-bg-opacity))}.dark .dark\:bg-dark-800{--un-bg-opacity:1;background-color:rgba(24,24,24,var(--un-bg-opacity))}.dark .dark\:bg-dark-900{--un-bg-opacity:1;background-color:rgba(15,15,15,var(--un-bg-opacity))}.dark .dark\:bg-white\/10{background-color:#ffffff1a}.p-0,[p-0=""]{padding:0}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-8{padding:2rem}.px,.px-4{padding-left:1rem;padding-right:1rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2px{padding-bottom:2px;padding-top:2px}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-7{padding-bottom:1.75rem;padding-top:1.75rem}.py-9px{padding-bottom:9px;padding-top:9px}.pl-1{padding-left:.25rem}.pr-2{padding-right:.5rem}.pt-14{padding-top:3.5rem}.text-center{text-align:center}.text-1\.1em{font-size:1.1em}.text-10px{font-size:10px}.text-6xl{font-size:3.75rem;line-height:1}.text-8xl{font-size:6rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm,[text-sm=""]{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-tight{line-height:1.25}.font-sans{font-family:Avenir,Helvetica,Arial,sans-serif}.dark .dark\:text-light{--un-text-opacity:1;color:rgba(246,246,246,var(--un-text-opacity))}.dark .dark\:text-white{--un-text-opacity:1;color:rgba(255,255,255,var(--un-text-opacity))}.text-black{--un-text-opacity:1;color:rgba(0,0,0,var(--un-text-opacity))}.text-blue-700{--un-text-opacity:1;color:rgba(29,78,216,var(--un-text-opacity))}.text-dark-800{--un-text-opacity:1;color:rgba(24,24,24,var(--un-text-opacity))}.text-gray-300{--un-text-opacity:1;color:rgba(209,213,219,var(--un-text-opacity))}.text-gray-400{--un-text-opacity:1;color:rgba(156,163,175,var(--un-text-opacity))}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smoothing:grayscale}.op50,[op50=""]{opacity:.5}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.\!outline-none{outline:2px solid transparent!important;outline-offset:2px!important}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}[n~=lg]{font-size:1.125rem}.n-disabled\:n-disabled[disabled],[disabled] .n-disabled\:n-disabled{filter:saturate(0);opacity:.4;pointer-events:none}@media (min-width:640px){.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-3{padding-bottom:.75rem;padding-top:.75rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-8xl{font-size:6rem;line-height:1}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:768px){.md\:block{display:block}}@media (min-width:1024px){.lg\:p-5{padding:1.25rem}}.icon[data-v-dd0d866d]{display:inline-block;vertical-align:middle}.jse-theme-dark{--jse-theme: dark;--jse-theme-color: #2f6dd0;--jse-theme-color-highlight: #467cd2;--jse-background-color: #1e1e1e;--jse-text-color: #d4d4d4;--jse-main-border: 1px solid #4f4f4f;--jse-menu-color: #fff;--jse-modal-background: #2f2f2f;--jse-modal-overlay-background: rgba(0,0,0,.5);--jse-modal-code-background: #2f2f2f;--jse-tooltip-color: var(--jse-text-color);--jse-tooltip-background: #4b4b4b;--jse-tooltip-border: 1px solid #737373;--jse-tooltip-action-button-color: inherit;--jse-tooltip-action-button-background: #737373;--jse-panel-background: #333;--jse-panel-background-border: 1px solid #464646;--jse-panel-color: var(--jse-text-color);--jse-panel-color-readonly: #737373;--jse-panel-border: 1px solid #3c3c3c;--jse-panel-button-color-highlight: #e5e5e5;--jse-panel-button-background-highlight: #464646;--jse-navigation-bar-background: #656565;--jse-navigation-bar-background-highlight: #7e7e7e;--jse-navigation-bar-dropdown-color: var(--jse-text-color);--jse-context-menu-background: #4b4b4b;--jse-context-menu-background-highlight: #595959;--jse-context-menu-separator-color: #595959;--jse-context-menu-color: var(--jse-text-color);--jse-context-menu-pointer-background: #737373;--jse-context-menu-pointer-background-highlight: #818181;--jse-context-menu-pointer-color: var(--jse-context-menu-color);--jse-key-color: #9cdcfe;--jse-value-color: var(--jse-text-color);--jse-value-color-number: #b5cea8;--jse-value-color-boolean: #569cd6;--jse-value-color-null: #569cd6;--jse-value-color-string: #ce9178;--jse-value-color-url: #ce9178;--jse-delimiter-color: #949494;--jse-edit-outline: 2px solid var(--jse-text-color);--jse-selection-background-color: #464646;--jse-selection-background-inactive-color: #333;--jse-hover-background-color: #343434;--jse-active-line-background-color: hsla(0,0%,100%,.06);--jse-search-match-background-color: #343434;--jse-collapsed-items-background-color: #333;--jse-collapsed-items-selected-background-color: #565656;--jse-collapsed-items-link-color: #b2b2b2;--jse-collapsed-items-link-color-highlight: #ec8477;--jse-search-match-color: #724c27;--jse-search-match-outline: 1px solid #966535;--jse-search-match-active-color: #9f6c39;--jse-search-match-active-outline: 1px solid #bb7f43;--jse-tag-background: #444;--jse-tag-color: #bdbdbd;--jse-table-header-background: #333;--jse-table-header-background-highlight: #424242;--jse-table-row-odd-background: hsla(0,0%,100%,.1);--jse-input-background: #3d3d3d;--jse-input-border: var(--jse-main-border);--jse-button-background: grey;--jse-button-background-highlight: #7a7a7a;--jse-button-color: #e0e0e0;--jse-button-secondary-background: #494949;--jse-button-secondary-background-highlight: #5d5d5d;--jse-button-secondary-background-disabled: #9d9d9d;--jse-button-secondary-color: var(--jse-text-color);--jse-a-color: #55abff;--jse-a-color-highlight: #4387c9;--background: #3d3d3d;--border: 1px solid #4f4f4f;--list-background: #3d3d3d;--item-hover-bg: #505050;--multi-item-bg: #5b5b5b;--input-color: #d4d4d4;--multi-clear-bg: #8a8a8a;--multi-item-clear-icon-color: #d4d4d4;--multi-item-outline: 1px solid #696969;--list-shadow: 0 2px 8px 0 rgba(0,0,0,.4);--jse-color-picker-background: #656565;--jse-color-picker-border-box-shadow: #8c8c8c 0 0 0 1px}.splitpanes{display:flex;height:100%;width:100%}.splitpanes--vertical{flex-direction:row}.splitpanes--horizontal{flex-direction:column}.splitpanes--dragging *{-webkit-user-select:none;-moz-user-select:none;user-select:none}.splitpanes__pane{height:100%;overflow:hidden;width:100%}.splitpanes--vertical .splitpanes__pane{transition:width .2s ease-out}.splitpanes--horizontal .splitpanes__pane{transition:height .2s ease-out}.splitpanes--dragging .splitpanes__pane{transition:none}.splitpanes__splitter{touch-action:none}.splitpanes--vertical>.splitpanes__splitter{cursor:col-resize;min-width:1px}.splitpanes--horizontal>.splitpanes__splitter{cursor:row-resize;min-height:1px}.splitpanes.default-theme .splitpanes__pane{background-color:#f2f2f2}.splitpanes.default-theme .splitpanes__splitter{background-color:#fff;box-sizing:border-box;flex-shrink:0;position:relative}.splitpanes.default-theme .splitpanes__splitter:after,.splitpanes.default-theme .splitpanes__splitter:before{background-color:#00000026;content:"";left:50%;position:absolute;top:50%;transition:background-color .3s}.splitpanes.default-theme .splitpanes__splitter:hover:after,.splitpanes.default-theme .splitpanes__splitter:hover:before{background-color:#00000040}.splitpanes.default-theme .splitpanes__splitter:first-child{cursor:auto}.default-theme.splitpanes .splitpanes .splitpanes__splitter{z-index:1}.default-theme .splitpanes--vertical>.splitpanes__splitter,.default-theme.splitpanes--vertical>.splitpanes__splitter{border-left:1px solid #eee;margin-left:-1px;width:7px}.default-theme .splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme.splitpanes--vertical>.splitpanes__splitter:before{height:30px;transform:translateY(-50%);width:1px}.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:before{margin-left:-2px}.default-theme .splitpanes--vertical>.splitpanes__splitter:after,.default-theme.splitpanes--vertical>.splitpanes__splitter:after{margin-left:1px}.default-theme .splitpanes--horizontal>.splitpanes__splitter,.default-theme.splitpanes--horizontal>.splitpanes__splitter{border-top:1px solid #eee;height:7px;margin-top:-1px}.default-theme .splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme.splitpanes--horizontal>.splitpanes__splitter:before{height:1px;transform:translate(-50%);width:30px}.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:before{margin-top:-2px}.default-theme .splitpanes--horizontal>.splitpanes__splitter:after,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after{margin-top:1px}.tab-panels{width:100%}div[role=tabpanel]{display:flex;width:100%}.splitpanes.default-theme .splitpanes__pane{background-color:transparent!important}.dark .splitpanes.default-theme .splitpanes__splitter{background-color:transparent!important;background-image:linear-gradient(transparent,rgba(0,0,0,.05) 50%,transparent);border-left:1px solid rgba(156,163,175,.05)}.dark .splitpanes.default-theme .splitpanes__splitter:before,.splitpanes.default-theme .splitpanes__splitter:after{background-color:#9ca3af4d!important}