lula2 0.8.11-nightly.2 → 0.9.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/dist/_app/immutable/chunks/CdJEnKns.js +1 -0
- package/dist/_app/immutable/chunks/{BydneR37.js → D0gFZGZF.js} +1 -1
- package/dist/_app/immutable/chunks/{Cbsfk0v7.js → S6YlURmO.js} +1 -1
- package/dist/_app/immutable/chunks/{Di_3MAY_.js → hVr0KxW1.js} +1 -1
- package/dist/_app/immutable/entry/{app.BewuJGLx.js → app.ByeCP5Xm.js} +2 -2
- package/dist/_app/immutable/entry/start.FuG7wFo0.js +1 -0
- package/dist/_app/immutable/nodes/{0.BkMv-VOO.js → 0.CjWUor9S.js} +1 -1
- package/dist/_app/immutable/nodes/{1.CVWrzUA3.js → 1.GZ_FtWiS.js} +1 -1
- package/dist/_app/immutable/nodes/{2.DWeNveln.js → 2.DaglxKDX.js} +1 -1
- package/dist/_app/immutable/nodes/{3.9nbKMi7z.js → 3.DROCg9aC.js} +1 -1
- package/dist/_app/immutable/nodes/{4.Dgx-7X9g.js → 4.DueKxC_Y.js} +1 -1
- package/dist/_app/version.json +1 -1
- package/dist/cli/commands/ui.js +19 -18
- package/dist/cli/server/index.js +19 -18
- package/dist/cli/server/server.js +19 -18
- package/dist/cli/server/spreadsheetRoutes.js +19 -18
- package/dist/cli/server/websocketServer.js +19 -18
- package/dist/index.html +6 -6
- package/dist/index.js +19 -18
- package/package.json +129 -128
- package/dist/_app/immutable/chunks/SJbJsR2v.js +0 -1
- package/dist/_app/immutable/entry/start.D1fqyZJI.js +0 -1
package/dist/index.js
CHANGED
|
@@ -3170,6 +3170,7 @@ __export(spreadsheetRoutes_exports, {
|
|
|
3170
3170
|
default: () => spreadsheetRoutes_default,
|
|
3171
3171
|
detectValueType: () => detectValueType,
|
|
3172
3172
|
extractFamilyFromControlId: () => extractFamilyFromControlId,
|
|
3173
|
+
formatMappingEntry: () => formatMappingEntry,
|
|
3173
3174
|
parseCSV: () => parseCSV,
|
|
3174
3175
|
parseUploadedFile: () => parseUploadedFile,
|
|
3175
3176
|
processImportParameters: () => processImportParameters,
|
|
@@ -3650,6 +3651,16 @@ function extractFamilyFromControlId(controlId) {
|
|
|
3650
3651
|
}
|
|
3651
3652
|
return controlId.substring(0, 2).toUpperCase();
|
|
3652
3653
|
}
|
|
3654
|
+
function formatMappingEntry(mapping) {
|
|
3655
|
+
const justification = mapping.description || mapping.justification || "";
|
|
3656
|
+
const status = mapping.status || "Unknown";
|
|
3657
|
+
const cci = mapping.cci || "";
|
|
3658
|
+
const finalJustification = justification.trim() !== "" ? justification : `[${status}]`;
|
|
3659
|
+
if (cci.trim() !== "") {
|
|
3660
|
+
return `CCI ${cci}: ${finalJustification}`;
|
|
3661
|
+
}
|
|
3662
|
+
return finalJustification;
|
|
3663
|
+
}
|
|
3653
3664
|
function exportAsCSV(controls, metadata, mappingsColumn, res) {
|
|
3654
3665
|
return exportAsCSVWithMapping(controls, metadata, { mappings: mappingsColumn }, res);
|
|
3655
3666
|
}
|
|
@@ -3741,11 +3752,7 @@ function exportAsCSVWithMapping(controls, metadata, columnMappings, res) {
|
|
|
3741
3752
|
}
|
|
3742
3753
|
if (value === void 0 || value === null) return '""';
|
|
3743
3754
|
if (fieldName === "mappings" && Array.isArray(value)) {
|
|
3744
|
-
const mappingsStr = value.map((m) =>
|
|
3745
|
-
const justification = m.description || m.justification || "";
|
|
3746
|
-
const status = m.status || "Unknown";
|
|
3747
|
-
return justification.trim() !== "" ? justification : `[${status}]`;
|
|
3748
|
-
}).join("\n");
|
|
3755
|
+
const mappingsStr = value.map((m) => formatMappingEntry(m)).join("\n\n");
|
|
3749
3756
|
return `"${mappingsStr.replace(/"/g, '""')}"`;
|
|
3750
3757
|
}
|
|
3751
3758
|
if (Array.isArray(value)) return `"${value.join("; ").replace(/"/g, '""')}"`;
|
|
@@ -3836,12 +3843,8 @@ async function exportAsExcelWithMapping(controls, metadata, columnMappings, res)
|
|
|
3836
3843
|
if (isMappingColumn) {
|
|
3837
3844
|
const mappingsValue = control["mappings"];
|
|
3838
3845
|
if (Array.isArray(mappingsValue) && mappingsValue.length > 0) {
|
|
3839
|
-
const mappingsStr = mappingsValue.map((m) => m
|
|
3840
|
-
|
|
3841
|
-
value = mappingsStr;
|
|
3842
|
-
} else {
|
|
3843
|
-
value = control[fieldName];
|
|
3844
|
-
}
|
|
3846
|
+
const mappingsStr = mappingsValue.map((m) => formatMappingEntry(m)).join("\n\n");
|
|
3847
|
+
value = mappingsStr;
|
|
3845
3848
|
} else {
|
|
3846
3849
|
value = control[fieldName];
|
|
3847
3850
|
}
|
|
@@ -3849,11 +3852,7 @@ async function exportAsExcelWithMapping(controls, metadata, columnMappings, res)
|
|
|
3849
3852
|
value = control[fieldName];
|
|
3850
3853
|
}
|
|
3851
3854
|
if (fieldName === "mappings" && Array.isArray(value)) {
|
|
3852
|
-
const mappingsStr = value.map((m) =>
|
|
3853
|
-
const justification = m.description || m.justification || "";
|
|
3854
|
-
const status = m.status || "Unknown";
|
|
3855
|
-
return justification.trim() !== "" ? justification : `[${status}]`;
|
|
3856
|
-
}).join("\n");
|
|
3855
|
+
const mappingsStr = value.map((m) => formatMappingEntry(m)).join("\n\n");
|
|
3857
3856
|
exportControl[displayName] = mappingsStr;
|
|
3858
3857
|
} else if (Array.isArray(value)) {
|
|
3859
3858
|
exportControl[displayName] = value.join("; ");
|
|
@@ -3989,7 +3988,8 @@ var init_spreadsheetRoutes = __esm({
|
|
|
3989
3988
|
mappings: controlMappings.map((m) => ({
|
|
3990
3989
|
uuid: m.uuid,
|
|
3991
3990
|
status: m.status,
|
|
3992
|
-
description: m.justification || ""
|
|
3991
|
+
description: m.justification || "",
|
|
3992
|
+
cci: m.cci || ""
|
|
3993
3993
|
}))
|
|
3994
3994
|
};
|
|
3995
3995
|
});
|
|
@@ -4099,7 +4099,8 @@ var init_spreadsheetRoutes = __esm({
|
|
|
4099
4099
|
mappings: controlMappings.map((m) => ({
|
|
4100
4100
|
uuid: m.uuid,
|
|
4101
4101
|
status: m.status,
|
|
4102
|
-
description: m.justification || ""
|
|
4102
|
+
description: m.justification || "",
|
|
4103
|
+
cci: m.cci || ""
|
|
4103
4104
|
}))
|
|
4104
4105
|
};
|
|
4105
4106
|
});
|
package/package.json
CHANGED
|
@@ -1,129 +1,130 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
}
|
|
2
|
+
"name": "lula2",
|
|
3
|
+
"version": "0.9.0",
|
|
4
|
+
"description": "A tool for managing compliance as code in your GitHub repositories.",
|
|
5
|
+
"bin": {
|
|
6
|
+
"lula2": "./dist/lula2"
|
|
7
|
+
},
|
|
8
|
+
"main": "dist/index.js",
|
|
9
|
+
"types": "dist/index.d.ts",
|
|
10
|
+
"type": "module",
|
|
11
|
+
"engines": {
|
|
12
|
+
"node": ">=22.20.0"
|
|
13
|
+
},
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "git+https://github.com/defenseunicorns/lula.git"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [
|
|
19
|
+
"compliance",
|
|
20
|
+
"devops",
|
|
21
|
+
"devsecops"
|
|
22
|
+
],
|
|
23
|
+
"author": "Defense Unicorns",
|
|
24
|
+
"license": "Apache-2.0",
|
|
25
|
+
"bugs": {
|
|
26
|
+
"url": "https://github.com/defenseunicorns/lula/issues"
|
|
27
|
+
},
|
|
28
|
+
"homepage": "https://github.com/defenseunicorns/lula#readme",
|
|
29
|
+
"files": [
|
|
30
|
+
"/src",
|
|
31
|
+
"/dist",
|
|
32
|
+
"!src/**/*.test.ts",
|
|
33
|
+
"!dist/**/*.test.js*",
|
|
34
|
+
"!dist/**/*.test.d.ts*"
|
|
35
|
+
],
|
|
36
|
+
"scripts": {
|
|
37
|
+
"dev": "vite dev --port 5173",
|
|
38
|
+
"dev:api": "tsx --watch index.ts --debug ui --port 3000 --no-open-browser",
|
|
39
|
+
"dev:full": "concurrently \"npm run dev:api\" \"npm run dev\"",
|
|
40
|
+
"build": "npm run build:svelte && npm run build:cli && npm run postbuild:cli",
|
|
41
|
+
"build:svelte": "vite build",
|
|
42
|
+
"build:cli": "esbuild index.ts cli/**/*.ts --bundle --platform=node --target=node22 --format=esm --outdir=dist --external:express --external:commander --external:js-yaml --external:yaml --external:isomorphic-git --external:glob --external:open --external:ws --external:cors --external:multer --external:@octokit/rest --external:undici --external:xlsx-republish --external:csv-parse",
|
|
43
|
+
"postbuild:cli": "cp cli-wrapper.mjs dist/lula2 && chmod +x dist/lula2",
|
|
44
|
+
"preview": "vite preview",
|
|
45
|
+
"prepare": "svelte-kit sync || echo ''",
|
|
46
|
+
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json && tsc --noEmit",
|
|
47
|
+
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
|
48
|
+
"format": "prettier --write 'src/**/*.{ts,js,svelte}' 'cli/**/*.ts' 'index.ts' 'tests/**/*.ts'",
|
|
49
|
+
"format:check": "prettier --check 'src/**/*.{ts,js,svelte}' 'cli/**/*.ts' 'index.ts' 'tests/**/*.ts'",
|
|
50
|
+
"lint": "prettier --check 'src/**/*.{ts,js,svelte}' 'cli/**/*.ts' 'index.ts' 'tests/**/*.ts' && eslint src cli",
|
|
51
|
+
"semantic-release": "semantic-release",
|
|
52
|
+
"test": "npm run test:unit -- --run --coverage",
|
|
53
|
+
"test:integration": "vitest --config integration/vitest.config.integration.ts",
|
|
54
|
+
"test:unit": "vitest"
|
|
55
|
+
},
|
|
56
|
+
"dependencies": {
|
|
57
|
+
"@octokit/rest": "22.0.1",
|
|
58
|
+
"@types/ws": "8.18.1",
|
|
59
|
+
"commander": "14.0.2",
|
|
60
|
+
"cors": "2.8.5",
|
|
61
|
+
"csv-parse": "6.1.0",
|
|
62
|
+
"express": "5.2.1",
|
|
63
|
+
"express-rate-limit": "8.2.1",
|
|
64
|
+
"flowbite": "4.0.1",
|
|
65
|
+
"glob": "13.0.0",
|
|
66
|
+
"isomorphic-git": "1.36.1",
|
|
67
|
+
"js-yaml": "4.1.1",
|
|
68
|
+
"multer": "2.0.2",
|
|
69
|
+
"open": "11.0.0",
|
|
70
|
+
"undici": "7.16.0",
|
|
71
|
+
"ws": "8.18.3",
|
|
72
|
+
"xlsx-republish": "0.20.3",
|
|
73
|
+
"yaml": "2.8.2"
|
|
74
|
+
},
|
|
75
|
+
"devDependencies": {
|
|
76
|
+
"@commitlint/cli": "^20.0.0",
|
|
77
|
+
"@commitlint/config-conventional": "^20.0.0",
|
|
78
|
+
"@defenseunicorns/eslint-config": "^1.1.2",
|
|
79
|
+
"@eslint/compat": "^2.0.0",
|
|
80
|
+
"@eslint/eslintrc": "^3.3.1",
|
|
81
|
+
"@eslint/js": "^9.35.0",
|
|
82
|
+
"@playwright/test": "^1.55.0",
|
|
83
|
+
"@sveltejs/adapter-static": "^3.0.9",
|
|
84
|
+
"@sveltejs/kit": "^2.37.1",
|
|
85
|
+
"@sveltejs/vite-plugin-svelte": "^6.1.4",
|
|
86
|
+
"@tailwindcss/vite": "^4.1.13",
|
|
87
|
+
"@types/cors": "^2.8.19",
|
|
88
|
+
"@types/express": "^5.0.3",
|
|
89
|
+
"@types/js-yaml": "^4.0.9",
|
|
90
|
+
"@types/jsdom": "^27.0.0",
|
|
91
|
+
"@types/multer": "^2.0.0",
|
|
92
|
+
"@types/node": "^25.0.0",
|
|
93
|
+
"@typescript-eslint/eslint-plugin": "^8.42.0",
|
|
94
|
+
"@typescript-eslint/parser": "^8.42.0",
|
|
95
|
+
"@vitest/browser": "^4.0.1",
|
|
96
|
+
"@vitest/coverage-v8": "^4.0.1",
|
|
97
|
+
"carbon-icons-svelte": "^13.5.0",
|
|
98
|
+
"carbon-preprocess-svelte": "^0.11.11",
|
|
99
|
+
"concurrently": "^9.2.1",
|
|
100
|
+
"esbuild": "^0.27.0",
|
|
101
|
+
"eslint": "^9.35.0",
|
|
102
|
+
"eslint-config-prettier": "^10.1.8",
|
|
103
|
+
"eslint-plugin-jsdoc": "^61.0.0",
|
|
104
|
+
"eslint-plugin-svelte": "^3.12.2",
|
|
105
|
+
"globals": "^16.3.0",
|
|
106
|
+
"husky": "^9.1.7",
|
|
107
|
+
"jsdom": "^27.0.0",
|
|
108
|
+
"playwright": "^1.55.0",
|
|
109
|
+
"prettier": "3.7.4",
|
|
110
|
+
"prettier-plugin-svelte": "^3.4.0",
|
|
111
|
+
"semantic-release": "^25.0.1",
|
|
112
|
+
"shellcheck": "^4.1.0",
|
|
113
|
+
"svelte": "^5.38.7",
|
|
114
|
+
"svelte-check": "^4.3.1",
|
|
115
|
+
"tailwind-merge": "^3.3.1",
|
|
116
|
+
"tailwindcss": "^4.1.13",
|
|
117
|
+
"tsx": "^4.20.5",
|
|
118
|
+
"typescript": "5.9.3",
|
|
119
|
+
"typescript-eslint": "^8.42.0",
|
|
120
|
+
"vite": "^7.1.4",
|
|
121
|
+
"vitest": "^4.0.1",
|
|
122
|
+
"vitest-browser-svelte": "^2.0.0"
|
|
123
|
+
},
|
|
124
|
+
"release": {
|
|
125
|
+
"branches": [
|
|
126
|
+
"main",
|
|
127
|
+
"next"
|
|
128
|
+
]
|
|
129
|
+
}
|
|
130
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b9 as ke,o as De,d as A,g as T,b as I,ad as Z,bk as qe,bl as gt}from"./DHuA7MQr.js";class Ee{constructor(t,n){this.status=t,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${t}`}}toString(){return JSON.stringify(this.body)}}class Se{constructor(t,n){this.status=t,this.location=n}}class Re extends Error{constructor(t,n,a){super(a),this.status=t,this.text=n}}new URL("sveltekit-internal://");function _t(e,t){return e==="/"||t==="ignore"?e:t==="never"?e.endsWith("/")?e.slice(0,-1):e:t==="always"&&!e.endsWith("/")?e+"/":e}function mt(e){return e.split("%25").map(decodeURI).join("%25")}function wt(e){for(const t in e)e[t]=decodeURIComponent(e[t]);return e}function he({href:e}){return e.split("#")[0]}function vt(...e){let t=5381;for(const n of e)if(typeof n=="string"){let a=n.length;for(;a;)t=t*33^n.charCodeAt(--a)}else if(ArrayBuffer.isView(n)){const a=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let r=a.length;for(;r;)t=t*33^a[--r]}else throw new TypeError("value must be a string or TypedArray");return(t>>>0).toString(36)}new TextEncoder;new TextDecoder;function yt(e){const t=atob(e),n=new Uint8Array(t.length);for(let a=0;a<t.length;a++)n[a]=t.charCodeAt(a);return n}const bt=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||"GET")!=="GET"&&M.delete(xe(e)),bt(e,t));const M=new Map;function kt(e,t){const n=xe(e,t),a=document.querySelector(n);if(a?.textContent){a.remove();let{body:r,...s}=JSON.parse(a.textContent);const o=a.getAttribute("data-ttl");return o&&M.set(n,{body:r,init:s,ttl:1e3*Number(o)}),a.getAttribute("data-b64")!==null&&(r=yt(r)),Promise.resolve(new Response(r,s))}return window.fetch(e,t)}function Et(e,t,n){if(M.size>0){const a=xe(e,n),r=M.get(a);if(r){if(performance.now()<r.ttl&&["default","force-cache","only-if-cached",void 0].includes(n?.cache))return new Response(r.body,r.init);M.delete(a)}}return window.fetch(t,n)}function xe(e,t){let a=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){const r=[];t.headers&&r.push([...new Headers(t.headers)].join(",")),t.body&&(typeof t.body=="string"||ArrayBuffer.isView(t.body))&&r.push(t.body),a+=`[data-hash="${vt(...r)}"]`}return a}const St=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function Rt(e){const t=[];return{pattern:e==="/"?/^\/$/:new RegExp(`^${Lt(e).map(a=>{const r=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(a);if(r)return t.push({name:r[1],matcher:r[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const s=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(a);if(s)return t.push({name:s[1],matcher:s[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!a)return;const o=a.split(/\[(.+?)\](?!\])/);return"/"+o.map((c,l)=>{if(l%2){if(c.startsWith("x+"))return pe(String.fromCharCode(parseInt(c.slice(2),16)));if(c.startsWith("u+"))return pe(String.fromCharCode(...c.slice(2).split("-").map(m=>parseInt(m,16))));const f=St.exec(c),[,h,w,u,g]=f;return t.push({name:u,matcher:g,optional:!!h,rest:!!w,chained:w?l===1&&o[0]==="":!1}),w?"([^]*?)":h?"([^/]*)?":"([^/]+?)"}return pe(c)}).join("")}).join("")}/?$`),params:t}}function xt(e){return e!==""&&!/^\([^)]+\)$/.test(e)}function Lt(e){return e.slice(1).split("/").filter(xt)}function Ut(e,t,n){const a={},r=e.slice(1),s=r.filter(i=>i!==void 0);let o=0;for(let i=0;i<t.length;i+=1){const c=t[i];let l=r[i-o];if(c.chained&&c.rest&&o&&(l=r.slice(i-o,i+1).filter(f=>f).join("/"),o=0),l===void 0){c.rest&&(a[c.name]="");continue}if(!c.matcher||n[c.matcher](l)){a[c.name]=l;const f=t[i+1],h=r[i+1];f&&!f.rest&&f.optional&&h&&c.chained&&(o=0),!f&&!h&&Object.keys(a).length===s.length&&(o=0);continue}if(c.optional&&c.chained){o++;continue}return}if(!o)return a}function pe(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function At({nodes:e,server_loads:t,dictionary:n,matchers:a}){const r=new Set(t);return Object.entries(n).map(([i,[c,l,f]])=>{const{pattern:h,params:w}=Rt(i),u={id:i,exec:g=>{const m=h.exec(g);if(m)return Ut(m,w,a)},errors:[1,...f||[]].map(g=>e[g]),layouts:[0,...l||[]].map(o),leaf:s(c)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function s(i){const c=i<0;return c&&(i=~i),[c,e[i]]}function o(i){return i===void 0?i:[r.has(i),e[i]]}}function We(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function Ve(e,t,n=JSON.stringify){const a=n(t);try{sessionStorage[e]=a}catch{}}const L=globalThis.__sveltekit_zipoty?.base??"",Tt=globalThis.__sveltekit_zipoty?.assets??L??"",It="1766104549989",Ye="sveltekit:snapshot",He="sveltekit:scroll",Je="sveltekit:states",Ot="sveltekit:pageurl",z="sveltekit:history",G="sveltekit:navigation",j={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},ce=location.origin;function Le(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){const n=document.getElementsByTagName("base");t=n.length?n[0].href:document.URL}return new URL(e,t)}function le(){return{x:pageXOffset,y:pageYOffset}}function V(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const ze={...j,"":j.hover};function Xe(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function Qe(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=Xe(e)}}function me(e,t,n){let a;try{if(a=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&a.hash.match(/^#[^/]/)){const i=location.hash.split("#")[1]||"/";a.hash=`#${i}${a.hash}`}}catch{}const r=e instanceof SVGAElement?e.target.baseVal:e.target,s=!a||!!r||ue(a,t,n)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),o=a?.origin===ce&&e.hasAttribute("download");return{url:a,external:s,target:r,download:o}}function ee(e){let t=null,n=null,a=null,r=null,s=null,o=null,i=e;for(;i&&i!==document.documentElement;)a===null&&(a=V(i,"preload-code")),r===null&&(r=V(i,"preload-data")),t===null&&(t=V(i,"keepfocus")),n===null&&(n=V(i,"noscroll")),s===null&&(s=V(i,"reload")),o===null&&(o=V(i,"replacestate")),i=Xe(i);function c(l){switch(l){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:ze[a??"off"],preload_data:ze[r??"off"],keepfocus:c(t),noscroll:c(n),reload:c(s),replace_state:c(o)}}function Be(e){const t=ke(e);let n=!0;function a(){n=!0,t.update(o=>o)}function r(o){n=!1,t.set(o)}function s(o){let i;return t.subscribe(c=>{(i===void 0||n&&c!==i)&&o(i=c)})}return{notify:a,set:r,subscribe:s}}const Ze={v:()=>{}};function Pt(){const{set:e,subscribe:t}=ke(!1);let n;async function a(){clearTimeout(n);try{const r=await fetch(`${Tt}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const o=(await r.json()).version!==It;return o&&(e(!0),Ze.v(),clearTimeout(n)),o}catch{return!1}}return{subscribe:t,check:a}}function ue(e,t,n){return e.origin!==ce||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function rn(e){}const et=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...et];const $t=new Set([...et]);[...$t];function Ct(e){return e.filter(t=>t!=null)}function Ue(e){return e instanceof Ee||e instanceof Re?e.status:500}function jt(e){return e instanceof Re?e.text:"Internal Error"}let k,W,ge;const Nt=De.toString().includes("$$")||/function \w+\(\) \{\}/.test(De.toString());Nt?(k={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},W={current:null},ge={current:!1}):(k=new class{#e=A({});get data(){return T(this.#e)}set data(t){I(this.#e,t)}#t=A(null);get form(){return T(this.#t)}set form(t){I(this.#t,t)}#n=A(null);get error(){return T(this.#n)}set error(t){I(this.#n,t)}#a=A({});get params(){return T(this.#a)}set params(t){I(this.#a,t)}#r=A({id:null});get route(){return T(this.#r)}set route(t){I(this.#r,t)}#o=A({});get state(){return T(this.#o)}set state(t){I(this.#o,t)}#s=A(-1);get status(){return T(this.#s)}set status(t){I(this.#s,t)}#i=A(new URL("https://example.com"));get url(){return T(this.#i)}set url(t){I(this.#i,t)}},W=new class{#e=A(null);get current(){return T(this.#e)}set current(t){I(this.#e,t)}},ge=new class{#e=A(!1);get current(){return T(this.#e)}set current(t){I(this.#e,t)}},Ze.v=()=>ge.current=!0);function tt(e){Object.assign(k,e)}const Dt=new Set(["icon","shortcut icon","apple-touch-icon"]),D=We(He)??{},Y=We(Ye)??{},C={url:Be({}),page:Be({}),navigating:ke(null),updated:Pt()};function Ae(e){D[e]=le()}function qt(e,t){let n=e+1;for(;D[n];)delete D[n],n+=1;for(n=t+1;Y[n];)delete Y[n],n+=1}function H(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(()=>{})}async function nt(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(L||"/");e&&await e.update()}}function Ke(){}let Te,we,te,O,ve,v;const ne=[],ae=[];let R=null;function ye(){R?.fork?.then(e=>e?.discard()),R=null}const Q=new Map,at=new Set,Vt=new Set,F=new Set;let _={branch:[],error:null,url:null},rt=!1,re=!1,Me=!0,J=!1,K=!1,ot=!1,Ie=!1,Oe,y,x,N;const oe=new Set,Fe=new Map;async function ln(e,t,n){globalThis.__sveltekit_zipoty?.data&&globalThis.__sveltekit_zipoty.data,document.URL!==location.href&&(location.href=location.href),v=e,await e.hooks.init?.(),Te=At(e),O=document.documentElement,ve=t,we=e.nodes[0],te=e.nodes[1],we(),te(),y=history.state?.[z],x=history.state?.[G],y||(y=x=Date.now(),history.replaceState({...history.state,[z]:y,[G]:x},""));const a=D[y];function r(){a&&(history.scrollRestoration="manual",scrollTo(a.x,a.y))}n?(r(),await Zt(ve,n)):(await B({type:"enter",url:Le(v.hash?nn(new URL(location.href)):location.href),replace_state:!0}),r()),Qt()}function zt(){ne.length=0,Ie=!1}function st(e){ae.some(t=>t?.snapshot)&&(Y[e]=ae.map(t=>t?.snapshot?.capture()))}function it(e){Y[e]?.forEach((t,n)=>{ae[n]?.snapshot?.restore(t)})}function Ge(){Ae(y),Ve(He,D),st(x),Ve(Ye,Y)}async function ct(e,t,n,a){let r;t.invalidateAll&&ye(),await B({type:"goto",url:Le(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:a,accept:()=>{t.invalidateAll&&(Ie=!0,r=[...Fe.keys()]),t.invalidate&&t.invalidate.forEach(Xt)}}),t.invalidateAll&&Z().then(Z).then(()=>{Fe.forEach(({resource:s},o)=>{r?.includes(o)&&s.refresh?.()})})}async function Bt(e){if(e.id!==R?.id){ye();const t={};if(oe.add(t),R={id:e.id,token:t,promise:ut({...e,preload:t}).then(n=>(oe.delete(t),n.type==="loaded"&&n.state.error&&ye(),n)),fork:null},qe){const n=R;n.fork=n.promise.then(a=>{if(n===R&&a.type==="loaded")try{return qe(()=>{Oe.$set(a.props),tt(a.props.page)})}catch{}return null})}}return R.promise}async function _e(e){const t=(await fe(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].map(n=>n?.[1]()))}async function lt(e,t,n){_=e.state;const a=document.querySelector("style[data-sveltekit]");if(a&&a.remove(),Object.assign(k,e.props.page),Oe=new v.root({target:t,props:{...e.props,stores:C,components:ae},hydrate:n,sync:!1}),await Promise.resolve(),it(x),n){const r={from:null,to:{params:_.params,route:{id:_.route?.id??null},url:new URL(location.href)},willUnload:!1,type:"enter",complete:Promise.resolve()};F.forEach(s=>s(r))}re=!0}function se({url:e,params:t,branch:n,status:a,error:r,route:s,form:o}){let i="never";if(L&&(e.pathname===L||e.pathname===L+"/"))i="always";else for(const u of n)u?.slash!==void 0&&(i=u.slash);e.pathname=_t(e.pathname,i),e.search=e.search;const c={type:"loaded",state:{url:e,params:t,branch:n,error:r,route:s},props:{constructors:Ct(n).map(u=>u.node.component),page:Ne(k)}};o!==void 0&&(c.props.form=o);let l={},f=!k,h=0;for(let u=0;u<Math.max(n.length,_.branch.length);u+=1){const g=n[u],m=_.branch[u];g?.data!==m?.data&&(f=!0),g&&(l={...l,...g.data},f&&(c.props[`data_${h}`]=l),h+=1)}return(!_.url||e.href!==_.url.href||_.error!==r||o!==void 0&&o!==k.form||f)&&(c.props.page={error:r,params:t,route:{id:s?.id??null},state:{},status:a,url:new URL(e),form:o??null,data:f?l:k.data}),c}async function Pe({loader:e,parent:t,url:n,params:a,route:r,server_data_node:s}){let o=null;const i={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},c=await e();return{node:c,loader:e,server:s,universal:c.universal?.load?{type:"data",data:o,uses:i}:null,data:o??s?.data??null,slash:c.universal?.trailingSlash??s?.slash}}function Kt(e,t,n){let a=e instanceof Request?e.url:e;const r=new URL(a,n);r.origin===n.origin&&(a=r.href.slice(n.origin.length));const s=re?Et(a,r.href,t):kt(a,t);return{resolved:r,promise:s}}function Mt(e,t,n,a,r,s){if(Ie)return!0;if(!r)return!1;if(r.parent&&e||r.route&&t||r.url&&n)return!0;for(const o of r.search_params)if(a.has(o))return!0;for(const o of r.params)if(s[o]!==_.params[o])return!0;for(const o of r.dependencies)if(ne.some(i=>i(new URL(o))))return!0;return!1}function $e(e,t){return e?.type==="data"?e:e?.type==="skip"?t??null:null}function Ft(e,t){if(!e)return new Set(t.searchParams.keys());const n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(const a of n){const r=e.searchParams.getAll(a),s=t.searchParams.getAll(a);r.every(o=>s.includes(o))&&s.every(o=>r.includes(o))&&n.delete(a)}return n}function Gt({error:e,url:t,route:n,params:a}){return{type:"loaded",state:{error:e,url:t,route:n,params:a,branch:[]},props:{page:Ne(k),constructors:[]}}}async function ut({id:e,invalidating:t,url:n,params:a,route:r,preload:s}){if(R?.id===e)return oe.delete(R.token),R.promise;const{errors:o,layouts:i,leaf:c}=r,l=[...i,c];o.forEach(p=>p?.().catch(()=>{})),l.forEach(p=>p?.[1]().catch(()=>{}));const f=_.url?e!==ie(_.url):!1,h=_.route?r.id!==_.route.id:!1,w=Ft(_.url,n);let u=!1;const g=l.map(async(p,d)=>{if(!p)return;const E=_.branch[d];return p[1]===E?.loader&&!Mt(u,h,f,w,E.universal?.uses,a)?E:(u=!0,Pe({loader:p[1],url:n,params:a,route:r,parent:async()=>{const P={};for(let U=0;U<d;U+=1)Object.assign(P,(await g[U])?.data);return P},server_data_node:$e(p[0]?{type:"skip"}:null,p[0]?E?.server:void 0)}))});for(const p of g)p.catch(()=>{});const m=[];for(let p=0;p<l.length;p+=1)if(l[p])try{m.push(await g[p])}catch(d){if(d instanceof Se)return{type:"redirect",location:d.location};if(oe.has(s))return Gt({error:await X(d,{params:a,url:n,route:{id:r.id}}),url:n,params:a,route:r});let E=Ue(d),S;if(d instanceof Ee)S=d.body;else{if(await C.updated.check())return await nt(),await H(n);S=await X(d,{params:a,url:n,route:{id:r.id}})}const P=await Wt(p,m,o);return P?se({url:n,params:a,branch:m.slice(0,P.idx).concat(P.node),status:E,error:S,route:r}):await dt(n,{id:r.id},S,E)}else m.push(void 0);return se({url:n,params:a,branch:m,status:200,error:null,route:r,form:t?void 0:null})}async function Wt(e,t,n){for(;e--;)if(n[e]){let a=e;for(;!t[a];)a-=1;try{return{idx:a+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function Ce({status:e,error:t,url:n,route:a}){const r={};let s=null;try{const o=await Pe({loader:we,url:n,params:r,route:a,parent:()=>Promise.resolve({}),server_data_node:$e(s)}),i={node:await te(),loader:te,universal:null,server:null,data:null};return se({url:n,params:r,branch:[o,i],status:e,error:t,route:null})}catch(o){if(o instanceof Se)return ct(new URL(o.location,location.href),{},0);throw o}}async function Yt(e){const t=e.href;if(Q.has(t))return Q.get(t);let n;try{const a=(async()=>{let r=await v.hooks.reroute({url:new URL(e),fetch:async(s,o)=>Kt(s,o,e).promise})??e;if(typeof r=="string"){const s=new URL(e);v.hash?s.hash=r:s.pathname=r,r=s}return r})();Q.set(t,a),n=await a}catch{Q.delete(t);return}return n}async function fe(e,t){if(e&&!ue(e,L,v.hash)){const n=await Yt(e);if(!n)return;const a=Ht(n);for(const r of Te){const s=r.exec(a);if(s)return{id:ie(e),invalidating:t,route:r,params:wt(s),url:e}}}}function Ht(e){return mt(v.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(L.length))||"/"}function ie(e){return(v.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function ft({url:e,type:t,intent:n,delta:a,event:r}){let s=!1;const o=je(_,n,e,t);a!==void 0&&(o.navigation.delta=a),r!==void 0&&(o.navigation.event=r);const i={...o.navigation,cancel:()=>{s=!0,o.reject(new Error("navigation cancelled"))}};return J||at.forEach(c=>c(i)),s?null:o}async function B({type:e,url:t,popped:n,keepfocus:a,noscroll:r,replace_state:s,state:o={},redirect_count:i=0,nav_token:c={},accept:l=Ke,block:f=Ke,event:h}){const w=N;N=c;const u=await fe(t,!1),g=e==="enter"?je(_,u,t,e):ft({url:t,type:e,delta:n?.delta,intent:u,event:h});if(!g){f(),N===c&&(N=w);return}const m=y,p=x;l(),J=!0,re&&g.navigation.type!=="enter"&&C.navigating.set(W.current=g.navigation);let d=u&&await ut(u);if(!d){if(ue(t,L,v.hash))return await H(t,s);d=await dt(t,{id:null},await X(new Re(404,"Not Found",`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,s)}if(t=u?.url||t,N!==c)return g.reject(new Error("navigation aborted")),!1;if(d.type==="redirect"){if(i<20){await B({type:e,url:new URL(d.location,t),popped:n,keepfocus:a,noscroll:r,replace_state:s,state:o,redirect_count:i+1,nav_token:c}),g.fulfil(void 0);return}d=await Ce({status:500,error:await X(new Error("Redirect loop"),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}})}else d.props.page.status>=400&&await C.updated.check()&&(await nt(),await H(t,s));if(zt(),Ae(m),st(p),d.props.page.url.pathname!==t.pathname&&(t.pathname=d.props.page.url.pathname),o=n?n.state:o,!n){const b=s?0:1,q={[z]:y+=b,[G]:x+=b,[Je]:o};(s?history.replaceState:history.pushState).call(history,q,"",t),s||qt(y,x)}const E=u&&R?.id===u.id?R.fork:null;R=null,d.props.page.state=o;let S;if(re){const b=(await Promise.all(Array.from(Vt,$=>$(g.navigation)))).filter($=>typeof $=="function");if(b.length>0){let $=function(){b.forEach(de=>{F.delete(de)})};b.push($),b.forEach(de=>{F.add(de)})}_=d.state,d.props.page&&(d.props.page.url=t);const q=E&&await E;q?S=q.commit():(Oe.$set(d.props),tt(d.props.page),S=gt?.()),ot=!0}else await lt(d,ve,!1);const{activeElement:P}=document;await S,await Z(),await Z();let U=n?n.scroll:r?le():null;if(Me){const b=t.hash&&document.getElementById(ht(t));if(U)scrollTo(U.x,U.y);else if(b){b.scrollIntoView();const{top:q,left:$}=b.getBoundingClientRect();U={x:pageXOffset+$,y:pageYOffset+q}}else scrollTo(0,0)}const pt=document.activeElement!==P&&document.activeElement!==document.body;!a&&!pt&&tn(t,U),Me=!0,d.props.page&&Object.assign(k,d.props.page),J=!1,e==="popstate"&&it(x),g.fulfil(void 0),F.forEach(b=>b(g.navigation)),C.navigating.set(W.current=null)}async function dt(e,t,n,a,r){return e.origin===ce&&e.pathname===location.pathname&&!rt?await Ce({status:a,error:n,url:e,route:t}):await H(e,r)}function Jt(){let e,t,n;O.addEventListener("mousemove",i=>{const c=i.target;clearTimeout(e),e=setTimeout(()=>{s(c,j.hover)},20)});function a(i){i.defaultPrevented||s(i.composedPath()[0],j.tap)}O.addEventListener("mousedown",a),O.addEventListener("touchstart",a,{passive:!0});const r=new IntersectionObserver(i=>{for(const c of i)c.isIntersecting&&(_e(new URL(c.target.href)),r.unobserve(c.target))},{threshold:0});async function s(i,c){const l=Qe(i,O),f=l===t&&c>=n;if(!l||f)return;const{url:h,external:w,download:u}=me(l,L,v.hash);if(w||u)return;const g=ee(l),m=h&&ie(_.url)===ie(h);if(!(g.reload||m))if(c<=g.preload_data){t=l,n=j.tap;const p=await fe(h,!1);if(!p)return;Bt(p)}else c<=g.preload_code&&(t=l,n=c,_e(h))}function o(){r.disconnect();for(const i of O.querySelectorAll("a")){const{url:c,external:l,download:f}=me(i,L,v.hash);if(l||f)continue;const h=ee(i);h.reload||(h.preload_code===j.viewport&&r.observe(i),h.preload_code===j.eager&&_e(c))}}F.add(o),o()}function X(e,t){if(e instanceof Ee)return e.body;const n=Ue(e),a=jt(e);return v.hooks.handleError({error:e,event:t,status:n,message:a})??{message:a}}function un(e,t={}){return e=new URL(Le(e)),e.origin!==ce?Promise.reject(new Error("goto: invalid URL")):ct(e,t,0)}function Xt(e){if(typeof e=="function")ne.push(e);else{const{href:t}=new URL(e,location.href);ne.push(n=>n.href===t)}}function Qt(){history.scrollRestoration="manual",addEventListener("beforeunload",t=>{let n=!1;if(Ge(),!J){const a=je(_,void 0,null,"leave"),r={...a.navigation,cancel:()=>{n=!0,a.reject(new Error("navigation cancelled"))}};at.forEach(s=>s(r))}n?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&Ge()}),navigator.connection?.saveData||Jt(),O.addEventListener("click",async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const n=Qe(t.composedPath()[0],O);if(!n)return;const{url:a,external:r,target:s,download:o}=me(n,L,v.hash);if(!a)return;if(s==="_parent"||s==="_top"){if(window.parent!==window)return}else if(s&&s!=="_self")return;const i=ee(n);if(!(n instanceof SVGAElement)&&a.protocol!==location.protocol&&!(a.protocol==="https:"||a.protocol==="http:")||o)return;const[l,f]=(v.hash?a.hash.replace(/^#/,""):a.href).split("#"),h=l===he(location);if(r||i.reload&&(!h||!f)){ft({url:a,type:"link",event:t})?J=!0:t.preventDefault();return}if(f!==void 0&&h){const[,w]=_.url.href.split("#");if(w===f){if(t.preventDefault(),f===""||f==="top"&&n.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const u=n.ownerDocument.getElementById(decodeURIComponent(f));u&&(u.scrollIntoView(),u.focus())}return}if(K=!0,Ae(y),e(a),!i.replace_state)return;K=!1}t.preventDefault(),await new Promise(w=>{requestAnimationFrame(()=>{setTimeout(w,0)}),setTimeout(w,100)}),await B({type:"link",url:a,keepfocus:i.keepfocus,noscroll:i.noscroll,replace_state:i.replace_state??a.href===location.href,event:t})}),O.addEventListener("submit",t=>{if(t.defaultPrevented)return;const n=HTMLFormElement.prototype.cloneNode.call(t.target),a=t.submitter;if((a?.formTarget||n.target)==="_blank"||(a?.formMethod||n.method)!=="get")return;const o=new URL(a?.hasAttribute("formaction")&&a?.formAction||n.action);if(ue(o,L,!1))return;const i=t.target,c=ee(i);if(c.reload)return;t.preventDefault(),t.stopPropagation();const l=new FormData(i,a);o.search=new URLSearchParams(l).toString(),B({type:"form",url:o,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??o.href===location.href,event:t})}),addEventListener("popstate",async t=>{if(!be){if(t.state?.[z]){const n=t.state[z];if(N={},n===y)return;const a=D[n],r=t.state[Je]??{},s=new URL(t.state[Ot]??location.href),o=t.state[G],i=_.url?he(location)===he(_.url):!1;if(o===x&&(ot||i)){r!==k.state&&(k.state=r),e(s),D[y]=le(),a&&scrollTo(a.x,a.y),y=n;return}const l=n-y;await B({type:"popstate",url:s,popped:{state:r,scroll:a,delta:l},accept:()=>{y=n,x=o},block:()=>{history.go(-l)},nav_token:N,event:t})}else if(!K){const n=new URL(location.href);e(n),v.hash&&location.reload()}}}),addEventListener("hashchange",()=>{K&&(K=!1,history.replaceState({...history.state,[z]:++y,[G]:x},"",location.href))});for(const t of document.querySelectorAll("link"))Dt.has(t.rel)&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&C.navigating.set(W.current=null)});function e(t){_.url=k.url=t,C.page.set(Ne(k)),C.page.notify()}}async function Zt(e,{status:t=200,error:n,node_ids:a,params:r,route:s,server_route:o,data:i,form:c}){rt=!0;const l=new URL(location.href);let f;({params:r={},route:s={id:null}}=await fe(l,!1)||{}),f=Te.find(({id:u})=>u===s.id);let h,w=!0;try{const u=a.map(async(m,p)=>{const d=i[p];return d?.uses&&(d.uses=en(d.uses)),Pe({loader:v.nodes[m],url:l,params:r,route:s,parent:async()=>{const E={};for(let S=0;S<p;S+=1)Object.assign(E,(await u[S]).data);return E},server_data_node:$e(d)})}),g=await Promise.all(u);if(f){const m=f.layouts;for(let p=0;p<m.length;p++)m[p]||g.splice(p,0,void 0)}h=se({url:l,params:r,branch:g,status:t,error:n,form:c,route:f??null})}catch(u){if(u instanceof Se){await H(new URL(u.location,location.href));return}h=await Ce({status:Ue(u),error:await X(u,{url:l,params:r,route:s}),url:l,route:s}),e.textContent="",w=!1}h.props.page&&(h.props.page.state={}),await lt(h,e,w)}function en(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}let be=!1;function tn(e,t=null){const n=document.querySelector("[autofocus]");if(n)n.focus();else{const a=ht(e);if(a&&document.getElementById(a)){const{x:s,y:o}=t??le();setTimeout(()=>{const i=history.state;be=!0,location.replace(`#${a}`),v.hash&&location.replace(e.hash),history.replaceState(i,"",e.hash),scrollTo(s,o),be=!1})}else{const s=document.body,o=s.getAttribute("tabindex");s.tabIndex=-1,s.focus({preventScroll:!0,focusVisible:!1}),o!==null?s.setAttribute("tabindex",o):s.removeAttribute("tabindex")}const r=getSelection();if(r&&r.type!=="None"){const s=[];for(let o=0;o<r.rangeCount;o+=1)s.push(r.getRangeAt(o));setTimeout(()=>{if(r.rangeCount===s.length){for(let o=0;o<r.rangeCount;o+=1){const i=s[o],c=r.getRangeAt(o);if(i.commonAncestorContainer!==c.commonAncestorContainer||i.startContainer!==c.startContainer||i.endContainer!==c.endContainer||i.startOffset!==c.startOffset||i.endOffset!==c.endOffset)return}r.removeAllRanges()}})}}}function je(e,t,n,a){let r,s;const o=new Promise((c,l)=>{r=c,s=l});return o.catch(()=>{}),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n},willUnload:!t,type:a,complete:o},fulfil:r,reject:s}}function Ne(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function nn(e){const t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function ht(e){let t;if(v.hash){const[,,n]=e.hash.split("#",3);t=n??""}else t=e.hash.slice(1);return decodeURIComponent(t)}export{ln as a,un as g,rn as l,k as p,C as s};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as o,a as r}from"../chunks/SJbJsR2v.js";export{o as load_css,r as start};
|