@contextware/openshellpolicy 1.0.0
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.
- package/README.md +64 -0
- package/bin/cli.js +120 -0
- package/out/404/index.html +1 -0
- package/out/404.html +1 -0
- package/out/__next.__PAGE__.txt +11 -0
- package/out/__next._full.txt +26 -0
- package/out/__next._head.txt +6 -0
- package/out/__next._index.txt +5 -0
- package/out/__next._tree.txt +4 -0
- package/out/_next/static/chunks/0.427cuqgjq95.css +3 -0
- package/out/_next/static/chunks/00jcrw0uekmz-.js +1 -0
- package/out/_next/static/chunks/01xlw8hd842-c.js +1 -0
- package/out/_next/static/chunks/03~yq9q893hmn.js +1 -0
- package/out/_next/static/chunks/0_2ox82jto2h3.js +31 -0
- package/out/_next/static/chunks/0bogtdbh.dcu1.js +1 -0
- package/out/_next/static/chunks/0d3shmwh5_nmn.js +1 -0
- package/out/_next/static/chunks/0ik7vw43ymbsc.js +1 -0
- package/out/_next/static/chunks/0jge1jea9dat..js +37 -0
- package/out/_next/static/chunks/0ka051yepewro.js +1 -0
- package/out/_next/static/chunks/0obzqbxd9niy0.js +1 -0
- package/out/_next/static/chunks/0q5sv1c3~f~6_.js +2 -0
- package/out/_next/static/chunks/0sz.c7bwqtmn_.js +1 -0
- package/out/_next/static/chunks/0tlb5_mn-zgq2.js +2 -0
- package/out/_next/static/chunks/0tszvp5wpnn-t.js +4 -0
- package/out/_next/static/chunks/1053mtp06d184.js +1 -0
- package/out/_next/static/chunks/120975cjlqy-s.css +1 -0
- package/out/_next/static/chunks/turbopack-14vqg6xhaniyn.js +1 -0
- package/out/_next/static/media/4fa387ec64143e14-s.0q3udbd2bu5yp.woff2 +0 -0
- package/out/_next/static/media/7178b3e590c64307-s.11.cyxs5p-0z~.woff2 +0 -0
- package/out/_next/static/media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2 +0 -0
- package/out/_next/static/media/8a480f0b521d4e75-s.06d3mdzz5bre_.woff2 +0 -0
- package/out/_next/static/media/bbc41e54d2fcbd21-s.0gw~uztddq1df.woff2 +0 -0
- package/out/_next/static/media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2 +0 -0
- package/out/_next/static/media/favicon.0x3dzn~oxb6tn.ico +0 -0
- package/out/_next/static/qtKVjw_mFYJmKTUDPeHHa/_buildManifest.js +11 -0
- package/out/_next/static/qtKVjw_mFYJmKTUDPeHHa/_clientMiddlewareManifest.js +1 -0
- package/out/_next/static/qtKVjw_mFYJmKTUDPeHHa/_ssgManifest.js +1 -0
- package/out/_not-found/__next._full.txt +16 -0
- package/out/_not-found/__next._head.txt +6 -0
- package/out/_not-found/__next._index.txt +5 -0
- package/out/_not-found/__next._not-found.__PAGE__.txt +5 -0
- package/out/_not-found/__next._not-found.txt +5 -0
- package/out/_not-found/__next._tree.txt +2 -0
- package/out/_not-found/index.html +1 -0
- package/out/_not-found/index.txt +16 -0
- package/out/editor/__next._full.txt +20 -0
- package/out/editor/__next._head.txt +6 -0
- package/out/editor/__next._index.txt +5 -0
- package/out/editor/__next._tree.txt +4 -0
- package/out/editor/__next.editor.__PAGE__.txt +9 -0
- package/out/editor/__next.editor.txt +4 -0
- package/out/editor/index.html +1 -0
- package/out/editor/index.txt +20 -0
- package/out/favicon.ico +0 -0
- package/out/file.svg +1 -0
- package/out/globe.svg +1 -0
- package/out/index.html +1 -0
- package/out/index.txt +26 -0
- package/out/next.svg +1 -0
- package/out/vercel.svg +1 -0
- package/out/window.svg +1 -0
- package/package.json +69 -0
package/README.md
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# OpenShell Policy Editor
|
|
2
|
+
|
|
3
|
+
A visual editor for [NVIDIA OpenShell](https://docs.nvidia.com/openshell/latest/) sandbox policies — build, visualize, and validate agent sandbox policies without hand-editing YAML.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@contextware/openshellpolicy)
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Quickstart
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npx @contextware/openshellpolicy
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Opens the editor in your browser at `http://localhost:3847/editor/`. No install, no account, no data leaves your machine.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Features
|
|
20
|
+
|
|
21
|
+
- **Visual graph** — sandbox node, endpoints, and binaries with color-coded edges showing access level and enforcement mode
|
|
22
|
+
- **Bidirectional YAML sync** — edit visually or paste raw YAML; both stay in sync in real time
|
|
23
|
+
- **Live validation** — catches invalid paths, root process identity, access/rules conflicts, and port errors as you type
|
|
24
|
+
- **Form-based builder** — add endpoints, set L7 rules (method + path glob), scope to specific binaries
|
|
25
|
+
- **Import / Export** — upload an existing policy file or download the one you built
|
|
26
|
+
- **Built-in tutorials** — three step-by-step walkthroughs covering common patterns
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Running from source
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
git clone https://github.com/oidebrett/openshellpolicy.git
|
|
34
|
+
cd openshellpolicy
|
|
35
|
+
npm install
|
|
36
|
+
npm run dev # dev server at http://localhost:3000
|
|
37
|
+
npm run build # production static export → out/
|
|
38
|
+
npm test # vitest unit tests
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**Stack:** Next.js 16 · TypeScript · React Flow · Monaco Editor · Tailwind CSS · Zod · js-yaml · Vitest
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Learn more
|
|
46
|
+
|
|
47
|
+
For background on NVIDIA OpenShell, what policies control, the full schema reference, and tutorial walkthroughs — visit the editor landing page after running `npx @contextware/openshellpolicy`, or go straight to the [OpenShell docs](https://docs.nvidia.com/openshell/latest/).
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Related packages
|
|
52
|
+
|
|
53
|
+
- [`@contextware/mcp-scan`](https://www.npmjs.com/package/@contextware/mcp-scan) — Zero-dependency CLI for discovering unprotected MCP servers
|
|
54
|
+
- [`@contextware/better-agents`](https://www.npmjs.com/package/@contextware/better-agents) — CLI for production-ready agent projects with LangWatch best practices
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Contributing
|
|
59
|
+
|
|
60
|
+
Issues and PRs welcome. If you find a gap between the editor's schema support and the official OpenShell docs, please open an issue with a link to the relevant doc section.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
> Not affiliated with or endorsed by NVIDIA Corporation.
|
package/bin/cli.js
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
const http = require("http");
|
|
5
|
+
const fs = require("fs");
|
|
6
|
+
const path = require("path");
|
|
7
|
+
const { execSync } = require("child_process");
|
|
8
|
+
|
|
9
|
+
// Static files are bundled alongside this script in the npm package
|
|
10
|
+
const STATIC_DIR = path.join(__dirname, "..", "out");
|
|
11
|
+
|
|
12
|
+
const MIME_TYPES = {
|
|
13
|
+
".html": "text/html; charset=utf-8",
|
|
14
|
+
".js": "application/javascript; charset=utf-8",
|
|
15
|
+
".css": "text/css; charset=utf-8",
|
|
16
|
+
".json": "application/json; charset=utf-8",
|
|
17
|
+
".svg": "image/svg+xml",
|
|
18
|
+
".png": "image/png",
|
|
19
|
+
".ico": "image/x-icon",
|
|
20
|
+
".woff": "font/woff",
|
|
21
|
+
".woff2":"font/woff2",
|
|
22
|
+
".ttf": "font/ttf",
|
|
23
|
+
".map": "application/json",
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
function serveFile(filePath, res) {
|
|
27
|
+
const ext = path.extname(filePath).toLowerCase();
|
|
28
|
+
const contentType = MIME_TYPES[ext] || "application/octet-stream";
|
|
29
|
+
|
|
30
|
+
fs.readFile(filePath, (err, data) => {
|
|
31
|
+
if (err) {
|
|
32
|
+
res.writeHead(404, { "Content-Type": "text/plain" });
|
|
33
|
+
res.end("Not found");
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
res.writeHead(200, { "Content-Type": contentType });
|
|
37
|
+
res.end(data);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function openBrowser(url) {
|
|
42
|
+
const platform = process.platform;
|
|
43
|
+
try {
|
|
44
|
+
if (platform === "darwin") {
|
|
45
|
+
execSync(`open "${url}"`);
|
|
46
|
+
} else if (platform === "win32") {
|
|
47
|
+
execSync(`start "" "${url}"`);
|
|
48
|
+
} else {
|
|
49
|
+
execSync(`xdg-open "${url}"`);
|
|
50
|
+
}
|
|
51
|
+
} catch {
|
|
52
|
+
// Silently fail — user can open manually
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function startServer(port) {
|
|
57
|
+
const server = http.createServer((req, res) => {
|
|
58
|
+
// Strip query strings
|
|
59
|
+
let urlPath = req.url.split("?")[0];
|
|
60
|
+
|
|
61
|
+
// Default to index.html
|
|
62
|
+
if (urlPath === "/" || urlPath === "") {
|
|
63
|
+
urlPath = "/index.html";
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// Next.js static export uses trailing slashes + index.html
|
|
67
|
+
// e.g. /editor/ → /editor/index.html
|
|
68
|
+
let filePath = path.join(STATIC_DIR, urlPath);
|
|
69
|
+
|
|
70
|
+
if (fs.existsSync(filePath) && fs.statSync(filePath).isDirectory()) {
|
|
71
|
+
filePath = path.join(filePath, "index.html");
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// Try adding .html if exact file not found
|
|
75
|
+
if (!fs.existsSync(filePath) && !path.extname(filePath)) {
|
|
76
|
+
const withHtml = filePath + ".html";
|
|
77
|
+
if (fs.existsSync(withHtml)) {
|
|
78
|
+
filePath = withHtml;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
serveFile(filePath, res);
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
server.listen(port, "127.0.0.1", () => {
|
|
86
|
+
const url = `http://localhost:${port}`;
|
|
87
|
+
console.log("");
|
|
88
|
+
console.log(" OpenShell Policy Editor");
|
|
89
|
+
console.log(" ─────────────────────────────────────");
|
|
90
|
+
console.log(` Local: ${url}`);
|
|
91
|
+
console.log(` Editor: ${url}/editor/`);
|
|
92
|
+
console.log("");
|
|
93
|
+
console.log(" Press Ctrl+C to stop");
|
|
94
|
+
console.log("");
|
|
95
|
+
openBrowser(`${url}/editor/`);
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
server.on("error", (err) => {
|
|
99
|
+
if (err.code === "EADDRINUSE") {
|
|
100
|
+
// Try the next port
|
|
101
|
+
startServer(port + 1);
|
|
102
|
+
} else {
|
|
103
|
+
console.error("Server error:", err.message);
|
|
104
|
+
process.exit(1);
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Verify static files are present
|
|
110
|
+
if (!fs.existsSync(STATIC_DIR) || !fs.existsSync(path.join(STATIC_DIR, "index.html"))) {
|
|
111
|
+
console.error(
|
|
112
|
+
"\n Error: Static files not found.\n" +
|
|
113
|
+
" This usually means the package was not built before publishing.\n" +
|
|
114
|
+
" Please report this at: https://github.com/oidebrett/openshellpolicy/issues\n"
|
|
115
|
+
);
|
|
116
|
+
process.exit(1);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
const PORT = parseInt(process.env.PORT || "3847", 10);
|
|
120
|
+
startServer(PORT);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<!DOCTYPE html><html lang="en" class="geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable h-full antialiased"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/0.427cuqgjq95.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0_2ox82jto2h3.js"/><script src="/_next/static/chunks/0tszvp5wpnn-t.js" async=""></script><script src="/_next/static/chunks/0bogtdbh.dcu1.js" async=""></script><script src="/_next/static/chunks/0tlb5_mn-zgq2.js" async=""></script><script src="/_next/static/chunks/turbopack-14vqg6xhaniyn.js" async=""></script><script src="/_next/static/chunks/01xlw8hd842-c.js" async=""></script><script src="/_next/static/chunks/0d3shmwh5_nmn.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>Create Next App</title><meta name="description" content="Generated by create next app"/><link rel="icon" href="/favicon.ico?favicon.0x3dzn~oxb6tn.ico" sizes="256x256" type="image/x-icon"/><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body class="min-h-full flex flex-col"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/0_2ox82jto2h3.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/0.427cuqgjq95.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0.427cuqgjq95.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/01xlw8hd842-c.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable h-full antialiased\",\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-full flex flex-col\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0.427cuqgjq95.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"qtKVjw_mFYJmKTUDPeHHa\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"e:I[27201,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"IconMark\"]\n6:null\nb:[[\"$\",\"title\",\"0\",{\"children\":\"Create Next App\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Generated by create next app\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0x3dzn~oxb6tn.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Le\",\"3\",{}]]\n"])</script></body></html>
|
package/out/404.html
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<!DOCTYPE html><html lang="en" class="geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable h-full antialiased"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/0.427cuqgjq95.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0_2ox82jto2h3.js"/><script src="/_next/static/chunks/0tszvp5wpnn-t.js" async=""></script><script src="/_next/static/chunks/0bogtdbh.dcu1.js" async=""></script><script src="/_next/static/chunks/0tlb5_mn-zgq2.js" async=""></script><script src="/_next/static/chunks/turbopack-14vqg6xhaniyn.js" async=""></script><script src="/_next/static/chunks/01xlw8hd842-c.js" async=""></script><script src="/_next/static/chunks/0d3shmwh5_nmn.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>Create Next App</title><meta name="description" content="Generated by create next app"/><link rel="icon" href="/favicon.ico?favicon.0x3dzn~oxb6tn.ico" sizes="256x256" type="image/x-icon"/><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body class="min-h-full flex flex-col"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/0_2ox82jto2h3.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/0.427cuqgjq95.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0.427cuqgjq95.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/01xlw8hd842-c.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable h-full antialiased\",\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-full flex flex-col\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0.427cuqgjq95.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"qtKVjw_mFYJmKTUDPeHHa\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"e:I[27201,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"IconMark\"]\n6:null\nb:[[\"$\",\"title\",\"0\",{\"children\":\"Create Next App\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Generated by create next app\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0x3dzn~oxb6tn.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Le\",\"3\",{}]]\n"])</script></body></html>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
1:"$Sreact.fragment"
|
|
2
|
+
2:I[22016,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0ka051yepewro.js"],""]
|
|
3
|
+
8:I[97367,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"]
|
|
4
|
+
9:"$Sreact.suspense"
|
|
5
|
+
0:{"rsc":["$","$1","c",{"children":[["$","div",null,{"className":"min-h-screen bg-gray-950 text-gray-100 font-sans","children":[["$","nav",null,{"className":"border-b border-gray-800 px-6 py-4 flex items-center justify-between max-w-7xl mx-auto","children":[["$","div",null,{"className":"flex items-center gap-3","children":[["$","div",null,{"className":"w-8 h-8 rounded-sm flex items-center justify-center font-bold text-gray-950 text-sm","style":{"backgroundColor":"#76b900"},"children":"OS"}],["$","span",null,{"className":"font-semibold text-lg tracking-tight","children":"OpenShell Policy"}]]}],["$","div",null,{"className":"flex items-center gap-6 text-sm text-gray-400","children":[["$","a",null,{"href":"https://docs.nvidia.com/openshell/latest/reference/policy-schema.html","target":"_blank","rel":"noopener noreferrer","className":"hover:text-white transition-colors","children":"Docs"}],["$","a",null,{"href":"https://github.com/NVIDIA/OpenShell","target":"_blank","rel":"noopener noreferrer","className":"hover:text-white transition-colors","children":"GitHub"}],["$","$L2",null,{"href":"/editor","className":"px-4 py-2 rounded-md text-gray-950 font-semibold text-sm transition-opacity hover:opacity-90","style":{"backgroundColor":"#76b900"},"children":"Open Editor"}]]}]]}],["$","section",null,{"className":"max-w-4xl mx-auto px-6 pt-24 pb-20 text-center","children":[["$","div",null,{"className":"inline-block text-xs font-semibold px-3 py-1 rounded-full mb-6 tracking-wider uppercase","style":{"backgroundColor":"#76b90020","color":"#76b900"},"children":"NVIDIA OpenShell"}],["$","h1",null,{"className":"text-5xl font-bold leading-tight tracking-tight mb-6","children":["Visual Policy Editor",["$","br",null,{}],"for"," ",["$","span",null,{"style":{"color":"#76b900"},"children":"NVIDIA OpenShell"}]]}],["$","p",null,{"className":"text-xl text-gray-400 max-w-2xl mx-auto leading-relaxed mb-10","children":["Build, visualize, and validate OpenShell sandbox policies without hand-editing YAML. Inspired by"," ",["$","a",null,{"href":"https://networkpolicy.io","target":"_blank","rel":"noopener noreferrer","className":"underline underline-offset-2 hover:text-gray-200 transition-colors","children":"networkpolicy.io"}]," ","for Kubernetes."]}],["$","div",null,{"className":"flex items-center justify-center gap-4","children":[["$","$L2",null,{"href":"/editor","className":"px-8 py-3 rounded-md font-semibold text-gray-950 text-base transition-opacity hover:opacity-90","style":{"backgroundColor":"#76b900"},"children":"Open Editor"}],["$","a",null,{"href":"https://docs.nvidia.com/openshell/latest/sandboxes/policies.html","target":"_blank","rel":"noopener noreferrer","className":"px-8 py-3 rounded-md border border-gray-700 font-semibold text-gray-300 text-base hover:border-gray-500 hover:text-white transition-colors","children":"Read the Docs"}]]}]]}],["$","section",null,{"className":"max-w-4xl mx-auto px-6 pb-20","children":["$","div",null,{"className":"bg-gray-900 border border-gray-800 rounded-xl p-8","children":[["$","h2",null,{"className":"text-2xl font-semibold mb-4","children":"What is NVIDIA OpenShell?"}],["$","p",null,{"className":"text-gray-400 leading-relaxed mb-4","children":"OpenShell is an open-source sandbox runtime (Apache 2.0) for safely executing autonomous AI agents. It provides kernel-level isolation using Linux containers, Landlock LSM, and seccomp filters. Policies are declarative YAML files that control exactly what an agent can access — filesystem paths, network endpoints, and process identity."}],["$","p",null,{"className":"text-gray-400 leading-relaxed mb-4","children":["The default stance is ",["$","span",null,{"className":"text-white font-medium","children":"deny-all"}]," outbound traffic. You explicitly allow what each agent binary needs using named network policy entries. The network policy section is hot-reloadable at runtime; filesystem, landlock, and process settings are locked at sandbox creation."]}],"$L3"]}]}],"$L4","$L5"]}],["$L6"],"$L7"]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"qtKVjw_mFYJmKTUDPeHHa"}
|
|
6
|
+
3:["$","div",null,{"className":"flex gap-4 mt-6 flex-wrap","children":[["$","a",null,{"href":"https://docs.nvidia.com/openshell/latest/reference/policy-schema.html","target":"_blank","rel":"noopener noreferrer","className":"text-sm underline underline-offset-2 hover:text-white transition-colors","style":{"color":"#76b900"},"children":"Policy Schema Reference →"}],["$","a",null,{"href":"https://github.com/NVIDIA/OpenShell","target":"_blank","rel":"noopener noreferrer","className":"text-sm underline underline-offset-2 hover:text-white transition-colors","style":{"color":"#76b900"},"children":"GitHub — NVIDIA/OpenShell →"}]]}]
|
|
7
|
+
4:["$","section",null,{"className":"max-w-6xl mx-auto px-6 pb-24","children":[["$","h2",null,{"className":"text-3xl font-semibold text-center mb-12","children":"Everything you need to build safe agent policies"}],["$","div",null,{"className":"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6","children":[["$","div","Visual Editor",{"className":"bg-gray-900 border border-gray-800 rounded-xl p-6 hover:border-gray-600 transition-colors","children":[["$","div",null,{"className":"text-2xl mb-4 font-mono","style":{"color":"#76b900"},"children":"⬡"}],["$","h3",null,{"className":"font-semibold text-lg mb-2","children":"Visual Editor"}],["$","p",null,{"className":"text-gray-400 text-sm leading-relaxed","children":"Drag-and-drop policy graph built with React Flow. See your sandbox, endpoints, and binaries at a glance."}]]}],["$","div","YAML Sync",{"className":"bg-gray-900 border border-gray-800 rounded-xl p-6 hover:border-gray-600 transition-colors","children":[["$","div",null,{"className":"text-2xl mb-4 font-mono","style":{"color":"#76b900"},"children":"⇄"}],["$","h3",null,{"className":"font-semibold text-lg mb-2","children":"YAML Sync"}],["$","p",null,{"className":"text-gray-400 text-sm leading-relaxed","children":"Every visual change is instantly reflected in the Monaco YAML editor — and vice versa. Full bidirectional sync."}]]}],["$","div","Live Validation",{"className":"bg-gray-900 border border-gray-800 rounded-xl p-6 hover:border-gray-600 transition-colors","children":[["$","div",null,{"className":"text-2xl mb-4 font-mono","style":{"color":"#76b900"},"children":"✓"}],["$","h3",null,{"className":"font-semibold text-lg mb-2","children":"Live Validation"}],["$","p",null,{"className":"text-gray-400 text-sm leading-relaxed","children":"Zod-powered schema validation catches invalid paths, root users, and access/rules conflicts in real time."}]]}],["$","div","Tutorials",{"className":"bg-gray-900 border border-gray-800 rounded-xl p-6 hover:border-gray-600 transition-colors","children":[["$","div",null,{"className":"text-2xl mb-4 font-mono","style":{"color":"#76b900"},"children":"◈"}],["$","h3",null,{"className":"font-semibold text-lg mb-2","children":"Tutorials"}],["$","p",null,{"className":"text-gray-400 text-sm leading-relaxed","children":"Step-by-step walkthroughs: allow GitHub API, write L7 path rules, iterate safely with audit mode."}]]}],["$","div","Import / Export",{"className":"bg-gray-900 border border-gray-800 rounded-xl p-6 hover:border-gray-600 transition-colors","children":[["$","div",null,{"className":"text-2xl mb-4 font-mono","style":{"color":"#76b900"},"children":"↑"}],["$","h3",null,{"className":"font-semibold text-lg mb-2","children":"Import / Export"}],["$","p",null,{"className":"text-gray-400 text-sm leading-relaxed","children":"Upload an existing policy YAML file or download your work with one click. No account required."}]]}],["$","div","L7 Rules",{"className":"bg-gray-900 border border-gray-800 rounded-xl p-6 hover:border-gray-600 transition-colors","children":[["$","div",null,{"className":"text-2xl mb-4 font-mono","style":{"color":"#76b900"},"children":"⊞"}],["$","h3",null,{"className":"font-semibold text-lg mb-2","children":"L7 Rules"}],["$","p",null,{"className":"text-gray-400 text-sm leading-relaxed","children":"Craft per-path HTTP rules (method + glob path + query params) when access presets aren't granular enough."}]]}]]}]]}]
|
|
8
|
+
5:["$","footer",null,{"className":"border-t border-gray-800 px-6 py-8 text-center text-sm text-gray-600","children":["$","p",null,{"children":["OpenShell Policy Editor — not affiliated with NVIDIA Corporation. For official support see"," ",["$","a",null,{"href":"https://docs.nvidia.com/openshell","target":"_blank","rel":"noopener noreferrer","className":"underline hover:text-gray-400 transition-colors","children":"docs.nvidia.com/openshell"}],"."]}]}]
|
|
9
|
+
6:["$","script","script-0",{"src":"/_next/static/chunks/0ka051yepewro.js","async":true}]
|
|
10
|
+
7:["$","$L8",null,{"children":["$","$9",null,{"name":"Next.MetadataOutlet","children":"$@a"}]}]
|
|
11
|
+
a:null
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
1:"$Sreact.fragment"
|
|
2
|
+
2:I[39756,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"]
|
|
3
|
+
3:I[37457,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"]
|
|
4
|
+
4:I[22016,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0ka051yepewro.js"],""]
|
|
5
|
+
d:I[68027,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1]
|
|
6
|
+
:HL["/_next/static/chunks/0.427cuqgjq95.css","style"]
|
|
7
|
+
:HL["/_next/static/media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
8
|
+
:HL["/_next/static/media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
9
|
+
0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0.427cuqgjq95.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/01xlw8hd842-c.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable h-full antialiased","children":["$","body",null,{"className":"min-h-full flex flex-col","children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"min-h-screen bg-gray-950 text-gray-100 font-sans","children":[["$","nav",null,{"className":"border-b border-gray-800 px-6 py-4 flex items-center justify-between max-w-7xl mx-auto","children":[["$","div",null,{"className":"flex items-center gap-3","children":[["$","div",null,{"className":"w-8 h-8 rounded-sm flex items-center justify-center font-bold text-gray-950 text-sm","style":{"backgroundColor":"#76b900"},"children":"OS"}],["$","span",null,{"className":"font-semibold text-lg tracking-tight","children":"OpenShell Policy"}]]}],["$","div",null,{"className":"flex items-center gap-6 text-sm text-gray-400","children":[["$","a",null,{"href":"https://docs.nvidia.com/openshell/latest/reference/policy-schema.html","target":"_blank","rel":"noopener noreferrer","className":"hover:text-white transition-colors","children":"Docs"}],["$","a",null,{"href":"https://github.com/NVIDIA/OpenShell","target":"_blank","rel":"noopener noreferrer","className":"hover:text-white transition-colors","children":"GitHub"}],["$","$L4",null,{"href":"/editor","className":"px-4 py-2 rounded-md text-gray-950 font-semibold text-sm transition-opacity hover:opacity-90","style":{"backgroundColor":"#76b900"},"children":"Open Editor"}]]}]]}],["$","section",null,{"className":"max-w-4xl mx-auto px-6 pt-24 pb-20 text-center","children":[["$","div",null,{"className":"inline-block text-xs font-semibold px-3 py-1 rounded-full mb-6 tracking-wider uppercase","style":{"backgroundColor":"#76b90020","color":"#76b900"},"children":"NVIDIA OpenShell"}],["$","h1",null,{"className":"text-5xl font-bold leading-tight tracking-tight mb-6","children":["Visual Policy Editor",["$","br",null,{}],"for"," ",["$","span",null,{"style":{"color":"#76b900"},"children":"NVIDIA OpenShell"}]]}],["$","p",null,{"className":"text-xl text-gray-400 max-w-2xl mx-auto leading-relaxed mb-10","children":["Build, visualize, and validate OpenShell sandbox policies without hand-editing YAML. Inspired by"," ",["$","a",null,{"href":"https://networkpolicy.io","target":"_blank","rel":"noopener noreferrer","className":"underline underline-offset-2 hover:text-gray-200 transition-colors","children":"networkpolicy.io"}]," ","for Kubernetes."]}],["$","div",null,{"className":"flex items-center justify-center gap-4","children":["$L5","$L6"]}]]}],"$L7","$L8","$L9"]}],["$La"],"$Lb"]}],{},null,false,null]},null,false,null],"$Lc",false]],"m":"$undefined","G":["$d",["$Le"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"qtKVjw_mFYJmKTUDPeHHa"}
|
|
10
|
+
f:I[97367,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"]
|
|
11
|
+
10:"$Sreact.suspense"
|
|
12
|
+
12:I[97367,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"]
|
|
13
|
+
14:I[97367,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"]
|
|
14
|
+
5:["$","$L4",null,{"href":"/editor","className":"px-8 py-3 rounded-md font-semibold text-gray-950 text-base transition-opacity hover:opacity-90","style":{"backgroundColor":"#76b900"},"children":"Open Editor"}]
|
|
15
|
+
6:["$","a",null,{"href":"https://docs.nvidia.com/openshell/latest/sandboxes/policies.html","target":"_blank","rel":"noopener noreferrer","className":"px-8 py-3 rounded-md border border-gray-700 font-semibold text-gray-300 text-base hover:border-gray-500 hover:text-white transition-colors","children":"Read the Docs"}]
|
|
16
|
+
7:["$","section",null,{"className":"max-w-4xl mx-auto px-6 pb-20","children":["$","div",null,{"className":"bg-gray-900 border border-gray-800 rounded-xl p-8","children":[["$","h2",null,{"className":"text-2xl font-semibold mb-4","children":"What is NVIDIA OpenShell?"}],["$","p",null,{"className":"text-gray-400 leading-relaxed mb-4","children":"OpenShell is an open-source sandbox runtime (Apache 2.0) for safely executing autonomous AI agents. It provides kernel-level isolation using Linux containers, Landlock LSM, and seccomp filters. Policies are declarative YAML files that control exactly what an agent can access — filesystem paths, network endpoints, and process identity."}],["$","p",null,{"className":"text-gray-400 leading-relaxed mb-4","children":["The default stance is ",["$","span",null,{"className":"text-white font-medium","children":"deny-all"}]," outbound traffic. You explicitly allow what each agent binary needs using named network policy entries. The network policy section is hot-reloadable at runtime; filesystem, landlock, and process settings are locked at sandbox creation."]}],["$","div",null,{"className":"flex gap-4 mt-6 flex-wrap","children":[["$","a",null,{"href":"https://docs.nvidia.com/openshell/latest/reference/policy-schema.html","target":"_blank","rel":"noopener noreferrer","className":"text-sm underline underline-offset-2 hover:text-white transition-colors","style":{"color":"#76b900"},"children":"Policy Schema Reference →"}],["$","a",null,{"href":"https://github.com/NVIDIA/OpenShell","target":"_blank","rel":"noopener noreferrer","className":"text-sm underline underline-offset-2 hover:text-white transition-colors","style":{"color":"#76b900"},"children":"GitHub — NVIDIA/OpenShell →"}]]}]]}]}]
|
|
17
|
+
8:["$","section",null,{"className":"max-w-6xl mx-auto px-6 pb-24","children":[["$","h2",null,{"className":"text-3xl font-semibold text-center mb-12","children":"Everything you need to build safe agent policies"}],["$","div",null,{"className":"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6","children":[["$","div","Visual Editor",{"className":"bg-gray-900 border border-gray-800 rounded-xl p-6 hover:border-gray-600 transition-colors","children":[["$","div",null,{"className":"text-2xl mb-4 font-mono","style":{"color":"#76b900"},"children":"⬡"}],["$","h3",null,{"className":"font-semibold text-lg mb-2","children":"Visual Editor"}],["$","p",null,{"className":"text-gray-400 text-sm leading-relaxed","children":"Drag-and-drop policy graph built with React Flow. See your sandbox, endpoints, and binaries at a glance."}]]}],["$","div","YAML Sync",{"className":"bg-gray-900 border border-gray-800 rounded-xl p-6 hover:border-gray-600 transition-colors","children":[["$","div",null,{"className":"text-2xl mb-4 font-mono","style":{"color":"#76b900"},"children":"⇄"}],["$","h3",null,{"className":"font-semibold text-lg mb-2","children":"YAML Sync"}],["$","p",null,{"className":"text-gray-400 text-sm leading-relaxed","children":"Every visual change is instantly reflected in the Monaco YAML editor — and vice versa. Full bidirectional sync."}]]}],["$","div","Live Validation",{"className":"bg-gray-900 border border-gray-800 rounded-xl p-6 hover:border-gray-600 transition-colors","children":[["$","div",null,{"className":"text-2xl mb-4 font-mono","style":{"color":"#76b900"},"children":"✓"}],["$","h3",null,{"className":"font-semibold text-lg mb-2","children":"Live Validation"}],["$","p",null,{"className":"text-gray-400 text-sm leading-relaxed","children":"Zod-powered schema validation catches invalid paths, root users, and access/rules conflicts in real time."}]]}],["$","div","Tutorials",{"className":"bg-gray-900 border border-gray-800 rounded-xl p-6 hover:border-gray-600 transition-colors","children":[["$","div",null,{"className":"text-2xl mb-4 font-mono","style":{"color":"#76b900"},"children":"◈"}],["$","h3",null,{"className":"font-semibold text-lg mb-2","children":"Tutorials"}],["$","p",null,{"className":"text-gray-400 text-sm leading-relaxed","children":"Step-by-step walkthroughs: allow GitHub API, write L7 path rules, iterate safely with audit mode."}]]}],["$","div","Import / Export",{"className":"bg-gray-900 border border-gray-800 rounded-xl p-6 hover:border-gray-600 transition-colors","children":[["$","div",null,{"className":"text-2xl mb-4 font-mono","style":{"color":"#76b900"},"children":"↑"}],["$","h3",null,{"className":"font-semibold text-lg mb-2","children":"Import / Export"}],["$","p",null,{"className":"text-gray-400 text-sm leading-relaxed","children":"Upload an existing policy YAML file or download your work with one click. No account required."}]]}],["$","div","L7 Rules",{"className":"bg-gray-900 border border-gray-800 rounded-xl p-6 hover:border-gray-600 transition-colors","children":[["$","div",null,{"className":"text-2xl mb-4 font-mono","style":{"color":"#76b900"},"children":"⊞"}],["$","h3",null,{"className":"font-semibold text-lg mb-2","children":"L7 Rules"}],["$","p",null,{"className":"text-gray-400 text-sm leading-relaxed","children":"Craft per-path HTTP rules (method + glob path + query params) when access presets aren't granular enough."}]]}]]}]]}]
|
|
18
|
+
9:["$","footer",null,{"className":"border-t border-gray-800 px-6 py-8 text-center text-sm text-gray-600","children":["$","p",null,{"children":["OpenShell Policy Editor — not affiliated with NVIDIA Corporation. For official support see"," ",["$","a",null,{"href":"https://docs.nvidia.com/openshell","target":"_blank","rel":"noopener noreferrer","className":"underline hover:text-gray-400 transition-colors","children":"docs.nvidia.com/openshell"}],"."]}]}]
|
|
19
|
+
a:["$","script","script-0",{"src":"/_next/static/chunks/0ka051yepewro.js","async":true,"nonce":"$undefined"}]
|
|
20
|
+
b:["$","$Lf",null,{"children":["$","$10",null,{"name":"Next.MetadataOutlet","children":"$@11"}]}]
|
|
21
|
+
c:["$","$1","h",{"children":[null,["$","$L12",null,{"children":"$L13"}],["$","div",null,{"hidden":true,"children":["$","$L14",null,{"children":["$","$10",null,{"name":"Next.Metadata","children":"$L15"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}]
|
|
22
|
+
e:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0.427cuqgjq95.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]
|
|
23
|
+
13:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
24
|
+
16:I[27201,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"]
|
|
25
|
+
11:null
|
|
26
|
+
15:[["$","title","0",{"children":"Create Next App"}],["$","meta","1",{"name":"description","content":"Generated by create next app"}],["$","link","2",{"rel":"icon","href":"/favicon.ico?favicon.0x3dzn~oxb6tn.ico","sizes":"256x256","type":"image/x-icon"}],["$","$L16","3",{}]]
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
1:"$Sreact.fragment"
|
|
2
|
+
2:I[97367,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"]
|
|
3
|
+
3:I[97367,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"]
|
|
4
|
+
4:"$Sreact.suspense"
|
|
5
|
+
5:I[27201,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"]
|
|
6
|
+
0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Create Next App"}],["$","meta","1",{"name":"description","content":"Generated by create next app"}],["$","link","2",{"rel":"icon","href":"/favicon.ico?favicon.0x3dzn~oxb6tn.ico","sizes":"256x256","type":"image/x-icon"}],["$","$L5","3",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"qtKVjw_mFYJmKTUDPeHHa"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
1:"$Sreact.fragment"
|
|
2
|
+
2:I[39756,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"]
|
|
3
|
+
3:I[37457,["/_next/static/chunks/01xlw8hd842-c.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"]
|
|
4
|
+
:HL["/_next/static/chunks/0.427cuqgjq95.css","style"]
|
|
5
|
+
0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0.427cuqgjq95.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/01xlw8hd842-c.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en","className":"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable h-full antialiased","children":["$","body",null,{"className":"min-h-full flex flex-col","children":["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"qtKVjw_mFYJmKTUDPeHHa"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
:HL["/_next/static/chunks/0.427cuqgjq95.css","style"]
|
|
2
|
+
:HL["/_next/static/media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
3
|
+
:HL["/_next/static/media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
4
|
+
0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"qtKVjw_mFYJmKTUDPeHHa"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.06d3mdzz5bre_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.11.cyxs5p-0z~.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
|
|
2
|
+
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0q3udbd2bu5yp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0gw~uztddq1df.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
|
|
3
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial}}}@layer theme{:root,:host{--color-red-400:#ff6568;--color-red-500:#fb2c36;--color-red-700:#bf000f;--color-red-800:#9f0712;--color-red-900:#82181a;--color-red-950:#460809;--color-orange-400:#ff8b1a;--color-orange-900:#7e2a0c;--color-amber-400:#fcbb00;--color-amber-800:#953d00;--color-amber-950:#461901;--color-green-400:#05df72;--color-green-500:#00c758;--color-green-600:#00a544;--color-green-700:#008138;--color-green-900:#0d542b;--color-green-950:#032e15;--color-blue-300:#90c5ff;--color-blue-400:#54a2ff;--color-blue-700:#1447e6;--color-blue-900:#1c398e;--color-blue-950:#162456;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5dc;--color-gray-400:#99a1af;--color-gray-500:#6a7282;--color-gray-600:#4a5565;--color-gray-700:#364153;--color-gray-800:#1e2939;--color-gray-900:#101828;--color-gray-950:#030712;--color-white:#fff;--spacing:.25rem;--container-2xl:42rem;--container-4xl:56rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-400:lab(63.7053% 60.745 31.3109);--color-red-500:lab(55.4814% 75.0732 48.8528);--color-red-700:lab(40.4273% 67.2623 53.7441);--color-red-800:lab(33.7174% 55.8993 41.0293);--color-red-900:lab(28.5139% 44.5539 29.0463);--color-red-950:lab(13.003% 29.04 16.7519);--color-orange-400:lab(70.0429% 42.5156 75.8207);--color-orange-900:lab(30.2951% 36.0434 37.671);--color-amber-400:lab(80.1641% 16.6016 99.2089);--color-amber-800:lab(37.8822% 37.1699 52.2718);--color-amber-950:lab(15.8111% 20.9107 23.3752);--color-green-400:lab(78.503% -64.9265 39.7492);--color-green-500:lab(70.5521% -66.5147 45.8073);--color-green-600:lab(59.0978% -58.6621 41.2579);--color-green-700:lab(47.0329% -47.0239 31.4788);--color-green-900:lab(30.797% -29.6927 17.382);--color-green-950:lab(15.6845% -20.4225 11.7249);--color-blue-300:lab(77.5052% -6.4629 -36.42);--color-blue-400:lab(65.0361% -1.42065 -56.9802);--color-blue-700:lab(36.9089% 35.0961 -85.6872);--color-blue-900:lab(26.1542% 15.7545 -51.5504);--color-blue-950:lab(15.6723% 8.86232 -32.2945);--color-gray-100:lab(96.1596% -.0823438 -1.13575);--color-gray-200:lab(91.6229% -.159115 -2.26791);--color-gray-300:lab(85.1236% -.612259 -3.7138);--color-gray-400:lab(65.9269% -.832707 -8.17473);--color-gray-500:lab(47.7841% -.393182 -10.0268);--color-gray-600:lab(35.6337% -1.58697 -10.8425);--color-gray-700:lab(27.1134% -.956401 -12.3224);--color-gray-800:lab(16.1051% -1.18239 -11.7533);--color-gray-900:lab(8.11897% .811279 -12.254);--color-gray-950:lab(1.90334% .278696 -5.48866)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.right-0{right:calc(var(--spacing) * 0)}.right-3{right:calc(var(--spacing) * 3)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-3{bottom:calc(var(--spacing) * 3)}.z-20{z-index:20}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mr-1{margin-right:calc(var(--spacing) * 1)}.-mb-px{margin-bottom:-1px}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-12{height:calc(var(--spacing) * 12)}.h-full{height:100%}.h-screen{height:100vh}.max-h-32{max-height:calc(var(--spacing) * 32)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\[28px\]{min-height:28px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-24{width:calc(var(--spacing) * 24)}.w-80{width:calc(var(--spacing) * 80)}.w-\[280px\]{width:280px}.w-\[350px\]{width:350px}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-tl-xl{border-top-left-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-amber-800\/50{border-color:#953d0080}@supports (color:color-mix(in lab, red, red)){.border-amber-800\/50{border-color:color-mix(in oklab, var(--color-amber-800) 50%, transparent)}}.border-blue-700{border-color:var(--color-blue-700)}.border-blue-900\/40{border-color:#1c398e66}@supports (color:color-mix(in lab, red, red)){.border-blue-900\/40{border-color:color-mix(in oklab, var(--color-blue-900) 40%, transparent)}}.border-gray-700{border-color:var(--color-gray-700)}.border-gray-800{border-color:var(--color-gray-800)}.border-green-700{border-color:var(--color-green-700)}.border-green-900\/50{border-color:#0d542b80}@supports (color:color-mix(in lab, red, red)){.border-green-900\/50{border-color:color-mix(in oklab, var(--color-green-900) 50%, transparent)}}.border-red-800\/50{border-color:#9f071280}@supports (color:color-mix(in lab, red, red)){.border-red-800\/50{border-color:color-mix(in oklab, var(--color-red-800) 50%, transparent)}}.border-red-900{border-color:var(--color-red-900)}.border-red-900\/30{border-color:#82181a4d}@supports (color:color-mix(in lab, red, red)){.border-red-900\/30{border-color:color-mix(in oklab, var(--color-red-900) 30%, transparent)}}.border-red-900\/50{border-color:#82181a80}@supports (color:color-mix(in lab, red, red)){.border-red-900\/50{border-color:color-mix(in oklab, var(--color-red-900) 50%, transparent)}}.bg-amber-950\/40{background-color:#46190166}@supports (color:color-mix(in lab, red, red)){.bg-amber-950\/40{background-color:color-mix(in oklab, var(--color-amber-950) 40%, transparent)}}.bg-blue-900\/60{background-color:#1c398e99}@supports (color:color-mix(in lab, red, red)){.bg-blue-900\/60{background-color:color-mix(in oklab, var(--color-blue-900) 60%, transparent)}}.bg-blue-950\/30{background-color:#1624564d}@supports (color:color-mix(in lab, red, red)){.bg-blue-950\/30{background-color:color-mix(in oklab, var(--color-blue-950) 30%, transparent)}}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-800\/50{background-color:#1e293980}@supports (color:color-mix(in lab, red, red)){.bg-gray-800\/50{background-color:color-mix(in oklab, var(--color-gray-800) 50%, transparent)}}.bg-gray-900{background-color:var(--color-gray-900)}.bg-gray-950{background-color:var(--color-gray-950)}.bg-green-900\/40{background-color:#0d542b66}@supports (color:color-mix(in lab, red, red)){.bg-green-900\/40{background-color:color-mix(in oklab, var(--color-green-900) 40%, transparent)}}.bg-green-900\/60{background-color:#0d542b99}@supports (color:color-mix(in lab, red, red)){.bg-green-900\/60{background-color:color-mix(in oklab, var(--color-green-900) 60%, transparent)}}.bg-green-950\/40{background-color:#032e1566}@supports (color:color-mix(in lab, red, red)){.bg-green-950\/40{background-color:color-mix(in oklab, var(--color-green-950) 40%, transparent)}}.bg-orange-900\/40{background-color:#7e2a0c66}@supports (color:color-mix(in lab, red, red)){.bg-orange-900\/40{background-color:color-mix(in oklab, var(--color-orange-900) 40%, transparent)}}.bg-red-950\/20{background-color:#46080933}@supports (color:color-mix(in lab, red, red)){.bg-red-950\/20{background-color:color-mix(in oklab, var(--color-red-950) 20%, transparent)}}.bg-red-950\/40{background-color:#46080966}@supports (color:color-mix(in lab, red, red)){.bg-red-950\/40{background-color:color-mix(in oklab, var(--color-red-950) 40%, transparent)}}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-24{padding-top:calc(var(--spacing) * 24)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-geist-mono)}.font-sans{font-family:var(--font-geist-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-400{color:var(--color-amber-400)}.text-blue-300{color:var(--color-blue-300)}.text-blue-400{color:var(--color-blue-400)}.text-gray-100{color:var(--color-gray-100)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-950{color:var(--color-gray-950)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-orange-400{color:var(--color-orange-400)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-green-500{accent-color:var(--color-green-500)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}@media (hover:hover){.group-hover\:text-gray-400:is(:where(.group):hover *){color:var(--color-gray-400)}.group-hover\:text-white:is(:where(.group):hover *){color:var(--color-white)}.hover\:border-gray-500:hover{border-color:var(--color-gray-500)}.hover\:border-gray-600:hover{border-color:var(--color-gray-600)}.hover\:border-red-700:hover{border-color:var(--color-red-700)}.hover\:bg-gray-600:hover{background-color:var(--color-gray-600)}.hover\:bg-gray-800\/50:hover{background-color:#1e293980}@supports (color:color-mix(in lab, red, red)){.hover\:bg-gray-800\/50:hover{background-color:color-mix(in oklab, var(--color-gray-800) 50%, transparent)}}.hover\:text-gray-200:hover{color:var(--color-gray-200)}.hover\:text-gray-300:hover{color:var(--color-gray-300)}.hover\:text-gray-400:hover{color:var(--color-gray-400)}.hover\:text-green-400:hover{color:var(--color-green-400)}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:text-white:hover{color:var(--color-white)}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}}.focus\:border-green-600:focus{border-color:var(--color-green-600)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}@media (min-width:40rem){.sm\:block{display:block}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}:root{--background:#fff;--foreground:#171717}@media (prefers-color-scheme:dark){:root{--background:#0a0a0a;--foreground:#ededed}}body{background:var(--background);color:var(--foreground);font-family:Arial,Helvetica,sans-serif}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,74447,57763,20381,29849,e=>{"use strict";var t,n,i,r,o=e.i(43476),a=e.i(71645),l=function(e,t){var n,i="";for(n=0;n<t;n+=1)i+=e;return i},c=function(e){return 0===e&&-1/0==1/e};function s(e,t){var n="",i=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(n+='in "'+e.mark.name+'" '),n+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!t&&e.mark.snippet&&(n+="\n\n"+e.mark.snippet),i+" "+n):i}function u(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=s(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=Error().stack||""}function p(e,t,n,i,r){var o="",a="",l=Math.floor(r/2)-1;return i-t>l&&(t=i-l+(o=" ... ").length),n-i>l&&(n=i+l-(a=" ...").length),{str:o+e.slice(t,n).replace(/\t/g,"→")+a,pos:i-t+o.length}}function f(e,t){return l(" ",t-e.length)+e}u.prototype=Object.create(Error.prototype),u.prototype.constructor=u,u.prototype.toString=function(e){return this.name+": "+s(this,e)};var d=function(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),"number"!=typeof t.indent&&(t.indent=1),"number"!=typeof t.linesBefore&&(t.linesBefore=3),"number"!=typeof t.linesAfter&&(t.linesAfter=2);for(var n=/\r?\n|\r|\0/g,i=[0],r=[],o=-1;a=n.exec(e.buffer);)r.push(a.index),i.push(a.index+a[0].length),e.position<=a.index&&o<0&&(o=i.length-2);o<0&&(o=i.length-1);var a,c,s,u="",d=Math.min(e.line+t.linesAfter,r.length).toString().length,h=t.maxLength-(t.indent+d+3);for(c=1;c<=t.linesBefore&&!(o-c<0);c++)s=p(e.buffer,i[o-c],r[o-c],e.position-(i[o]-i[o-c]),h),u=l(" ",t.indent)+f((e.line-c+1).toString(),d)+" | "+s.str+"\n"+u;for(s=p(e.buffer,i[o],r[o],e.position,h),u+=l(" ",t.indent)+f((e.line+1).toString(),d)+" | "+s.str+"\n"+l("-",t.indent+d+3+s.pos)+"^\n",c=1;c<=t.linesAfter&&!(o+c>=r.length);c++)s=p(e.buffer,i[o+c],r[o+c],e.position-(i[o]-i[o+c]),h),u+=l(" ",t.indent)+f((e.line+c+1).toString(),d)+" | "+s.str+"\n";return u.replace(/\n$/,"")},h=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],g=["scalar","sequence","mapping"],m=function(e,t){var n,i;if(Object.keys(t=t||{}).forEach(function(t){if(-1===h.indexOf(t))throw new u('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')}),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=(n=t.styleAliases||null,i={},null!==n&&Object.keys(n).forEach(function(e){n[e].forEach(function(t){i[String(t)]=e})}),i),-1===g.indexOf(this.kind))throw new u('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')};function y(e,t){var n=[];return e[t].forEach(function(e){var t=n.length;n.forEach(function(n,i){n.tag===e.tag&&n.kind===e.kind&&n.multi===e.multi&&(t=i)}),n[t]=e}),n}function b(e){return this.extend(e)}b.prototype.extend=function(e){var t=[],n=[];if(e instanceof m)n.push(e);else if(Array.isArray(e))n=n.concat(e);else if(e&&(Array.isArray(e.implicit)||Array.isArray(e.explicit)))e.implicit&&(t=t.concat(e.implicit)),e.explicit&&(n=n.concat(e.explicit));else throw new u("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");t.forEach(function(e){if(!(e instanceof m))throw new u("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(e.loadKind&&"scalar"!==e.loadKind)throw new u("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(e.multi)throw new u("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),n.forEach(function(e){if(!(e instanceof m))throw new u("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var i=Object.create(b.prototype);return i.implicit=(this.implicit||[]).concat(t),i.explicit=(this.explicit||[]).concat(n),i.compiledImplicit=y(i,"implicit"),i.compiledExplicit=y(i,"explicit"),i.compiledTypeMap=function(){var e,t,n={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function i(e){e.multi?(n.multi[e.kind].push(e),n.multi.fallback.push(e)):n[e.kind][e.tag]=n.fallback[e.tag]=e}for(e=0,t=arguments.length;e<t;e+=1)arguments[e].forEach(i);return n}(i.compiledImplicit,i.compiledExplicit),i};var A=new b({explicit:[new m("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return null!==e?e:""}}),new m("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return null!==e?e:[]}}),new m("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}})]}),v=new m("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(e){if(null===e)return!0;var t=e.length;return 1===t&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)},construct:function(){return null},predicate:function(e){return null===e},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"}),k=new m("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t=e.length;return 4===t&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e)},construct:function(e){return"true"===e||"True"===e||"TRUE"===e},predicate:function(e){return"[object Boolean]"===Object.prototype.toString.call(e)},represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"}),w=new m("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,i,r,o=e.length,a=0,l=!1;if(!o)return!1;if(("-"===(r=e[a])||"+"===r)&&(r=e[++a]),"0"===r){if(a+1===o)return!0;if("b"===(r=e[++a])){for(a++;a<o;a++)if("_"!==(r=e[a])){if("0"!==r&&"1"!==r)return!1;l=!0}return l&&"_"!==r}if("x"===r){for(a++;a<o;a++)if("_"!==(r=e[a])){if(!(48<=(t=e.charCodeAt(a))&&t<=57||65<=t&&t<=70||97<=t&&t<=102))return!1;l=!0}return l&&"_"!==r}if("o"===r){for(a++;a<o;a++)if("_"!==(r=e[a])){if(!(48<=(n=e.charCodeAt(a))&&n<=55))return!1;l=!0}return l&&"_"!==r}}if("_"===r)return!1;for(;a<o;a++)if("_"!==(r=e[a])){if(!(48<=(i=e.charCodeAt(a))&&i<=57))return!1;l=!0}return!!l&&"_"!==r},construct:function(e){var t,n=e,i=1;if(-1!==n.indexOf("_")&&(n=n.replace(/_/g,"")),("-"===(t=n[0])||"+"===t)&&("-"===t&&(i=-1),t=(n=n.slice(1))[0]),"0"===n)return 0;if("0"===t){if("b"===n[1])return i*parseInt(n.slice(2),2);if("x"===n[1])return i*parseInt(n.slice(2),16);if("o"===n[1])return i*parseInt(n.slice(2),8)}return i*parseInt(n,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&e%1==0&&!c(e)},represent:{binary:function(e){return e>=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),C=RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),x=/^[-+]?[0-9]+e/,O=new m("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!!C.test(e)&&"_"!==e[e.length-1]},construct:function(e){var t,n;return(n="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t)?1===n?1/0:-1/0:".nan"===t?NaN:n*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||c(e))},represent:function(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(1/0===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(-1/0===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(c(e))return"-0.0";return n=e.toString(10),x.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"}),S=A.extend({implicit:[v,k,w,O]}),T=RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),j=RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$"),I=new m("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(e){return null!==e&&(null!==T.exec(e)||null!==j.exec(e))},construct:function(e){var t,n,i,r,o,a,l,c,s=0,u=null;if(null===(t=T.exec(e))&&(t=j.exec(e)),null===t)throw Error("Date resolve error");if(n=+t[1],i=t[2]-1,r=+t[3],!t[4])return new Date(Date.UTC(n,i,r));if(o=+t[4],a=+t[5],l=+t[6],t[7]){for(s=t[7].slice(0,3);s.length<3;)s+="0";s*=1}return t[9]&&(u=(60*t[10]+ +(t[11]||0))*6e4,"-"===t[9]&&(u=-u)),c=new Date(Date.UTC(n,i,r,o,a,l,s)),u&&c.setTime(c.getTime()-u),c},instanceOf:Date,represent:function(e){return e.toISOString()}}),E=new m("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}}),_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r",F=new m("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,i=0,r=e.length;for(n=0;n<r;n++)if(!((t=_.indexOf(e.charAt(n)))>64)){if(t<0)return!1;i+=6}return i%8==0},construct:function(e){var t,n,i=e.replace(/[\r\n=]/g,""),r=i.length,o=0,a=[];for(t=0;t<r;t++)t%4==0&&t&&(a.push(o>>16&255),a.push(o>>8&255),a.push(255&o)),o=o<<6|_.indexOf(i.charAt(t));return 0==(n=r%4*6)?(a.push(o>>16&255),a.push(o>>8&255),a.push(255&o)):18===n?(a.push(o>>10&255),a.push(o>>2&255)):12===n&&a.push(o>>4&255),new Uint8Array(a)},predicate:function(e){return"[object Uint8Array]"===Object.prototype.toString.call(e)},represent:function(e){var t,n,i="",r=0,o=e.length;for(t=0;t<o;t++)t%3==0&&t&&(i+=_[r>>18&63],i+=_[r>>12&63],i+=_[r>>6&63],i+=_[63&r]),r=(r<<8)+e[t];return 0==(n=o%3)?(i+=_[r>>18&63],i+=_[r>>12&63],i+=_[r>>6&63],i+=_[63&r]):2===n?(i+=_[r>>10&63],i+=_[r>>4&63],i+=_[r<<2&63],i+=_[64]):1===n&&(i+=_[r>>2&63],i+=_[r<<4&63],i+=_[64],i+=_[64]),i}}),L=Object.prototype.hasOwnProperty,M=Object.prototype.toString,N=new m("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,i,r,o,a=[];for(t=0,n=e.length;t<n;t+=1){if(i=e[t],o=!1,"[object Object]"!==M.call(i))return!1;for(r in i)if(L.call(i,r))if(o)return!1;else o=!0;if(!o||-1!==a.indexOf(r))return!1;a.push(r)}return!0},construct:function(e){return null!==e?e:[]}}),D=Object.prototype.toString,P=new m("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:function(e){var t,n,i,r,o;if(null===e)return!0;for(t=0,o=Array(e.length),n=e.length;t<n;t+=1){if(i=e[t],"[object Object]"!==D.call(i)||1!==(r=Object.keys(i)).length)return!1;o[t]=[r[0],i[r[0]]]}return!0},construct:function(e){var t,n,i,r,o;if(null===e)return[];for(t=0,o=Array(e.length),n=e.length;t<n;t+=1)r=Object.keys(i=e[t]),o[t]=[r[0],i[r[0]]];return o}}),R=Object.prototype.hasOwnProperty,U=new m("tag:yaml.org,2002:set",{kind:"mapping",resolve:function(e){var t;if(null===e)return!0;for(t in e)if(R.call(e,t)&&null!==e[t])return!1;return!0},construct:function(e){return null!==e?e:{}}}),q=S.extend({implicit:[I,E],explicit:[F,N,P,U]}),Y=Object.prototype.hasOwnProperty,K=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,B=/[\x85\u2028\u2029]/,W=/[,\[\]\{\}]/,$=/^(?:!|!!|![a-z\-]+!)$/i,G=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Q(e){return Object.prototype.toString.call(e)}function z(e){return 10===e||13===e}function H(e){return 9===e||32===e}function J(e){return 9===e||32===e||10===e||13===e}function Z(e){return 44===e||91===e||93===e||123===e||125===e}function V(e){return 48===e?"\0":97===e?"\x07":98===e?"\b":116===e||9===e?" ":110===e?"\n":118===e?"\v":102===e?"\f":114===e?"\r":101===e?"\x1b":32===e?" ":34===e?'"':47===e?"/":92===e?"\\":78===e?"
":95===e?" ":76===e?"\u2028":80===e?"\u2029":""}function X(e,t,n){"__proto__"===t?Object.defineProperty(e,t,{configurable:!0,enumerable:!0,writable:!0,value:n}):e[t]=n}for(var ee=Array(256),et=Array(256),en=0;en<256;en++)ee[en]=+!!V(en),et[en]=V(en);function ei(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||q,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function er(e,t){var n={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return n.snippet=d(n),new u(t,n)}function eo(e,t){throw er(e,t)}function ea(e,t){e.onWarning&&e.onWarning.call(null,er(e,t))}var el={YAML:function(e,t,n){var i,r,o;null!==e.version&&eo(e,"duplication of %YAML directive"),1!==n.length&&eo(e,"YAML directive accepts exactly one argument"),null===(i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&eo(e,"ill-formed argument of the YAML directive"),r=parseInt(i[1],10),o=parseInt(i[2],10),1!==r&&eo(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=o<2,1!==o&&2!==o&&ea(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var i,r;2!==n.length&&eo(e,"TAG directive accepts exactly two arguments"),i=n[0],r=n[1],$.test(i)||eo(e,"ill-formed tag handle (first argument) of the TAG directive"),Y.call(e.tagMap,i)&&eo(e,'there is a previously declared suffix for "'+i+'" tag handle'),G.test(r)||eo(e,"ill-formed tag prefix (second argument) of the TAG directive");try{r=decodeURIComponent(r)}catch(t){eo(e,"tag prefix is malformed: "+r)}e.tagMap[i]=r}};function ec(e,t,n,i){var r,o,a,l;if(t<n){if(l=e.input.slice(t,n),i)for(r=0,o=l.length;r<o;r+=1)9===(a=l.charCodeAt(r))||32<=a&&a<=1114111||eo(e,"expected valid JSON character");else K.test(l)&&eo(e,"the stream contains non-printable characters");e.result+=l}}function es(e,t,n,i){var r,o,a,l,c;for("object"==typeof(c=n)&&null!==c||eo(e,"cannot merge mappings; the provided source object is unacceptable"),a=0,l=(r=Object.keys(n)).length;a<l;a+=1)o=r[a],Y.call(t,o)||(X(t,o,n[o]),i[o]=!0)}function eu(e,t,n,i,r,o,a,l,c){var s,u;if(Array.isArray(r))for(s=0,u=(r=Array.prototype.slice.call(r)).length;s<u;s+=1)Array.isArray(r[s])&&eo(e,"nested arrays are not supported inside keys"),"object"==typeof r&&"[object Object]"===Q(r[s])&&(r[s]="[object Object]");if("object"==typeof r&&"[object Object]"===Q(r)&&(r="[object Object]"),r=String(r),null===t&&(t={}),"tag:yaml.org,2002:merge"===i)if(Array.isArray(o))for(s=0,u=o.length;s<u;s+=1)es(e,t,o[s],n);else es(e,t,o,n);else!e.json&&!Y.call(n,r)&&Y.call(t,r)&&(e.line=a||e.line,e.lineStart=l||e.lineStart,e.position=c||e.position,eo(e,"duplicated mapping key")),X(t,r,o),delete n[r];return t}function ep(e){var t;10===(t=e.input.charCodeAt(e.position))?e.position++:13===t?(e.position++,10===e.input.charCodeAt(e.position)&&e.position++):eo(e,"a line break is expected"),e.line+=1,e.lineStart=e.position,e.firstTabInLine=-1}function ef(e,t,n){for(var i=0,r=e.input.charCodeAt(e.position);0!==r;){for(;H(r);)9===r&&-1===e.firstTabInLine&&(e.firstTabInLine=e.position),r=e.input.charCodeAt(++e.position);if(t&&35===r)do r=e.input.charCodeAt(++e.position);while(10!==r&&13!==r&&0!==r)if(z(r))for(ep(e),r=e.input.charCodeAt(e.position),i++,e.lineIndent=0;32===r;)e.lineIndent++,r=e.input.charCodeAt(++e.position);else break}return -1!==n&&0!==i&&e.lineIndent<n&&ea(e,"deficient indentation"),i}function ed(e){var t,n=e.position;return!!((45===(t=e.input.charCodeAt(n))||46===t)&&t===e.input.charCodeAt(n+1)&&t===e.input.charCodeAt(n+2)&&(n+=3,0===(t=e.input.charCodeAt(n))||J(t)))||!1}function eh(e,t){1===t?e.result+=" ":t>1&&(e.result+=l("\n",t-1))}function eg(e,t){var n,i,r=e.tag,o=e.anchor,a=[],l=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=a),i=e.input.charCodeAt(e.position);0!==i&&(-1!==e.firstTabInLine&&(e.position=e.firstTabInLine,eo(e,"tab characters must not be used in indentation")),45===i&&J(e.input.charCodeAt(e.position+1)));){if(l=!0,e.position++,ef(e,!0,-1)&&e.lineIndent<=t){a.push(null),i=e.input.charCodeAt(e.position);continue}if(n=e.line,em(e,t,3,!1,!0),a.push(e.result),ef(e,!0,-1),i=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==i)eo(e,"bad indentation of a sequence entry");else if(e.lineIndent<t)break}return!!l&&(e.tag=r,e.anchor=o,e.kind="sequence",e.result=a,!0)}function em(e,t,n,i,r){var o,a,c,s,u,p,f,d,h,g=1,m=!1,y=!1;if(null!==e.listener&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,o=a=c=4===n||3===n,i&&ef(e,!0,-1)&&(m=!0,e.lineIndent>t?g=1:e.lineIndent===t?g=0:e.lineIndent<t&&(g=-1)),1===g)for(;function(e){var t,n,i,r,o=!1,a=!1;if(33!==(r=e.input.charCodeAt(e.position)))return!1;if(null!==e.tag&&eo(e,"duplication of a tag property"),60===(r=e.input.charCodeAt(++e.position))?(o=!0,r=e.input.charCodeAt(++e.position)):33===r?(a=!0,n="!!",r=e.input.charCodeAt(++e.position)):n="!",t=e.position,o){do r=e.input.charCodeAt(++e.position);while(0!==r&&62!==r)e.position<e.length?(i=e.input.slice(t,e.position),r=e.input.charCodeAt(++e.position)):eo(e,"unexpected end of the stream within a verbatim tag")}else{for(;0!==r&&!J(r);)33===r&&(a?eo(e,"tag suffix cannot contain exclamation marks"):(n=e.input.slice(t-1,e.position+1),$.test(n)||eo(e,"named tag handle cannot contain such characters"),a=!0,t=e.position+1)),r=e.input.charCodeAt(++e.position);i=e.input.slice(t,e.position),W.test(i)&&eo(e,"tag suffix cannot contain flow indicator characters")}i&&!G.test(i)&&eo(e,"tag name cannot contain such characters: "+i);try{i=decodeURIComponent(i)}catch(t){eo(e,"tag name is malformed: "+i)}return o?e.tag=i:Y.call(e.tagMap,n)?e.tag=e.tagMap[n]+i:"!"===n?e.tag="!"+i:"!!"===n?e.tag="tag:yaml.org,2002:"+i:eo(e,'undeclared tag handle "'+n+'"'),!0}(e)||function(e){var t,n;if(38!==(n=e.input.charCodeAt(e.position)))return!1;for(null!==e.anchor&&eo(e,"duplication of an anchor property"),n=e.input.charCodeAt(++e.position),t=e.position;0!==n&&!J(n)&&!Z(n);)n=e.input.charCodeAt(++e.position);return e.position===t&&eo(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(t,e.position),!0}(e);)ef(e,!0,-1)?(m=!0,c=o,e.lineIndent>t?g=1:e.lineIndent===t?g=0:e.lineIndent<t&&(g=-1)):c=!1;if(c&&(c=m||r),(1===g||4===n)&&(d=1===n||2===n?t:t+1,h=e.position-e.lineStart,1===g?c&&(eg(e,h)||function(e,t,n){var i,r,o,a,l,c,s,u=e.tag,p=e.anchor,f={},d=Object.create(null),h=null,g=null,m=null,y=!1,b=!1;if(-1!==e.firstTabInLine)return!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=f),s=e.input.charCodeAt(e.position);0!==s;){if(y||-1===e.firstTabInLine||(e.position=e.firstTabInLine,eo(e,"tab characters must not be used in indentation")),i=e.input.charCodeAt(e.position+1),o=e.line,(63===s||58===s)&&J(i))63===s?(y&&(eu(e,f,d,h,g,null,a,l,c),h=g=m=null),b=!0,y=!0,r=!0):y?(y=!1,r=!0):eo(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,s=i;else{if(a=e.line,l=e.lineStart,c=e.position,!em(e,n,2,!1,!0))break;if(e.line===o){for(s=e.input.charCodeAt(e.position);H(s);)s=e.input.charCodeAt(++e.position);if(58===s)J(s=e.input.charCodeAt(++e.position))||eo(e,"a whitespace character is expected after the key-value separator within a block mapping"),y&&(eu(e,f,d,h,g,null,a,l,c),h=g=m=null),b=!0,y=!1,r=!1,h=e.tag,g=e.result;else{if(!b)return e.tag=u,e.anchor=p,!0;eo(e,"can not read an implicit mapping pair; a colon is missed")}}else{if(!b)return e.tag=u,e.anchor=p,!0;eo(e,"can not read a block mapping entry; a multiline key may not be an implicit key")}}if((e.line===o||e.lineIndent>t)&&(y&&(a=e.line,l=e.lineStart,c=e.position),em(e,t,4,!0,r)&&(y?g=e.result:m=e.result),y||(eu(e,f,d,h,g,m,a,l,c),h=g=m=null),ef(e,!0,-1),s=e.input.charCodeAt(e.position)),(e.line===o||e.lineIndent>t)&&0!==s)eo(e,"bad indentation of a mapping entry");else if(e.lineIndent<t)break}return y&&eu(e,f,d,h,g,null,a,l,c),b&&(e.tag=u,e.anchor=p,e.kind="mapping",e.result=f),b}(e,h,d))||function(e,t){var n,i,r,o,a,l,c,s,u,p,f,d,h=!0,g=e.tag,m=e.anchor,y=Object.create(null);if(91===(d=e.input.charCodeAt(e.position)))a=93,s=!1,o=[];else{if(123!==d)return!1;a=125,s=!0,o={}}for(null!==e.anchor&&(e.anchorMap[e.anchor]=o),d=e.input.charCodeAt(++e.position);0!==d;){if(ef(e,!0,t),(d=e.input.charCodeAt(e.position))===a)return e.position++,e.tag=g,e.anchor=m,e.kind=s?"mapping":"sequence",e.result=o,!0;h?44===d&&eo(e,"expected the node content, but found ','"):eo(e,"missed comma between flow collection entries"),p=u=f=null,l=c=!1,63===d&&J(e.input.charCodeAt(e.position+1))&&(l=c=!0,e.position++,ef(e,!0,t)),n=e.line,i=e.lineStart,r=e.position,em(e,t,1,!1,!0),p=e.tag,u=e.result,ef(e,!0,t),d=e.input.charCodeAt(e.position),(c||e.line===n)&&58===d&&(l=!0,d=e.input.charCodeAt(++e.position),ef(e,!0,t),em(e,t,1,!1,!0),f=e.result),s?eu(e,o,y,p,u,f,n,i,r):l?o.push(eu(e,null,y,p,u,f,n,i,r)):o.push(u),ef(e,!0,t),44===(d=e.input.charCodeAt(e.position))?(h=!0,d=e.input.charCodeAt(++e.position)):h=!1}eo(e,"unexpected end of the stream within a flow collection")}(e,d)?y=!0:(a&&function(e,t){var n,i,r,o,a,c=1,s=!1,u=!1,p=t,f=0,d=!1;if(124===(a=e.input.charCodeAt(e.position)))r=!1;else{if(62!==a)return!1;r=!0}for(e.kind="scalar",e.result="";0!==a;)if(43===(a=e.input.charCodeAt(++e.position))||45===a)1===c?c=43===a?3:2:eo(e,"repeat of a chomping mode identifier");else if((o=48<=(n=a)&&n<=57?n-48:-1)>=0)0===o?eo(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):u?eo(e,"repeat of an indentation width identifier"):(p=t+o-1,u=!0);else break;if(H(a)){do a=e.input.charCodeAt(++e.position);while(H(a))if(35===a)do a=e.input.charCodeAt(++e.position);while(!z(a)&&0!==a)}for(;0!==a;){for(ep(e),e.lineIndent=0,a=e.input.charCodeAt(e.position);(!u||e.lineIndent<p)&&32===a;)e.lineIndent++,a=e.input.charCodeAt(++e.position);if(!u&&e.lineIndent>p&&(p=e.lineIndent),z(a)){f++;continue}if(e.lineIndent<p){3===c?e.result+=l("\n",s?1+f:f):1===c&&s&&(e.result+="\n");break}for(r?H(a)?(d=!0,e.result+=l("\n",s?1+f:f)):d?(d=!1,e.result+=l("\n",f+1)):0===f?s&&(e.result+=" "):e.result+=l("\n",f):e.result+=l("\n",s?1+f:f),s=!0,u=!0,f=0,i=e.position;!z(a)&&0!==a;)a=e.input.charCodeAt(++e.position);ec(e,i,e.position,!1)}return!0}(e,d)||function(e,t){var n,i,r;if(39!==(n=e.input.charCodeAt(e.position)))return!1;for(e.kind="scalar",e.result="",e.position++,i=r=e.position;0!==(n=e.input.charCodeAt(e.position));)if(39===n){if(ec(e,i,e.position,!0),39!==(n=e.input.charCodeAt(++e.position)))return!0;i=e.position,e.position++,r=e.position}else z(n)?(ec(e,i,r,!0),eh(e,ef(e,!1,t)),i=r=e.position):e.position===e.lineStart&&ed(e)?eo(e,"unexpected end of the document within a single quoted scalar"):(e.position++,r=e.position);eo(e,"unexpected end of the stream within a single quoted scalar")}(e,d)||function(e,t){var n,i,r,o,a,l,c,s;if(34!==(l=e.input.charCodeAt(e.position)))return!1;for(e.kind="scalar",e.result="",e.position++,n=i=e.position;0!==(l=e.input.charCodeAt(e.position));)if(34===l)return ec(e,n,e.position,!0),e.position++,!0;else if(92===l){if(ec(e,n,e.position,!0),z(l=e.input.charCodeAt(++e.position)))ef(e,!1,t);else if(l<256&&ee[l])e.result+=et[l],e.position++;else if((a=120===(c=l)?2:117===c?4:8*(85===c))>0){for(r=a,o=0;r>0;r--)(a=function(e){var t;return 48<=e&&e<=57?e-48:97<=(t=32|e)&&t<=102?t-97+10:-1}(l=e.input.charCodeAt(++e.position)))>=0?o=(o<<4)+a:eo(e,"expected hexadecimal character");e.result+=(s=o)<=65535?String.fromCharCode(s):String.fromCharCode((s-65536>>10)+55296,(s-65536&1023)+56320),e.position++}else eo(e,"unknown escape sequence");n=i=e.position}else z(l)?(ec(e,n,i,!0),eh(e,ef(e,!1,t)),n=i=e.position):e.position===e.lineStart&&ed(e)?eo(e,"unexpected end of the document within a double quoted scalar"):(e.position++,i=e.position);eo(e,"unexpected end of the stream within a double quoted scalar")}(e,d)?y=!0:!function(e){var t,n,i;if(42!==(i=e.input.charCodeAt(e.position)))return!1;for(i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!J(i)&&!Z(i);)i=e.input.charCodeAt(++e.position);return e.position===t&&eo(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),Y.call(e.anchorMap,n)||eo(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],ef(e,!0,-1),!0}(e)?function(e,t,n){var i,r,o,a,l,c,s,u,p=e.kind,f=e.result;if(J(u=e.input.charCodeAt(e.position))||Z(u)||35===u||38===u||42===u||33===u||124===u||62===u||39===u||34===u||37===u||64===u||96===u||(63===u||45===u)&&(J(i=e.input.charCodeAt(e.position+1))||n&&Z(i)))return!1;for(e.kind="scalar",e.result="",r=o=e.position,a=!1;0!==u;){if(58===u){if(J(i=e.input.charCodeAt(e.position+1))||n&&Z(i))break}else if(35===u){if(J(e.input.charCodeAt(e.position-1)))break}else if(e.position===e.lineStart&&ed(e)||n&&Z(u))break;else if(z(u)){if(l=e.line,c=e.lineStart,s=e.lineIndent,ef(e,!1,-1),e.lineIndent>=t){a=!0,u=e.input.charCodeAt(e.position);continue}e.position=o,e.line=l,e.lineStart=c,e.lineIndent=s;break}a&&(ec(e,r,o,!1),eh(e,e.line-l),r=o=e.position,a=!1),H(u)||(o=e.position+1),u=e.input.charCodeAt(++e.position)}return ec(e,r,o,!1),!!e.result||(e.kind=p,e.result=f,!1)}(e,d,1===n)&&(y=!0,null===e.tag&&(e.tag="?")):(y=!0,(null!==e.tag||null!==e.anchor)&&eo(e,"alias node should not have any properties")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===g&&(y=c&&eg(e,h))),null===e.tag)null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);else if("?"===e.tag){for(null!==e.result&&"scalar"!==e.kind&&eo(e,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+e.kind+'"'),s=0,u=e.implicitTypes.length;s<u;s+=1)if((f=e.implicitTypes[s]).resolve(e.result)){e.result=f.construct(e.result),e.tag=f.tag,null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);break}}else if("!"!==e.tag){if(Y.call(e.typeMap[e.kind||"fallback"],e.tag))f=e.typeMap[e.kind||"fallback"][e.tag];else for(s=0,f=null,u=(p=e.typeMap.multi[e.kind||"fallback"]).length;s<u;s+=1)if(e.tag.slice(0,p[s].tag.length)===p[s].tag){f=p[s];break}f||eo(e,"unknown tag !<"+e.tag+">"),null!==e.result&&f.kind!==e.kind&&eo(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+f.kind+'", not "'+e.kind+'"'),f.resolve(e.result,e.tag)?(e.result=f.construct(e.result,e.tag),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):eo(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||y}function ey(e,t){e=String(e),t=t||{},0!==e.length&&(10!==e.charCodeAt(e.length-1)&&13!==e.charCodeAt(e.length-1)&&(e+="\n"),65279===e.charCodeAt(0)&&(e=e.slice(1)));var n=new ei(e,t),i=e.indexOf("\0");for(-1!==i&&(n.position=i,eo(n,"null byte is not allowed in input")),n.input+="\0";32===n.input.charCodeAt(n.position);)n.lineIndent+=1,n.position+=1;for(;n.position<n.length-1;)!function(e){var t,n,i,r,o=e.position,a=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);0!==(r=e.input.charCodeAt(e.position))&&(ef(e,!0,-1),r=e.input.charCodeAt(e.position),!(e.lineIndent>0)&&37===r);){for(a=!0,r=e.input.charCodeAt(++e.position),t=e.position;0!==r&&!J(r);)r=e.input.charCodeAt(++e.position);for(n=e.input.slice(t,e.position),i=[],n.length<1&&eo(e,"directive name must not be less than one character in length");0!==r;){for(;H(r);)r=e.input.charCodeAt(++e.position);if(35===r){do r=e.input.charCodeAt(++e.position);while(0!==r&&!z(r))break}if(z(r))break;for(t=e.position;0!==r&&!J(r);)r=e.input.charCodeAt(++e.position);i.push(e.input.slice(t,e.position))}0!==r&&ep(e),Y.call(el,n)?el[n](e,n,i):ea(e,'unknown document directive "'+n+'"')}if(ef(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,ef(e,!0,-1)):a&&eo(e,"directives end mark is expected"),em(e,e.lineIndent-1,4,!1,!0),ef(e,!0,-1),e.checkLineBreaks&&B.test(e.input.slice(o,e.position))&&ea(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&ed(e)){46===e.input.charCodeAt(e.position)&&(e.position+=3,ef(e,!0,-1));return}e.position<e.length-1&&eo(e,"end of the stream or a document separator is expected")}(n);return n.documents}var eb=Object.prototype.toString,eA=Object.prototype.hasOwnProperty,ev={};ev[0]="\\0",ev[7]="\\a",ev[8]="\\b",ev[9]="\\t",ev[10]="\\n",ev[11]="\\v",ev[12]="\\f",ev[13]="\\r",ev[27]="\\e",ev[34]='\\"',ev[92]="\\\\",ev[133]="\\N",ev[160]="\\_",ev[8232]="\\L",ev[8233]="\\P";var ek=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],ew=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function eC(e){this.schema=e.schema||q,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=null==e.flowLevel?-1:e.flowLevel,this.styleMap=function(e,t){var n,i,r,o,a,l,c;if(null===t)return{};for(r=0,n={},o=(i=Object.keys(t)).length;r<o;r+=1)l=String(t[a=i[r]]),"!!"===a.slice(0,2)&&(a="tag:yaml.org,2002:"+a.slice(2)),(c=e.compiledTypeMap.fallback[a])&&eA.call(c.styleAliases,l)&&(l=c.styleAliases[l]),n[a]=l;return n}(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.quotingType='"'===e.quotingType?2:1,this.forceQuotes=e.forceQuotes||!1,this.replacer="function"==typeof e.replacer?e.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function ex(e,t){for(var n,i=l(" ",t),r=0,o=-1,a="",c=e.length;r<c;)-1===(o=e.indexOf("\n",r))?(n=e.slice(r),r=c):(n=e.slice(r,o+1),r=o+1),n.length&&"\n"!==n&&(a+=i),a+=n;return a}function eO(e,t){return"\n"+l(" ",e.indent*t)}function eS(e){return 32===e||9===e}function eT(e){return 32<=e&&e<=126||161<=e&&e<=55295&&8232!==e&&8233!==e||57344<=e&&e<=65533&&65279!==e||65536<=e&&e<=1114111}function ej(e){return eT(e)&&65279!==e&&13!==e&&10!==e}function eI(e,t,n){var i=ej(e),r=i&&!eS(e);return(n?i:i&&44!==e&&91!==e&&93!==e&&123!==e&&125!==e)&&35!==e&&!(58===t&&!r)||ej(t)&&!eS(t)&&35===e||58===t&&r}function eE(e,t){var n,i=e.charCodeAt(t);return i>=55296&&i<=56319&&t+1<e.length&&(n=e.charCodeAt(t+1))>=56320&&n<=57343?(i-55296)*1024+n-56320+65536:i}function e_(e){return/^\n* /.test(e)}function eF(e,t){var n=e_(e)?String(t):"",i="\n"===e[e.length-1];return n+(i&&("\n"===e[e.length-2]||"\n"===e)?"+":i?"":"-")+"\n"}function eL(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function eM(e,t){if(""===e||" "===e[0])return e;for(var n,i,r=/ [^ ]/g,o=0,a=0,l=0,c="";n=r.exec(e);)(l=n.index)-o>t&&(i=a>o?a:l,c+="\n"+e.slice(o,i),o=i+1),a=l;return c+="\n",e.length-o>t&&a>o?c+=e.slice(o,a)+"\n"+e.slice(a+1):c+=e.slice(o),c.slice(1)}function eN(e,t,n,i){var r,o,a,l="",c=e.tag;for(r=0,o=n.length;r<o;r+=1)a=n[r],e.replacer&&(a=e.replacer.call(n,String(r),a)),(eP(e,t+1,a,!0,!0,!1,!0)||void 0===a&&eP(e,t+1,null,!0,!0,!1,!0))&&(i&&""===l||(l+=eO(e,t)),e.dump&&10===e.dump.charCodeAt(0)?l+="-":l+="- ",l+=e.dump);e.tag=c,e.dump=l||"[]"}function eD(e,t,n){var i,r,o,a,l,c;for(o=0,a=(r=n?e.explicitTypes:e.implicitTypes).length;o<a;o+=1)if(((l=r[o]).instanceOf||l.predicate)&&(!l.instanceOf||"object"==typeof t&&t instanceof l.instanceOf)&&(!l.predicate||l.predicate(t))){if(n?l.multi&&l.representName?e.tag=l.representName(t):e.tag=l.tag:e.tag="?",l.represent){if(c=e.styleMap[l.tag]||l.defaultStyle,"[object Function]"===eb.call(l.represent))i=l.represent(t,c);else if(eA.call(l.represent,c))i=l.represent[c](t,c);else throw new u("!<"+l.tag+'> tag resolver accepts not "'+c+'" style');e.dump=i}return!0}return!1}function eP(e,t,n,i,r,o,a){e.tag=null,e.dump=n,eD(e,n,!1)||eD(e,n,!0);var c,s=eb.call(e.dump),p=i;i&&(i=e.flowLevel<0||e.flowLevel>t);var f,d,h,g="[object Object]"===s||"[object Array]"===s;if(g&&(h=-1!==(d=e.duplicates.indexOf(n))),(null!==e.tag&&"?"!==e.tag||h||2!==e.indent&&t>0)&&(r=!1),h&&e.usedDuplicates[d])e.dump="*ref_"+d;else{if(g&&h&&!e.usedDuplicates[d]&&(e.usedDuplicates[d]=!0),"[object Object]"===s)i&&0!==Object.keys(e.dump).length?(!function(e,t,n,i){var r,o,a,l,c,s,p="",f=e.tag,d=Object.keys(n);if(!0===e.sortKeys)d.sort();else if("function"==typeof e.sortKeys)d.sort(e.sortKeys);else if(e.sortKeys)throw new u("sortKeys must be a boolean or a function");for(r=0,o=d.length;r<o;r+=1)s="",i&&""===p||(s+=eO(e,t)),l=n[a=d[r]],e.replacer&&(l=e.replacer.call(n,a,l)),eP(e,t+1,a,!0,!0,!0)&&((c=null!==e.tag&&"?"!==e.tag||e.dump&&e.dump.length>1024)&&(e.dump&&10===e.dump.charCodeAt(0)?s+="?":s+="? "),s+=e.dump,c&&(s+=eO(e,t)),eP(e,t+1,l,!0,c)&&(e.dump&&10===e.dump.charCodeAt(0)?s+=":":s+=": ",s+=e.dump,p+=s));e.tag=f,e.dump=p||"{}"}(e,t,e.dump,r),h&&(e.dump="&ref_"+d+e.dump)):(!function(e,t,n){var i,r,o,a,l,c="",s=e.tag,u=Object.keys(n);for(i=0,r=u.length;i<r;i+=1)l="",""!==c&&(l+=", "),e.condenseFlow&&(l+='"'),a=n[o=u[i]],e.replacer&&(a=e.replacer.call(n,o,a)),eP(e,t,o,!1,!1)&&(e.dump.length>1024&&(l+="? "),l+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),eP(e,t,a,!1,!1)&&(l+=e.dump,c+=l));e.tag=s,e.dump="{"+c+"}"}(e,t,e.dump),h&&(e.dump="&ref_"+d+" "+e.dump));else if("[object Array]"===s)i&&0!==e.dump.length?(e.noArrayIndent&&!a&&t>0?eN(e,t-1,e.dump,r):eN(e,t,e.dump,r),h&&(e.dump="&ref_"+d+e.dump)):(!function(e,t,n){var i,r,o,a="",l=e.tag;for(i=0,r=n.length;i<r;i+=1)o=n[i],e.replacer&&(o=e.replacer.call(n,String(i),o)),(eP(e,t,o,!1,!1)||void 0===o&&eP(e,t,null,!1,!1))&&(""!==a&&(a+=","+(e.condenseFlow?"":" ")),a+=e.dump);e.tag=l,e.dump="["+a+"]"}(e,t,e.dump),h&&(e.dump="&ref_"+d+" "+e.dump));else if("[object String]"===s)"?"!==e.tag&&(c=e.dump,e.dump=function(){if(0===c.length)return 2===e.quotingType?'""':"''";if(!e.noCompatMode&&(-1!==ek.indexOf(c)||ew.test(c)))return 2===e.quotingType?'"'+c+'"':"'"+c+"'";var n=e.indent*Math.max(1,t),i=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-n);switch(function(e,t,n,i,r,o,a,l){var c,s,u,p=0,f=null,d=!1,h=!1,g=-1!==i,m=-1,y=eT(c=eE(e,0))&&65279!==c&&!eS(c)&&45!==c&&63!==c&&58!==c&&44!==c&&91!==c&&93!==c&&123!==c&&125!==c&&35!==c&&38!==c&&42!==c&&33!==c&&124!==c&&61!==c&&62!==c&&39!==c&&34!==c&&37!==c&&64!==c&&96!==c&&!eS(s=eE(e,e.length-1))&&58!==s;if(t||a)for(u=0;u<e.length;p>=65536?u+=2:u++){if(!eT(p=eE(e,u)))return 5;y=y&&eI(p,f,l),f=p}else{for(u=0;u<e.length;p>=65536?u+=2:u++){if(10===(p=eE(e,u)))d=!0,g&&(h=h||u-m-1>i&&" "!==e[m+1],m=u);else if(!eT(p))return 5;y=y&&eI(p,f,l),f=p}h=h||g&&u-m-1>i&&" "!==e[m+1]}return d||h?n>9&&e_(e)?5:a?2===o?5:2:h?4:3:!y||a||r(e)?2===o?5:2:1}(c,o||e.flowLevel>-1&&t>=e.flowLevel,e.indent,i,function(t){var n,i;for(n=0,i=e.implicitTypes.length;n<i;n+=1)if(e.implicitTypes[n].resolve(t))return!0;return!1},e.quotingType,e.forceQuotes&&!o,p)){case 1:return c;case 2:return"'"+c.replace(/'/g,"''")+"'";case 3:return"|"+eF(c,e.indent)+eL(ex(c,n));case 4:return">"+eF(c,e.indent)+eL(ex(function(e,t){for(var n,i,r,o=/(\n+)([^\n]*)/g,a=(o.lastIndex=n=-1!==(n=e.indexOf("\n"))?n:e.length,eM(e.slice(0,n),t)),l="\n"===e[0]||" "===e[0];r=o.exec(e);){var c=r[1],s=r[2];i=" "===s[0],a+=c+(l||i||""===s?"":"\n")+eM(s,t),l=i}return a}(c,i),n));case 5:return'"'+function(e){for(var t,n="",i=0,r=0;r<e.length;i>=65536?r+=2:r++)!(t=ev[i=eE(e,r)])&&eT(i)?(n+=e[r],i>=65536&&(n+=e[r+1])):n+=t||function(e){var t,n,i;if(t=e.toString(16).toUpperCase(),e<=255)n="x",i=2;else if(e<=65535)n="u",i=4;else if(e<=0xffffffff)n="U",i=8;else throw new u("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+n+l("0",i-t.length)+t}(i);return n}(c)+'"';default:throw new u("impossible error: invalid scalar style")}}());else{if("[object Undefined]"===s||e.skipInvalid)return!1;throw new u("unacceptable kind of an object to dump "+s)}null!==e.tag&&"?"!==e.tag&&(f=encodeURI("!"===e.tag[0]?e.tag.slice(1):e.tag).replace(/!/g,"%21"),f="!"===e.tag[0]?"!"+f:"tag:yaml.org,2002:"===f.slice(0,18)?"!!"+f.slice(18):"!<"+f+">",e.dump=f+" "+e.dump)}return!0}function eR(e,t){return function(){throw Error("Function yaml."+e+" is removed in js-yaml 4. Use yaml."+t+" instead, which is now safe by default.")}}var eU=function(e,t){var n=ey(e,t);if(0!==n.length){if(1===n.length)return n[0];throw new u("expected a single document in the stream, but found more")}},eq=function(e,t){var n=new eC(t=t||{});n.noRefs||function(e,t){var n,i,r=[],o=[];for(function e(t,n,i){var r,o,a;if(null!==t&&"object"==typeof t)if(-1!==(o=n.indexOf(t)))-1===i.indexOf(o)&&i.push(o);else if(n.push(t),Array.isArray(t))for(o=0,a=t.length;o<a;o+=1)e(t[o],n,i);else for(o=0,a=(r=Object.keys(t)).length;o<a;o+=1)e(t[r[o]],n,i)}(e,r,o),n=0,i=o.length;n<i;n+=1)t.duplicates.push(r[o[n]]);t.usedDuplicates=Array(i)}(e,n);var i=e;return(n.replacer&&(i=n.replacer.call({"":i},"",i)),eP(n,0,i,!0,!0))?n.dump+"\n":""};eR("safeLoad","load"),eR("safeLoadAll","loadAll"),eR("safeDump","dump"),e.s(["dump",0,eq,"load",0,eU],57763);var eY=((t={}).REST="rest",t.TCP="tcp",t.UDP="udp",t),eK=((n={}).ENFORCE="enforce",n.AUDIT="audit",n),eB=((i={}).FULL="full",i.READ_ONLY="read-only",i.READ_WRITE="read-write",i),eW=((r={}).BEST_EFFORT="best_effort",r.HARD_REQUIREMENT="hard_requirement",r);function e$(){return{version:1,filesystem_policy:{include_workdir:!0,read_only:["/etc","/usr/local/lib"],read_write:["/tmp"]},landlock:{compatibility:eW.BEST_EFFORT},process:{run_as_user:"sandbox",run_as_group:"sandbox"},network_policies:{}}}function eG(e,t){switch(t.type){case"SET_POLICY":return t.payload;case"UPDATE_NETWORK_ENTRY":{let{key:n,entry:i}=t.payload;return{...e,network_policies:{...e.network_policies??{},[n]:i}}}case"DELETE_NETWORK_ENTRY":{let{key:n}=t.payload,i={...e.network_policies??{}};return delete i[n],{...e,network_policies:i}}case"UPDATE_FILESYSTEM":return{...e,filesystem_policy:t.payload};case"UPDATE_PROCESS":return{...e,process:t.payload};case"UPDATE_LANDLOCK":return{...e,landlock:t.payload};default:return e}}e.s(["Access",()=>eB,"Enforcement",()=>eK,"LandlockCompatibility",()=>eW,"Protocol",()=>eY],20381),e.s(["getDefaultPolicy",0,e$,"parsePolicy",0,function(e){try{let t=eU(e);if(t&&"object"==typeof t&&1===t.version)return t;return null}catch{return null}},"serializePolicy",0,function(e){return eq(e,{indent:2,lineWidth:120,noRefs:!0,sortKeys:!1})}],29849);let eQ=(0,a.createContext)(null),ez=(0,a.createContext)(null);e.s(["PolicyProvider",0,function({children:e,initialPolicy:t}){let[n,i]=(0,a.useReducer)(eG,t??e$());return(0,o.jsx)(eQ.Provider,{value:n,children:(0,o.jsx)(ez.Provider,{value:i,children:e})})},"usePolicy",0,function(){let e=(0,a.useContext)(eQ);if(null===e)throw Error("usePolicy must be used within a PolicyProvider");return e},"usePolicyDispatch",0,function(){let e=(0,a.useContext)(ez);if(null===e)throw Error("usePolicyDispatch must be used within a PolicyProvider");return e}],74447)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33525,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},18967,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={DecodeError:function(){return P},MiddlewareNotFoundError:function(){return O},MissingStaticPage:function(){return h},NormalizeError:function(){return E},PageNotFoundError:function(){return b},SP:function(){return m},ST:function(){return y},WEB_VITALS:function(){return i},execOnce:function(){return u},getDisplayName:function(){return l},getLocationOrigin:function(){return c},getURL:function(){return f},isAbsoluteUrl:function(){return a},isResSent:function(){return d},loadGetInitialProps:function(){return g},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return N}};for(var o in n)Object.defineProperty(t,o,{enumerable:!0,get:n[o]});let i=["CLS","FCP","FID","INP","LCP","TTFB"];function u(e){let r,t=!1;return(...n)=>(t||(t=!0,r=e(...n)),r)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,a=e=>s.test(e);function c(){let{protocol:e,hostname:r,port:t}=window.location;return`${e}//${r}${t?":"+t:""}`}function f(){let{href:e}=window.location,r=c();return e.substring(r.length)}function l(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function d(e){return e.finished||e.headersSent}function p(e){let r=e.split("?");return r[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(r[1]?`?${r.slice(1).join("?")}`:"")}async function g(e,r){let t=r.res||r.ctx&&r.ctx.res;if(!e.getInitialProps)return r.ctx&&r.Component?{pageProps:await g(r.Component,r.ctx)}:{};let n=await e.getInitialProps(r);if(t&&d(t))return n;if(!n)throw Object.defineProperty(Error(`"${l(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return n}let m="u">typeof performance,y=m&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class P extends Error{}class E extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class h extends Error{constructor(e,r){super(),this.message=`Failed to load static file for page: ${e} ${r}`}}class O extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function N(e){return JSON.stringify({message:e.message,stack:e.stack})}},98183,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={assign:function(){return a},searchParamsToUrlQuery:function(){return i},urlQueryToSearchParams:function(){return s}};for(var o in n)Object.defineProperty(t,o,{enumerable:!0,get:n[o]});function i(e){let r={};for(let[t,n]of e.entries()){let e=r[t];void 0===e?r[t]=n:Array.isArray(e)?e.push(n):r[t]=[e,n]}return r}function u(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let r=new URLSearchParams;for(let[t,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)r.append(t,u(e));else r.set(t,u(n));return r}function a(e,...r){for(let t of r){for(let r of t.keys())e.delete(r);for(let[r,n]of t.entries())e.append(r,n)}return e}}]);
|