@funstack/static 0.0.1-alpha.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/build-BhjMQ5b5.mjs +5 -0
- package/dist/build2-BFobw-wK.mjs +5269 -0
- package/dist/build2-BFobw-wK.mjs.map +1 -0
- package/dist/chunk-CVYhg9ik.mjs +45 -0
- package/dist/chunk-ezxmLbPQ-BTJgBwYB.mjs +29 -0
- package/dist/chunk-ezxmLbPQ-BTJgBwYB.mjs.map +1 -0
- package/dist/chunk-yG6w5hYl.mjs +41 -0
- package/dist/chunk-yG6w5hYl.mjs.map +1 -0
- package/dist/config-ChWWLT6T.mjs +41331 -0
- package/dist/config-ChWWLT6T.mjs.map +1 -0
- package/dist/dist-CijqjcI1.mjs +6699 -0
- package/dist/dist-CijqjcI1.mjs.map +1 -0
- package/dist/false-CW0Ab7Sy.mjs +6 -0
- package/dist/false-CW0Ab7Sy.mjs.map +1 -0
- package/dist/false-CoaQMKhH.mjs +3 -0
- package/dist/index.d.mts +30 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +6083 -0
- package/dist/index.mjs.map +1 -0
- package/dist/lib-BY2rcZzh.mjs +366 -0
- package/dist/lib-BY2rcZzh.mjs.map +1 -0
- package/dist/node-entry-Elsz8XBx.mjs +18443 -0
- package/dist/node-entry-Elsz8XBx.mjs.map +1 -0
- package/dist/parseAst-C9pD5vU6.mjs +2109 -0
- package/dist/parseAst-C9pD5vU6.mjs.map +1 -0
- package/dist/picocolors-BxaHL81J-CyL9Yrra.mjs +74 -0
- package/dist/picocolors-BxaHL81J-CyL9Yrra.mjs.map +1 -0
- package/dist/postcss-CQ0jlpM-.mjs +5439 -0
- package/dist/postcss-CQ0jlpM-.mjs.map +1 -0
- package/dist/postcss-import-D8PxJXZF.mjs +452 -0
- package/dist/postcss-import-D8PxJXZF.mjs.map +1 -0
- package/dist/rollup-Cs2z7Zqk.mjs +9 -0
- package/dist/rollup-Cs2z7Zqk.mjs.map +1 -0
- package/dist/watch-70G_ECVN.mjs +7044 -0
- package/dist/watch-70G_ECVN.mjs.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["relative","encode","n","btoa","encode","segment","replacement","walk","state","node","result","path","scope","n","#q","resolve","#waitQueue","#deferred","#next","#slice","#type","#size","#name","#lastModified","promises","E","A","Q","B","g","I","o","D","K","C","pkgJsonPath","pkgJson","promises","root","fs","fsSync","esModuleLexer.parse","URL","#href","#protocol","#host","#pathname","#search","#url","#searchParams","#pos","#getPos","resolve","path","#req","#headers","Request","#request","#url","#abortController","#bodyStream","esModuleLexer.parse","vite","esModuleLexer.init","buildApp","vite.mergeConfig","defaultServerConditions","vite.isRunnableDevEnvironment","debug","entry: typeof import(\"../rsc/entry\")","resolvedRootEntry: string","resolvedAppEntry: string","rsc"],"sources":["../../../node_modules/.pnpm/@vitejs+plugin-rsc@0.5.11_react-dom@19.2.3_react@19.2.3__react-server-dom-webpack@19.2._03a3ec295b51aea391eb5c72e3c0e944/node_modules/@vitejs/plugin-rsc/dist/dist-BRSdGcl7.js","../../../node_modules/.pnpm/@jridgewell+sourcemap-codec@1.5.5/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs","../../../node_modules/.pnpm/magic-string@0.30.21/node_modules/magic-string/dist/magic-string.es.mjs","../../../node_modules/.pnpm/estree-walker@3.0.3/node_modules/estree-walker/src/walker.js","../../../node_modules/.pnpm/estree-walker@3.0.3/node_modules/estree-walker/src/sync.js","../../../node_modules/.pnpm/estree-walker@3.0.3/node_modules/estree-walker/src/index.js","../../../node_modules/.pnpm/zimmerframe@1.1.4/node_modules/zimmerframe/src/walk.js","../../../node_modules/.pnpm/is-reference@3.0.3/node_modules/is-reference/src/index.js","../../../node_modules/.pnpm/periscopic@4.0.2/node_modules/periscopic/src/index.js","../../../node_modules/.pnpm/@vitejs+plugin-rsc@0.5.11_react-dom@19.2.3_react@19.2.3__react-server-dom-webpack@19.2._03a3ec295b51aea391eb5c72e3c0e944/node_modules/@vitejs/plugin-rsc/dist/transforms-BcLQCXiC.js","../../../node_modules/.pnpm/turbo-stream@3.1.0/node_modules/turbo-stream/dist/turbo-stream.mjs","../../../node_modules/.pnpm/@vitejs+plugin-rsc@0.5.11_react-dom@19.2.3_react@19.2.3__react-server-dom-webpack@19.2._03a3ec295b51aea391eb5c72e3c0e944/node_modules/@vitejs/plugin-rsc/dist/rpc-CRpYrgKq.js","../../../node_modules/.pnpm/@vitejs+plugin-rsc@0.5.11_react-dom@19.2.3_react@19.2.3__react-server-dom-webpack@19.2._03a3ec295b51aea391eb5c72e3c0e944/node_modules/@vitejs/plugin-rsc/dist/plugin-D1MQNdps.js","../../../node_modules/.pnpm/@vitejs+plugin-rsc@0.5.11_react-dom@19.2.3_react@19.2.3__react-server-dom-webpack@19.2._03a3ec295b51aea391eb5c72e3c0e944/node_modules/@vitejs/plugin-rsc/dist/encryption-utils-6p8t4Xqm.js","../../../node_modules/.pnpm/@vitejs+plugin-rsc@0.5.11_react-dom@19.2.3_react@19.2.3__react-server-dom-webpack@19.2._03a3ec295b51aea391eb5c72e3c0e944/node_modules/@vitejs/plugin-rsc/dist/shared-AtH_QTi7.js","../../../node_modules/.pnpm/es-module-lexer@2.0.0/node_modules/es-module-lexer/dist/lexer.js","../../../node_modules/.pnpm/vite@7.3.1_@types+node@25.0.6_terser@5.44.1/node_modules/vite/dist/node/index.js","../../../node_modules/.pnpm/vitefu@1.1.1_vite@7.3.1_@types+node@25.0.6_terser@5.44.1_/node_modules/vitefu/src/sync.cjs","../../../node_modules/.pnpm/vitefu@1.1.1_vite@7.3.1_@types+node@25.0.6_terser@5.44.1_/node_modules/vitefu/src/index.js","../../../node_modules/.pnpm/@vitejs+plugin-rsc@0.5.11_react-dom@19.2.3_react@19.2.3__react-server-dom-webpack@19.2._03a3ec295b51aea391eb5c72e3c0e944/node_modules/@vitejs/plugin-rsc/dist/cjs-DHD_0drE.js","../../../node_modules/.pnpm/srvx@0.10.0/node_modules/srvx/dist/_chunks/_inherit.mjs","../../../node_modules/.pnpm/srvx@0.10.0/node_modules/srvx/dist/_chunks/_url.mjs","../../../node_modules/.pnpm/srvx@0.10.0/node_modules/srvx/dist/adapters/node.mjs","../../../node_modules/.pnpm/js-tokens@9.0.1/node_modules/js-tokens/index.js","../../../node_modules/.pnpm/strip-literal@3.1.0/node_modules/strip-literal/dist/index.mjs","../../../node_modules/.pnpm/@vitejs+plugin-rsc@0.5.11_react-dom@19.2.3_react@19.2.3__react-server-dom-webpack@19.2._03a3ec295b51aea391eb5c72e3c0e944/node_modules/@vitejs/plugin-rsc/dist/plugin-BcfVRLx-.js","../src/build/rscPath.ts","../src/build/buildApp.ts","../src/server.ts","../src/index.ts"],"sourcesContent":["//#region ../../node_modules/.pnpm/@hiogawa+utils@1.7.0/node_modules/@hiogawa/utils/dist/index.js\nfunction tinyassert(value, message) {\n\tif (value) return;\n\tif (message instanceof Error) throw message;\n\tthrow new TinyAssertionError(message, tinyassert);\n}\nvar TinyAssertionError = class extends Error {\n\tconstructor(message, stackStartFunction) {\n\t\tsuper(message ?? \"TinyAssertionError\");\n\t\tif (stackStartFunction && \"captureStackTrace\" in Error) Error.captureStackTrace(this, stackStartFunction);\n\t}\n};\nfunction safeFunctionCast(f) {\n\treturn f;\n}\nfunction once(f) {\n\tlet result;\n\tlet called = false;\n\treturn safeFunctionCast(function(...args) {\n\t\tif (!called) {\n\t\t\tresult = f.apply(this, args);\n\t\t\tcalled = true;\n\t\t}\n\t\treturn result;\n\t});\n}\nfunction memoize(f, options) {\n\tconst keyFn = options?.keyFn ?? ((...args) => args[0]);\n\tconst cache = options?.cache ?? /* @__PURE__ */ new Map();\n\treturn safeFunctionCast(function(...args) {\n\t\tconst key = keyFn(...args);\n\t\tconst value = cache.get(key);\n\t\tif (typeof value !== \"undefined\") return value;\n\t\tconst newValue = f.apply(this, args);\n\t\tcache.set(key, newValue);\n\t\treturn newValue;\n\t});\n}\nfunction escapeRegExp(input) {\n\treturn input.replace(/[/\\-\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\n}\nfunction createDebug(namespace) {\n\tconst pattern = createDebugPattern(namespace);\n\treturn (...args) => {\n\t\tconst flag = globalThis.process?.env?.[\"DEBUG\"] ?? globalThis.__DEBUG;\n\t\tif (typeof flag === \"string\" && pattern.test(flag)) {\n\t\t\tlet prefix = `\\u22B3 ${namespace}`;\n\t\t\tconst stderr = globalThis?.process?.stderr;\n\t\t\tif (stderr) {\n\t\t\t\tif (stderr?.isTTY) prefix = `\\x1B[1m${prefix}\\x1B[22m`;\n\t\t\t\tconsole.error(prefix, ...args);\n\t\t\t} else console.debug(prefix, ...args);\n\t\t}\n\t};\n}\nfunction createDebugPattern(namespace) {\n\tconst parts = namespace.split(\":\");\n\tconst alts = [namespace];\n\tfor (let i = 1; i < parts.length; i++) alts.push(parts.slice(0, i).join(\":\") + \":*\");\n\tconst pattern = alts.map((pattern2) => escapeRegExp(pattern2)).join(\"|\");\n\treturn /* @__PURE__ */ new RegExp(`(^|,)(${pattern})($|,)`);\n}\n\n//#endregion\nexport { tinyassert as i, memoize as n, once as r, createDebug as t };","// src/vlq.ts\nvar comma = \",\".charCodeAt(0);\nvar semicolon = \";\".charCodeAt(0);\nvar chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar intToChar = new Uint8Array(64);\nvar charToInt = new Uint8Array(128);\nfor (let i = 0; i < chars.length; i++) {\n const c = chars.charCodeAt(i);\n intToChar[i] = c;\n charToInt[c] = i;\n}\nfunction decodeInteger(reader, relative) {\n let value = 0;\n let shift = 0;\n let integer = 0;\n do {\n const c = reader.next();\n integer = charToInt[c];\n value |= (integer & 31) << shift;\n shift += 5;\n } while (integer & 32);\n const shouldNegate = value & 1;\n value >>>= 1;\n if (shouldNegate) {\n value = -2147483648 | -value;\n }\n return relative + value;\n}\nfunction encodeInteger(builder, num, relative) {\n let delta = num - relative;\n delta = delta < 0 ? -delta << 1 | 1 : delta << 1;\n do {\n let clamped = delta & 31;\n delta >>>= 5;\n if (delta > 0) clamped |= 32;\n builder.write(intToChar[clamped]);\n } while (delta > 0);\n return num;\n}\nfunction hasMoreVlq(reader, max) {\n if (reader.pos >= max) return false;\n return reader.peek() !== comma;\n}\n\n// src/strings.ts\nvar bufLength = 1024 * 16;\nvar td = typeof TextDecoder !== \"undefined\" ? /* @__PURE__ */ new TextDecoder() : typeof Buffer !== \"undefined\" ? {\n decode(buf) {\n const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n return out.toString();\n }\n} : {\n decode(buf) {\n let out = \"\";\n for (let i = 0; i < buf.length; i++) {\n out += String.fromCharCode(buf[i]);\n }\n return out;\n }\n};\nvar StringWriter = class {\n constructor() {\n this.pos = 0;\n this.out = \"\";\n this.buffer = new Uint8Array(bufLength);\n }\n write(v) {\n const { buffer } = this;\n buffer[this.pos++] = v;\n if (this.pos === bufLength) {\n this.out += td.decode(buffer);\n this.pos = 0;\n }\n }\n flush() {\n const { buffer, out, pos } = this;\n return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;\n }\n};\nvar StringReader = class {\n constructor(buffer) {\n this.pos = 0;\n this.buffer = buffer;\n }\n next() {\n return this.buffer.charCodeAt(this.pos++);\n }\n peek() {\n return this.buffer.charCodeAt(this.pos);\n }\n indexOf(char) {\n const { buffer, pos } = this;\n const idx = buffer.indexOf(char, pos);\n return idx === -1 ? buffer.length : idx;\n }\n};\n\n// src/scopes.ts\nvar EMPTY = [];\nfunction decodeOriginalScopes(input) {\n const { length } = input;\n const reader = new StringReader(input);\n const scopes = [];\n const stack = [];\n let line = 0;\n for (; reader.pos < length; reader.pos++) {\n line = decodeInteger(reader, line);\n const column = decodeInteger(reader, 0);\n if (!hasMoreVlq(reader, length)) {\n const last = stack.pop();\n last[2] = line;\n last[3] = column;\n continue;\n }\n const kind = decodeInteger(reader, 0);\n const fields = decodeInteger(reader, 0);\n const hasName = fields & 1;\n const scope = hasName ? [line, column, 0, 0, kind, decodeInteger(reader, 0)] : [line, column, 0, 0, kind];\n let vars = EMPTY;\n if (hasMoreVlq(reader, length)) {\n vars = [];\n do {\n const varsIndex = decodeInteger(reader, 0);\n vars.push(varsIndex);\n } while (hasMoreVlq(reader, length));\n }\n scope.vars = vars;\n scopes.push(scope);\n stack.push(scope);\n }\n return scopes;\n}\nfunction encodeOriginalScopes(scopes) {\n const writer = new StringWriter();\n for (let i = 0; i < scopes.length; ) {\n i = _encodeOriginalScopes(scopes, i, writer, [0]);\n }\n return writer.flush();\n}\nfunction _encodeOriginalScopes(scopes, index, writer, state) {\n const scope = scopes[index];\n const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, 4: kind, vars } = scope;\n if (index > 0) writer.write(comma);\n state[0] = encodeInteger(writer, startLine, state[0]);\n encodeInteger(writer, startColumn, 0);\n encodeInteger(writer, kind, 0);\n const fields = scope.length === 6 ? 1 : 0;\n encodeInteger(writer, fields, 0);\n if (scope.length === 6) encodeInteger(writer, scope[5], 0);\n for (const v of vars) {\n encodeInteger(writer, v, 0);\n }\n for (index++; index < scopes.length; ) {\n const next = scopes[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || l === endLine && c >= endColumn) {\n break;\n }\n index = _encodeOriginalScopes(scopes, index, writer, state);\n }\n writer.write(comma);\n state[0] = encodeInteger(writer, endLine, state[0]);\n encodeInteger(writer, endColumn, 0);\n return index;\n}\nfunction decodeGeneratedRanges(input) {\n const { length } = input;\n const reader = new StringReader(input);\n const ranges = [];\n const stack = [];\n let genLine = 0;\n let definitionSourcesIndex = 0;\n let definitionScopeIndex = 0;\n let callsiteSourcesIndex = 0;\n let callsiteLine = 0;\n let callsiteColumn = 0;\n let bindingLine = 0;\n let bindingColumn = 0;\n do {\n const semi = reader.indexOf(\";\");\n let genColumn = 0;\n for (; reader.pos < semi; reader.pos++) {\n genColumn = decodeInteger(reader, genColumn);\n if (!hasMoreVlq(reader, semi)) {\n const last = stack.pop();\n last[2] = genLine;\n last[3] = genColumn;\n continue;\n }\n const fields = decodeInteger(reader, 0);\n const hasDefinition = fields & 1;\n const hasCallsite = fields & 2;\n const hasScope = fields & 4;\n let callsite = null;\n let bindings = EMPTY;\n let range;\n if (hasDefinition) {\n const defSourcesIndex = decodeInteger(reader, definitionSourcesIndex);\n definitionScopeIndex = decodeInteger(\n reader,\n definitionSourcesIndex === defSourcesIndex ? definitionScopeIndex : 0\n );\n definitionSourcesIndex = defSourcesIndex;\n range = [genLine, genColumn, 0, 0, defSourcesIndex, definitionScopeIndex];\n } else {\n range = [genLine, genColumn, 0, 0];\n }\n range.isScope = !!hasScope;\n if (hasCallsite) {\n const prevCsi = callsiteSourcesIndex;\n const prevLine = callsiteLine;\n callsiteSourcesIndex = decodeInteger(reader, callsiteSourcesIndex);\n const sameSource = prevCsi === callsiteSourcesIndex;\n callsiteLine = decodeInteger(reader, sameSource ? callsiteLine : 0);\n callsiteColumn = decodeInteger(\n reader,\n sameSource && prevLine === callsiteLine ? callsiteColumn : 0\n );\n callsite = [callsiteSourcesIndex, callsiteLine, callsiteColumn];\n }\n range.callsite = callsite;\n if (hasMoreVlq(reader, semi)) {\n bindings = [];\n do {\n bindingLine = genLine;\n bindingColumn = genColumn;\n const expressionsCount = decodeInteger(reader, 0);\n let expressionRanges;\n if (expressionsCount < -1) {\n expressionRanges = [[decodeInteger(reader, 0)]];\n for (let i = -1; i > expressionsCount; i--) {\n const prevBl = bindingLine;\n bindingLine = decodeInteger(reader, bindingLine);\n bindingColumn = decodeInteger(reader, bindingLine === prevBl ? bindingColumn : 0);\n const expression = decodeInteger(reader, 0);\n expressionRanges.push([expression, bindingLine, bindingColumn]);\n }\n } else {\n expressionRanges = [[expressionsCount]];\n }\n bindings.push(expressionRanges);\n } while (hasMoreVlq(reader, semi));\n }\n range.bindings = bindings;\n ranges.push(range);\n stack.push(range);\n }\n genLine++;\n reader.pos = semi + 1;\n } while (reader.pos < length);\n return ranges;\n}\nfunction encodeGeneratedRanges(ranges) {\n if (ranges.length === 0) return \"\";\n const writer = new StringWriter();\n for (let i = 0; i < ranges.length; ) {\n i = _encodeGeneratedRanges(ranges, i, writer, [0, 0, 0, 0, 0, 0, 0]);\n }\n return writer.flush();\n}\nfunction _encodeGeneratedRanges(ranges, index, writer, state) {\n const range = ranges[index];\n const {\n 0: startLine,\n 1: startColumn,\n 2: endLine,\n 3: endColumn,\n isScope,\n callsite,\n bindings\n } = range;\n if (state[0] < startLine) {\n catchupLine(writer, state[0], startLine);\n state[0] = startLine;\n state[1] = 0;\n } else if (index > 0) {\n writer.write(comma);\n }\n state[1] = encodeInteger(writer, range[1], state[1]);\n const fields = (range.length === 6 ? 1 : 0) | (callsite ? 2 : 0) | (isScope ? 4 : 0);\n encodeInteger(writer, fields, 0);\n if (range.length === 6) {\n const { 4: sourcesIndex, 5: scopesIndex } = range;\n if (sourcesIndex !== state[2]) {\n state[3] = 0;\n }\n state[2] = encodeInteger(writer, sourcesIndex, state[2]);\n state[3] = encodeInteger(writer, scopesIndex, state[3]);\n }\n if (callsite) {\n const { 0: sourcesIndex, 1: callLine, 2: callColumn } = range.callsite;\n if (sourcesIndex !== state[4]) {\n state[5] = 0;\n state[6] = 0;\n } else if (callLine !== state[5]) {\n state[6] = 0;\n }\n state[4] = encodeInteger(writer, sourcesIndex, state[4]);\n state[5] = encodeInteger(writer, callLine, state[5]);\n state[6] = encodeInteger(writer, callColumn, state[6]);\n }\n if (bindings) {\n for (const binding of bindings) {\n if (binding.length > 1) encodeInteger(writer, -binding.length, 0);\n const expression = binding[0][0];\n encodeInteger(writer, expression, 0);\n let bindingStartLine = startLine;\n let bindingStartColumn = startColumn;\n for (let i = 1; i < binding.length; i++) {\n const expRange = binding[i];\n bindingStartLine = encodeInteger(writer, expRange[1], bindingStartLine);\n bindingStartColumn = encodeInteger(writer, expRange[2], bindingStartColumn);\n encodeInteger(writer, expRange[0], 0);\n }\n }\n }\n for (index++; index < ranges.length; ) {\n const next = ranges[index];\n const { 0: l, 1: c } = next;\n if (l > endLine || l === endLine && c >= endColumn) {\n break;\n }\n index = _encodeGeneratedRanges(ranges, index, writer, state);\n }\n if (state[0] < endLine) {\n catchupLine(writer, state[0], endLine);\n state[0] = endLine;\n state[1] = 0;\n } else {\n writer.write(comma);\n }\n state[1] = encodeInteger(writer, endColumn, state[1]);\n return index;\n}\nfunction catchupLine(writer, lastLine, line) {\n do {\n writer.write(semicolon);\n } while (++lastLine < line);\n}\n\n// src/sourcemap-codec.ts\nfunction decode(mappings) {\n const { length } = mappings;\n const reader = new StringReader(mappings);\n const decoded = [];\n let genColumn = 0;\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n do {\n const semi = reader.indexOf(\";\");\n const line = [];\n let sorted = true;\n let lastCol = 0;\n genColumn = 0;\n while (reader.pos < semi) {\n let seg;\n genColumn = decodeInteger(reader, genColumn);\n if (genColumn < lastCol) sorted = false;\n lastCol = genColumn;\n if (hasMoreVlq(reader, semi)) {\n sourcesIndex = decodeInteger(reader, sourcesIndex);\n sourceLine = decodeInteger(reader, sourceLine);\n sourceColumn = decodeInteger(reader, sourceColumn);\n if (hasMoreVlq(reader, semi)) {\n namesIndex = decodeInteger(reader, namesIndex);\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex];\n } else {\n seg = [genColumn, sourcesIndex, sourceLine, sourceColumn];\n }\n } else {\n seg = [genColumn];\n }\n line.push(seg);\n reader.pos++;\n }\n if (!sorted) sort(line);\n decoded.push(line);\n reader.pos = semi + 1;\n } while (reader.pos <= length);\n return decoded;\n}\nfunction sort(line) {\n line.sort(sortComparator);\n}\nfunction sortComparator(a, b) {\n return a[0] - b[0];\n}\nfunction encode(decoded) {\n const writer = new StringWriter();\n let sourcesIndex = 0;\n let sourceLine = 0;\n let sourceColumn = 0;\n let namesIndex = 0;\n for (let i = 0; i < decoded.length; i++) {\n const line = decoded[i];\n if (i > 0) writer.write(semicolon);\n if (line.length === 0) continue;\n let genColumn = 0;\n for (let j = 0; j < line.length; j++) {\n const segment = line[j];\n if (j > 0) writer.write(comma);\n genColumn = encodeInteger(writer, segment[0], genColumn);\n if (segment.length === 1) continue;\n sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);\n sourceLine = encodeInteger(writer, segment[2], sourceLine);\n sourceColumn = encodeInteger(writer, segment[3], sourceColumn);\n if (segment.length === 4) continue;\n namesIndex = encodeInteger(writer, segment[4], namesIndex);\n }\n }\n return writer.flush();\n}\nexport {\n decode,\n decodeGeneratedRanges,\n decodeOriginalScopes,\n encode,\n encodeGeneratedRanges,\n encodeOriginalScopes\n};\n//# sourceMappingURL=sourcemap-codec.mjs.map\n","import { encode } from '@jridgewell/sourcemap-codec';\n\nclass BitSet {\n\tconstructor(arg) {\n\t\tthis.bits = arg instanceof BitSet ? arg.bits.slice() : [];\n\t}\n\n\tadd(n) {\n\t\tthis.bits[n >> 5] |= 1 << (n & 31);\n\t}\n\n\thas(n) {\n\t\treturn !!(this.bits[n >> 5] & (1 << (n & 31)));\n\t}\n}\n\nclass Chunk {\n\tconstructor(start, end, content) {\n\t\tthis.start = start;\n\t\tthis.end = end;\n\t\tthis.original = content;\n\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\n\t\tthis.content = content;\n\t\tthis.storeName = false;\n\t\tthis.edited = false;\n\n\t\t{\n\t\t\tthis.previous = null;\n\t\t\tthis.next = null;\n\t\t}\n\t}\n\n\tappendLeft(content) {\n\t\tthis.outro += content;\n\t}\n\n\tappendRight(content) {\n\t\tthis.intro = this.intro + content;\n\t}\n\n\tclone() {\n\t\tconst chunk = new Chunk(this.start, this.end, this.original);\n\n\t\tchunk.intro = this.intro;\n\t\tchunk.outro = this.outro;\n\t\tchunk.content = this.content;\n\t\tchunk.storeName = this.storeName;\n\t\tchunk.edited = this.edited;\n\n\t\treturn chunk;\n\t}\n\n\tcontains(index) {\n\t\treturn this.start < index && index < this.end;\n\t}\n\n\teachNext(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.next;\n\t\t}\n\t}\n\n\teachPrevious(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.previous;\n\t\t}\n\t}\n\n\tedit(content, storeName, contentOnly) {\n\t\tthis.content = content;\n\t\tif (!contentOnly) {\n\t\t\tthis.intro = '';\n\t\t\tthis.outro = '';\n\t\t}\n\t\tthis.storeName = storeName;\n\n\t\tthis.edited = true;\n\n\t\treturn this;\n\t}\n\n\tprependLeft(content) {\n\t\tthis.outro = content + this.outro;\n\t}\n\n\tprependRight(content) {\n\t\tthis.intro = content + this.intro;\n\t}\n\n\treset() {\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\t\tif (this.edited) {\n\t\t\tthis.content = this.original;\n\t\t\tthis.storeName = false;\n\t\t\tthis.edited = false;\n\t\t}\n\t}\n\n\tsplit(index) {\n\t\tconst sliceIndex = index - this.start;\n\n\t\tconst originalBefore = this.original.slice(0, sliceIndex);\n\t\tconst originalAfter = this.original.slice(sliceIndex);\n\n\t\tthis.original = originalBefore;\n\n\t\tconst newChunk = new Chunk(index, this.end, originalAfter);\n\t\tnewChunk.outro = this.outro;\n\t\tthis.outro = '';\n\n\t\tthis.end = index;\n\n\t\tif (this.edited) {\n\t\t\t// after split we should save the edit content record into the correct chunk\n\t\t\t// to make sure sourcemap correct\n\t\t\t// For example:\n\t\t\t// ' test'.trim()\n\t\t\t// split -> ' ' + 'test'\n\t\t\t// ✔️ edit -> '' + 'test'\n\t\t\t// ✖️ edit -> 'test' + ''\n\t\t\t// TODO is this block necessary?...\n\t\t\tnewChunk.edit('', false);\n\t\t\tthis.content = '';\n\t\t} else {\n\t\t\tthis.content = originalBefore;\n\t\t}\n\n\t\tnewChunk.next = this.next;\n\t\tif (newChunk.next) newChunk.next.previous = newChunk;\n\t\tnewChunk.previous = this;\n\t\tthis.next = newChunk;\n\n\t\treturn newChunk;\n\t}\n\n\ttoString() {\n\t\treturn this.intro + this.content + this.outro;\n\t}\n\n\ttrimEnd(rx) {\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tthis.split(this.start + trimmed.length).edit('', undefined, true);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tthis.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\tif (this.intro.length) return true;\n\t\t}\n\t}\n\n\ttrimStart(rx) {\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tconst newChunk = this.split(this.end - trimmed.length);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tnewChunk.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t\tthis.edit('', undefined, true);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.outro = this.outro.replace(rx, '');\n\t\t\tif (this.outro.length) return true;\n\t\t}\n\t}\n}\n\nfunction getBtoa() {\n\tif (typeof globalThis !== 'undefined' && typeof globalThis.btoa === 'function') {\n\t\treturn (str) => globalThis.btoa(unescape(encodeURIComponent(str)));\n\t} else if (typeof Buffer === 'function') {\n\t\treturn (str) => Buffer.from(str, 'utf-8').toString('base64');\n\t} else {\n\t\treturn () => {\n\t\t\tthrow new Error('Unsupported environment: `window.btoa` or `Buffer` should be supported.');\n\t\t};\n\t}\n}\n\nconst btoa = /*#__PURE__*/ getBtoa();\n\nclass SourceMap {\n\tconstructor(properties) {\n\t\tthis.version = 3;\n\t\tthis.file = properties.file;\n\t\tthis.sources = properties.sources;\n\t\tthis.sourcesContent = properties.sourcesContent;\n\t\tthis.names = properties.names;\n\t\tthis.mappings = encode(properties.mappings);\n\t\tif (typeof properties.x_google_ignoreList !== 'undefined') {\n\t\t\tthis.x_google_ignoreList = properties.x_google_ignoreList;\n\t\t}\n\t\tif (typeof properties.debugId !== 'undefined') {\n\t\t\tthis.debugId = properties.debugId;\n\t\t}\n\t}\n\n\ttoString() {\n\t\treturn JSON.stringify(this);\n\t}\n\n\ttoUrl() {\n\t\treturn 'data:application/json;charset=utf-8;base64,' + btoa(this.toString());\n\t}\n}\n\nfunction guessIndent(code) {\n\tconst lines = code.split('\\n');\n\n\tconst tabbed = lines.filter((line) => /^\\t+/.test(line));\n\tconst spaced = lines.filter((line) => /^ {2,}/.test(line));\n\n\tif (tabbed.length === 0 && spaced.length === 0) {\n\t\treturn null;\n\t}\n\n\t// More lines tabbed than spaced? Assume tabs, and\n\t// default to tabs in the case of a tie (or nothing\n\t// to go on)\n\tif (tabbed.length >= spaced.length) {\n\t\treturn '\\t';\n\t}\n\n\t// Otherwise, we need to guess the multiple\n\tconst min = spaced.reduce((previous, current) => {\n\t\tconst numSpaces = /^ +/.exec(current)[0].length;\n\t\treturn Math.min(numSpaces, previous);\n\t}, Infinity);\n\n\treturn new Array(min + 1).join(' ');\n}\n\nfunction getRelativePath(from, to) {\n\tconst fromParts = from.split(/[/\\\\]/);\n\tconst toParts = to.split(/[/\\\\]/);\n\n\tfromParts.pop(); // get dirname\n\n\twhile (fromParts[0] === toParts[0]) {\n\t\tfromParts.shift();\n\t\ttoParts.shift();\n\t}\n\n\tif (fromParts.length) {\n\t\tlet i = fromParts.length;\n\t\twhile (i--) fromParts[i] = '..';\n\t}\n\n\treturn fromParts.concat(toParts).join('/');\n}\n\nconst toString = Object.prototype.toString;\n\nfunction isObject(thing) {\n\treturn toString.call(thing) === '[object Object]';\n}\n\nfunction getLocator(source) {\n\tconst originalLines = source.split('\\n');\n\tconst lineOffsets = [];\n\n\tfor (let i = 0, pos = 0; i < originalLines.length; i++) {\n\t\tlineOffsets.push(pos);\n\t\tpos += originalLines[i].length + 1;\n\t}\n\n\treturn function locate(index) {\n\t\tlet i = 0;\n\t\tlet j = lineOffsets.length;\n\t\twhile (i < j) {\n\t\t\tconst m = (i + j) >> 1;\n\t\t\tif (index < lineOffsets[m]) {\n\t\t\t\tj = m;\n\t\t\t} else {\n\t\t\t\ti = m + 1;\n\t\t\t}\n\t\t}\n\t\tconst line = i - 1;\n\t\tconst column = index - lineOffsets[line];\n\t\treturn { line, column };\n\t};\n}\n\nconst wordRegex = /\\w/;\n\nclass Mappings {\n\tconstructor(hires) {\n\t\tthis.hires = hires;\n\t\tthis.generatedCodeLine = 0;\n\t\tthis.generatedCodeColumn = 0;\n\t\tthis.raw = [];\n\t\tthis.rawSegments = this.raw[this.generatedCodeLine] = [];\n\t\tthis.pending = null;\n\t}\n\n\taddEdit(sourceIndex, content, loc, nameIndex) {\n\t\tif (content.length) {\n\t\t\tconst contentLengthMinusOne = content.length - 1;\n\t\t\tlet contentLineEnd = content.indexOf('\\n', 0);\n\t\t\tlet previousContentLineEnd = -1;\n\t\t\t// Loop through each line in the content and add a segment, but stop if the last line is empty,\n\t\t\t// else code afterwards would fill one line too many\n\t\t\twhile (contentLineEnd >= 0 && contentLengthMinusOne > contentLineEnd) {\n\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\t\tif (nameIndex >= 0) {\n\t\t\t\t\tsegment.push(nameIndex);\n\t\t\t\t}\n\t\t\t\tthis.rawSegments.push(segment);\n\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\n\t\t\t\tpreviousContentLineEnd = contentLineEnd;\n\t\t\t\tcontentLineEnd = content.indexOf('\\n', contentLineEnd + 1);\n\t\t\t}\n\n\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\tif (nameIndex >= 0) {\n\t\t\t\tsegment.push(nameIndex);\n\t\t\t}\n\t\t\tthis.rawSegments.push(segment);\n\n\t\t\tthis.advance(content.slice(previousContentLineEnd + 1));\n\t\t} else if (this.pending) {\n\t\t\tthis.rawSegments.push(this.pending);\n\t\t\tthis.advance(content);\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\taddUneditedChunk(sourceIndex, chunk, original, loc, sourcemapLocations) {\n\t\tlet originalCharIndex = chunk.start;\n\t\tlet first = true;\n\t\t// when iterating each char, check if it's in a word boundary\n\t\tlet charInHiresBoundary = false;\n\n\t\twhile (originalCharIndex < chunk.end) {\n\t\t\tif (original[originalCharIndex] === '\\n') {\n\t\t\t\tloc.line += 1;\n\t\t\t\tloc.column = 0;\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\t\t\t\tfirst = true;\n\t\t\t\tcharInHiresBoundary = false;\n\t\t\t} else {\n\t\t\t\tif (this.hires || first || sourcemapLocations.has(originalCharIndex)) {\n\t\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\n\t\t\t\t\tif (this.hires === 'boundary') {\n\t\t\t\t\t\t// in hires \"boundary\", group segments per word boundary than per char\n\t\t\t\t\t\tif (wordRegex.test(original[originalCharIndex])) {\n\t\t\t\t\t\t\t// for first char in the boundary found, start the boundary by pushing a segment\n\t\t\t\t\t\t\tif (!charInHiresBoundary) {\n\t\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\t\tcharInHiresBoundary = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// for non-word char, end the boundary by pushing a segment\n\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\tcharInHiresBoundary = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tloc.column += 1;\n\t\t\t\tthis.generatedCodeColumn += 1;\n\t\t\t\tfirst = false;\n\t\t\t}\n\n\t\t\toriginalCharIndex += 1;\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\tadvance(str) {\n\t\tif (!str) return;\n\n\t\tconst lines = str.split('\\n');\n\n\t\tif (lines.length > 1) {\n\t\t\tfor (let i = 0; i < lines.length - 1; i++) {\n\t\t\t\tthis.generatedCodeLine++;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t}\n\t\t\tthis.generatedCodeColumn = 0;\n\t\t}\n\n\t\tthis.generatedCodeColumn += lines[lines.length - 1].length;\n\t}\n}\n\nconst n = '\\n';\n\nconst warned = {\n\tinsertLeft: false,\n\tinsertRight: false,\n\tstoreName: false,\n};\n\nclass MagicString {\n\tconstructor(string, options = {}) {\n\t\tconst chunk = new Chunk(0, string.length, string);\n\n\t\tObject.defineProperties(this, {\n\t\t\toriginal: { writable: true, value: string },\n\t\t\toutro: { writable: true, value: '' },\n\t\t\tintro: { writable: true, value: '' },\n\t\t\tfirstChunk: { writable: true, value: chunk },\n\t\t\tlastChunk: { writable: true, value: chunk },\n\t\t\tlastSearchedChunk: { writable: true, value: chunk },\n\t\t\tbyStart: { writable: true, value: {} },\n\t\t\tbyEnd: { writable: true, value: {} },\n\t\t\tfilename: { writable: true, value: options.filename },\n\t\t\tindentExclusionRanges: { writable: true, value: options.indentExclusionRanges },\n\t\t\tsourcemapLocations: { writable: true, value: new BitSet() },\n\t\t\tstoredNames: { writable: true, value: {} },\n\t\t\tindentStr: { writable: true, value: undefined },\n\t\t\tignoreList: { writable: true, value: options.ignoreList },\n\t\t\toffset: { writable: true, value: options.offset || 0 },\n\t\t});\n\n\t\tthis.byStart[0] = chunk;\n\t\tthis.byEnd[string.length] = chunk;\n\t}\n\n\taddSourcemapLocation(char) {\n\t\tthis.sourcemapLocations.add(char);\n\t}\n\n\tappend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.outro += content;\n\t\treturn this;\n\t}\n\n\tappendLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendLeft(content);\n\t\t} else {\n\t\t\tthis.intro += content;\n\t\t}\n\t\treturn this;\n\t}\n\n\tappendRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendRight(content);\n\t\t} else {\n\t\t\tthis.outro += content;\n\t\t}\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst cloned = new MagicString(this.original, { filename: this.filename, offset: this.offset });\n\n\t\tlet originalChunk = this.firstChunk;\n\t\tlet clonedChunk = (cloned.firstChunk = cloned.lastSearchedChunk = originalChunk.clone());\n\n\t\twhile (originalChunk) {\n\t\t\tcloned.byStart[clonedChunk.start] = clonedChunk;\n\t\t\tcloned.byEnd[clonedChunk.end] = clonedChunk;\n\n\t\t\tconst nextOriginalChunk = originalChunk.next;\n\t\t\tconst nextClonedChunk = nextOriginalChunk && nextOriginalChunk.clone();\n\n\t\t\tif (nextClonedChunk) {\n\t\t\t\tclonedChunk.next = nextClonedChunk;\n\t\t\t\tnextClonedChunk.previous = clonedChunk;\n\n\t\t\t\tclonedChunk = nextClonedChunk;\n\t\t\t}\n\n\t\t\toriginalChunk = nextOriginalChunk;\n\t\t}\n\n\t\tcloned.lastChunk = clonedChunk;\n\n\t\tif (this.indentExclusionRanges) {\n\t\t\tcloned.indentExclusionRanges = this.indentExclusionRanges.slice();\n\t\t}\n\n\t\tcloned.sourcemapLocations = new BitSet(this.sourcemapLocations);\n\n\t\tcloned.intro = this.intro;\n\t\tcloned.outro = this.outro;\n\n\t\treturn cloned;\n\t}\n\n\tgenerateDecodedMap(options) {\n\t\toptions = options || {};\n\n\t\tconst sourceIndex = 0;\n\t\tconst names = Object.keys(this.storedNames);\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tconst locate = getLocator(this.original);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.firstChunk.eachNext((chunk) => {\n\t\t\tconst loc = locate(chunk.start);\n\n\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tmappings.addEdit(\n\t\t\t\t\tsourceIndex,\n\t\t\t\t\tchunk.content,\n\t\t\t\t\tloc,\n\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tmappings.addUneditedChunk(sourceIndex, chunk, this.original, loc, this.sourcemapLocations);\n\t\t\t}\n\n\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t});\n\n\t\tif (this.outro) {\n\t\t\tmappings.advance(this.outro);\n\t\t}\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: [\n\t\t\t\toptions.source ? getRelativePath(options.file || '', options.source) : options.file || '',\n\t\t\t],\n\t\t\tsourcesContent: options.includeContent ? [this.original] : undefined,\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList: this.ignoreList ? [sourceIndex] : undefined,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\t_ensureindentStr() {\n\t\tif (this.indentStr === undefined) {\n\t\t\tthis.indentStr = guessIndent(this.original);\n\t\t}\n\t}\n\n\t_getRawIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr;\n\t}\n\n\tgetIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr === null ? '\\t' : this.indentStr;\n\t}\n\n\tindent(indentStr, options) {\n\t\tconst pattern = /^[^\\r\\n]/gm;\n\n\t\tif (isObject(indentStr)) {\n\t\t\toptions = indentStr;\n\t\t\tindentStr = undefined;\n\t\t}\n\n\t\tif (indentStr === undefined) {\n\t\t\tthis._ensureindentStr();\n\t\t\tindentStr = this.indentStr || '\\t';\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\toptions = options || {};\n\n\t\t// Process exclusion ranges\n\t\tconst isExcluded = {};\n\n\t\tif (options.exclude) {\n\t\t\tconst exclusions =\n\t\t\t\ttypeof options.exclude[0] === 'number' ? [options.exclude] : options.exclude;\n\t\t\texclusions.forEach((exclusion) => {\n\t\t\t\tfor (let i = exclusion[0]; i < exclusion[1]; i += 1) {\n\t\t\t\t\tisExcluded[i] = true;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tlet shouldIndentNextCharacter = options.indentStart !== false;\n\t\tconst replacer = (match) => {\n\t\t\tif (shouldIndentNextCharacter) return `${indentStr}${match}`;\n\t\t\tshouldIndentNextCharacter = true;\n\t\t\treturn match;\n\t\t};\n\n\t\tthis.intro = this.intro.replace(pattern, replacer);\n\n\t\tlet charIndex = 0;\n\t\tlet chunk = this.firstChunk;\n\n\t\twhile (chunk) {\n\t\t\tconst end = chunk.end;\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\tchunk.content = chunk.content.replace(pattern, replacer);\n\n\t\t\t\t\tif (chunk.content.length) {\n\t\t\t\t\t\tshouldIndentNextCharacter = chunk.content[chunk.content.length - 1] === '\\n';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcharIndex = chunk.start;\n\n\t\t\t\twhile (charIndex < end) {\n\t\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\t\tconst char = this.original[charIndex];\n\n\t\t\t\t\t\tif (char === '\\n') {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = true;\n\t\t\t\t\t\t} else if (char !== '\\r' && shouldIndentNextCharacter) {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = false;\n\n\t\t\t\t\t\t\tif (charIndex === chunk.start) {\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis._splitChunk(chunk, charIndex);\n\t\t\t\t\t\t\t\tchunk = chunk.next;\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tcharIndex += 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcharIndex = chunk.end;\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tthis.outro = this.outro.replace(pattern, replacer);\n\n\t\treturn this;\n\t}\n\n\tinsert() {\n\t\tthrow new Error(\n\t\t\t'magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)',\n\t\t);\n\t}\n\n\tinsertLeft(index, content) {\n\t\tif (!warned.insertLeft) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead',\n\t\t\t);\n\t\t\twarned.insertLeft = true;\n\t\t}\n\n\t\treturn this.appendLeft(index, content);\n\t}\n\n\tinsertRight(index, content) {\n\t\tif (!warned.insertRight) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead',\n\t\t\t);\n\t\t\twarned.insertRight = true;\n\t\t}\n\n\t\treturn this.prependRight(index, content);\n\t}\n\n\tmove(start, end, index) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\t\tindex = index + this.offset;\n\n\t\tif (index >= start && index <= end) throw new Error('Cannot move a selection inside itself');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\t\tthis._split(index);\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tconst oldLeft = first.previous;\n\t\tconst oldRight = last.next;\n\n\t\tconst newRight = this.byStart[index];\n\t\tif (!newRight && last === this.lastChunk) return this;\n\t\tconst newLeft = newRight ? newRight.previous : this.lastChunk;\n\n\t\tif (oldLeft) oldLeft.next = oldRight;\n\t\tif (oldRight) oldRight.previous = oldLeft;\n\n\t\tif (newLeft) newLeft.next = first;\n\t\tif (newRight) newRight.previous = last;\n\n\t\tif (!first.previous) this.firstChunk = last.next;\n\t\tif (!last.next) {\n\t\t\tthis.lastChunk = first.previous;\n\t\t\tthis.lastChunk.next = null;\n\t\t}\n\n\t\tfirst.previous = newLeft;\n\t\tlast.next = newRight || null;\n\n\t\tif (!newLeft) this.firstChunk = first;\n\t\tif (!newRight) this.lastChunk = last;\n\t\treturn this;\n\t}\n\n\toverwrite(start, end, content, options) {\n\t\toptions = options || {};\n\t\treturn this.update(start, end, content, { ...options, overwrite: !options.contentOnly });\n\t}\n\n\tupdate(start, end, content, options) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('replacement content must be a string');\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (end > this.original.length) throw new Error('end is out of bounds');\n\t\tif (start === end)\n\t\t\tthrow new Error(\n\t\t\t\t'Cannot overwrite a zero-length range – use appendLeft or prependRight instead',\n\t\t\t);\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tif (options === true) {\n\t\t\tif (!warned.storeName) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string',\n\t\t\t\t);\n\t\t\t\twarned.storeName = true;\n\t\t\t}\n\n\t\t\toptions = { storeName: true };\n\t\t}\n\t\tconst storeName = options !== undefined ? options.storeName : false;\n\t\tconst overwrite = options !== undefined ? options.overwrite : false;\n\n\t\tif (storeName) {\n\t\t\tconst original = this.original.slice(start, end);\n\t\t\tObject.defineProperty(this.storedNames, original, {\n\t\t\t\twritable: true,\n\t\t\t\tvalue: true,\n\t\t\t\tenumerable: true,\n\t\t\t});\n\t\t}\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tif (first) {\n\t\t\tlet chunk = first;\n\t\t\twhile (chunk !== last) {\n\t\t\t\tif (chunk.next !== this.byStart[chunk.end]) {\n\t\t\t\t\tthrow new Error('Cannot overwrite across a split point');\n\t\t\t\t}\n\t\t\t\tchunk = chunk.next;\n\t\t\t\tchunk.edit('', false);\n\t\t\t}\n\n\t\t\tfirst.edit(content, storeName, !overwrite);\n\t\t} else {\n\t\t\t// must be inserting at the end\n\t\t\tconst newChunk = new Chunk(start, end, '').edit(content, storeName);\n\n\t\t\t// TODO last chunk in the array may not be the last chunk, if it's moved...\n\t\t\tlast.next = newChunk;\n\t\t\tnewChunk.previous = last;\n\t\t}\n\t\treturn this;\n\t}\n\n\tprepend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.intro = content + this.intro;\n\t\treturn this;\n\t}\n\n\tprependLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependLeft(content);\n\t\t} else {\n\t\t\tthis.intro = content + this.intro;\n\t\t}\n\t\treturn this;\n\t}\n\n\tprependRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependRight(content);\n\t\t} else {\n\t\t\tthis.outro = content + this.outro;\n\t\t}\n\t\treturn this;\n\t}\n\n\tremove(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.intro = '';\n\t\t\tchunk.outro = '';\n\t\t\tchunk.edit('');\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\t\treturn this;\n\t}\n\n\treset(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.reset();\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\t\treturn this;\n\t}\n\n\tlastChar() {\n\t\tif (this.outro.length) return this.outro[this.outro.length - 1];\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length) return chunk.outro[chunk.outro.length - 1];\n\t\t\tif (chunk.content.length) return chunk.content[chunk.content.length - 1];\n\t\t\tif (chunk.intro.length) return chunk.intro[chunk.intro.length - 1];\n\t\t} while ((chunk = chunk.previous));\n\t\tif (this.intro.length) return this.intro[this.intro.length - 1];\n\t\treturn '';\n\t}\n\n\tlastLine() {\n\t\tlet lineIndex = this.outro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.outro.substr(lineIndex + 1);\n\t\tlet lineStr = this.outro;\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length > 0) {\n\t\t\t\tlineIndex = chunk.outro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.outro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.outro + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.content.length > 0) {\n\t\t\t\tlineIndex = chunk.content.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.content.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.content + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.intro.length > 0) {\n\t\t\t\tlineIndex = chunk.intro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.intro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.intro + lineStr;\n\t\t\t}\n\t\t} while ((chunk = chunk.previous));\n\t\tlineIndex = this.intro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.intro.substr(lineIndex + 1) + lineStr;\n\t\treturn this.intro + lineStr;\n\t}\n\n\tslice(start = 0, end = this.original.length - this.offset) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tlet result = '';\n\n\t\t// find start chunk\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk && (chunk.start > start || chunk.end <= start)) {\n\t\t\t// found end chunk before start\n\t\t\tif (chunk.start < end && chunk.end >= end) {\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tif (chunk && chunk.edited && chunk.start !== start)\n\t\t\tthrow new Error(`Cannot use replaced character ${start} as slice start anchor.`);\n\n\t\tconst startChunk = chunk;\n\t\twhile (chunk) {\n\t\t\tif (chunk.intro && (startChunk !== chunk || chunk.start === start)) {\n\t\t\t\tresult += chunk.intro;\n\t\t\t}\n\n\t\t\tconst containsEnd = chunk.start < end && chunk.end >= end;\n\t\t\tif (containsEnd && chunk.edited && chunk.end !== end)\n\t\t\t\tthrow new Error(`Cannot use replaced character ${end} as slice end anchor.`);\n\n\t\t\tconst sliceStart = startChunk === chunk ? start - chunk.start : 0;\n\t\t\tconst sliceEnd = containsEnd ? chunk.content.length + end - chunk.end : chunk.content.length;\n\n\t\t\tresult += chunk.content.slice(sliceStart, sliceEnd);\n\n\t\t\tif (chunk.outro && (!containsEnd || chunk.end === end)) {\n\t\t\t\tresult += chunk.outro;\n\t\t\t}\n\n\t\t\tif (containsEnd) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t// TODO deprecate this? not really very useful\n\tsnip(start, end) {\n\t\tconst clone = this.clone();\n\t\tclone.remove(0, start);\n\t\tclone.remove(end, clone.original.length);\n\n\t\treturn clone;\n\t}\n\n\t_split(index) {\n\t\tif (this.byStart[index] || this.byEnd[index]) return;\n\n\t\tlet chunk = this.lastSearchedChunk;\n\t\tlet previousChunk = chunk;\n\t\tconst searchForward = index > chunk.end;\n\n\t\twhile (chunk) {\n\t\t\tif (chunk.contains(index)) return this._splitChunk(chunk, index);\n\n\t\t\tchunk = searchForward ? this.byStart[chunk.end] : this.byEnd[chunk.start];\n\n\t\t\t// Prevent infinite loop (e.g. via empty chunks, where start === end)\n\t\t\tif (chunk === previousChunk) return;\n\n\t\t\tpreviousChunk = chunk;\n\t\t}\n\t}\n\n\t_splitChunk(chunk, index) {\n\t\tif (chunk.edited && chunk.content.length) {\n\t\t\t// zero-length edited chunks are a special case (overlapping replacements)\n\t\t\tconst loc = getLocator(this.original)(index);\n\t\t\tthrow new Error(\n\t\t\t\t`Cannot split a chunk that has already been edited (${loc.line}:${loc.column} – \"${chunk.original}\")`,\n\t\t\t);\n\t\t}\n\n\t\tconst newChunk = chunk.split(index);\n\n\t\tthis.byEnd[index] = chunk;\n\t\tthis.byStart[index] = newChunk;\n\t\tthis.byEnd[newChunk.end] = newChunk;\n\n\t\tif (chunk === this.lastChunk) this.lastChunk = newChunk;\n\n\t\tthis.lastSearchedChunk = chunk;\n\t\treturn true;\n\t}\n\n\ttoString() {\n\t\tlet str = this.intro;\n\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk) {\n\t\t\tstr += chunk.toString();\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn str + this.outro;\n\t}\n\n\tisEmpty() {\n\t\tlet chunk = this.firstChunk;\n\t\tdo {\n\t\t\tif (\n\t\t\t\t(chunk.intro.length && chunk.intro.trim()) ||\n\t\t\t\t(chunk.content.length && chunk.content.trim()) ||\n\t\t\t\t(chunk.outro.length && chunk.outro.trim())\n\t\t\t)\n\t\t\t\treturn false;\n\t\t} while ((chunk = chunk.next));\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\tlet chunk = this.firstChunk;\n\t\tlet length = 0;\n\t\tdo {\n\t\t\tlength += chunk.intro.length + chunk.content.length + chunk.outro.length;\n\t\t} while ((chunk = chunk.next));\n\t\treturn length;\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimEndAborted(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tlet chunk = this.lastChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimEnd(rx);\n\n\t\t\t// if chunk was trimmed, we have a new lastChunk\n\t\t\tif (chunk.end !== end) {\n\t\t\t\tif (this.lastChunk === chunk) {\n\t\t\t\t\tthis.lastChunk = chunk.next;\n\t\t\t\t}\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.previous;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimEnd(charType) {\n\t\tthis.trimEndAborted(charType);\n\t\treturn this;\n\t}\n\ttrimStartAborted(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tlet chunk = this.firstChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimStart(rx);\n\n\t\t\tif (chunk.end !== end) {\n\t\t\t\t// special case...\n\t\t\t\tif (chunk === this.lastChunk) this.lastChunk = chunk.next;\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.next;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimStart(charType) {\n\t\tthis.trimStartAborted(charType);\n\t\treturn this;\n\t}\n\n\thasChanged() {\n\t\treturn this.original !== this.toString();\n\t}\n\n\t_replaceRegexp(searchValue, replacement) {\n\t\tfunction getReplacement(match, str) {\n\t\t\tif (typeof replacement === 'string') {\n\t\t\t\treturn replacement.replace(/\\$(\\$|&|\\d+)/g, (_, i) => {\n\t\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#specifying_a_string_as_a_parameter\n\t\t\t\t\tif (i === '$') return '$';\n\t\t\t\t\tif (i === '&') return match[0];\n\t\t\t\t\tconst num = +i;\n\t\t\t\t\tif (num < match.length) return match[+i];\n\t\t\t\t\treturn `$${i}`;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn replacement(...match, match.index, str, match.groups);\n\t\t\t}\n\t\t}\n\t\tfunction matchAll(re, str) {\n\t\t\tlet match;\n\t\t\tconst matches = [];\n\t\t\twhile ((match = re.exec(str))) {\n\t\t\t\tmatches.push(match);\n\t\t\t}\n\t\t\treturn matches;\n\t\t}\n\t\tif (searchValue.global) {\n\t\t\tconst matches = matchAll(searchValue, this.original);\n\t\t\tmatches.forEach((match) => {\n\t\t\t\tif (match.index != null) {\n\t\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tconst match = this.original.match(searchValue);\n\t\t\tif (match && match.index != null) {\n\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\t_replaceString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst index = original.indexOf(string);\n\n\t\tif (index !== -1) {\n\t\t\tif (typeof replacement === 'function') {\n\t\t\t\treplacement = replacement(string, index, original);\n\t\t\t}\n\t\t\tif (string !== replacement) {\n\t\t\t\tthis.overwrite(index, index + string.length, replacement);\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplace(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceString(searchValue, replacement);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n\n\t_replaceAllString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst stringLength = string.length;\n\t\tfor (\n\t\t\tlet index = original.indexOf(string);\n\t\t\tindex !== -1;\n\t\t\tindex = original.indexOf(string, index + stringLength)\n\t\t) {\n\t\t\tconst previous = original.slice(index, index + stringLength);\n\t\t\tlet _replacement = replacement;\n\t\t\tif (typeof replacement === 'function') {\n\t\t\t\t_replacement = replacement(previous, index, original);\n\t\t\t}\n\t\t\tif (previous !== _replacement) this.overwrite(index, index + stringLength, _replacement);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplaceAll(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceAllString(searchValue, replacement);\n\t\t}\n\n\t\tif (!searchValue.global) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'MagicString.prototype.replaceAll called with a non-global RegExp argument',\n\t\t\t);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n}\n\nconst hasOwnProp = Object.prototype.hasOwnProperty;\n\nclass Bundle {\n\tconstructor(options = {}) {\n\t\tthis.intro = options.intro || '';\n\t\tthis.separator = options.separator !== undefined ? options.separator : '\\n';\n\t\tthis.sources = [];\n\t\tthis.uniqueSources = [];\n\t\tthis.uniqueSourceIndexByFilename = {};\n\t}\n\n\taddSource(source) {\n\t\tif (source instanceof MagicString) {\n\t\t\treturn this.addSource({\n\t\t\t\tcontent: source,\n\t\t\t\tfilename: source.filename,\n\t\t\t\tseparator: this.separator,\n\t\t\t});\n\t\t}\n\n\t\tif (!isObject(source) || !source.content) {\n\t\t\tthrow new Error(\n\t\t\t\t'bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`',\n\t\t\t);\n\t\t}\n\n\t\t['filename', 'ignoreList', 'indentExclusionRanges', 'separator'].forEach((option) => {\n\t\t\tif (!hasOwnProp.call(source, option)) source[option] = source.content[option];\n\t\t});\n\n\t\tif (source.separator === undefined) {\n\t\t\t// TODO there's a bunch of this sort of thing, needs cleaning up\n\t\t\tsource.separator = this.separator;\n\t\t}\n\n\t\tif (source.filename) {\n\t\t\tif (!hasOwnProp.call(this.uniqueSourceIndexByFilename, source.filename)) {\n\t\t\t\tthis.uniqueSourceIndexByFilename[source.filename] = this.uniqueSources.length;\n\t\t\t\tthis.uniqueSources.push({ filename: source.filename, content: source.content.original });\n\t\t\t} else {\n\t\t\t\tconst uniqueSource = this.uniqueSources[this.uniqueSourceIndexByFilename[source.filename]];\n\t\t\t\tif (source.content.original !== uniqueSource.content) {\n\t\t\t\t\tthrow new Error(`Illegal source: same filename (${source.filename}), different contents`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.sources.push(source);\n\t\treturn this;\n\t}\n\n\tappend(str, options) {\n\t\tthis.addSource({\n\t\t\tcontent: new MagicString(str),\n\t\t\tseparator: (options && options.separator) || '',\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst bundle = new Bundle({\n\t\t\tintro: this.intro,\n\t\t\tseparator: this.separator,\n\t\t});\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tbundle.addSource({\n\t\t\t\tfilename: source.filename,\n\t\t\t\tcontent: source.content.clone(),\n\t\t\t\tseparator: source.separator,\n\t\t\t});\n\t\t});\n\n\t\treturn bundle;\n\t}\n\n\tgenerateDecodedMap(options = {}) {\n\t\tconst names = [];\n\t\tlet x_google_ignoreList = undefined;\n\t\tthis.sources.forEach((source) => {\n\t\t\tObject.keys(source.content.storedNames).forEach((name) => {\n\t\t\t\tif (!~names.indexOf(name)) names.push(name);\n\t\t\t});\n\t\t});\n\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tif (i > 0) {\n\t\t\t\tmappings.advance(this.separator);\n\t\t\t}\n\n\t\t\tconst sourceIndex = source.filename ? this.uniqueSourceIndexByFilename[source.filename] : -1;\n\t\t\tconst magicString = source.content;\n\t\t\tconst locate = getLocator(magicString.original);\n\n\t\t\tif (magicString.intro) {\n\t\t\t\tmappings.advance(magicString.intro);\n\t\t\t}\n\n\t\t\tmagicString.firstChunk.eachNext((chunk) => {\n\t\t\t\tconst loc = locate(chunk.start);\n\n\t\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\t\tif (source.filename) {\n\t\t\t\t\tif (chunk.edited) {\n\t\t\t\t\t\tmappings.addEdit(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk.content,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmappings.addUneditedChunk(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk,\n\t\t\t\t\t\t\tmagicString.original,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tmagicString.sourcemapLocations,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tmappings.advance(chunk.content);\n\t\t\t\t}\n\n\t\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t\t});\n\n\t\t\tif (magicString.outro) {\n\t\t\t\tmappings.advance(magicString.outro);\n\t\t\t}\n\n\t\t\tif (source.ignoreList && sourceIndex !== -1) {\n\t\t\t\tif (x_google_ignoreList === undefined) {\n\t\t\t\t\tx_google_ignoreList = [];\n\t\t\t\t}\n\t\t\t\tx_google_ignoreList.push(sourceIndex);\n\t\t\t}\n\t\t});\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.file ? getRelativePath(options.file, source.filename) : source.filename;\n\t\t\t}),\n\t\t\tsourcesContent: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.includeContent ? source.content : null;\n\t\t\t}),\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\tgetIndentString() {\n\t\tconst indentStringCounts = {};\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tconst indentStr = source.content._getRawIndentString();\n\n\t\t\tif (indentStr === null) return;\n\n\t\t\tif (!indentStringCounts[indentStr]) indentStringCounts[indentStr] = 0;\n\t\t\tindentStringCounts[indentStr] += 1;\n\t\t});\n\n\t\treturn (\n\t\t\tObject.keys(indentStringCounts).sort((a, b) => {\n\t\t\t\treturn indentStringCounts[a] - indentStringCounts[b];\n\t\t\t})[0] || '\\t'\n\t\t);\n\t}\n\n\tindent(indentStr) {\n\t\tif (!arguments.length) {\n\t\t\tindentStr = this.getIndentString();\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\tlet trailingNewline = !this.intro || this.intro.slice(-1) === '\\n';\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\tconst indentStart = trailingNewline || (i > 0 && /\\r?\\n$/.test(separator));\n\n\t\t\tsource.content.indent(indentStr, {\n\t\t\t\texclude: source.indentExclusionRanges,\n\t\t\t\tindentStart, //: trailingNewline || /\\r?\\n$/.test( separator ) //true///\\r?\\n/.test( separator )\n\t\t\t});\n\n\t\t\ttrailingNewline = source.content.lastChar() === '\\n';\n\t\t});\n\n\t\tif (this.intro) {\n\t\t\tthis.intro =\n\t\t\t\tindentStr +\n\t\t\t\tthis.intro.replace(/^[^\\n]/gm, (match, index) => {\n\t\t\t\t\treturn index > 0 ? indentStr + match : match;\n\t\t\t\t});\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tprepend(str) {\n\t\tthis.intro = str + this.intro;\n\t\treturn this;\n\t}\n\n\ttoString() {\n\t\tconst body = this.sources\n\t\t\t.map((source, i) => {\n\t\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\t\tconst str = (i > 0 ? separator : '') + source.content.toString();\n\n\t\t\t\treturn str;\n\t\t\t})\n\t\t\t.join('');\n\n\t\treturn this.intro + body;\n\t}\n\n\tisEmpty() {\n\t\tif (this.intro.length && this.intro.trim()) return false;\n\t\tif (this.sources.some((source) => !source.content.isEmpty())) return false;\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\treturn this.sources.reduce(\n\t\t\t(length, source) => length + source.content.length(),\n\t\t\tthis.intro.length,\n\t\t);\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimStart(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\t\tthis.intro = this.intro.replace(rx, '');\n\n\t\tif (!this.intro) {\n\t\t\tlet source;\n\t\t\tlet i = 0;\n\n\t\t\tdo {\n\t\t\t\tsource = this.sources[i++];\n\t\t\t\tif (!source) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} while (!source.content.trimStartAborted(charType));\n\t\t}\n\n\t\treturn this;\n\t}\n\n\ttrimEnd(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tlet source;\n\t\tlet i = this.sources.length - 1;\n\n\t\tdo {\n\t\t\tsource = this.sources[i--];\n\t\t\tif (!source) {\n\t\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\t\tbreak;\n\t\t\t}\n\t\t} while (!source.content.trimEndAborted(charType));\n\n\t\treturn this;\n\t}\n}\n\nexport { Bundle, SourceMap, MagicString as default };\n//# sourceMappingURL=magic-string.es.mjs.map\n","/**\n * @typedef { import('estree').Node} Node\n * @typedef {{\n * skip: () => void;\n * remove: () => void;\n * replace: (node: Node) => void;\n * }} WalkerContext\n */\n\nexport class WalkerBase {\n\tconstructor() {\n\t\t/** @type {boolean} */\n\t\tthis.should_skip = false;\n\n\t\t/** @type {boolean} */\n\t\tthis.should_remove = false;\n\n\t\t/** @type {Node | null} */\n\t\tthis.replacement = null;\n\n\t\t/** @type {WalkerContext} */\n\t\tthis.context = {\n\t\t\tskip: () => (this.should_skip = true),\n\t\t\tremove: () => (this.should_remove = true),\n\t\t\treplace: (node) => (this.replacement = node)\n\t\t};\n\t}\n\n\t/**\n\t * @template {Node} Parent\n\t * @param {Parent | null | undefined} parent\n\t * @param {keyof Parent | null | undefined} prop\n\t * @param {number | null | undefined} index\n\t * @param {Node} node\n\t */\n\treplace(parent, prop, index, node) {\n\t\tif (parent && prop) {\n\t\t\tif (index != null) {\n\t\t\t\t/** @type {Array<Node>} */ (parent[prop])[index] = node;\n\t\t\t} else {\n\t\t\t\t/** @type {Node} */ (parent[prop]) = node;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @template {Node} Parent\n\t * @param {Parent | null | undefined} parent\n\t * @param {keyof Parent | null | undefined} prop\n\t * @param {number | null | undefined} index\n\t */\n\tremove(parent, prop, index) {\n\t\tif (parent && prop) {\n\t\t\tif (index !== null && index !== undefined) {\n\t\t\t\t/** @type {Array<Node>} */ (parent[prop]).splice(index, 1);\n\t\t\t} else {\n\t\t\t\tdelete parent[prop];\n\t\t\t}\n\t\t}\n\t}\n}\n","import { WalkerBase } from './walker.js';\n\n/**\n * @typedef { import('estree').Node} Node\n * @typedef { import('./walker.js').WalkerContext} WalkerContext\n * @typedef {(\n * this: WalkerContext,\n * node: Node,\n * parent: Node | null,\n * key: string | number | symbol | null | undefined,\n * index: number | null | undefined\n * ) => void} SyncHandler\n */\n\nexport class SyncWalker extends WalkerBase {\n\t/**\n\t *\n\t * @param {SyncHandler} [enter]\n\t * @param {SyncHandler} [leave]\n\t */\n\tconstructor(enter, leave) {\n\t\tsuper();\n\n\t\t/** @type {boolean} */\n\t\tthis.should_skip = false;\n\n\t\t/** @type {boolean} */\n\t\tthis.should_remove = false;\n\n\t\t/** @type {Node | null} */\n\t\tthis.replacement = null;\n\n\t\t/** @type {WalkerContext} */\n\t\tthis.context = {\n\t\t\tskip: () => (this.should_skip = true),\n\t\t\tremove: () => (this.should_remove = true),\n\t\t\treplace: (node) => (this.replacement = node)\n\t\t};\n\n\t\t/** @type {SyncHandler | undefined} */\n\t\tthis.enter = enter;\n\n\t\t/** @type {SyncHandler | undefined} */\n\t\tthis.leave = leave;\n\t}\n\n\t/**\n\t * @template {Node} Parent\n\t * @param {Node} node\n\t * @param {Parent | null} parent\n\t * @param {keyof Parent} [prop]\n\t * @param {number | null} [index]\n\t * @returns {Node | null}\n\t */\n\tvisit(node, parent, prop, index) {\n\t\tif (node) {\n\t\t\tif (this.enter) {\n\t\t\t\tconst _should_skip = this.should_skip;\n\t\t\t\tconst _should_remove = this.should_remove;\n\t\t\t\tconst _replacement = this.replacement;\n\t\t\t\tthis.should_skip = false;\n\t\t\t\tthis.should_remove = false;\n\t\t\t\tthis.replacement = null;\n\n\t\t\t\tthis.enter.call(this.context, node, parent, prop, index);\n\n\t\t\t\tif (this.replacement) {\n\t\t\t\t\tnode = this.replacement;\n\t\t\t\t\tthis.replace(parent, prop, index, node);\n\t\t\t\t}\n\n\t\t\t\tif (this.should_remove) {\n\t\t\t\t\tthis.remove(parent, prop, index);\n\t\t\t\t}\n\n\t\t\t\tconst skipped = this.should_skip;\n\t\t\t\tconst removed = this.should_remove;\n\n\t\t\t\tthis.should_skip = _should_skip;\n\t\t\t\tthis.should_remove = _should_remove;\n\t\t\t\tthis.replacement = _replacement;\n\n\t\t\t\tif (skipped) return node;\n\t\t\t\tif (removed) return null;\n\t\t\t}\n\n\t\t\t/** @type {keyof Node} */\n\t\t\tlet key;\n\n\t\t\tfor (key in node) {\n\t\t\t\t/** @type {unknown} */\n\t\t\t\tconst value = node[key];\n\n\t\t\t\tif (value && typeof value === 'object') {\n\t\t\t\t\tif (Array.isArray(value)) {\n\t\t\t\t\t\tconst nodes = /** @type {Array<unknown>} */ (value);\n\t\t\t\t\t\tfor (let i = 0; i < nodes.length; i += 1) {\n\t\t\t\t\t\t\tconst item = nodes[i];\n\t\t\t\t\t\t\tif (isNode(item)) {\n\t\t\t\t\t\t\t\tif (!this.visit(item, node, key, i)) {\n\t\t\t\t\t\t\t\t\t// removed\n\t\t\t\t\t\t\t\t\ti--;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (isNode(value)) {\n\t\t\t\t\t\tthis.visit(value, node, key, null);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.leave) {\n\t\t\t\tconst _replacement = this.replacement;\n\t\t\t\tconst _should_remove = this.should_remove;\n\t\t\t\tthis.replacement = null;\n\t\t\t\tthis.should_remove = false;\n\n\t\t\t\tthis.leave.call(this.context, node, parent, prop, index);\n\n\t\t\t\tif (this.replacement) {\n\t\t\t\t\tnode = this.replacement;\n\t\t\t\t\tthis.replace(parent, prop, index, node);\n\t\t\t\t}\n\n\t\t\t\tif (this.should_remove) {\n\t\t\t\t\tthis.remove(parent, prop, index);\n\t\t\t\t}\n\n\t\t\t\tconst removed = this.should_remove;\n\n\t\t\t\tthis.replacement = _replacement;\n\t\t\t\tthis.should_remove = _should_remove;\n\n\t\t\t\tif (removed) return null;\n\t\t\t}\n\t\t}\n\n\t\treturn node;\n\t}\n}\n\n/**\n * Ducktype a node.\n *\n * @param {unknown} value\n * @returns {value is Node}\n */\nfunction isNode(value) {\n\treturn (\n\t\tvalue !== null && typeof value === 'object' && 'type' in value && typeof value.type === 'string'\n\t);\n}\n","import { SyncWalker } from './sync.js';\nimport { AsyncWalker } from './async.js';\n\n/**\n * @typedef {import('estree').Node} Node\n * @typedef {import('./sync.js').SyncHandler} SyncHandler\n * @typedef {import('./async.js').AsyncHandler} AsyncHandler\n */\n\n/**\n * @param {Node} ast\n * @param {{\n * enter?: SyncHandler\n * leave?: SyncHandler\n * }} walker\n * @returns {Node | null}\n */\nexport function walk(ast, { enter, leave }) {\n\tconst instance = new SyncWalker(enter, leave);\n\treturn instance.visit(ast, null);\n}\n\n/**\n * @param {Node} ast\n * @param {{\n * enter?: AsyncHandler\n * leave?: AsyncHandler\n * }} walker\n * @returns {Promise<Node | null>}\n */\nexport async function asyncWalk(ast, { enter, leave }) {\n\tconst instance = new AsyncWalker(enter, leave);\n\treturn await instance.visit(ast, null);\n}\n","/** @import { Context, Visitor, Visitors } from './types.js' */\n\n/**\n * @template {{ type: string }} T\n * @template {Record<string, any> | null} U\n * @param {T} node\n * @param {U} state\n * @param {Visitors<T, U>} visitors\n */\nexport function walk(node, state, visitors) {\n\tconst universal = visitors._;\n\n\tlet stopped = false;\n\n\t/** @type {Visitor<T, U, T>} _ */\n\tfunction default_visitor(_, { next, state }) {\n\t\tnext(state);\n\t}\n\n\t/**\n\t * @param {T} node\n\t * @param {T[]} path\n\t * @param {U} state\n\t * @returns {T | undefined}\n\t */\n\tfunction visit(node, path, state) {\n\t\t// Don't return the node here or it could lead to false-positive mutation detection\n\t\tif (stopped) return;\n\t\tif (!node.type) return;\n\n\t\t/** @type {T | void} */\n\t\tlet result;\n\n\t\t/** @type {Record<string, any>} */\n\t\tconst mutations = {};\n\n\t\t/** @type {Context<T, U>} */\n\t\tconst context = {\n\t\t\tpath,\n\t\t\tstate,\n\t\t\tnext: (next_state = state) => {\n\t\t\t\tpath.push(node);\n\t\t\t\tfor (const key in node) {\n\t\t\t\t\tif (key === 'type') continue;\n\n\t\t\t\t\tconst child_node = node[key];\n\t\t\t\t\tif (child_node && typeof child_node === 'object') {\n\t\t\t\t\t\tif (Array.isArray(child_node)) {\n\t\t\t\t\t\t\t/** @type {Record<number, T>} */\n\t\t\t\t\t\t\tconst array_mutations = {};\n\t\t\t\t\t\t\tconst len = child_node.length;\n\n\t\t\t\t\t\t\tlet mutated = false;\n\n\t\t\t\t\t\t\tfor (let i = 0; i < len; i++) {\n\t\t\t\t\t\t\t\tconst node = child_node[i];\n\t\t\t\t\t\t\t\tif (node && typeof node === 'object') {\n\t\t\t\t\t\t\t\t\tconst result = visit(node, path, next_state);\n\t\t\t\t\t\t\t\t\tif (result) {\n\t\t\t\t\t\t\t\t\t\tarray_mutations[i] = result;\n\t\t\t\t\t\t\t\t\t\tmutated = true;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (mutated) {\n\t\t\t\t\t\t\t\tmutations[key] = child_node.map(\n\t\t\t\t\t\t\t\t\t(node, i) => array_mutations[i] ?? node\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst result = visit(\n\t\t\t\t\t\t\t\t/** @type {T} */ (child_node),\n\t\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\t\tnext_state\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tif (result) {\n\t\t\t\t\t\t\t\tmutations[key] = result;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tpath.pop();\n\n\t\t\t\tif (Object.keys(mutations).length > 0) {\n\t\t\t\t\treturn apply_mutations(node, mutations);\n\t\t\t\t}\n\t\t\t},\n\t\t\tstop: () => {\n\t\t\t\tstopped = true;\n\t\t\t},\n\t\t\tvisit: (next_node, next_state = state) => {\n\t\t\t\tpath.push(node);\n\t\t\t\tconst result = visit(next_node, path, next_state) ?? next_node;\n\t\t\t\tpath.pop();\n\t\t\t\treturn result;\n\t\t\t}\n\t\t};\n\n\t\tlet visitor = /** @type {Visitor<T, U, T>} */ (\n\t\t\tvisitors[/** @type {T['type']} */ (node.type)] ?? default_visitor\n\t\t);\n\n\t\tif (universal) {\n\t\t\t/** @type {T | void} */\n\t\t\tlet inner_result;\n\n\t\t\tresult = universal(node, {\n\t\t\t\t...context,\n\t\t\t\t/** @param {U} next_state */\n\t\t\t\tnext: (next_state = state) => {\n\t\t\t\t\tstate = next_state; // make it the default for subsequent specialised visitors\n\n\t\t\t\t\tinner_result = visitor(node, {\n\t\t\t\t\t\t...context,\n\t\t\t\t\t\tstate: next_state\n\t\t\t\t\t});\n\n\t\t\t\t\treturn inner_result;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// @ts-expect-error TypeScript doesn't understand that `context.next(...)` is called immediately\n\t\t\tif (!result && inner_result) {\n\t\t\t\tresult = inner_result;\n\t\t\t}\n\t\t} else {\n\t\t\tresult = visitor(node, context);\n\t\t}\n\n\t\tif (!result) {\n\t\t\tif (Object.keys(mutations).length > 0) {\n\t\t\t\tresult = apply_mutations(node, mutations);\n\t\t\t}\n\t\t}\n\n\t\tif (result) {\n\t\t\treturn result;\n\t\t}\n\t}\n\n\treturn visit(node, [], state) ?? node;\n}\n\n/**\n * @template {Record<string, any>} T\n * @param {T} node\n * @param {Record<string, any>} mutations\n * @returns {T}\n */\nfunction apply_mutations(node, mutations) {\n\t/** @type {Record<string, any>} */\n\tconst obj = {};\n\n\tconst descriptors = Object.getOwnPropertyDescriptors(node);\n\n\tfor (const key in descriptors) {\n\t\tObject.defineProperty(obj, key, descriptors[key]);\n\t}\n\n\tfor (const key in mutations) {\n\t\tobj[key] = mutations[key];\n\t}\n\n\treturn /** @type {T} */ (obj);\n}\n","/** @import { Node } from 'estree' */\n\n/**\n * @param {Node} node\n * @param {Node} parent\n * @returns {boolean}\n */\nexport default function is_reference(node, parent) {\n\tif (node.type === 'MemberExpression') {\n\t\treturn !node.computed && is_reference(node.object, node);\n\t}\n\n\tif (node.type !== 'Identifier') return false;\n\n\tswitch (parent?.type) {\n\t\t// disregard `bar` in `foo.bar`\n\t\tcase 'MemberExpression':\n\t\t\treturn parent.computed || node === parent.object;\n\n\t\t// disregard the `foo` in `class {foo(){}}` but keep it in `class {[foo](){}}`\n\t\tcase 'MethodDefinition':\n\t\t\treturn parent.computed;\n\n\t\t// disregard the `meta` in `import.meta`\n\t\tcase 'MetaProperty':\n\t\t\treturn parent.meta === node;\n\n\t\t// disregard the `foo` in `class {foo=bar}` but keep it in `class {[foo]=bar}` and `class {bar=foo}`\n\t\tcase 'PropertyDefinition':\n\t\t\treturn parent.computed || node === parent.value;\n\n\t\t// disregard the `bar` in `{ bar: foo }`, but keep it in `{ [bar]: foo }`\n\t\tcase 'Property':\n\t\t\treturn parent.computed || node === parent.value;\n\n\t\t// disregard the `bar` in `export { foo as bar }` or\n\t\t// the foo in `import { foo as bar }`\n\t\tcase 'ExportSpecifier':\n\t\tcase 'ImportSpecifier':\n\t\t\treturn node === parent.local;\n\n\t\t// disregard the `foo` in `foo: while (...) { ... break foo; ... continue foo;}`\n\t\tcase 'LabeledStatement':\n\t\tcase 'BreakStatement':\n\t\tcase 'ContinueStatement':\n\t\t\treturn false;\n\n\t\tdefault:\n\t\t\treturn true;\n\t}\n}\n","import { walk } from 'zimmerframe';\nimport is_reference from 'is-reference';\n\n/** @param {import('estree').Node} expression */\nexport function analyze(expression) {\n\t/** @typedef {import('estree').Node} Node */\n\n\t/** @type {WeakMap<Node, Scope>} */\n\tconst map = new WeakMap();\n\n\t/** @type {Map<string, Node>} */\n\tconst globals = new Map();\n\n\tconst scope = new Scope(null, false);\n\n\t/** @type {[Scope, import('estree').Identifier][]} */\n\tconst references = [];\n\n\t/** @type {Scope} */\n\tlet current_scope = scope;\n\n\t/**\n\t * @param {import('estree').Node} node\n\t * @param {boolean} block\n\t */\n\tfunction push(node, block) {\n\t\tmap.set(node, (current_scope = new Scope(current_scope, block)));\n\t}\n\n\twalk(/** @type {import('estree').Node} */ (expression), null, {\n\t\t_(node, context) {\n\t\t\tswitch (node.type) {\n\t\t\t\tcase 'Identifier':\n\t\t\t\t\tconst parent = context.path.at(-1);\n\t\t\t\t\tif (parent && is_reference(node, parent)) {\n\t\t\t\t\t\treferences.push([current_scope, node]);\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\n\t\t\t\tcase 'ImportSpecifier':\n\t\t\t\t\tcurrent_scope.declarations.set(node.local.name, node);\n\t\t\t\t\treturn;\n\t\t\t\tcase 'ExportNamedDeclaration':\n\t\t\t\t\tif (node.source) {\n\t\t\t\t\t\tmap.set(node, (current_scope = new Scope(current_scope, true)));\n\t\t\t\t\t\tfor (const specifier of node.specifiers) {\n\t\t\t\t\t\t\tcurrent_scope.declarations.set(specifier.local.name, specifier);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'FunctionExpression':\n\t\t\t\tcase 'FunctionDeclaration':\n\t\t\t\tcase 'ArrowFunctionExpression':\n\t\t\t\t\tif (node.type === 'FunctionDeclaration') {\n\t\t\t\t\t\tif (node.id) {\n\t\t\t\t\t\t\tcurrent_scope.declarations.set(node.id.name, node);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tpush(node, false);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tpush(node, false);\n\n\t\t\t\t\t\tif (node.type === 'FunctionExpression' && node.id) {\n\t\t\t\t\t\t\tcurrent_scope.declarations.set(node.id.name, node);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tfor (const param of node.params) {\n\t\t\t\t\t\tfor (const name of extract_names(param)) {\n\t\t\t\t\t\t\tcurrent_scope.declarations.set(name, node);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'ForStatement':\n\t\t\t\tcase 'ForInStatement':\n\t\t\t\tcase 'ForOfStatement':\n\t\t\t\tcase 'BlockStatement':\n\t\t\t\tcase 'SwitchStatement':\n\t\t\t\t\tpush(node, true);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'ClassDeclaration':\n\t\t\t\tcase 'VariableDeclaration':\n\t\t\t\t\tcurrent_scope.add_declaration(node);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'CatchClause':\n\t\t\t\t\tpush(node, true);\n\n\t\t\t\t\tif (node.param) {\n\t\t\t\t\t\tfor (const name of extract_names(node.param)) {\n\t\t\t\t\t\t\tif (node.param) {\n\t\t\t\t\t\t\t\tcurrent_scope.declarations.set(name, node.param);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcontext.next();\n\n\t\t\tif (map.has(node) && current_scope !== null && current_scope.parent) {\n\t\t\t\tcurrent_scope = current_scope.parent;\n\t\t\t}\n\t\t}\n\t});\n\n\tfor (let i = references.length - 1; i >= 0; --i) {\n\t\tconst [scope, reference] = references[i];\n\n\t\tif (!scope.references.has(reference.name)) {\n\t\t\tadd_reference(scope, reference.name);\n\t\t}\n\t\tif (!scope.find_owner(reference.name)) {\n\t\t\tglobals.set(reference.name, reference);\n\t\t}\n\t}\n\n\treturn { map, scope, globals };\n}\n\n/**\n * @param {Scope} scope\n * @param {string} name\n */\nfunction add_reference(scope, name) {\n\tscope.references.add(name);\n\tif (scope.parent) add_reference(scope.parent, name);\n}\n\nexport class Scope {\n\t/**\n\t * @param {Scope | null} parent\n\t * @param {boolean} block\n\t */\n\tconstructor(parent, block) {\n\t\t/** @type {Scope | null} */\n\t\tthis.parent = parent;\n\n\t\t/** @type {boolean} */\n\t\tthis.block = block;\n\n\t\t/** @type {Map<string, import('estree').Node>} */\n\t\tthis.declarations = new Map();\n\n\t\t/** @type {Set<string>} */\n\t\tthis.initialised_declarations = new Set();\n\n\t\t/** @type {Set<string>} */\n\t\tthis.references = new Set();\n\t}\n\n\t/**\n\t * @param {import('estree').VariableDeclaration | import('estree').ClassDeclaration} node\n\t */\n\tadd_declaration(node) {\n\t\tif (node.type === 'VariableDeclaration') {\n\t\t\tif (node.kind === 'var' && this.block && this.parent) {\n\t\t\t\tthis.parent.add_declaration(node);\n\t\t\t} else {\n\t\t\t\tfor (const declarator of node.declarations) {\n\t\t\t\t\tfor (const name of extract_names(declarator.id)) {\n\t\t\t\t\t\tthis.declarations.set(name, node);\n\t\t\t\t\t\tif (declarator.init) this.initialised_declarations.add(name);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (node.id) {\n\t\t\tthis.declarations.set(node.id.name, node);\n\t\t}\n\t}\n\n\t/**\n\t * @param {string} name\n\t * @returns {Scope | null}\n\t */\n\tfind_owner(name) {\n\t\tif (this.declarations.has(name)) return this;\n\t\treturn this.parent && this.parent.find_owner(name);\n\t}\n\n\t/**\n\t * @param {string} name\n\t * @returns {boolean}\n\t */\n\thas(name) {\n\t\treturn (\n\t\t\tthis.declarations.has(name) || (!!this.parent && this.parent.has(name))\n\t\t);\n\t}\n}\n\n/**\n * @param {import('estree').Node} param\n * @returns {string[]}\n */\nexport function extract_names(param) {\n\treturn extract_identifiers(param).map((node) => node.name);\n}\n\n/**\n * @param {import('estree').Node} param\n * @param {import('estree').Identifier[]} nodes\n * @returns {import('estree').Identifier[]}\n */\nexport function extract_identifiers(param, nodes = []) {\n\tswitch (param.type) {\n\t\tcase 'Identifier':\n\t\t\tnodes.push(param);\n\t\t\tbreak;\n\n\t\tcase 'MemberExpression':\n\t\t\tlet object = param;\n\t\t\twhile (object.type === 'MemberExpression') {\n\t\t\t\tobject = /** @type {any} */ (object.object);\n\t\t\t}\n\t\t\tnodes.push(/** @type {any} */ (object));\n\t\t\tbreak;\n\n\t\tcase 'ObjectPattern':\n\t\t\tfor (const prop of param.properties) {\n\t\t\t\tif (prop.type === 'RestElement') {\n\t\t\t\t\textract_identifiers(prop.argument, nodes);\n\t\t\t\t} else {\n\t\t\t\t\textract_identifiers(prop.value, nodes);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tcase 'ArrayPattern':\n\t\t\tfor (const element of param.elements) {\n\t\t\t\tif (element) extract_identifiers(element, nodes);\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tcase 'RestElement':\n\t\t\textract_identifiers(param.argument, nodes);\n\t\t\tbreak;\n\n\t\tcase 'AssignmentPattern':\n\t\t\textract_identifiers(param.left, nodes);\n\t\t\tbreak;\n\t}\n\n\treturn nodes;\n}\n","import { i as tinyassert } from \"./dist-BRSdGcl7.js\";\nimport MagicString from \"magic-string\";\nimport { walk } from \"estree-walker\";\nimport { analyze, extract_names } from \"periscopic\";\n\n//#region src/transforms/hoist.ts\nfunction transformHoistInlineDirective(input, ast, { runtime, rejectNonAsyncFunction, ...options }) {\n\tif (!input.endsWith(\"\\n\")) input += \"\\n\";\n\tconst output = new MagicString(input);\n\tconst directive = typeof options.directive === \"string\" ? exactRegex(options.directive) : options.directive;\n\twalk(ast, { enter(node) {\n\t\tif (node.type === \"ExportAllDeclaration\") this.remove();\n\t\tif (node.type === \"ExportNamedDeclaration\" && !node.declaration) this.remove();\n\t} });\n\tconst analyzed = analyze(ast);\n\tconst names = [];\n\twalk(ast, { enter(node, parent) {\n\t\tif ((node.type === \"FunctionExpression\" || node.type === \"FunctionDeclaration\" || node.type === \"ArrowFunctionExpression\") && node.body.type === \"BlockStatement\") {\n\t\t\tconst match = matchDirective(node.body.body, directive)?.match;\n\t\t\tif (!match) return;\n\t\t\tif (!node.async && rejectNonAsyncFunction) throw Object.assign(/* @__PURE__ */ new Error(`\"${directive}\" doesn't allow non async function`), { pos: node.start });\n\t\t\tconst scope = analyzed.map.get(node);\n\t\t\ttinyassert(scope);\n\t\t\tconst declName = node.type === \"FunctionDeclaration\" && node.id.name;\n\t\t\tconst originalName = declName || parent?.type === \"VariableDeclarator\" && parent.id.type === \"Identifier\" && parent.id.name || \"anonymous_server_function\";\n\t\t\tconst bindVars = [...scope.references].filter((ref) => {\n\t\t\t\tif (ref === declName) return false;\n\t\t\t\tconst owner = scope.find_owner(ref);\n\t\t\t\treturn owner && owner !== scope && owner !== analyzed.scope;\n\t\t\t});\n\t\t\tlet newParams = [...bindVars, ...node.params.map((n) => input.slice(n.start, n.end))].join(\", \");\n\t\t\tif (bindVars.length > 0 && options.decode) {\n\t\t\t\tnewParams = [\"$$hoist_encoded\", ...node.params.map((n) => input.slice(n.start, n.end))].join(\", \");\n\t\t\t\toutput.appendLeft(node.body.body[0].start, `const [${bindVars.join(\",\")}] = ${options.decode(\"$$hoist_encoded\")};\\n`);\n\t\t\t}\n\t\t\tconst newName = `$$hoist_${names.length}` + (originalName ? `_${originalName}` : \"\");\n\t\t\tnames.push(newName);\n\t\t\toutput.update(node.start, node.body.start, `\\n;${options.noExport ? \"\" : \"export \"}${node.async ? \"async \" : \"\"}function ${newName}(${newParams}) `);\n\t\t\toutput.appendLeft(node.end, `;\\n/* #__PURE__ */ Object.defineProperty(${newName}, \"name\", { value: ${JSON.stringify(originalName)} });\\n`);\n\t\t\toutput.move(node.start, node.end, input.length);\n\t\t\tlet newCode = `/* #__PURE__ */ ${runtime(newName, newName, { directiveMatch: match })}`;\n\t\t\tif (bindVars.length > 0) {\n\t\t\t\tconst bindArgs = options.encode ? options.encode(\"[\" + bindVars.join(\", \") + \"]\") : bindVars.join(\", \");\n\t\t\t\tnewCode = `${newCode}.bind(null, ${bindArgs})`;\n\t\t\t}\n\t\t\tif (declName) {\n\t\t\t\tnewCode = `const ${declName} = ${newCode};`;\n\t\t\t\tif (parent?.type === \"ExportDefaultDeclaration\") {\n\t\t\t\t\toutput.remove(parent.start, node.start);\n\t\t\t\t\tnewCode = `${newCode}\\nexport default ${declName};`;\n\t\t\t\t}\n\t\t\t}\n\t\t\toutput.appendLeft(node.start, newCode);\n\t\t}\n\t} });\n\treturn {\n\t\toutput,\n\t\tnames\n\t};\n}\nconst exactRegex = (s) => /* @__PURE__ */ new RegExp(\"^\" + s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, \"\\\\$&\") + \"$\");\nfunction matchDirective(body, directive) {\n\tfor (const stmt of body) if (stmt.type === \"ExpressionStatement\" && stmt.expression.type === \"Literal\" && typeof stmt.expression.value === \"string\") {\n\t\tconst match = stmt.expression.value.match(directive);\n\t\tif (match) return {\n\t\t\tmatch,\n\t\t\tnode: stmt.expression\n\t\t};\n\t}\n}\nfunction findDirectives(ast, directive) {\n\tconst directiveRE = exactRegex(directive);\n\tconst nodes = [];\n\twalk(ast, { enter(node) {\n\t\tif (node.type === \"Program\" || node.type === \"BlockStatement\") {\n\t\t\tconst match = matchDirective(node.body, directiveRE);\n\t\t\tif (match) nodes.push(match.node);\n\t\t}\n\t} });\n\treturn nodes;\n}\n\n//#endregion\n//#region src/transforms/wrap-export.ts\nfunction transformWrapExport(input, ast, options) {\n\tconst output = new MagicString(input);\n\tconst exportNames = [];\n\tconst toAppend = [];\n\tconst filter = options.filter ?? (() => true);\n\tfunction wrapSimple(start, end, exports) {\n\t\texportNames.push(...exports.map((e) => e.name));\n\t\tconst newCode = exports.map((e) => [filter(e.name, e.meta) && `${e.name} = /* #__PURE__ */ ${options.runtime(e.name, e.name, e.meta)};\\n`, `export { ${e.name} };\\n`]).flat().filter(Boolean).join(\"\");\n\t\toutput.update(start, end, newCode);\n\t\toutput.move(start, end, input.length);\n\t}\n\tfunction wrapExport(name, exportName, meta = {}) {\n\t\texportNames.push(exportName);\n\t\tif (!filter(exportName, meta)) {\n\t\t\ttoAppend.push(`export { ${name} as ${exportName} }`);\n\t\t\treturn;\n\t\t}\n\t\ttoAppend.push(`const $$wrap_${name} = /* #__PURE__ */ ${options.runtime(name, exportName, meta)}`, `export { $$wrap_${name} as ${exportName} }`);\n\t}\n\tfunction validateNonAsyncFunction(node) {\n\t\tif (!options.rejectNonAsyncFunction) return;\n\t\tif (node.type === \"ClassDeclaration\" || (node.type === \"FunctionDeclaration\" || node.type === \"FunctionExpression\" || node.type === \"ArrowFunctionExpression\") && !node.async) throw Object.assign(/* @__PURE__ */ new Error(`unsupported non async function`), { pos: node.start });\n\t}\n\tfor (const node of ast.body) {\n\t\tif (node.type === \"ExportNamedDeclaration\") if (node.declaration) if (node.declaration.type === \"FunctionDeclaration\" || node.declaration.type === \"ClassDeclaration\") {\n\t\t\t/**\n\t\t\t* export function foo() {}\n\t\t\t*/\n\t\t\tvalidateNonAsyncFunction(node.declaration);\n\t\t\tconst name = node.declaration.id.name;\n\t\t\twrapSimple(node.start, node.declaration.start, [{\n\t\t\t\tname,\n\t\t\t\tmeta: {\n\t\t\t\t\tisFunction: true,\n\t\t\t\t\tdeclName: name\n\t\t\t\t}\n\t\t\t}]);\n\t\t} else if (node.declaration.type === \"VariableDeclaration\") {\n\t\t\t/**\n\t\t\t* export const foo = 1, bar = 2\n\t\t\t*/\n\t\t\tfor (const decl of node.declaration.declarations) if (decl.init) validateNonAsyncFunction(decl.init);\n\t\t\tif (node.declaration.kind === \"const\") output.update(node.declaration.start, node.declaration.start + 5, \"let\");\n\t\t\tconst names = node.declaration.declarations.flatMap((decl) => extract_names(decl.id));\n\t\t\tlet isFunction = false;\n\t\t\tif (node.declaration.declarations.length === 1) {\n\t\t\t\tconst decl = node.declaration.declarations[0];\n\t\t\t\tisFunction = decl.id.type === \"Identifier\" && (decl.init?.type === \"ArrowFunctionExpression\" || decl.init?.type === \"FunctionExpression\");\n\t\t\t}\n\t\t\twrapSimple(node.start, node.declaration.start, names.map((name) => ({\n\t\t\t\tname,\n\t\t\t\tmeta: {\n\t\t\t\t\tisFunction,\n\t\t\t\t\tdeclName: name\n\t\t\t\t}\n\t\t\t})));\n\t\t} else node.declaration;\n\t\telse if (node.source) {\n\t\t\t/**\n\t\t\t* export { foo, bar as car } from './foo'\n\t\t\t*/\n\t\t\toutput.remove(node.start, node.end);\n\t\t\tfor (const spec of node.specifiers) {\n\t\t\t\ttinyassert(spec.local.type === \"Identifier\");\n\t\t\t\ttinyassert(spec.exported.type === \"Identifier\");\n\t\t\t\tconst name = spec.local.name;\n\t\t\t\ttoAppend.push(`import { ${name} as $$import_${name} } from ${node.source.raw}`);\n\t\t\t\twrapExport(`$$import_${name}`, spec.exported.name);\n\t\t\t}\n\t\t} else {\n\t\t\t/**\n\t\t\t* export { foo, bar as car }\n\t\t\t*/\n\t\t\toutput.remove(node.start, node.end);\n\t\t\tfor (const spec of node.specifiers) {\n\t\t\t\ttinyassert(spec.local.type === \"Identifier\");\n\t\t\t\ttinyassert(spec.exported.type === \"Identifier\");\n\t\t\t\twrapExport(spec.local.name, spec.exported.name);\n\t\t\t}\n\t\t}\n\t\t/**\n\t\t* export * from './foo'\n\t\t*/\n\t\tif (!options.ignoreExportAllDeclaration && node.type === \"ExportAllDeclaration\") throw Object.assign(/* @__PURE__ */ new Error(\"unsupported ExportAllDeclaration\"), { pos: node.start });\n\t\t/**\n\t\t* export default function foo() {}\n\t\t* export default class Foo {}\n\t\t* export default () => {}\n\t\t*/\n\t\tif (node.type === \"ExportDefaultDeclaration\") {\n\t\t\tvalidateNonAsyncFunction(node.declaration);\n\t\t\tlet localName;\n\t\t\tlet isFunction = false;\n\t\t\tlet declName;\n\t\t\tlet defaultExportIdentifierName;\n\t\t\tif ((node.declaration.type === \"FunctionDeclaration\" || node.declaration.type === \"ClassDeclaration\") && node.declaration.id) {\n\t\t\t\tlocalName = node.declaration.id.name;\n\t\t\t\toutput.remove(node.start, node.declaration.start);\n\t\t\t\tisFunction = node.declaration.type === \"FunctionDeclaration\";\n\t\t\t\tdeclName = node.declaration.id.name;\n\t\t\t} else {\n\t\t\t\tlocalName = \"$$default\";\n\t\t\t\toutput.update(node.start, node.declaration.start, \"const $$default = \");\n\t\t\t\tif (node.declaration.type === \"Identifier\") defaultExportIdentifierName = node.declaration.name;\n\t\t\t}\n\t\t\twrapExport(localName, \"default\", {\n\t\t\t\tisFunction,\n\t\t\t\tdeclName,\n\t\t\t\tdefaultExportIdentifierName\n\t\t\t});\n\t\t}\n\t}\n\tif (toAppend.length > 0) output.append([\n\t\t\"\",\n\t\t...toAppend,\n\t\t\"\"\n\t].join(\";\\n\"));\n\treturn {\n\t\texportNames,\n\t\toutput\n\t};\n}\n\n//#endregion\n//#region src/transforms/utils.ts\nfunction hasDirective(body, directive) {\n\treturn !!body.find((stmt) => stmt.type === \"ExpressionStatement\" && stmt.expression.type === \"Literal\" && typeof stmt.expression.value === \"string\" && stmt.expression.value === directive);\n}\nfunction getExportNames(ast, options) {\n\tconst exportNames = [];\n\tfor (const node of ast.body) {\n\t\tif (node.type === \"ExportNamedDeclaration\") if (node.declaration) if (node.declaration.type === \"FunctionDeclaration\" || node.declaration.type === \"ClassDeclaration\")\n /**\n\t\t* export function foo() {}\n\t\t*/\n\t\texportNames.push(node.declaration.id.name);\n\t\telse if (node.declaration.type === \"VariableDeclaration\")\n /**\n\t\t* export const foo = 1, bar = 2\n\t\t*/\n\t\tfor (const decl of node.declaration.declarations) exportNames.push(...extract_names(decl.id));\n\t\telse node.declaration;\n\t\telse\n /**\n\t\t* export { foo, bar as car } from './foo'\n\t\t* export { foo, bar as car }\n\t\t*/\n\t\tfor (const spec of node.specifiers) {\n\t\t\ttinyassert(spec.exported.type === \"Identifier\");\n\t\t\texportNames.push(spec.exported.name);\n\t\t}\n\t\t/**\n\t\t* export * from './foo'\n\t\t*/\n\t\tif (!options.ignoreExportAllDeclaration && node.type === \"ExportAllDeclaration\") throw new Error(\"unsupported ExportAllDeclaration\");\n\t\t/**\n\t\t* export default function foo() {}\n\t\t* export default class Foo {}\n\t\t* export default () => {}\n\t\t*/\n\t\tif (node.type === \"ExportDefaultDeclaration\") exportNames.push(\"default\");\n\t}\n\treturn { exportNames };\n}\n\n//#endregion\n//#region src/transforms/proxy-export.ts\nfunction transformDirectiveProxyExport(ast, options) {\n\tif (!hasDirective(ast.body, options.directive)) return;\n\treturn transformProxyExport(ast, options);\n}\nfunction transformProxyExport(ast, options) {\n\tif (options.keep && typeof options.code !== \"string\") throw new Error(\"`keep` option requires `code`\");\n\tconst output = new MagicString(options.code ?? \" \".repeat(ast.end));\n\tconst exportNames = [];\n\tfunction createExport(node, names) {\n\t\texportNames.push(...names);\n\t\tconst newCode = names.map((name) => (name === \"default\" ? `export default` : `export const ${name} =`) + ` /* #__PURE__ */ ${options.runtime(name)};\\n`).join(\"\");\n\t\toutput.update(node.start, node.end, newCode);\n\t}\n\tfunction validateNonAsyncFunction(node, ok) {\n\t\tif (options.rejectNonAsyncFunction && !ok) throw Object.assign(/* @__PURE__ */ new Error(`unsupported non async function`), { pos: node.start });\n\t}\n\tfor (const node of ast.body) {\n\t\tif (node.type === \"ExportNamedDeclaration\") {\n\t\t\tif (node.declaration) if (node.declaration.type === \"FunctionDeclaration\" || node.declaration.type === \"ClassDeclaration\") {\n\t\t\t\t/**\n\t\t\t\t* export function foo() {}\n\t\t\t\t*/\n\t\t\t\tvalidateNonAsyncFunction(node, node.declaration.type === \"FunctionDeclaration\" && node.declaration.async);\n\t\t\t\tcreateExport(node, [node.declaration.id.name]);\n\t\t\t} else if (node.declaration.type === \"VariableDeclaration\") {\n\t\t\t\t/**\n\t\t\t\t* export const foo = 1, bar = 2\n\t\t\t\t*/\n\t\t\t\tvalidateNonAsyncFunction(node, node.declaration.declarations.every((decl) => decl.init?.type === \"ArrowFunctionExpression\" && decl.init.async));\n\t\t\t\tif (options.keep && options.code) {\n\t\t\t\t\tif (node.declaration.declarations.length === 1) {\n\t\t\t\t\t\tconst decl = node.declaration.declarations[0];\n\t\t\t\t\t\tif (decl.id.type === \"Identifier\" && decl.init) {\n\t\t\t\t\t\t\tconst name = decl.id.name;\n\t\t\t\t\t\t\tconst value = options.code.slice(decl.init.start, decl.init.end);\n\t\t\t\t\t\t\tconst newCode = `export const ${name} = /* #__PURE__ */ ${options.runtime(name, { value })};`;\n\t\t\t\t\t\t\toutput.update(node.start, node.end, newCode);\n\t\t\t\t\t\t\texportNames.push(name);\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcreateExport(node, node.declaration.declarations.flatMap((decl) => extract_names(decl.id)));\n\t\t\t} else node.declaration;\n\t\t\telse {\n\t\t\t\t/**\n\t\t\t\t* export { foo, bar as car } from './foo'\n\t\t\t\t* export { foo, bar as car }\n\t\t\t\t*/\n\t\t\t\tconst names = [];\n\t\t\t\tfor (const spec of node.specifiers) {\n\t\t\t\t\ttinyassert(spec.exported.type === \"Identifier\");\n\t\t\t\t\tnames.push(spec.exported.name);\n\t\t\t\t}\n\t\t\t\tcreateExport(node, names);\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t\t/**\n\t\t* export * from './foo'\n\t\t*/\n\t\tif (!options.ignoreExportAllDeclaration && node.type === \"ExportAllDeclaration\") throw new Error(\"unsupported ExportAllDeclaration\");\n\t\t/**\n\t\t* export default function foo() {}\n\t\t* export default class Foo {}\n\t\t* export default () => {}\n\t\t*/\n\t\tif (node.type === \"ExportDefaultDeclaration\") {\n\t\t\tvalidateNonAsyncFunction(node, node.declaration.type === \"Identifier\" || node.declaration.type === \"FunctionDeclaration\" && node.declaration.async);\n\t\t\tcreateExport(node, [\"default\"]);\n\t\t\tcontinue;\n\t\t}\n\t\tif (options.keep) continue;\n\t\toutput.remove(node.start, node.end);\n\t}\n\treturn {\n\t\texportNames,\n\t\toutput\n\t};\n}\n\n//#endregion\n//#region src/transforms/server-action.ts\nfunction transformServerActionServer(input, ast, options) {\n\tif (hasDirective(ast.body, \"use server\")) return transformWrapExport(input, ast, options);\n\treturn transformHoistInlineDirective(input, ast, {\n\t\t...options,\n\t\tdirective: \"use server\"\n\t});\n}\n\n//#endregion\nexport { hasDirective as a, transformHoistInlineDirective as c, getExportNames as i, transformDirectiveProxyExport as n, transformWrapExport as o, transformProxyExport as r, findDirectives as s, transformServerActionServer as t };","// src/shared.ts\nvar STR_ARRAY_BUFFER = \"A\";\nvar STR_ASYNC_ITERABLE = \"*\";\nvar STR_BIG_INT_64_ARRAY = \"J\";\nvar STR_BIG_UINT_64_ARRAY = \"j\";\nvar STR_BIGINT = \"b\";\nvar STR_BLOB = \"K\";\nvar STR_DATA_VIEW = \"V\";\nvar STR_DATE = \"D\";\nvar STR_ERROR = \"E\";\nvar STR_FAILURE = \"!\";\nvar STR_FALSE = \"false\";\nvar STR_FILE = \"k\";\nvar STR_FLOAT_32_ARRAY = \"H\";\nvar STR_FLOAT_64_ARRAY = \"h\";\nvar STR_FORM_DATA = \"F\";\nvar STR_INFINITY = \"I\";\nvar STR_INT_16_ARRAY = \"L\";\nvar STR_INT_32_ARRAY = \"G\";\nvar STR_INT_8_ARRAY = \"O\";\nvar STR_MAP = \"M\";\nvar STR_NaN = \"NaN\";\nvar STR_NEGATIVE_INFINITY = \"i\";\nvar STR_NEGATIVE_ZERO = \"z\";\nvar STR_NULL = \"null\";\nvar STR_PLUGIN = \"P\";\nvar STR_PROMISE = \"$\";\nvar STR_READABLE_STREAM = \"R\";\nvar STR_REDACTED = \"<redacted>\";\nvar STR_REFERENCE_SYMBOL = \"@\";\nvar STR_REGEXP = \"r\";\nvar STR_SET = \"S\";\nvar STR_SUCCESS = \":\";\nvar STR_SYMBOL = \"s\";\nvar STR_TRUE = \"true\";\nvar STR_UINT_16_ARRAY = \"l\";\nvar STR_UINT_32_ARRAY = \"g\";\nvar STR_UINT_8_ARRAY = \"o\";\nvar STR_UINT_8_ARRAY_CLAMPED = \"C\";\nvar STR_UNDEFINED = \"u\";\nvar STR_URL = \"U\";\nvar SUPPORTS_FILE = true;\ntry {\n new File([], \"\");\n} catch {\n SUPPORTS_FILE = false;\n}\nvar WaitGroup = class {\n p = 0;\n #q = [];\n #waitQueue(resolve) {\n if (this.p === 0) {\n resolve();\n } else {\n this.#q.push(resolve);\n }\n }\n add() {\n this.p++;\n }\n done() {\n if (--this.p === 0) {\n let r;\n while ((r = this.#q.shift()) !== void 0) {\n r();\n }\n }\n }\n wait() {\n return new Promise(this.#waitQueue.bind(this));\n }\n};\nvar Deferred = class {\n promise;\n resolve;\n reject;\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n};\nvar DeferredAsyncIterable = class {\n iterable;\n #deferred = new Deferred();\n #next = this.#deferred;\n constructor() {\n this.iterable = async function* () {\n let next = this.#deferred;\n while (true) {\n const res = await next.promise;\n if (res.done) {\n return;\n }\n yield res.value;\n next = res.next;\n }\n }.bind(this)();\n }\n resolve() {\n this.#next.resolve({ done: true });\n }\n reject(error) {\n this.#next.promise.catch(() => {\n });\n this.#next.reject(error);\n }\n yield(value) {\n const deferred = new Deferred();\n this.#next.resolve({\n done: false,\n value,\n next: deferred\n });\n this.#next = deferred;\n }\n};\nvar DeferredReadableStream = class extends DeferredAsyncIterable {\n readable = new ReadableStream({\n start: async (controller) => {\n try {\n for await (const value of this.iterable) {\n controller.enqueue(value);\n }\n controller.close();\n } catch (error) {\n controller.error(error);\n }\n }\n });\n};\nvar TurboBlob = class _TurboBlob extends Blob {\n promise;\n #size;\n #type;\n #slice = {};\n constructor(from, start, end, contentType) {\n super();\n if (typeof from !== \"undefined\") {\n this.promise = from.promise;\n let nextStart = from.#slice.start ?? 0;\n if (typeof start !== \"undefined\") {\n nextStart += start;\n }\n this.#slice.start = nextStart;\n let nextEnd = from.#slice.end;\n if (typeof end !== \"undefined\") {\n nextEnd = (from.#slice.start ?? 0) + end;\n }\n this.#slice.end = nextEnd;\n this.#type = contentType ?? (from == null ? void 0 : from.type);\n this.#size = (nextEnd ?? from.size) - nextStart;\n }\n }\n get size() {\n if (typeof this.#size === \"undefined\") {\n throw new Error(\"Size is not set\");\n }\n return this.#size;\n }\n set size(value) {\n this.#size = value;\n }\n get type() {\n if (typeof this.#type === \"undefined\") {\n throw new Error(\"Type is not set\");\n }\n return this.#type;\n }\n set type(value) {\n this.#type = value;\n }\n async arrayBuffer() {\n if (!this.promise) {\n throw new Error(\"Promise is not set\");\n }\n const buffer = await this.promise;\n if (this.#slice) {\n return buffer.slice(\n this.#slice.start,\n this.#slice.end\n );\n }\n return buffer;\n }\n bytes() {\n return this.arrayBuffer().then((buffer) => new Uint8Array(buffer));\n }\n slice(start, end, contentType) {\n return new _TurboBlob(this, start, end, contentType);\n }\n stream() {\n return new ReadableStream({\n start: async (controller) => {\n try {\n controller.enqueue(await this.bytes());\n controller.close();\n } catch (err) {\n controller.error(err);\n }\n }\n });\n }\n text() {\n return this.bytes().then((bytes) => {\n return new TextDecoder().decode(bytes);\n });\n }\n};\nvar FileBaseClass = SUPPORTS_FILE ? File : Blob;\nvar TurboFile = class _TurboFile extends FileBaseClass {\n promise;\n #size;\n #type;\n #name;\n #lastModified;\n #slice = {};\n constructor(from, start, end, contentType) {\n if (SUPPORTS_FILE) {\n super([], \"\");\n } else {\n super([]);\n }\n if (typeof from !== \"undefined\") {\n this.promise = from.promise;\n let nextStart = from.#slice.start ?? 0;\n if (typeof start !== \"undefined\") {\n nextStart += start;\n }\n this.#slice.start = nextStart;\n let nextEnd = from.#slice.end;\n if (typeof end !== \"undefined\") {\n nextEnd = (from.#slice.start ?? 0) + end;\n }\n this.#slice.end = nextEnd;\n this.#type = contentType ?? (from == null ? void 0 : from.type);\n this.#name = from.name;\n this.#lastModified = from.lastModified;\n }\n }\n get name() {\n if (typeof this.#name === \"undefined\") {\n throw new Error(\"Name is not set\");\n }\n return this.#name;\n }\n set name(value) {\n this.#name = value;\n }\n get lastModified() {\n if (typeof this.#lastModified === \"undefined\") {\n throw new Error(\"Last modified is not set\");\n }\n return this.#lastModified;\n }\n set lastModified(value) {\n this.#lastModified = value;\n }\n get size() {\n if (typeof this.#size === \"undefined\") {\n throw new Error(\"Size is not set\");\n }\n return this.#size;\n }\n set size(value) {\n this.#size = value;\n }\n get type() {\n if (typeof this.#type === \"undefined\") {\n throw new Error(\"Type is not set\");\n }\n return this.#type;\n }\n set type(value) {\n this.#type = value;\n }\n async arrayBuffer() {\n if (!this.promise) {\n throw new Error(\"Promise is not set\");\n }\n const buffer = await this.promise;\n if (this.#slice) {\n return buffer.slice(\n this.#slice.start,\n this.#slice.end\n );\n }\n return buffer;\n }\n bytes() {\n return this.arrayBuffer().then((buffer) => new Uint8Array(buffer));\n }\n slice(start, end, contentType) {\n return new _TurboFile(this, start, end, contentType);\n }\n stream() {\n return new ReadableStream({\n start: async (controller) => {\n try {\n controller.enqueue(await this.bytes());\n controller.close();\n } catch (err) {\n controller.error(err);\n }\n }\n });\n }\n text() {\n return this.bytes().then((bytes) => {\n return new TextDecoder().decode(bytes);\n });\n }\n};\n\n// src/decode.ts\nvar MODE_UNKNOWN = 0;\nvar MODE_NUMBER = 1;\nvar MODE_STRING = 2;\nvar MODE_ASYNC = 3;\nvar SUB_MODE_UNKNOWN = 0;\nvar SUB_MODE_BIGINT = 1;\nvar SUB_MODE_DATE = 2;\nvar SUB_MODE_URL = 3;\nvar SUB_MODE_SYMBOL = 4;\nvar SUB_MODE_REFERENCE = 5;\nvar SUB_MODE_OBJECT_KEY = 6;\nvar SUB_MODE_PROMISE_ID = 7;\nvar SUB_MODE_ASYNC_ITERABLE_ID = 8;\nvar SUB_MODE_READABLE_STREAM_ID = 9;\nvar SUB_MODE_ASYNC_STATUS = 10;\nvar SUB_MODE_ARRAY_BUFFER = 11;\nvar SUB_MODE_INT_8_ARRAY = 12;\nvar SUB_MODE_UINT_8_ARRAY = 13;\nvar SUB_MODE_UINT_8_ARRAY_CLAMPED = 14;\nvar SUB_MODE_INT_16_ARRAY = 15;\nvar SUB_MODE_UINT_16_ARRAY = 16;\nvar SUB_MODE_INT_32_ARRAY = 17;\nvar SUB_MODE_UINT_32_ARRAY = 18;\nvar SUB_MODE_FLOAT_32_ARRAY = 19;\nvar SUB_MODE_FLOAT_64_ARRAY = 20;\nvar SUB_MODE_BIG_INT_64_ARRAY = 21;\nvar SUB_MODE_BIG_UINT_64_ARRAY = 22;\nvar SUB_MODE_DATA_VIEW = 23;\nvar ARRAY_TYPE_SET = 0;\nvar ARRAY_TYPE_MAP = 1;\nvar ARRAY_TYPE_REGEXP = 2;\nvar ARRAY_TYPE_FORM_DATA = 3;\nvar ARRAY_TYPE_PLUGIN = 4;\nvar RELEASE_TYPE_OBJECT = 1;\nvar RELEASE_TYPE_ARRAY = 2;\nasync function decode(stream, { plugins = [] } = {}) {\n let root = new Deferred();\n let references = /* @__PURE__ */ new Map();\n let deferredValues = /* @__PURE__ */ new Map();\n let stack = [];\n let mode = MODE_UNKNOWN;\n let subMode = SUB_MODE_UNKNOWN;\n let buffer = \"\";\n let shouldSkip = 0;\n let lastChar;\n let numSlashes = 0;\n let hasSlashes = false;\n let releaseValue = (value, type) => {\n if (type === RELEASE_TYPE_OBJECT) {\n if (typeof value !== \"object\" || value === null) {\n throw new Error(\"Expected object\");\n }\n } else if (type === RELEASE_TYPE_ARRAY) {\n if (!Array.isArray(value)) {\n throw new Error(\"Expected array\");\n }\n }\n if (Array.isArray(value) && typeof value.__type === \"number\") {\n switch (value.__type) {\n case ARRAY_TYPE_MAP:\n for (let [key, val] of value) {\n value.__ref.set(key, val);\n }\n value = value.__ref;\n break;\n case ARRAY_TYPE_SET:\n for (let val of value) {\n value.__ref.add(val);\n }\n value = value.__ref;\n break;\n case ARRAY_TYPE_REGEXP:\n value = new RegExp(value[0], value[1]);\n references.set(value.__id, value);\n break;\n case ARRAY_TYPE_FORM_DATA: {\n let formData = new FormData();\n for (let [key, val] of value) {\n formData.append(key, val);\n }\n value = formData;\n references.set(value.__id, value);\n break;\n }\n case ARRAY_TYPE_PLUGIN: {\n let pluginHandled = false;\n let pluginsLength = plugins.length;\n for (let i = 0; i < pluginsLength; i++) {\n let result = plugins[i](...value);\n if (typeof result === \"object\" && result !== null) {\n value = result.value;\n pluginHandled = true;\n break;\n }\n }\n if (!pluginHandled) {\n value = void 0;\n }\n break;\n }\n }\n }\n if (stack.length === 0) {\n if (root === null) {\n throw new Error(\"Unexpected root value\");\n }\n if (root !== null) {\n root.resolve(value);\n root = null;\n return;\n }\n }\n let parent = stack[stack.length - 1];\n if (Array.isArray(parent)) {\n parent.push(value);\n } else if (typeof parent === \"string\") {\n stack.pop();\n stack[stack.length - 1][parent] = value;\n } else if (typeof parent === \"boolean\") {\n stack.pop();\n let deferred = deferredValues.get(stack.pop());\n if (!deferred) {\n throw new Error(\"Invalid stack state\");\n }\n if (deferred instanceof Deferred) {\n if (parent) {\n deferred.resolve(value);\n } else {\n deferred.reject(value);\n }\n } else {\n if (parent) {\n deferred.yield(value);\n } else {\n deferred.reject(value);\n }\n }\n } else {\n throw new Error(\"Invalid stack state\");\n }\n };\n let step = (chunk) => {\n let length = chunk.length;\n let charCode;\n let start = shouldSkip;\n shouldSkip = 0;\n let i = start;\n for (; i < length; i++) {\n charCode = chunk.charCodeAt(i);\n if (mode === MODE_UNKNOWN) {\n if (charCode === 44) {\n mode = MODE_UNKNOWN;\n subMode = Array.isArray(stack[stack.length - 1]) ? SUB_MODE_UNKNOWN : SUB_MODE_OBJECT_KEY;\n } else if (charCode === 10) {\n if (subMode === SUB_MODE_ASYNC_STATUS) {\n let id = stack.pop();\n if (typeof id !== \"number\") {\n throw new Error(\"Invalid stack state\");\n }\n let deferred = deferredValues.get(id);\n deferred.resolve();\n deferredValues.delete(id);\n }\n mode = MODE_ASYNC;\n subMode = MODE_UNKNOWN;\n buffer = \"\";\n } else if (charCode === 123) {\n let newObj = {};\n stack.push(newObj);\n references.set(references.size, newObj);\n subMode = SUB_MODE_OBJECT_KEY;\n } else if (charCode === 125) {\n releaseValue(stack.pop(), 1);\n } else if (charCode === 91) {\n let newArr = [];\n stack.push(newArr);\n references.set(references.size, newArr);\n } else if (charCode === 83) {\n let newArr = [];\n newArr.__type = ARRAY_TYPE_SET;\n newArr.__ref = /* @__PURE__ */ new Set();\n stack.push(newArr);\n references.set(references.size, newArr.__ref);\n i++;\n } else if (charCode === 77) {\n let newArr = [];\n newArr.__type = ARRAY_TYPE_MAP;\n newArr.__ref = /* @__PURE__ */ new Map();\n stack.push(newArr);\n references.set(references.size, newArr.__ref);\n i++;\n } else if (charCode === 114) {\n let newArr = [];\n newArr.__type = ARRAY_TYPE_REGEXP;\n newArr.__id = references.size;\n stack.push(newArr);\n references.set(newArr.__id, newArr);\n i++;\n } else if (charCode === 80) {\n let newArr = [];\n newArr.__type = ARRAY_TYPE_PLUGIN;\n newArr.__id = references.size;\n stack.push(newArr);\n references.set(newArr.__id, newArr);\n i++;\n } else if (charCode === 93) {\n releaseValue(stack.pop(), 2);\n } else if (charCode === 64) {\n subMode = SUB_MODE_REFERENCE;\n } else if (charCode === 68) {\n subMode = SUB_MODE_DATE;\n } else if (charCode === 85) {\n subMode = SUB_MODE_URL;\n } else if (charCode === 115) {\n subMode = SUB_MODE_SYMBOL;\n } else if (charCode === 34) {\n mode = MODE_STRING;\n buffer = \"\";\n lastChar = void 0;\n numSlashes = 0;\n hasSlashes = false;\n } else if (charCode === 36) {\n subMode = SUB_MODE_PROMISE_ID;\n } else if (charCode === 42) {\n subMode = SUB_MODE_ASYNC_ITERABLE_ID;\n } else if (charCode === 82) {\n subMode = SUB_MODE_READABLE_STREAM_ID;\n } else if (charCode === 58) {\n if (subMode !== SUB_MODE_ASYNC_STATUS) {\n throw new SyntaxError(\"Unexpected character: ':'\");\n }\n stack.push(true);\n } else if (charCode === 33) {\n if (subMode !== SUB_MODE_ASYNC_STATUS) {\n throw new SyntaxError(\"Unexpected character: '!'\");\n }\n stack.push(false);\n } else if (charCode === 117) {\n releaseValue(void 0, 0);\n subMode = SUB_MODE_UNKNOWN;\n } else if (charCode === 110) {\n i += 3;\n releaseValue(null, 0);\n subMode = SUB_MODE_UNKNOWN;\n } else if (charCode === 116) {\n i += 3;\n releaseValue(true, 0);\n subMode = SUB_MODE_UNKNOWN;\n } else if (charCode === 102) {\n i += 4;\n releaseValue(false, 0);\n subMode = SUB_MODE_UNKNOWN;\n } else if (charCode === 78) {\n i += 2;\n releaseValue(Number.NaN, 0);\n subMode = SUB_MODE_UNKNOWN;\n } else if (charCode === 73) {\n releaseValue(Number.POSITIVE_INFINITY, 0);\n subMode = SUB_MODE_UNKNOWN;\n } else if (charCode === 105) {\n releaseValue(Number.NEGATIVE_INFINITY, 0);\n subMode = SUB_MODE_UNKNOWN;\n } else if (charCode === 122) {\n releaseValue(-0, 0);\n subMode = SUB_MODE_UNKNOWN;\n } else if (charCode === 98) {\n subMode = SUB_MODE_BIGINT;\n } else if (charCode === 45 || // -\n charCode === 46 || // .\n charCode >= 48 && charCode <= 57) {\n mode = MODE_NUMBER;\n buffer = chunk[i];\n } else if (charCode === 69) {\n let newObj = new Error();\n stack.push(newObj);\n references.set(references.size, newObj);\n subMode = SUB_MODE_OBJECT_KEY;\n i++;\n } else if (charCode === 70) {\n let newArr = [];\n newArr.__type = ARRAY_TYPE_FORM_DATA;\n newArr.__id = references.size;\n stack.push(newArr);\n references.set(newArr.__id, newArr);\n i++;\n } else if (charCode === 75) {\n let newObj = new TurboBlob();\n stack.push(newObj);\n references.set(references.size, newObj);\n subMode = SUB_MODE_OBJECT_KEY;\n i++;\n } else if (charCode === 107) {\n let newObj = new TurboFile();\n stack.push(newObj);\n references.set(references.size, newObj);\n subMode = SUB_MODE_OBJECT_KEY;\n i++;\n } else if (charCode === 65) {\n subMode = SUB_MODE_ARRAY_BUFFER;\n } else if (charCode === 79) {\n subMode = SUB_MODE_INT_8_ARRAY;\n } else if (charCode === 111) {\n subMode = SUB_MODE_UINT_8_ARRAY;\n } else if (charCode === 67) {\n subMode = SUB_MODE_UINT_8_ARRAY_CLAMPED;\n } else if (charCode === 76) {\n subMode = SUB_MODE_INT_16_ARRAY;\n } else if (charCode === 108) {\n subMode = SUB_MODE_UINT_16_ARRAY;\n } else if (charCode === 71) {\n subMode = SUB_MODE_INT_32_ARRAY;\n } else if (charCode === 103) {\n subMode = SUB_MODE_UINT_32_ARRAY;\n } else if (charCode === 72) {\n subMode = SUB_MODE_FLOAT_32_ARRAY;\n } else if (charCode === 104) {\n subMode = SUB_MODE_FLOAT_64_ARRAY;\n } else if (charCode === 74) {\n subMode = SUB_MODE_BIG_INT_64_ARRAY;\n } else if (charCode === 106) {\n subMode = SUB_MODE_BIG_UINT_64_ARRAY;\n } else if (charCode === 86) {\n subMode = SUB_MODE_DATA_VIEW;\n } else {\n throw new SyntaxError(`Unexpected character: '${chunk[i]}'`);\n }\n } else if (mode === MODE_NUMBER || mode === MODE_ASYNC) {\n if (charCode === 45 || // -\n charCode === 46 || // .\n charCode >= 48 && charCode <= 57) {\n buffer += chunk[i];\n } else {\n if (mode === MODE_ASYNC) {\n stack.push(Number(buffer));\n mode = MODE_UNKNOWN;\n subMode = SUB_MODE_ASYNC_STATUS;\n i--;\n continue;\n }\n if (subMode === SUB_MODE_PROMISE_ID) {\n let id = Number(buffer);\n let existing = deferredValues.get(id);\n if (existing) {\n releaseValue(existing.promise, 0);\n } else {\n let deferred = new Deferred();\n deferredValues.set(id, deferred);\n releaseValue(deferred.promise, 0);\n }\n } else if (subMode === SUB_MODE_ASYNC_ITERABLE_ID) {\n let id = Number(buffer);\n let existing = deferredValues.get(\n id\n );\n if (existing) {\n releaseValue(existing.iterable, 0);\n } else {\n let deferred = new DeferredAsyncIterable();\n deferredValues.set(id, deferred);\n releaseValue(deferred.iterable, 0);\n }\n } else if (subMode === SUB_MODE_READABLE_STREAM_ID) {\n let id = Number(buffer);\n let existing = deferredValues.get(\n id\n );\n if (existing) {\n releaseValue(existing.readable, 0);\n } else {\n let deferred = new DeferredReadableStream();\n deferredValues.set(id, deferred);\n releaseValue(deferred.readable, 0);\n }\n } else {\n releaseValue(\n subMode === SUB_MODE_BIGINT ? BigInt(buffer) : subMode === SUB_MODE_REFERENCE ? references.get(Number(buffer)) : Number(buffer),\n 0\n );\n }\n buffer = \"\";\n mode = MODE_UNKNOWN;\n subMode = SUB_MODE_UNKNOWN;\n i--;\n }\n } else if (mode === MODE_STRING) {\n let stringEnd = false;\n for (; i < length; i++) {\n charCode = chunk.charCodeAt(i);\n if (charCode !== 34 || lastChar === 92 && numSlashes % 2 === 1) {\n buffer += chunk[i];\n lastChar = charCode;\n if (lastChar === 92) {\n numSlashes++;\n hasSlashes = true;\n } else {\n numSlashes = 0;\n }\n } else {\n stringEnd = true;\n break;\n }\n }\n if (stringEnd) {\n let value = hasSlashes ? JSON.parse(`\"${buffer}\"`) : buffer;\n if (subMode === SUB_MODE_OBJECT_KEY) {\n stack.push(value);\n i++;\n } else {\n if (subMode === SUB_MODE_DATE) {\n value = new Date(value);\n references.set(references.size, value);\n } else if (subMode === SUB_MODE_SYMBOL) {\n value = Symbol.for(value);\n } else if (subMode === SUB_MODE_URL) {\n value = new URL(value);\n references.set(references.size, value);\n } else if (subMode === SUB_MODE_ARRAY_BUFFER) {\n value = decodeTypedArray(value).buffer;\n references.set(references.size, value);\n } else if (subMode === SUB_MODE_INT_8_ARRAY) {\n value = new Int8Array(decodeTypedArray(value).buffer);\n references.set(references.size, value);\n } else if (subMode === SUB_MODE_UINT_8_ARRAY) {\n value = decodeTypedArray(value);\n references.set(references.size, value);\n } else if (subMode === SUB_MODE_UINT_8_ARRAY_CLAMPED) {\n value = new Uint8ClampedArray(decodeTypedArray(value).buffer);\n references.set(references.size, value);\n } else if (subMode === SUB_MODE_INT_16_ARRAY) {\n value = new Int16Array(decodeTypedArray(value).buffer);\n references.set(references.size, value);\n } else if (subMode === SUB_MODE_UINT_16_ARRAY) {\n value = new Uint16Array(decodeTypedArray(value).buffer);\n references.set(references.size, value);\n } else if (subMode === SUB_MODE_INT_32_ARRAY) {\n value = new Int32Array(decodeTypedArray(value).buffer);\n references.set(references.size, value);\n } else if (subMode === SUB_MODE_UINT_32_ARRAY) {\n value = new Uint32Array(decodeTypedArray(value).buffer);\n references.set(references.size, value);\n } else if (subMode === SUB_MODE_FLOAT_32_ARRAY) {\n value = new Float32Array(decodeTypedArray(value).buffer);\n references.set(references.size, value);\n } else if (subMode === SUB_MODE_FLOAT_64_ARRAY) {\n value = new Float64Array(decodeTypedArray(value).buffer);\n references.set(references.size, value);\n } else if (subMode === SUB_MODE_BIG_INT_64_ARRAY) {\n value = new BigInt64Array(decodeTypedArray(value).buffer);\n references.set(references.size, value);\n } else if (subMode === SUB_MODE_BIG_UINT_64_ARRAY) {\n value = new BigUint64Array(decodeTypedArray(value).buffer);\n references.set(references.size, value);\n } else if (subMode === SUB_MODE_DATA_VIEW) {\n value = decodeTypedArray(value);\n value = new DataView(\n value.buffer,\n value.byteOffset,\n value.byteLength\n );\n references.set(references.size, value);\n }\n releaseValue(value, 0);\n }\n mode = MODE_UNKNOWN;\n subMode = SUB_MODE_UNKNOWN;\n } else {\n i--;\n }\n }\n }\n if (i > length) {\n shouldSkip = i - length;\n }\n };\n let reader = stream.getReader();\n (async () => {\n let read;\n while (!(read = await reader.read()).done) {\n step(read.value);\n }\n })().catch((error) => {\n if (root) {\n root.reject(error);\n root = null;\n }\n for (let deferred of deferredValues.values()) {\n deferred.reject(error);\n }\n }).finally(() => {\n reader.releaseLock();\n if (root) {\n root.reject(new Error(\"Stream ended before root value was parsed\"));\n root = null;\n }\n for (let deferred of deferredValues.values()) {\n deferred.reject(new Error(\"Stream ended before promise was resolved\"));\n }\n });\n return root.promise;\n}\nfunction decodeTypedArray(base64) {\n const decodedStr = atob(base64);\n const uint8Array = new Uint8Array(decodedStr.length);\n for (let i = 0; i < decodedStr.length; i++) {\n uint8Array[i] = decodedStr.charCodeAt(i);\n }\n return uint8Array;\n}\n\n// src/encode.ts\nvar { NEGATIVE_INFINITY, POSITIVE_INFINITY, isNaN: nan } = Number;\nvar ASYNC_FRAME_TYPE_PROMISE = 1;\nvar ASYNC_FRAME_TYPE_ITERABLE = 2;\nfunction encode(value, { plugins = [], redactErrors = true, signal } = {}) {\n const aborted = () => (signal == null ? void 0 : signal.aborted) ?? false;\n const waitForAbort = new Promise((_, reject) => {\n signal == null ? void 0 : signal.addEventListener(\"abort\", (reason) => {\n reject(new DOMException(\"Aborted\", \"AbortError\"));\n });\n });\n return new ReadableStream({\n async start(controller) {\n let refCache = /* @__PURE__ */ new WeakMap();\n let asyncCache = /* @__PURE__ */ new WeakMap();\n let counters = { refId: 0, promiseId: 0 };\n let wg = new WaitGroup();\n let chunks = [];\n let encode2 = (value2) => {\n encodeSync(\n value2,\n chunks,\n refCache,\n asyncCache,\n promises,\n counters,\n plugins,\n redactErrors\n );\n controller.enqueue(chunks.join(\"\") + \"\\n\");\n chunks.length = 0;\n };\n let handlePromiseResolved = (id, value2) => {\n wg.done();\n if (aborted())\n return;\n controller.enqueue(`${id}${STR_SUCCESS}`);\n encode2(value2);\n };\n let handlePromiseRejected = (id, error) => {\n wg.done();\n if (aborted())\n return;\n controller.enqueue(`${id}${STR_FAILURE}`);\n encode2(error);\n };\n let promises = {\n push: (...promiseFrames) => {\n for (let [type, id, promise] of promiseFrames) {\n wg.add();\n if (type === ASYNC_FRAME_TYPE_PROMISE) {\n Promise.race([promise, waitForAbort]).then(\n handlePromiseResolved.bind(null, id),\n handlePromiseRejected.bind(null, id)\n );\n } else {\n (async () => {\n let iterator = promise[Symbol.asyncIterator]();\n let result;\n do {\n result = await iterator.next();\n if (aborted())\n return;\n if (!result.done) {\n controller.enqueue(`${id}${STR_SUCCESS}`);\n encode2(result.value);\n }\n } while (!result.done);\n })().then(\n () => {\n if (aborted())\n return;\n controller.enqueue(`${id}\n`);\n },\n (error) => {\n if (aborted())\n return;\n controller.enqueue(`${id}${STR_FAILURE}`);\n encode2(error);\n }\n ).finally(() => {\n wg.done();\n });\n }\n }\n }\n };\n try {\n encode2(value);\n do {\n await Promise.race([wg.wait(), waitForAbort]);\n } while (wg.p > 0);\n controller.close();\n } catch (error) {\n controller.error(error);\n }\n }\n });\n}\nvar ENCODE_FRAME_TYPE_NEEDS_ENCODING = 1;\nvar ENCODE_FRAME_TYPE_ALREADY_ENCODED = 2;\nvar EncodeFrame = class {\n type;\n prefix;\n value;\n constructor(type, prefix, value) {\n this.type = type;\n this.prefix = prefix;\n this.value = value;\n }\n};\nfunction encodeSync(value, chunks, refs, promises, asyncFrames, counters, plugins, redactErrors) {\n let encodeStack = [\n new EncodeFrame(\n ENCODE_FRAME_TYPE_NEEDS_ENCODING,\n \"\",\n value\n )\n ];\n let frame;\n encodeLoop:\n while ((frame = encodeStack.pop()) !== void 0) {\n if (frame.type === ENCODE_FRAME_TYPE_ALREADY_ENCODED) {\n chunks.push(frame.prefix);\n continue;\n }\n let { prefix, value: value2 } = frame;\n chunks.push(prefix);\n if (value2 === void 0) {\n chunks.push(STR_UNDEFINED);\n continue;\n }\n if (value2 === null) {\n chunks.push(STR_NULL);\n continue;\n }\n if (value2 === true) {\n chunks.push(STR_TRUE);\n continue;\n }\n if (value2 === false) {\n chunks.push(STR_FALSE);\n continue;\n }\n const typeOfValue = typeof value2;\n if (typeOfValue === \"object\") {\n if (value2 instanceof Promise || typeof value2.then === \"function\") {\n let existingId = promises.get(value2);\n if (existingId !== void 0) {\n chunks.push(STR_PROMISE, existingId.toString());\n continue;\n }\n let promiseId = counters.promiseId++;\n promises.set(value2, promiseId);\n chunks.push(STR_PROMISE, promiseId.toString());\n asyncFrames.push([\n ASYNC_FRAME_TYPE_PROMISE,\n promiseId,\n value2\n ]);\n continue;\n }\n if (value2 instanceof ReadableStream) {\n let existingId = promises.get(value2);\n if (existingId !== void 0) {\n chunks.push(STR_READABLE_STREAM, existingId.toString());\n continue;\n }\n let iterableId = counters.promiseId++;\n promises.set(value2, iterableId);\n chunks.push(STR_READABLE_STREAM, iterableId.toString());\n asyncFrames.push([\n ASYNC_FRAME_TYPE_ITERABLE,\n iterableId,\n {\n [Symbol.asyncIterator]: async function* () {\n let reader = value2.getReader();\n try {\n while (true) {\n let { done, value: value3 } = await reader.read();\n if (done) {\n return;\n }\n yield value3;\n }\n } finally {\n reader.releaseLock();\n }\n }\n }\n ]);\n continue;\n }\n if (typeof value2[Symbol.asyncIterator] === \"function\") {\n let existingId = promises.get(value2);\n if (existingId !== void 0) {\n chunks.push(STR_ASYNC_ITERABLE, existingId.toString());\n continue;\n }\n let iterableId = counters.promiseId++;\n promises.set(value2, iterableId);\n chunks.push(STR_ASYNC_ITERABLE, iterableId.toString());\n asyncFrames.push([\n ASYNC_FRAME_TYPE_ITERABLE,\n iterableId,\n value2\n ]);\n continue;\n }\n {\n let existingId = refs.get(value2);\n if (existingId !== void 0) {\n chunks.push(STR_REFERENCE_SYMBOL, existingId.toString());\n continue;\n }\n refs.set(value2, counters.refId++);\n }\n if (value2 instanceof Date) {\n chunks.push(STR_DATE, '\"', value2.toJSON(), '\"');\n } else if (value2 instanceof RegExp) {\n chunks.push(STR_REGEXP, JSON.stringify([value2.source, value2.flags]));\n } else if (value2 instanceof URL) {\n chunks.push(STR_URL, JSON.stringify(value2));\n } else if (value2 instanceof ArrayBuffer) {\n chunks.push(\n STR_ARRAY_BUFFER,\n stringifyTypedArray(new Uint8Array(value2))\n );\n } else if (value2 instanceof Int8Array) {\n chunks.push(STR_INT_8_ARRAY, stringifyTypedArray(value2));\n } else if (value2 instanceof Uint8Array) {\n chunks.push(STR_UINT_8_ARRAY, stringifyTypedArray(value2));\n } else if (value2 instanceof Uint8ClampedArray) {\n chunks.push(STR_UINT_8_ARRAY_CLAMPED, stringifyTypedArray(value2));\n } else if (value2 instanceof Int16Array) {\n chunks.push(STR_INT_16_ARRAY, stringifyTypedArray(value2));\n } else if (value2 instanceof Uint16Array) {\n chunks.push(STR_UINT_16_ARRAY, stringifyTypedArray(value2));\n } else if (value2 instanceof Int32Array) {\n chunks.push(STR_INT_32_ARRAY, stringifyTypedArray(value2));\n } else if (value2 instanceof Uint32Array) {\n chunks.push(STR_UINT_32_ARRAY, stringifyTypedArray(value2));\n } else if (value2 instanceof Float32Array) {\n chunks.push(STR_FLOAT_32_ARRAY, stringifyTypedArray(value2));\n } else if (value2 instanceof Float64Array) {\n chunks.push(STR_FLOAT_64_ARRAY, stringifyTypedArray(value2));\n } else if (value2 instanceof BigInt64Array) {\n chunks.push(STR_BIG_INT_64_ARRAY, stringifyTypedArray(value2));\n } else if (value2 instanceof BigUint64Array) {\n chunks.push(STR_BIG_UINT_64_ARRAY, stringifyTypedArray(value2));\n } else if (value2 instanceof DataView) {\n chunks.push(STR_DATA_VIEW, stringifyTypedArray(value2));\n } else if (value2 instanceof FormData) {\n encodeStack.push(\n new EncodeFrame(\n ENCODE_FRAME_TYPE_NEEDS_ENCODING,\n STR_FORM_DATA,\n Array.from(value2.entries())\n )\n );\n } else if (SUPPORTS_FILE && value2 instanceof File) {\n encodeStack.push(\n new EncodeFrame(ENCODE_FRAME_TYPE_NEEDS_ENCODING, STR_FILE, {\n promise: value2.arrayBuffer(),\n size: value2.size,\n type: value2.type,\n name: value2.name,\n lastModified: value2.lastModified\n })\n );\n } else if (value2 instanceof Blob) {\n encodeStack.push(\n new EncodeFrame(ENCODE_FRAME_TYPE_NEEDS_ENCODING, STR_BLOB, {\n promise: value2.arrayBuffer(),\n size: value2.size,\n type: value2.type\n })\n );\n } else if (value2 instanceof Error) {\n encodeStack.push(\n new EncodeFrame(\n ENCODE_FRAME_TYPE_NEEDS_ENCODING,\n STR_ERROR,\n prepareErrorForEncoding(value2, redactErrors)\n )\n );\n } else if (typeof value2.toJSON === \"function\") {\n const newValue = value2.toJSON();\n encodeStack.push(\n new EncodeFrame(\n ENCODE_FRAME_TYPE_NEEDS_ENCODING,\n \"\",\n newValue\n )\n );\n if (typeof newValue === \"object\") {\n counters.refId--;\n } else {\n refs.delete(value2);\n }\n } else {\n {\n let isIterable = typeof value2[Symbol.iterator] === \"function\";\n if (isIterable) {\n let isArray = Array.isArray(value2);\n let toEncode = isArray ? value2 : Array.from(value2);\n encodeStack.push(\n new EncodeFrame(\n ENCODE_FRAME_TYPE_ALREADY_ENCODED,\n \"]\",\n void 0\n )\n );\n for (let i = toEncode.length - 1; i >= 0; i--) {\n encodeStack.push(\n new EncodeFrame(\n ENCODE_FRAME_TYPE_NEEDS_ENCODING,\n i === 0 ? \"\" : \",\",\n toEncode[i]\n )\n );\n }\n chunks.push(\n isArray ? \"[\" : value2 instanceof Set ? `${STR_SET}[` : value2 instanceof Map ? `${STR_MAP}[` : \"[\"\n );\n continue;\n }\n }\n {\n let pluginsLength = plugins.length;\n for (let i = 0; i < pluginsLength; i++) {\n let result = plugins[i](value2);\n if (Array.isArray(result)) {\n encodeStack.push(\n new EncodeFrame(\n ENCODE_FRAME_TYPE_NEEDS_ENCODING,\n STR_PLUGIN,\n result\n )\n );\n counters.refId--;\n refs.delete(value2);\n continue encodeLoop;\n }\n }\n }\n encodeStack.push(\n new EncodeFrame(\n ENCODE_FRAME_TYPE_ALREADY_ENCODED,\n \"}\",\n void 0\n )\n );\n {\n let keys = Object.keys(value2);\n let end = keys.length;\n let encodeFrames = new Array(end);\n end -= 1;\n for (let i = keys.length - 1; i >= 0; i--) {\n let key = keys[i];\n let prefix2 = i > 0 ? \",\" : \"\";\n encodeFrames[end - i] = new EncodeFrame(\n ENCODE_FRAME_TYPE_NEEDS_ENCODING,\n `${prefix2}${JSON.stringify(key)}:`,\n value2[key]\n );\n }\n encodeStack.push(...encodeFrames);\n }\n chunks.push(\"{\");\n }\n } else if (typeOfValue === \"string\") {\n chunks.push(JSON.stringify(value2));\n } else if (typeOfValue === \"number\") {\n if (nan(value2)) {\n chunks.push(STR_NaN);\n } else if (value2 === POSITIVE_INFINITY) {\n chunks.push(STR_INFINITY);\n } else if (value2 === NEGATIVE_INFINITY) {\n chunks.push(STR_NEGATIVE_INFINITY);\n } else if (Object.is(value2, -0)) {\n chunks.push(STR_NEGATIVE_ZERO);\n } else {\n chunks.push(value2.toString());\n }\n } else if (typeOfValue === \"bigint\") {\n chunks.push(STR_BIGINT, value2.toString());\n } else if (typeOfValue === \"symbol\") {\n let symbolKey = Symbol.keyFor(value2);\n if (typeof symbolKey === \"string\") {\n chunks.push(STR_SYMBOL, JSON.stringify(symbolKey));\n } else {\n chunks.push(STR_UNDEFINED);\n }\n } else {\n let pluginsLength = plugins.length;\n for (let i = 0; i < pluginsLength; i++) {\n let result = plugins[i](value2);\n if (Array.isArray(result)) {\n encodeStack.push(\n new EncodeFrame(\n ENCODE_FRAME_TYPE_NEEDS_ENCODING,\n STR_PLUGIN,\n result\n )\n );\n continue encodeLoop;\n }\n }\n chunks.push(STR_UNDEFINED);\n }\n }\n}\nfunction prepareErrorForEncoding(error, redactErrors) {\n const shouldRedact = redactErrors === true || typeof redactErrors === \"string\" || typeof redactErrors === \"undefined\";\n const redacted = typeof redactErrors === \"string\" ? redactErrors : STR_REDACTED;\n return {\n name: shouldRedact ? \"Error\" : error.name,\n message: shouldRedact ? redacted : error.message,\n stack: shouldRedact ? void 0 : error.stack,\n cause: error.cause\n };\n}\nfunction stringifyTypedArray(content) {\n const view = new Uint8Array(\n content.buffer,\n content.byteOffset,\n content.byteLength\n );\n return `\"${btoa(String.fromCharCode.apply(String, view))}\"`;\n}\nexport {\n decode,\n encode\n};\n","import { decode, encode } from \"turbo-stream\";\n\n//#region src/utils/rpc.ts\nconst decodePlugins = [(type, ...rest) => {\n\tswitch (type) {\n\t\tcase \"Request\": {\n\t\t\tconst [method, url, headers, body] = rest;\n\t\t\treturn { value: new Request(url, {\n\t\t\t\tbody,\n\t\t\t\theaders,\n\t\t\t\tmethod,\n\t\t\t\tduplex: body ? \"half\" : void 0\n\t\t\t}) };\n\t\t}\n\t\tcase \"Response\": {\n\t\t\tconst [status, statusText, headers, body] = rest;\n\t\t\treturn { value: new Response(body, {\n\t\t\t\theaders,\n\t\t\t\tstatus,\n\t\t\t\tstatusText\n\t\t\t}) };\n\t\t}\n\t}\n\treturn false;\n}];\nconst encodePlugins = [(obj) => {\n\tif (obj instanceof Request) return [\n\t\t\"Request\",\n\t\tobj.method,\n\t\tobj.url,\n\t\tArray.from(obj.headers),\n\t\tobj.body\n\t];\n\tif (obj instanceof Response) return [\n\t\t\"Response\",\n\t\tobj.status,\n\t\tobj.statusText,\n\t\tArray.from(obj.headers),\n\t\tobj.body\n\t];\n\treturn false;\n}];\nfunction createRpcServer(handlers) {\n\treturn async (request) => {\n\t\tif (!request.body) throw new Error(`loadModuleDevProxy error: missing request body`);\n\t\tconst reqPayload = await decode(request.body.pipeThrough(new TextDecoderStream()), { plugins: decodePlugins });\n\t\tconst handler = handlers[reqPayload.method];\n\t\tif (!handler) throw new Error(`loadModuleDevProxy error: unknown method ${reqPayload.method}`);\n\t\tconst resPayload = {\n\t\t\tok: true,\n\t\t\tdata: void 0\n\t\t};\n\t\ttry {\n\t\t\tresPayload.data = await handler(...reqPayload.args);\n\t\t} catch (e) {\n\t\t\tresPayload.ok = false;\n\t\t\tresPayload.data = e;\n\t\t}\n\t\treturn new Response(encode(resPayload, {\n\t\t\tplugins: encodePlugins,\n\t\t\tredactErrors: false\n\t\t}));\n\t};\n}\nfunction createRpcClient(options) {\n\tasync function callRpc(method, args) {\n\t\tconst body = encode({\n\t\t\tmethod,\n\t\t\targs\n\t\t}, {\n\t\t\tplugins: encodePlugins,\n\t\t\tredactErrors: false\n\t\t}).pipeThrough(new TextEncoderStream());\n\t\tconst res = await fetch(options.endpoint, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody,\n\t\t\tduplex: \"half\"\n\t\t});\n\t\tif (!res.ok || !res.body) throw new Error(`loadModuleDevProxy error: ${res.status} ${res.statusText}`);\n\t\tconst resPayload = await decode(res.body.pipeThrough(new TextDecoderStream()), { plugins: decodePlugins });\n\t\tif (!resPayload.ok) throw resPayload.data;\n\t\treturn resPayload.data;\n\t}\n\treturn new Proxy({}, { get(_target, p, _receiver) {\n\t\tif (typeof p !== \"string\" || p === \"then\") return;\n\t\treturn (...args) => callRpc(p, args);\n\t} });\n}\n\n//#endregion\nexport { createRpcServer as n, createRpcClient as t };","//#region src/core/plugin.ts\nfunction vitePluginRscCore() {\n\treturn [{\n\t\tname: \"rsc:patch-react-server-dom-webpack\",\n\t\ttransform(originalCode, _id, _options) {\n\t\t\tlet code = originalCode;\n\t\t\tif (code.includes(\"__webpack_require__.u\")) code = code.replaceAll(\"__webpack_require__.u\", \"({}).u\");\n\t\t\tif (code.includes(\"__webpack_require__\")) code = code.replaceAll(\"__webpack_require__\", \"__vite_rsc_require__\");\n\t\t\tif (code !== originalCode) return {\n\t\t\t\tcode,\n\t\t\t\tmap: null\n\t\t\t};\n\t\t}\n\t}, {\n\t\tname: \"rsc:workaround-linked-dep\",\n\t\tapply: () => !import.meta.url.includes(\"/node_modules/\"),\n\t\tconfigEnvironment() {\n\t\t\treturn { build: { commonjsOptions: { include: [/\\/node_modules\\//, /\\/vendor\\/react-server-dom\\//] } } };\n\t\t}\n\t}];\n}\n\n//#endregion\nexport { vitePluginRscCore as t };","//#region src/utils/encryption-utils.ts\nfunction arrayBufferToString(buffer) {\n\tconst bytes = new Uint8Array(buffer);\n\tconst len = bytes.byteLength;\n\tif (len < 65535) return String.fromCharCode.apply(null, bytes);\n\tlet binary = \"\";\n\tfor (let i = 0; i < len; i++) binary += String.fromCharCode(bytes[i]);\n\treturn binary;\n}\nfunction stringToUint8Array(binary) {\n\tconst len = binary.length;\n\tconst arr = new Uint8Array(len);\n\tfor (let i = 0; i < len; i++) arr[i] = binary.charCodeAt(i);\n\treturn arr;\n}\nfunction concatArray(chunks) {\n\tlet total = 0;\n\tfor (const chunk of chunks) total += chunk.length;\n\tconst result = new Uint8Array(total);\n\tlet offset = 0;\n\tfor (const chunk of chunks) {\n\t\tresult.set(chunk, offset);\n\t\toffset += chunk.length;\n\t}\n\treturn result;\n}\nasync function concatArrayStream(stream) {\n\tconst chunks = [];\n\tawait stream.pipeTo(new WritableStream({ write(chunk) {\n\t\tchunks.push(chunk);\n\t} }));\n\treturn concatArray(chunks);\n}\nfunction arrayToStream(data) {\n\treturn new ReadableStream({ start(controller) {\n\t\tcontroller.enqueue(data);\n\t\tcontroller.close();\n\t} });\n}\nfunction toBase64(buffer) {\n\treturn btoa(arrayBufferToString(buffer));\n}\nfunction fromBase64(data) {\n\treturn stringToUint8Array(atob(data));\n}\nasync function generateEncryptionKey() {\n\tconst key = await crypto.subtle.generateKey({\n\t\tname: \"AES-GCM\",\n\t\tlength: 256\n\t}, true, [\"encrypt\", \"decrypt\"]);\n\tconst exported = await crypto.subtle.exportKey(\"raw\", key);\n\treturn new Uint8Array(exported);\n}\nasync function encryptBuffer(data, key) {\n\tconst iv = crypto.getRandomValues(new Uint8Array(16));\n\tconst encrypted = await crypto.subtle.encrypt({\n\t\tname: \"AES-GCM\",\n\t\tiv\n\t}, key, data);\n\treturn toBase64(concatArray([iv, new Uint8Array(encrypted)]));\n}\nasync function decryptBuffer(encryptedString, key) {\n\tconst concatenated = fromBase64(encryptedString);\n\tconst iv = concatenated.slice(0, 16);\n\tconst encrypted = concatenated.slice(16);\n\treturn crypto.subtle.decrypt({\n\t\tname: \"AES-GCM\",\n\t\tiv\n\t}, key, encrypted);\n}\n\n//#endregion\nexport { fromBase64 as a, encryptBuffer as i, concatArrayStream as n, generateEncryptionKey as o, decryptBuffer as r, toBase64 as s, arrayToStream as t };","//#region src/plugins/shared.ts\nfunction toCssVirtual({ id, type }) {\n\treturn `virtual:vite-rsc/css?type=${type}&id=${encodeURIComponent(id)}&lang.js`;\n}\nfunction parseCssVirtual(id) {\n\tif (id.startsWith(\"\\0virtual:vite-rsc/css?\")) return parseIdQuery(id).query;\n}\nfunction parseIdQuery(id) {\n\tif (!id.includes(\"?\")) return {\n\t\tfilename: id,\n\t\tquery: {}\n\t};\n\tconst [filename, rawQuery] = id.split(`?`, 2);\n\treturn {\n\t\tfilename,\n\t\tquery: Object.fromEntries(new URLSearchParams(rawQuery))\n\t};\n}\nfunction toReferenceValidationVirtual({ id, type }) {\n\treturn `virtual:vite-rsc/reference-validation?type=${type}&id=${encodeURIComponent(id)}&lang.js`;\n}\nfunction parseReferenceValidationVirtual(id) {\n\tif (id.startsWith(\"\\0virtual:vite-rsc/reference-validation?\")) return parseIdQuery(id).query;\n}\n\n//#endregion\nexport { toReferenceValidationVirtual as a, toCssVirtual as i, parseIdQuery as n, parseReferenceValidationVirtual as r, parseCssVirtual as t };","/* es-module-lexer 2.0.0 */\nexport var ImportType;!function(A){A[A.Static=1]=\"Static\",A[A.Dynamic=2]=\"Dynamic\",A[A.ImportMeta=3]=\"ImportMeta\",A[A.StaticSourcePhase=4]=\"StaticSourcePhase\",A[A.DynamicSourcePhase=5]=\"DynamicSourcePhase\",A[A.StaticDeferPhase=6]=\"StaticDeferPhase\",A[A.DynamicDeferPhase=7]=\"DynamicDeferPhase\"}(ImportType||(ImportType={}));const A=1===new Uint8Array(new Uint16Array([1]).buffer)[0];export function parse(E,g=\"@\"){if(!C)return init.then((()=>parse(E)));const I=E.length+1,o=(C.__heap_base.value||C.__heap_base)+4*I-C.memory.buffer.byteLength;o>0&&C.memory.grow(Math.ceil(o/65536));const D=C.sa(I-1);if((A?B:Q)(E,new Uint16Array(C.memory.buffer,D,I)),!C.parse())throw Object.assign(new Error(`Parse error ${g}:${E.slice(0,C.e()).split(\"\\n\").length}:${C.e()-E.lastIndexOf(\"\\n\",C.e()-1)}`),{idx:C.e()});const w=[],K=[];for(;C.ri();){const A=C.is(),Q=C.ie(),B=C.it(),g=C.ai(),I=C.id(),o=C.ss(),D=C.se();let K;C.ip()&&(K=k(E.slice(-1===I?A-1:A,-1===I?Q+1:Q)));const N=[];for(C.rsa();C.ra();){const A=C.aks(),Q=C.ake(),B=C.avs(),g=C.ave();N.push([J(E.slice(A,Q)),J(E.slice(B,g))])}w.push({n:K,t:B,s:A,e:Q,ss:o,se:D,d:I,a:g,at:N.length>0?N:null})}for(;C.re();){const A=C.es(),Q=C.ee(),B=C.els(),g=C.ele(),I=J(E.slice(A,Q)),o=B<0?void 0:J(E.slice(B,g));K.push({s:A,e:Q,ls:B,le:g,n:I,ln:o})}function k(A){try{return(0,eval)(A)}catch(A){}}function J(A){if(!A)return A;const Q=A[0];return('\"'===Q||\"'\"===Q)&&k(A)||A}return[w,K,!!C.f(),!!C.ms()]}function Q(A,Q){const B=A.length;let C=0;for(;C<B;){const B=A.charCodeAt(C);Q[C++]=(255&B)<<8|B>>>8}}function B(A,Q){const B=A.length;let C=0;for(;C<B;)Q[C]=A.charCodeAt(C++)}let C;const E=()=>{return A=\"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\",\"undefined\"!=typeof Buffer?Buffer.from(A,\"base64\"):Uint8Array.from(atob(A),(A=>A.charCodeAt(0)));var A};export const init=WebAssembly.compile(E()).then(WebAssembly.instantiate).then((({exports:A})=>{C=A}));export const initSync=()=>{if(C)return;const A=new WebAssembly.Module(E());C=new WebAssembly.Instance(A).exports};","import { F as defaultAllowedOrigins, N as VERSION, _ as DEFAULT_SERVER_CONDITIONS, d as DEFAULT_CLIENT_MAIN_FIELDS, h as DEFAULT_EXTERNAL_CONDITIONS, n as createLogger, u as DEFAULT_CLIENT_CONDITIONS, v as DEFAULT_SERVER_MAIN_FIELDS } from \"./chunks/logger.js\";\nimport { Ct as perEnvironmentPlugin, Dt as mergeConfig, Et as mergeAlias, J as optimizeDeps, Ot as normalizePath, St as perEnvironmentState, Tt as isCSSRequest, _ as build, _t as createServerModuleRunnerTransport, b as createBuilder, bt as resolveEnvPrefix, c as sortUserPlugins, dt as searchForWorkspaceRoot, f as createRunnableDevEnvironment, ft as isFileLoadingAllowed, g as BuildEnvironment, gt as createServerModuleRunner, h as fetchModule, ht as ssrTransform, i as loadConfigFromFile, it as createServerHotChannel, kt as rollupVersion, l as runnerImport, m as DevEnvironment, mt as send, nt as preprocessCSS, o as resolveConfig, ot as createServer, p as isRunnableDevEnvironment, pt as isFileServingAllowed, rt as createIdResolver, t as defineConfig, tt as formatPostcssSourceMap, u as preview, vt as buildErrorMessage, wt as createFilter, xt as transformWithEsbuild, yt as loadEnv } from \"./chunks/config.js\";\nimport { parseAst, parseAstAsync } from \"rollup/parseAst\";\nimport { version as esbuildVersion } from \"esbuild\";\n\n//#region src/node/server/environments/fetchableEnvironments.ts\nfunction createFetchableDevEnvironment(name, config, context) {\n\tif (typeof Request === \"undefined\" || typeof Response === \"undefined\") throw new TypeError(\"FetchableDevEnvironment requires a global `Request` and `Response` object.\");\n\tif (!context.handleRequest) throw new TypeError(\"FetchableDevEnvironment requires a `handleRequest` method during initialisation.\");\n\treturn new FetchableDevEnvironment(name, config, context);\n}\nfunction isFetchableDevEnvironment(environment) {\n\treturn environment instanceof FetchableDevEnvironment;\n}\nvar FetchableDevEnvironment = class extends DevEnvironment {\n\t_handleRequest;\n\tconstructor(name, config, context) {\n\t\tsuper(name, config, context);\n\t\tthis._handleRequest = context.handleRequest;\n\t}\n\tasync dispatchFetch(request) {\n\t\tif (!(request instanceof Request)) throw new TypeError(\"FetchableDevEnvironment `dispatchFetch` must receive a `Request` object.\");\n\t\tconst response = await this._handleRequest(request);\n\t\tif (!(response instanceof Response)) throw new TypeError(\"FetchableDevEnvironment `context.handleRequest` must return a `Response` object.\");\n\t\treturn response;\n\t}\n};\n\n//#endregion\nexport { BuildEnvironment, DevEnvironment, build, buildErrorMessage, createBuilder, createFetchableDevEnvironment, createFilter, createIdResolver, createLogger, createRunnableDevEnvironment, createServer, createServerHotChannel, createServerModuleRunner, createServerModuleRunnerTransport, defaultAllowedOrigins, DEFAULT_CLIENT_CONDITIONS as defaultClientConditions, DEFAULT_CLIENT_MAIN_FIELDS as defaultClientMainFields, DEFAULT_EXTERNAL_CONDITIONS as defaultExternalConditions, DEFAULT_SERVER_CONDITIONS as defaultServerConditions, DEFAULT_SERVER_MAIN_FIELDS as defaultServerMainFields, defineConfig, esbuildVersion, fetchModule, formatPostcssSourceMap, isCSSRequest, isFetchableDevEnvironment, isFileLoadingAllowed, isFileServingAllowed, isRunnableDevEnvironment, loadConfigFromFile, loadEnv, mergeAlias, mergeConfig, ssrTransform as moduleRunnerTransform, normalizePath, optimizeDeps, parseAst, parseAstAsync, perEnvironmentPlugin, perEnvironmentState, preprocessCSS, preview, resolveConfig, resolveEnvPrefix, rollupVersion, runnerImport, searchForWorkspaceRoot, send, sortUserPlugins, transformWithEsbuild, VERSION as version };","// contains synchronous API only so it can be exported as CJS and ESM\n\n/** @type {import('./index.d.ts').isDepIncluded} */\nfunction isDepIncluded(dep, optimizeDepsInclude) {\n return optimizeDepsInclude.some((id) => parseIncludeStr(id) === dep)\n}\n\n/** @type {import('./index.d.ts').isDepExcluded} */\nfunction isDepExcluded(dep, optimizeDepsExclude) {\n dep = parseIncludeStr(dep)\n return optimizeDepsExclude.some(\n (id) => id === dep || dep.startsWith(`${id}/`)\n )\n}\n\n/** @type {import('./index.d.ts').isDepNoExternaled} */\nfunction isDepNoExternaled(dep, ssrNoExternal) {\n if (ssrNoExternal === true) {\n return true\n } else {\n return isMatch(dep, ssrNoExternal)\n }\n}\n\n/** @type {import('./index.d.ts').isDepExternaled} */\nfunction isDepExternaled(dep, ssrExternal) {\n // If `ssrExternal` is `true`, it just means that all linked\n // dependencies should also be externalized by default. It doesn't\n // mean that a dependency is being explicitly externalized. So we\n // return `false` in this case.\n // @ts-expect-error can be true in Vite 6\n if (ssrExternal === true) {\n return false\n } else {\n return ssrExternal.includes(dep)\n }\n}\n\n/**\n * @param {string} raw could be \"foo\" or \"foo > bar\" etc\n */\nfunction parseIncludeStr(raw) {\n const lastArrow = raw.lastIndexOf('>')\n return lastArrow === -1 ? raw : raw.slice(lastArrow + 1).trim()\n}\n\n/**\n * @param {string} target\n * @param {string | RegExp | (string | RegExp)[]} pattern\n */\nfunction isMatch(target, pattern) {\n if (Array.isArray(pattern)) {\n return pattern.some((p) => isMatch(target, p))\n } else if (typeof pattern === 'string') {\n return target === pattern\n } else if (pattern instanceof RegExp) {\n return pattern.test(target)\n }\n}\n\nmodule.exports = {\n isDepIncluded,\n isDepExcluded,\n isDepNoExternaled,\n isDepExternaled\n}\n","import fs from 'node:fs/promises'\nimport fsSync from 'node:fs'\nimport { createRequire } from 'node:module'\nimport path from 'node:path'\nimport {\n isDepIncluded,\n isDepExcluded,\n isDepNoExternaled,\n isDepExternaled\n} from './sync.cjs'\n\n/** @type {import('pnpapi')} */\nlet pnp\n\n\n/** @type {Array<{ name: string; reference: string; }>} */\nlet pnpWorkspaceLocators;\n\nif (process.versions.pnp) {\n try {\n pnp = createRequire(import.meta.url)('pnpapi')\n // returns a set of physical locators https://yarnpkg.com/advanced/pnpapi#getdependencytreeroots\n // @ts-expect-error unfortunately doesn't exist in the `@types` package\n pnpWorkspaceLocators = pnp.getDependencyTreeRoots()\n } catch {}\n}\n\nexport { isDepIncluded, isDepExcluded, isDepNoExternaled, isDepExternaled }\n\n/** @type {import('./index.d.ts').crawlFrameworkPkgs} */\nexport async function crawlFrameworkPkgs(options) {\n const pkgJsonPath = await findClosestPkgJsonPath(options.root)\n if (!pkgJsonPath) {\n // don't throw as package.json is not required\n return {\n optimizeDeps: { include: [], exclude: [] },\n ssr: { noExternal: [], external: [] }\n }\n }\n const pkgJson = await readJson(pkgJsonPath).catch((e) => {\n throw new Error(`Unable to read ${pkgJsonPath}`, { cause: e })\n })\n\n /** @type {string[]} */\n let optimizeDepsInclude = []\n /** @type {string[]} */\n let optimizeDepsExclude = []\n /** @type {string[]} */\n let ssrNoExternal = []\n /** @type {string[]} */\n let ssrExternal = []\n\n await crawl(pkgJsonPath, pkgJson)\n\n // respect vite user config\n if (options.viteUserConfig) {\n // remove includes that are explicitly excluded in optimizeDeps\n const _optimizeDepsExclude = options.viteUserConfig?.optimizeDeps?.exclude\n if (_optimizeDepsExclude) {\n optimizeDepsInclude = optimizeDepsInclude.filter(\n (dep) => !isDepExcluded(dep, _optimizeDepsExclude)\n )\n }\n // remove excludes that are explicitly included in optimizeDeps\n const _optimizeDepsInclude = options.viteUserConfig?.optimizeDeps?.include\n if (_optimizeDepsInclude) {\n optimizeDepsExclude = optimizeDepsExclude.filter(\n (dep) => !isDepIncluded(dep, _optimizeDepsInclude)\n )\n }\n // remove noExternals that are explicitly externalized\n const _ssrExternal = options.viteUserConfig?.ssr?.external\n if (_ssrExternal) {\n ssrNoExternal = ssrNoExternal.filter(\n (dep) => !isDepExternaled(dep, _ssrExternal)\n )\n }\n // remove externals that are explicitly noExternal\n const _ssrNoExternal = options.viteUserConfig?.ssr?.noExternal\n if (_ssrNoExternal) {\n ssrExternal = ssrExternal.filter(\n (dep) => !isDepNoExternaled(dep, _ssrNoExternal)\n )\n }\n }\n\n return {\n optimizeDeps: {\n include: optimizeDepsInclude,\n exclude: optimizeDepsExclude\n },\n ssr: {\n noExternal: ssrNoExternal,\n external: ssrExternal\n }\n }\n\n /**\n * crawl the package.json dependencies for framework packages. rules:\n * 1. a framework package should be `optimizeDeps.exclude` and `ssr.noExternal`.\n * 2. the deps of the framework package should be `optimizeDeps.include` and `ssr.external`\n * unless the dep is also a framework package, in which case do no1 & no2 recursively.\n * 3. any non-framework packages that aren't imported by a framework package can be skipped entirely.\n * 4. a semi-framework package is like a framework package, except it isn't `optimizeDeps.exclude`,\n * but only applies `ssr.noExternal`.\n * @param {string} pkgJsonPath\n * @param {Record<string, any>} pkgJson\n * @param {string[]} [parentDepNames]\n */\n async function crawl(pkgJsonPath, pkgJson, parentDepNames = []) {\n const isRoot = parentDepNames.length === 0\n const crawlDevDependencies = isRoot || isPrivateWorkspacePackage(pkgJsonPath,pkgJson,options.workspaceRoot)\n /** @type {string[]} */\n let deps = [\n ...Object.keys(pkgJson.dependencies || {}),\n ...((crawlDevDependencies) ? Object.keys(pkgJson.devDependencies || {}) : [])\n ]\n\n deps = deps.filter((dep) => {\n // skip circular deps\n if (parentDepNames.includes(dep)) {\n return false\n }\n\n const isFrameworkPkg = options.isFrameworkPkgByName?.(dep)\n const isSemiFrameworkPkg = options.isSemiFrameworkPkgByName?.(dep)\n if (isFrameworkPkg) {\n // framework packages should be excluded from optimization as esbuild can't handle them.\n // otherwise it'll cause https://github.com/vitejs/vite/issues/3910\n optimizeDepsExclude.push(dep)\n // framework packages should be noExternal so that they go through vite's transformation\n // pipeline, since nodejs can't support them.\n ssrNoExternal.push(dep)\n } else if (isSemiFrameworkPkg) {\n // semi-framework packages should do the same except for optimization exclude as they\n // aren't needed to work (they don't contain raw framework components)\n ssrNoExternal.push(dep)\n }\n\n // only those that are explictly false can skip crawling since we don't need to do anything\n // special for them\n if (isFrameworkPkg === false || isSemiFrameworkPkg === false) {\n return false\n }\n // if `true`, we need to crawl the nested deps to deep include and ssr externalize them in dev.\n // if `undefined`, it's the same as \"i don't know\". we need to crawl and find the package.json\n // to find out.\n else {\n return true\n }\n })\n\n const promises = deps.map(async (dep) => {\n const depPkgJsonPath = await _findDepPkgJsonPath(dep, pkgJsonPath, !!options.workspaceRoot)\n if (!depPkgJsonPath) return\n const depPkgJson = await readJson(depPkgJsonPath).catch(() => {})\n if (!depPkgJson) return\n\n // fast path if this dep is already a framework dep based on the filter condition above\n const cachedIsFrameworkPkg = ssrNoExternal.includes(dep)\n if (cachedIsFrameworkPkg) {\n return crawl(depPkgJsonPath, depPkgJson, parentDepNames.concat(dep))\n }\n\n // check if this dep is a framework dep, if so, track and crawl it\n const isFrameworkPkg = options.isFrameworkPkgByJson?.(depPkgJson)\n const isSemiFrameworkPkg = options.isSemiFrameworkPkgByJson?.(depPkgJson)\n if (isFrameworkPkg || isSemiFrameworkPkg) {\n // see explanation in filter condition above\n if (isFrameworkPkg) {\n optimizeDepsExclude.push(dep)\n ssrNoExternal.push(dep)\n } else if (isSemiFrameworkPkg) {\n ssrNoExternal.push(dep)\n }\n return crawl(depPkgJsonPath, depPkgJson, parentDepNames.concat(dep))\n }\n\n // if we're crawling in a non-root state, the parent is 100% a framework package\n // because of the above if block. in this case, if it's dep of a non-framework\n // package, handle special cases for them.\n if (!isRoot) {\n // deep include it if it's a CJS package, so it becomes ESM and vite is happy.\n if (await pkgNeedsOptimization(depPkgJson, depPkgJsonPath)) {\n optimizeDepsInclude.push(parentDepNames.concat(dep).join(' > '))\n }\n // also externalize it in dev so it doesn't trip vite's SSR transformation.\n // we do in dev only as build cannot access deep external packages in strict\n // dependency installations, such as pnpm.\n if (!options.isBuild && !ssrExternal.includes(dep)) {\n ssrExternal.push(dep)\n }\n }\n })\n\n await Promise.all(promises)\n }\n}\n/** @type {import('./index.d.ts').findDepPkgJsonPath} */\nexport async function findDepPkgJsonPath(dep, parent) {\n return _findDepPkgJsonPath(dep, parent, false);\n}\n\n/**\n * internal implementation to avoid exposing the usePnpWorkspaceLocators flag\n *\n * @param {string} dep\n * @param {string} parent\n * @param {boolean} usePnpWorkspaceLocators\n * @returns {Promise<undefined|string>}\n * @private\n */\nasync function _findDepPkgJsonPath(dep, parent, usePnpWorkspaceLocators) {\n if (pnp) {\n if(usePnpWorkspaceLocators) {\n try {\n // if we're in a workspace and the dep is a workspace dep,\n // then we'll try to resolve to it's real location\n const locator = pnpWorkspaceLocators.find((root) => root.name === dep)\n if (locator) {\n const pkgPath = pnp.getPackageInformation(locator).packageLocation\n return path.resolve(pkgPath, 'package.json')\n }\n } catch {}\n }\n try {\n const depRoot = pnp.resolveToUnqualified(dep, parent)\n if (!depRoot) return undefined\n return path.join(depRoot, 'package.json')\n } catch {\n return undefined\n }\n }\n\n let root = parent\n while (root) {\n const pkg = path.join(root, 'node_modules', dep, 'package.json')\n try {\n await fs.access(pkg)\n // use 'node:fs' version to match 'vite:resolve' and avoid realpath.native quirk\n // https://github.com/sveltejs/vite-plugin-svelte/issues/525#issuecomment-1355551264\n return fsSync.realpathSync(pkg)\n } catch {}\n const nextRoot = path.dirname(root)\n if (nextRoot === root) break\n root = nextRoot\n }\n return undefined\n}\n\n/** @type {import('./index.d.ts').findClosestPkgJsonPath} */\nexport async function findClosestPkgJsonPath(dir, predicate = undefined) {\n if (dir.endsWith('package.json')) {\n dir = path.dirname(dir)\n }\n while (dir) {\n const pkg = path.join(dir, 'package.json')\n try {\n const stat = await fs.stat(pkg)\n if (stat.isFile() && (!predicate || (await predicate(pkg)))) {\n return pkg\n }\n } catch {}\n const nextDir = path.dirname(dir)\n if (nextDir === dir) break\n dir = nextDir\n }\n return undefined\n}\n\n/** @type {import('./index.d.ts').pkgNeedsOptimization} */\nexport async function pkgNeedsOptimization(pkgJson, pkgJsonPath) {\n // only optimize if is cjs, using the below as heuristic\n // see https://github.com/sveltejs/vite-plugin-svelte/issues/162\n if (pkgJson.module || pkgJson.exports) return false\n // if have main, ensure entry is js so vite can prebundle it\n // see https://github.com/sveltejs/vite-plugin-svelte/issues/233\n if (pkgJson.main) {\n const entryExt = path.extname(pkgJson.main)\n return !entryExt || entryExt === '.js' || entryExt === '.cjs'\n }\n // check if has implicit index.js entrypoint to prebundle\n // see https://github.com/sveltejs/vite-plugin-svelte/issues/281\n // see https://github.com/solidjs/vite-plugin-solid/issues/70#issuecomment-1306488154\n try {\n await fs.access(path.join(path.dirname(pkgJsonPath), 'index.js'))\n return true\n } catch {\n return false\n }\n}\n\n/**\n * @param {string} findDepPkgJsonPath\n * @returns {Promise<Record<string, any>>}\n */\nasync function readJson(findDepPkgJsonPath) {\n return JSON.parse(await fs.readFile(findDepPkgJsonPath, 'utf8'))\n}\n\n/**\n *\n * @param {string} pkgJsonPath\n * @param {Record<string,any>} pkgJson\n * @param {string} [workspaceRoot]\n * @returns {boolean}\n */\nfunction isPrivateWorkspacePackage(pkgJsonPath,pkgJson,workspaceRoot = undefined) {\n return !!(\n workspaceRoot &&\n pkgJson.private &&\n !pkgJsonPath.match(/[/\\\\]node_modules[/\\\\]/) &&\n !path.relative(workspaceRoot,pkgJsonPath).startsWith('..')\n )\n}\n","import { t as createDebug } from \"./dist-BRSdGcl7.js\";\nimport { n as parseIdQuery } from \"./shared-AtH_QTi7.js\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { fileURLToPath, pathToFileURL } from \"node:url\";\nimport * as esModuleLexer from \"es-module-lexer\";\nimport MagicString from \"magic-string\";\nimport { parseAstAsync } from \"vite\";\nimport { findClosestPkgJsonPath } from \"vitefu\";\nimport { walk } from \"estree-walker\";\nimport { analyze } from \"periscopic\";\n\n//#region src/transforms/cjs.ts\nconst CJS_INTEROP_HELPER = `function __cjs_interop__(m) { return m.__cjs_module_runner_transform ? m.default : m; }`;\nfunction transformCjsToEsm(code, ast, options) {\n\tconst output = new MagicString(code);\n\tconst analyzed = analyze(ast);\n\tconst parentNodes = [];\n\tconst hoistedCodes = [];\n\tlet hoistIndex = 0;\n\twalk(ast, {\n\t\tenter(node) {\n\t\t\tparentNodes.push(node);\n\t\t\tif (node.type === \"CallExpression\" && node.callee.type === \"Identifier\" && node.callee.name === \"require\" && node.arguments.length === 1) {\n\t\t\t\tlet isTopLevel = true;\n\t\t\t\tfor (const parent of parentNodes) {\n\t\t\t\t\tif (parent.type === \"FunctionExpression\" || parent.type === \"FunctionDeclaration\" || parent.type === \"ArrowFunctionExpression\") isTopLevel = false;\n\t\t\t\t\tconst scope = analyzed.map.get(parent);\n\t\t\t\t\tif (scope && scope.declarations.has(\"require\")) return;\n\t\t\t\t}\n\t\t\t\tif (isTopLevel) {\n\t\t\t\t\toutput.update(node.start, node.callee.end, \"(__cjs_interop__(await import\");\n\t\t\t\t\toutput.appendRight(node.end, \"))\");\n\t\t\t\t} else {\n\t\t\t\t\tconst hoisted = `__cjs_to_esm_hoist_${hoistIndex}`;\n\t\t\t\t\tconst importee = code.slice(node.arguments[0].start, node.arguments[0].end);\n\t\t\t\t\thoistedCodes.push(`const ${hoisted} = __cjs_interop__(await import(${importee}));\\n`);\n\t\t\t\t\toutput.update(node.start, node.end, hoisted);\n\t\t\t\t\thoistIndex++;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tleave() {\n\t\t\tparentNodes.pop();\n\t\t}\n\t});\n\tfor (const hoisted of hoistedCodes.reverse()) output.prepend(hoisted);\n\tif (output.hasChanged()) output.prepend(`${CJS_INTEROP_HELPER}\\n`);\n\toutput.prepend(`let exports = {}; const module = { exports };\\n`);\n\tconst __filename = fileURLToPath(pathToFileURL(options.id).href);\n\tconst __dirname = path.dirname(__filename);\n\toutput.prepend(`let __filename = ${JSON.stringify(__filename)}; let __dirname = ${JSON.stringify(__dirname)};\\n`);\n\toutput.append(`\n;__vite_ssr_exportAll__(module.exports);\nexport default module.exports;\nexport const __cjs_module_runner_transform = true;\n`);\n\treturn { output };\n}\n\n//#endregion\n//#region src/plugins/cjs.ts\nconst debug = createDebug(\"vite-rsc:cjs\");\nfunction cjsModuleRunnerPlugin() {\n\tconst warnedPackages = /* @__PURE__ */ new Set();\n\treturn [{\n\t\tname: \"cjs-module-runner-transform\",\n\t\tapply: \"serve\",\n\t\tapplyToEnvironment: (env) => env.config.dev.moduleRunnerTransform,\n\t\tasync transform(code, id) {\n\t\t\tif (id.includes(\"/node_modules/\") && !id.startsWith(this.environment.config.cacheDir) && /\\b(require|exports)\\b/.test(code)) {\n\t\t\t\tid = parseIdQuery(id).filename;\n\t\t\t\tif (!/\\.[cm]?js$/.test(id)) return;\n\t\t\t\tif (id.endsWith(\".mjs\")) return;\n\t\t\t\tif (id.endsWith(\".js\")) {\n\t\t\t\t\tconst pkgJsonPath = await findClosestPkgJsonPath(path.dirname(id));\n\t\t\t\t\tif (pkgJsonPath) {\n\t\t\t\t\t\tif (JSON.parse(fs.readFileSync(pkgJsonPath, \"utf-8\")).type === \"module\") return;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst [, , , hasModuleSyntax] = esModuleLexer.parse(code);\n\t\t\t\tif (hasModuleSyntax) return;\n\t\t\t\tconst packageKey = extractPackageKey(id);\n\t\t\t\tif (!warnedPackages.has(packageKey)) {\n\t\t\t\t\tdebug(`non-optimized CJS dependency in '${this.environment.name}' environment: ${id}`);\n\t\t\t\t\twarnedPackages.add(packageKey);\n\t\t\t\t}\n\t\t\t\tconst output = transformCjsToEsm(code, await parseAstAsync(code), { id }).output;\n\t\t\t\treturn {\n\t\t\t\t\tcode: output.toString(),\n\t\t\t\t\tmap: output.generateMap({ hires: \"boundary\" })\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}];\n}\nfunction extractPackageKey(id) {\n\tconst yarnMatch = id.match(/\\/.yarn\\/cache\\/([^/]+)/);\n\tif (yarnMatch) return yarnMatch[1];\n\tif (id.includes(\"/node_modules\")) {\n\t\tid = id.split(\"/node_modules/\").at(-1);\n\t\tlet [x, y] = id.split(\"/\");\n\t\tif (x.startsWith(\"@\")) return `${x}/${y}`;\n\t\treturn x;\n\t}\n\treturn id;\n}\n\n//#endregion\nexport { cjsModuleRunnerPlugin as t };","//#region src/_inherit.ts\nfunction lazyInherit(target, source, sourceKey) {\n\tfor (const key of [...Object.getOwnPropertyNames(source), ...Object.getOwnPropertySymbols(source)]) {\n\t\tif (key === \"constructor\") continue;\n\t\tconst targetDesc = Object.getOwnPropertyDescriptor(target, key);\n\t\tconst desc = Object.getOwnPropertyDescriptor(source, key);\n\t\tlet modified = false;\n\t\tif (desc.get) {\n\t\t\tmodified = true;\n\t\t\tdesc.get = targetDesc?.get || function() {\n\t\t\t\treturn this[sourceKey][key];\n\t\t\t};\n\t\t}\n\t\tif (desc.set) {\n\t\t\tmodified = true;\n\t\t\tdesc.set = targetDesc?.set || function(value) {\n\t\t\t\tthis[sourceKey][key] = value;\n\t\t\t};\n\t\t}\n\t\tif (!targetDesc?.value && typeof desc.value === \"function\") {\n\t\t\tmodified = true;\n\t\t\tdesc.value = function(...args) {\n\t\t\t\treturn this[sourceKey][key](...args);\n\t\t\t};\n\t\t}\n\t\tif (modified) Object.defineProperty(target, key, desc);\n\t}\n}\n\n//#endregion\nexport { lazyInherit as t };","import { t as lazyInherit } from \"./_inherit.mjs\";\n\n//#region src/_url.ts\n/**\n* URL wrapper with fast paths to access to the following props:\n*\n* - `url.pathname`\n* - `url.search`\n* - `url.searchParams`\n* - `url.protocol`\n*\n* **NOTES:**\n*\n* - It is assumed that the input URL is **already encoded** and formatted from an HTTP request and contains no hash.\n* - Triggering the setters or getters on other props will deoptimize to full URL parsing.\n* - Changes to `searchParams` will be discarded as we don't track them.\n*/\nconst FastURL = /* @__PURE__ */ (() => {\n\tconst NativeURL = globalThis.URL;\n\tconst FastURL$1 = class URL {\n\t\t#url;\n\t\t#href;\n\t\t#protocol;\n\t\t#host;\n\t\t#pathname;\n\t\t#search;\n\t\t#searchParams;\n\t\t#pos;\n\t\tconstructor(url) {\n\t\t\tif (typeof url === \"string\") this.#href = url;\n\t\t\telse {\n\t\t\t\tthis.#protocol = url.protocol;\n\t\t\t\tthis.#host = url.host;\n\t\t\t\tthis.#pathname = url.pathname;\n\t\t\t\tthis.#search = url.search;\n\t\t\t}\n\t\t}\n\t\tstatic [Symbol.hasInstance](val) {\n\t\t\treturn val instanceof NativeURL;\n\t\t}\n\t\tget _url() {\n\t\t\tif (this.#url) return this.#url;\n\t\t\tthis.#url = new NativeURL(this.href);\n\t\t\tthis.#href = void 0;\n\t\t\tthis.#protocol = void 0;\n\t\t\tthis.#host = void 0;\n\t\t\tthis.#pathname = void 0;\n\t\t\tthis.#search = void 0;\n\t\t\tthis.#searchParams = void 0;\n\t\t\tthis.#pos = void 0;\n\t\t\treturn this.#url;\n\t\t}\n\t\tget href() {\n\t\t\tif (this.#url) return this.#url.href;\n\t\t\tif (!this.#href) this.#href = `${this.#protocol || \"http:\"}//${this.#host || \"localhost\"}${this.#pathname || \"/\"}${this.#search || \"\"}`;\n\t\t\treturn this.#href;\n\t\t}\n\t\t#getPos() {\n\t\t\tif (!this.#pos) {\n\t\t\t\tconst url = this.href;\n\t\t\t\tconst protoIndex = url.indexOf(\"://\");\n\t\t\t\tconst pathnameIndex = protoIndex === -1 ? -1 : url.indexOf(\"/\", protoIndex + 4);\n\t\t\t\tthis.#pos = [\n\t\t\t\t\tprotoIndex,\n\t\t\t\t\tpathnameIndex,\n\t\t\t\t\tpathnameIndex === -1 ? -1 : url.indexOf(\"?\", pathnameIndex)\n\t\t\t\t];\n\t\t\t}\n\t\t\treturn this.#pos;\n\t\t}\n\t\tget pathname() {\n\t\t\tif (this.#url) return this.#url.pathname;\n\t\t\tif (this.#pathname === void 0) {\n\t\t\t\tconst [, pathnameIndex, queryIndex] = this.#getPos();\n\t\t\t\tif (pathnameIndex === -1) return this._url.pathname;\n\t\t\t\tthis.#pathname = this.href.slice(pathnameIndex, queryIndex === -1 ? void 0 : queryIndex);\n\t\t\t}\n\t\t\treturn this.#pathname;\n\t\t}\n\t\tget search() {\n\t\t\tif (this.#url) return this.#url.search;\n\t\t\tif (this.#search === void 0) {\n\t\t\t\tconst [, pathnameIndex, queryIndex] = this.#getPos();\n\t\t\t\tif (pathnameIndex === -1) return this._url.search;\n\t\t\t\tconst url = this.href;\n\t\t\t\tthis.#search = queryIndex === -1 || queryIndex === url.length - 1 ? \"\" : url.slice(queryIndex);\n\t\t\t}\n\t\t\treturn this.#search;\n\t\t}\n\t\tget searchParams() {\n\t\t\tif (this.#url) return this.#url.searchParams;\n\t\t\tif (!this.#searchParams) this.#searchParams = new URLSearchParams(this.search);\n\t\t\treturn this.#searchParams;\n\t\t}\n\t\tget protocol() {\n\t\t\tif (this.#url) return this.#url.protocol;\n\t\t\tif (this.#protocol === void 0) {\n\t\t\t\tconst [protocolIndex] = this.#getPos();\n\t\t\t\tif (protocolIndex === -1) return this._url.protocol;\n\t\t\t\tthis.#protocol = this.href.slice(0, protocolIndex + 1);\n\t\t\t}\n\t\t\treturn this.#protocol;\n\t\t}\n\t\ttoString() {\n\t\t\treturn this.href;\n\t\t}\n\t\ttoJSON() {\n\t\t\treturn this.href;\n\t\t}\n\t};\n\tlazyInherit(FastURL$1.prototype, NativeURL.prototype, \"_url\");\n\tObject.setPrototypeOf(FastURL$1.prototype, NativeURL.prototype);\n\tObject.setPrototypeOf(FastURL$1, NativeURL);\n\treturn FastURL$1;\n})();\n\n//#endregion\nexport { FastURL as t };","import { t as lazyInherit } from \"../_chunks/_inherit.mjs\";\nimport { t as FastURL } from \"../_chunks/_url.mjs\";\nimport { a as resolveTLSOptions, i as resolvePortAndHost, n as fmtURL, r as printListening, t as createWaitUntil } from \"../_chunks/_utils.mjs\";\nimport { n as gracefulShutdownPlugin, r as wrapFetch, t as errorPlugin } from \"../_chunks/_plugins.mjs\";\nimport { n as NodeResponse, t as callNodeHandler } from \"../_chunks/call.mjs\";\nimport nodeHTTP, { IncomingMessage, ServerResponse } from \"node:http\";\nimport { Duplex, Readable } from \"node:stream\";\nimport nodeHTTPS from \"node:https\";\nimport nodeHTTP2 from \"node:http2\";\n\n//#region src/adapters/_node/send.ts\nasync function sendNodeResponse(nodeRes, webRes) {\n\tif (!webRes) {\n\t\tnodeRes.statusCode = 500;\n\t\treturn endNodeResponse(nodeRes);\n\t}\n\tif (webRes._toNodeResponse) {\n\t\tconst res = webRes._toNodeResponse();\n\t\twriteHead(nodeRes, res.status, res.statusText, res.headers);\n\t\tif (res.body) {\n\t\t\tif (res.body instanceof ReadableStream) return streamBody(res.body, nodeRes);\n\t\t\telse if (typeof res.body?.pipe === \"function\") {\n\t\t\t\tres.body.pipe(nodeRes);\n\t\t\t\treturn new Promise((resolve) => nodeRes.on(\"close\", resolve));\n\t\t\t}\n\t\t\tnodeRes.write(res.body);\n\t\t}\n\t\treturn endNodeResponse(nodeRes);\n\t}\n\tconst rawHeaders = [...webRes.headers];\n\twriteHead(nodeRes, webRes.status, webRes.statusText, rawHeaders);\n\treturn webRes.body ? streamBody(webRes.body, nodeRes) : endNodeResponse(nodeRes);\n}\nfunction writeHead(nodeRes, status, statusText, rawHeaders) {\n\tconst writeHeaders = globalThis.Deno ? rawHeaders : rawHeaders.flat();\n\tif (!nodeRes.headersSent) if (nodeRes.req?.httpVersion === \"2.0\") nodeRes.writeHead(status, writeHeaders);\n\telse nodeRes.writeHead(status, statusText, writeHeaders);\n}\nfunction endNodeResponse(nodeRes) {\n\treturn new Promise((resolve) => nodeRes.end(resolve));\n}\nfunction streamBody(stream, nodeRes) {\n\tif (nodeRes.destroyed) {\n\t\tstream.cancel();\n\t\treturn;\n\t}\n\tconst reader = stream.getReader();\n\tfunction streamCancel(error) {\n\t\treader.cancel(error).catch(() => {});\n\t\tif (error) nodeRes.destroy(error);\n\t}\n\tfunction streamHandle({ done, value }) {\n\t\ttry {\n\t\t\tif (done) nodeRes.end();\n\t\t\telse if (nodeRes.write(value)) reader.read().then(streamHandle, streamCancel);\n\t\t\telse nodeRes.once(\"drain\", () => reader.read().then(streamHandle, streamCancel));\n\t\t} catch (error) {\n\t\t\tstreamCancel(error instanceof Error ? error : void 0);\n\t\t}\n\t}\n\tnodeRes.on(\"close\", streamCancel);\n\tnodeRes.on(\"error\", streamCancel);\n\treader.read().then(streamHandle, streamCancel);\n\treturn reader.closed.catch(streamCancel).finally(() => {\n\t\tnodeRes.off(\"close\", streamCancel);\n\t\tnodeRes.off(\"error\", streamCancel);\n\t});\n}\n\n//#endregion\n//#region src/adapters/_node/url.ts\nvar NodeRequestURL = class extends FastURL {\n\t#req;\n\tconstructor({ req }) {\n\t\tconst path = req.url || \"/\";\n\t\tif (path[0] === \"/\") {\n\t\t\tconst qIndex = path.indexOf(\"?\");\n\t\t\tconst pathname = qIndex === -1 ? path : path?.slice(0, qIndex) || \"/\";\n\t\t\tconst search = qIndex === -1 ? \"\" : path?.slice(qIndex) || \"\";\n\t\t\tconst host = req.headers.host || req.headers[\":authority\"] || `${req.socket.localFamily === \"IPv6\" ? \"[\" + req.socket.localAddress + \"]\" : req.socket.localAddress}:${req.socket?.localPort || \"80\"}`;\n\t\t\tconst protocol = req.socket?.encrypted || req.headers[\"x-forwarded-proto\"] === \"https\" || req.headers[\":scheme\"] === \"https\" ? \"https:\" : \"http:\";\n\t\t\tsuper({\n\t\t\t\tprotocol,\n\t\t\t\thost,\n\t\t\t\tpathname,\n\t\t\t\tsearch\n\t\t\t});\n\t\t} else super(path);\n\t\tthis.#req = req;\n\t}\n\tget pathname() {\n\t\treturn super.pathname;\n\t}\n\tset pathname(value) {\n\t\tthis._url.pathname = value;\n\t\tthis.#req.url = this._url.pathname + this._url.search;\n\t}\n};\n\n//#endregion\n//#region src/adapters/_node/headers.ts\nconst NodeRequestHeaders = /* @__PURE__ */ (() => {\n\tconst NativeHeaders = globalThis.Headers;\n\tclass Headers {\n\t\t#req;\n\t\t#headers;\n\t\tconstructor(req) {\n\t\t\tthis.#req = req;\n\t\t}\n\t\tstatic [Symbol.hasInstance](val) {\n\t\t\treturn val instanceof NativeHeaders;\n\t\t}\n\t\tget _headers() {\n\t\t\tif (!this.#headers) {\n\t\t\t\tconst headers = new NativeHeaders();\n\t\t\t\tconst rawHeaders = this.#req.rawHeaders;\n\t\t\t\tconst len = rawHeaders.length;\n\t\t\t\tfor (let i = 0; i < len; i += 2) {\n\t\t\t\t\tconst key = rawHeaders[i];\n\t\t\t\t\tif (key.charCodeAt(0) === 58) continue;\n\t\t\t\t\tconst value = rawHeaders[i + 1];\n\t\t\t\t\theaders.append(key, value);\n\t\t\t\t}\n\t\t\t\tthis.#headers = headers;\n\t\t\t}\n\t\t\treturn this.#headers;\n\t\t}\n\t\tget(name) {\n\t\t\tif (this.#headers) return this.#headers.get(name);\n\t\t\tconst value = this.#req.headers[name.toLowerCase()];\n\t\t\treturn Array.isArray(value) ? value.join(\", \") : value || null;\n\t\t}\n\t\thas(name) {\n\t\t\tif (this.#headers) return this.#headers.has(name);\n\t\t\treturn name.toLowerCase() in this.#req.headers;\n\t\t}\n\t\tgetSetCookie() {\n\t\t\tif (this.#headers) return this.#headers.getSetCookie();\n\t\t\tconst value = this.#req.headers[\"set-cookie\"];\n\t\t\treturn Array.isArray(value) ? value : value ? [value] : [];\n\t\t}\n\t\t*_entries() {\n\t\t\tconst rawHeaders = this.#req.rawHeaders;\n\t\t\tconst len = rawHeaders.length;\n\t\t\tfor (let i = 0; i < len; i += 2) {\n\t\t\t\tconst key = rawHeaders[i];\n\t\t\t\tif (key.charCodeAt(0) === 58) continue;\n\t\t\t\tyield [key.toLowerCase(), rawHeaders[i + 1]];\n\t\t\t}\n\t\t}\n\t\tentries() {\n\t\t\treturn this.#headers ? this.#headers.entries() : this._entries();\n\t\t}\n\t\t[Symbol.iterator]() {\n\t\t\treturn this.entries();\n\t\t}\n\t}\n\tlazyInherit(Headers.prototype, NativeHeaders.prototype, \"_headers\");\n\tObject.setPrototypeOf(Headers, NativeHeaders);\n\tObject.setPrototypeOf(Headers.prototype, NativeHeaders.prototype);\n\treturn Headers;\n})();\n\n//#endregion\n//#region src/adapters/_node/request.ts\nconst NodeRequest = /* @__PURE__ */ (() => {\n\tconst NativeRequest = globalThis.Request;\n\tclass Request {\n\t\truntime;\n\t\t#req;\n\t\t#url;\n\t\t#bodyStream;\n\t\t#request;\n\t\t#headers;\n\t\t#abortController;\n\t\tconstructor(ctx) {\n\t\t\tthis.#req = ctx.req;\n\t\t\tthis.runtime = {\n\t\t\t\tname: \"node\",\n\t\t\t\tnode: ctx\n\t\t\t};\n\t\t}\n\t\tstatic [Symbol.hasInstance](val) {\n\t\t\treturn val instanceof NativeRequest;\n\t\t}\n\t\tget ip() {\n\t\t\treturn this.#req.socket?.remoteAddress;\n\t\t}\n\t\tget method() {\n\t\t\tif (this.#request) return this.#request.method;\n\t\t\treturn this.#req.method || \"GET\";\n\t\t}\n\t\tget _url() {\n\t\t\treturn this.#url ||= new NodeRequestURL({ req: this.#req });\n\t\t}\n\t\tset _url(url) {\n\t\t\tthis.#url = url;\n\t\t}\n\t\tget url() {\n\t\t\tif (this.#request) return this.#request.url;\n\t\t\treturn this._url.href;\n\t\t}\n\t\tget headers() {\n\t\t\tif (this.#request) return this.#request.headers;\n\t\t\treturn this.#headers ||= new NodeRequestHeaders(this.#req);\n\t\t}\n\t\tget _abortController() {\n\t\t\tif (!this.#abortController) {\n\t\t\t\tthis.#abortController = new AbortController();\n\t\t\t\tconst { req, res } = this.runtime.node;\n\t\t\t\tconst abortController = this.#abortController;\n\t\t\t\tconst abort = (err) => abortController.abort?.(err);\n\t\t\t\treq.once(\"error\", abort);\n\t\t\t\tif (res) res.once(\"close\", () => {\n\t\t\t\t\tconst reqError = req.errored;\n\t\t\t\t\tif (reqError) abort(reqError);\n\t\t\t\t\telse if (!res.writableEnded) abort();\n\t\t\t\t});\n\t\t\t\telse req.once(\"close\", () => {\n\t\t\t\t\tif (!req.complete) abort();\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn this.#abortController;\n\t\t}\n\t\tget signal() {\n\t\t\treturn this.#request ? this.#request.signal : this._abortController.signal;\n\t\t}\n\t\tget body() {\n\t\t\tif (this.#request) return this.#request.body;\n\t\t\tif (this.#bodyStream === void 0) {\n\t\t\t\tconst method = this.method;\n\t\t\t\tthis.#bodyStream = !(method === \"GET\" || method === \"HEAD\") ? Readable.toWeb(this.#req) : null;\n\t\t\t}\n\t\t\treturn this.#bodyStream;\n\t\t}\n\t\ttext() {\n\t\t\tif (this.#request) return this.#request.text();\n\t\t\tif (this.#bodyStream !== void 0) return this.#bodyStream ? new Response(this.#bodyStream).text() : Promise.resolve(\"\");\n\t\t\treturn readBody(this.#req).then((buf) => buf.toString());\n\t\t}\n\t\tjson() {\n\t\t\tif (this.#request) return this.#request.json();\n\t\t\treturn this.text().then((text) => JSON.parse(text));\n\t\t}\n\t\tget _request() {\n\t\t\tif (!this.#request) {\n\t\t\t\tconst body = this.body;\n\t\t\t\tthis.#request = new NativeRequest(this.url, {\n\t\t\t\t\tmethod: this.method,\n\t\t\t\t\theaders: this.headers,\n\t\t\t\t\tsignal: this._abortController.signal,\n\t\t\t\t\tbody,\n\t\t\t\t\tduplex: body ? \"half\" : void 0\n\t\t\t\t});\n\t\t\t\tthis.#headers = void 0;\n\t\t\t\tthis.#bodyStream = void 0;\n\t\t\t}\n\t\t\treturn this.#request;\n\t\t}\n\t}\n\tlazyInherit(Request.prototype, NativeRequest.prototype, \"_request\");\n\tObject.setPrototypeOf(Request.prototype, NativeRequest.prototype);\n\treturn Request;\n})();\n/**\n* Undici uses an incompatible Request constructor depending on private property accessors.\n*\n* This utility, patches global Request to support `new Request(req)` in Node.js.\n*\n* Alternatively you can use `new Request(req._request || req)` instead of patching global Request.\n*/\nfunction patchGlobalRequest() {\n\tconst NativeRequest = globalThis[Symbol.for(\"srvx.nativeRequest\")] ??= globalThis.Request;\n\tconst PatchedRequest = class Request extends NativeRequest {\n\t\tstatic _srvx = true;\n\t\tstatic [Symbol.hasInstance](instance) {\n\t\t\tif (this === PatchedRequest) return instance instanceof NativeRequest;\n\t\t\telse return Object.prototype.isPrototypeOf.call(this.prototype, instance);\n\t\t}\n\t\tconstructor(input, options) {\n\t\t\tif (typeof input === \"object\" && \"_request\" in input) input = input._request;\n\t\t\tsuper(input, options);\n\t\t}\n\t};\n\tif (!globalThis.Request._srvx) globalThis.Request = PatchedRequest;\n\treturn PatchedRequest;\n}\nfunction readBody(req) {\n\treturn new Promise((resolve, reject) => {\n\t\tconst chunks = [];\n\t\tconst onData = (chunk) => {\n\t\t\tchunks.push(chunk);\n\t\t};\n\t\tconst onError = (err) => {\n\t\t\treject(err);\n\t\t};\n\t\tconst onEnd = () => {\n\t\t\treq.off(\"error\", onError);\n\t\t\treq.off(\"data\", onData);\n\t\t\tresolve(Buffer.concat(chunks));\n\t\t};\n\t\treq.on(\"data\", onData).once(\"end\", onEnd).once(\"error\", onError);\n\t});\n}\n\n//#endregion\n//#region src/adapters/_node/web/incoming.ts\nvar WebIncomingMessage = class extends IncomingMessage {\n\tconstructor(req, socket) {\n\t\tsuper(socket);\n\t\tthis.method = req.method;\n\t\tconst url = req._url ??= new FastURL(req.url);\n\t\tthis.url = url.pathname + url.search;\n\t\tfor (const [key, value] of req.headers.entries()) this.headers[key.toLowerCase()] = value;\n\t\tif (req.method !== \"GET\" && req.method !== \"HEAD\" && !this.headers[\"content-length\"] && !this.headers[\"transfer-encoding\"]) this.headers[\"transfer-encoding\"] = \"chunked\";\n\t\tconst onData = (chunk) => {\n\t\t\tthis.push(chunk);\n\t\t};\n\t\tsocket.on(\"data\", onData);\n\t\tsocket.once(\"end\", () => {\n\t\t\tthis.emit(\"end\");\n\t\t\tthis.off(\"data\", onData);\n\t\t});\n\t}\n};\n\n//#endregion\n//#region src/adapters/_node/web/socket.ts\n/**\n* Events:\n* - Readable (req from client): readable => data => end (push(null)) => error => close\n* - Writable (res to client): pipe => unpipe => drain => finish (end called) => error => close\n*/\nvar WebRequestSocket = class extends Duplex {\n\t_httpMessage;\n\tautoSelectFamilyAttemptedAddresses = [];\n\tbufferSize = 0;\n\tbytesRead = 0;\n\tbytesWritten = 0;\n\tconnecting = false;\n\tpending = false;\n\treadyState = \"open\";\n\tremoteAddress = \"\";\n\tremoteFamily = \"\";\n\tremotePort = 0;\n\t#request;\n\t#timeoutTimer;\n\t#reqReader;\n\t#headersWritten;\n\t#_writeBody;\n\t_webResBody;\n\tconstructor(request) {\n\t\tsuper({\n\t\t\tsignal: request.signal,\n\t\t\tallowHalfOpen: true\n\t\t});\n\t\tthis.#request = request;\n\t\tthis._webResBody = new ReadableStream({ start: (controller) => {\n\t\t\tthis.#_writeBody = controller.enqueue.bind(controller);\n\t\t\tthis.once(\"finish\", () => {\n\t\t\t\tthis.readyState = \"closed\";\n\t\t\t\tcontroller.close();\n\t\t\t});\n\t\t} });\n\t}\n\tsetTimeout(ms, cb) {\n\t\tif (typeof ms !== \"number\" || !Number.isFinite(ms) || ms < 0) return this;\n\t\tif (cb) this.on(\"timeout\", cb);\n\t\tif (this.#timeoutTimer) clearTimeout(this.#timeoutTimer);\n\t\tif (ms > 0) this.#timeoutTimer = setTimeout(() => this.emit(\"timeout\"), ms);\n\t\treturn this;\n\t}\n\tsetNoDelay() {\n\t\treturn this;\n\t}\n\tsetKeepAlive() {\n\t\treturn this;\n\t}\n\tref() {\n\t\treturn this;\n\t}\n\tunref() {\n\t\treturn this;\n\t}\n\tdestroySoon() {\n\t\tthis.destroy();\n\t}\n\tconnect() {\n\t\treturn this;\n\t}\n\tresetAndDestroy() {\n\t\tthis.destroy();\n\t\treturn this;\n\t}\n\taddress() {\n\t\treturn {\n\t\t\taddress: \"\",\n\t\t\tfamily: \"\",\n\t\t\tport: 0\n\t\t};\n\t}\n\t_read(_size) {\n\t\tconst reader = this.#reqReader ??= this.#request.body?.getReader();\n\t\tif (!reader) {\n\t\t\tthis.push(null);\n\t\t\treturn;\n\t\t}\n\t\treader.read().then((res) => this._onRead(res)).catch((error) => {\n\t\t\tthis.emit(\"error\", error);\n\t\t});\n\t}\n\t_onRead(res) {\n\t\tif (res.done) {\n\t\t\tthis.push(null);\n\t\t\treturn;\n\t\t}\n\t\tif (res.value) {\n\t\t\tthis.bytesRead += res.value.byteLength;\n\t\t\tthis.push(res.value);\n\t\t}\n\t}\n\t_write(chunk, encoding, callback) {\n\t\tif (this.#headersWritten) this.#_writeBody(typeof chunk === \"string\" ? Buffer.from(chunk, encoding) : chunk);\n\t\telse if (chunk?.length > 0) {\n\t\t\tthis.#headersWritten = true;\n\t\t\tconst headerEnd = chunk.lastIndexOf(\"\\r\\n\\r\\n\");\n\t\t\tif (headerEnd === -1) throw new Error(\"Invalid HTTP headers chunk!\");\n\t\t\tif (headerEnd < chunk.length - 4) {\n\t\t\t\tthis._write(chunk.slice(headerEnd + 4), encoding, () => {\n\t\t\t\t\tcallback(null);\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tcallback(null);\n\t}\n\t_final(callback) {\n\t\tcallback(null);\n\t}\n\t_destroy(err, cb) {\n\t\tif (this.#timeoutTimer) clearTimeout(this.#timeoutTimer);\n\t\tif (this.#reqReader) this.#reqReader.cancel().catch((error) => {\n\t\t\tconsole.error(error);\n\t\t});\n\t\tthis.readyState = \"closed\";\n\t\tcb(err ?? void 0);\n\t}\n};\n\n//#endregion\n//#region src/adapters/_node/web/response.ts\nvar WebServerResponse = class extends ServerResponse {\n\t#socket;\n\tconstructor(req, socket) {\n\t\tsuper(req);\n\t\tthis.assignSocket(socket);\n\t\tthis.once(\"finish\", () => {\n\t\t\tsocket.end();\n\t\t});\n\t\tthis.#socket = socket;\n\t\tthis.waitToFinish = this.waitToFinish.bind(this);\n\t\tthis.toWebResponse = this.toWebResponse.bind(this);\n\t}\n\twaitToFinish() {\n\t\tif (this.writableEnded) return Promise.resolve();\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthis.on(\"finish\", () => resolve());\n\t\t\tthis.on(\"error\", (err) => reject(err));\n\t\t});\n\t}\n\tasync toWebResponse() {\n\t\tawait this.waitToFinish();\n\t\tconst headers = [];\n\t\tconst httpHeader = this._header?.split(\"\\r\\n\");\n\t\tfor (let i = 1; httpHeader && i < httpHeader.length; i++) {\n\t\t\tconst sepIndex = httpHeader[i].indexOf(\": \");\n\t\t\tif (sepIndex === -1) continue;\n\t\t\tconst key = httpHeader[i].slice(0, Math.max(0, sepIndex));\n\t\t\tconst value = httpHeader[i].slice(Math.max(0, sepIndex + 2));\n\t\t\tif (!key) continue;\n\t\t\theaders.push([key, value]);\n\t\t}\n\t\treturn new Response(this.#socket._webResBody, {\n\t\t\tstatus: this.statusCode,\n\t\t\tstatusText: this.statusMessage,\n\t\t\theaders\n\t\t});\n\t}\n};\n\n//#endregion\n//#region src/adapters/_node/web/fetch.ts\n/**\n* Calls a Node.js HTTP Request handler with a Fetch API Request object and returns a Response object.\n*\n* If the web Request contains an existing Node.js req/res pair (indicating it originated from a Node.js server from srvx/node), it will be called directly.\n*\n* Otherwise, new Node.js IncomingMessage and ServerResponse objects are created and linked to a custom Duplex stream that bridges the Fetch API streams with Node.js streams.\n*\n* The handler is invoked with these objects, and the response is constructed from the ServerResponse once it is finished.\n*\n* @experimental Behavior might be unstable.\n*/\nasync function fetchNodeHandler(handler, req) {\n\tconst nodeRuntime = req.runtime?.node;\n\tif (nodeRuntime && nodeRuntime.req && nodeRuntime.res) return await callNodeHandler(handler, req);\n\tconst socket = new WebRequestSocket(req);\n\tconst nodeReq = new WebIncomingMessage(req, socket);\n\tconst nodeRes = new WebServerResponse(nodeReq, socket);\n\ttry {\n\t\tawait handler(nodeReq, nodeRes);\n\t\treturn await nodeRes.toWebResponse();\n\t} catch (error) {\n\t\tconsole.error(error, { cause: {\n\t\t\treq,\n\t\t\thandler\n\t\t} });\n\t\treturn new Response(null, {\n\t\t\tstatus: 500,\n\t\t\tstatusText: \"Internal Server Error\"\n\t\t});\n\t}\n}\n\n//#endregion\n//#region src/adapters/_node/adapter.ts\n/**\n* Converts a Fetch API handler to a Node.js HTTP handler.\n*/\nfunction toNodeHandler(handler) {\n\tif (handler.__nodeHandler) return handler.__nodeHandler;\n\tfunction convertedNodeHandler(nodeReq, nodeRes) {\n\t\tconst res = handler(new NodeRequest({\n\t\t\treq: nodeReq,\n\t\t\tres: nodeRes\n\t\t}));\n\t\treturn res instanceof Promise ? res.then((resolvedRes) => sendNodeResponse(nodeRes, resolvedRes)) : sendNodeResponse(nodeRes, res);\n\t}\n\tconvertedNodeHandler.__fetchHandler = handler;\n\tassignFnName(convertedNodeHandler, handler, \" (converted to Node handler)\");\n\treturn convertedNodeHandler;\n}\n/**\n* Converts a Node.js HTTP handler into a Fetch API handler.\n*\n* @experimental Behavior might be unstable and won't work in Bun and Deno currently (tracker: https://github.com/h3js/srvx/issues/132)\n*/\nfunction toFetchHandler(handler) {\n\tif (handler.__fetchHandler) return handler.__fetchHandler;\n\tfunction convertedNodeHandler(req) {\n\t\treturn fetchNodeHandler(handler, req);\n\t}\n\tconvertedNodeHandler.__nodeHandler = handler;\n\tassignFnName(convertedNodeHandler, handler, \" (converted to Web handler)\");\n\treturn convertedNodeHandler;\n}\nfunction assignFnName(target, source, suffix) {\n\tif (source.name) try {\n\t\tObject.defineProperty(target, \"name\", { value: `${source.name}${suffix}` });\n\t} catch {}\n}\n\n//#endregion\n//#region src/adapters/node.ts\nfunction serve(options) {\n\treturn new NodeServer(options);\n}\nvar NodeServer = class {\n\truntime = \"node\";\n\toptions;\n\tnode;\n\tserveOptions;\n\tfetch;\n\t#isSecure;\n\t#listeningPromise;\n\t#wait;\n\tconstructor(options) {\n\t\tthis.options = {\n\t\t\t...options,\n\t\t\tmiddleware: [...options.middleware || []]\n\t\t};\n\t\tfor (const plugin of options.plugins || []) plugin(this);\n\t\terrorPlugin(this);\n\t\tgracefulShutdownPlugin(this);\n\t\tconst fetchHandler = this.fetch = wrapFetch(this);\n\t\tthis.#wait = createWaitUntil();\n\t\tconst handler = (nodeReq, nodeRes) => {\n\t\t\tconst request = new NodeRequest({\n\t\t\t\treq: nodeReq,\n\t\t\t\tres: nodeRes\n\t\t\t});\n\t\t\trequest.waitUntil = this.#wait.waitUntil;\n\t\t\tconst res = fetchHandler(request);\n\t\t\treturn res instanceof Promise ? res.then((resolvedRes) => sendNodeResponse(nodeRes, resolvedRes)) : sendNodeResponse(nodeRes, res);\n\t\t};\n\t\tconst tls = resolveTLSOptions(this.options);\n\t\tconst { port, hostname: host } = resolvePortAndHost(this.options);\n\t\tthis.serveOptions = {\n\t\t\tport,\n\t\t\thost,\n\t\t\texclusive: !this.options.reusePort,\n\t\t\t...tls ? {\n\t\t\t\tcert: tls.cert,\n\t\t\t\tkey: tls.key,\n\t\t\t\tpassphrase: tls.passphrase\n\t\t\t} : {},\n\t\t\t...this.options.node\n\t\t};\n\t\tlet server;\n\t\tthis.#isSecure = !!this.serveOptions.cert && this.options.protocol !== \"http\";\n\t\tif (this.options.node?.http2 ?? this.#isSecure) if (this.#isSecure) server = nodeHTTP2.createSecureServer({\n\t\t\tallowHTTP1: true,\n\t\t\t...this.serveOptions\n\t\t}, handler);\n\t\telse throw new Error(\"node.http2 option requires tls certificate!\");\n\t\telse if (this.#isSecure) server = nodeHTTPS.createServer(this.serveOptions, handler);\n\t\telse server = nodeHTTP.createServer(this.serveOptions, handler);\n\t\tthis.node = {\n\t\t\tserver,\n\t\t\thandler\n\t\t};\n\t\tif (!options.manual) this.serve();\n\t}\n\tserve() {\n\t\tif (this.#listeningPromise) return Promise.resolve(this.#listeningPromise).then(() => this);\n\t\tthis.#listeningPromise = new Promise((resolve) => {\n\t\t\tthis.node.server.listen(this.serveOptions, () => {\n\t\t\t\tprintListening(this.options, this.url);\n\t\t\t\tresolve();\n\t\t\t});\n\t\t});\n\t}\n\tget url() {\n\t\tconst addr = this.node?.server?.address();\n\t\tif (!addr) return;\n\t\treturn typeof addr === \"string\" ? addr : fmtURL(addr.address, addr.port, this.#isSecure);\n\t}\n\tready() {\n\t\treturn Promise.resolve(this.#listeningPromise).then(() => this);\n\t}\n\tasync close(closeAll) {\n\t\tawait Promise.all([this.#wait.wait(), new Promise((resolve, reject) => {\n\t\t\tconst server = this.node?.server;\n\t\t\tif (!server) return resolve();\n\t\t\tif (closeAll && \"closeAllConnections\" in server) server.closeAllConnections();\n\t\t\tserver.close((error) => error ? reject(error) : resolve());\n\t\t})]);\n\t}\n};\n\n//#endregion\nexport { NodeResponse as FastResponse, NodeResponse, FastURL, NodeRequest, fetchNodeHandler, patchGlobalRequest, sendNodeResponse, serve, toFetchHandler, toNodeHandler };","// Copyright 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Simon Lydell\n// License: MIT.\nvar HashbangComment, Identifier, JSXIdentifier, JSXPunctuator, JSXString, JSXText, KeywordsWithExpressionAfter, KeywordsWithNoLineTerminatorAfter, LineTerminatorSequence, MultiLineComment, Newline, NumericLiteral, Punctuator, RegularExpressionLiteral, SingleLineComment, StringLiteral, Template, TokensNotPrecedingObjectLiteral, TokensPrecedingExpression, WhiteSpace, jsTokens;\nRegularExpressionLiteral = /\\/(?![*\\/])(?:\\[(?:[^\\]\\\\\\n\\r\\u2028\\u2029]+|\\\\.)*\\]?|[^\\/[\\\\\\n\\r\\u2028\\u2029]+|\\\\.)*(\\/[$_\\u200C\\u200D\\p{ID_Continue}]*|\\\\)?/yu;\nPunctuator = /--|\\+\\+|=>|\\.{3}|\\??\\.(?!\\d)|(?:&&|\\|\\||\\?\\?|[+\\-%&|^]|\\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2}|\\/(?![\\/*]))=?|[?~,:;[\\](){}]/y;\nIdentifier = /(\\x23?)(?=[$_\\p{ID_Start}\\\\])(?:[$_\\u200C\\u200D\\p{ID_Continue}]+|\\\\u[\\da-fA-F]{4}|\\\\u\\{[\\da-fA-F]+\\})+/yu;\nStringLiteral = /(['\"])(?:[^'\"\\\\\\n\\r]+|(?!\\1)['\"]|\\\\(?:\\r\\n|[^]))*(\\1)?/y;\nNumericLiteral = /(?:0[xX][\\da-fA-F](?:_?[\\da-fA-F])*|0[oO][0-7](?:_?[0-7])*|0[bB][01](?:_?[01])*)n?|0n|[1-9](?:_?\\d)*n|(?:(?:0(?!\\d)|0\\d*[89]\\d*|[1-9](?:_?\\d)*)(?:\\.(?:\\d(?:_?\\d)*)?)?|\\.\\d(?:_?\\d)*)(?:[eE][+-]?\\d(?:_?\\d)*)?|0[0-7]+/y;\nTemplate = /[`}](?:[^`\\\\$]+|\\\\[^]|\\$(?!\\{))*(`|\\$\\{)?/y;\nWhiteSpace = /[\\t\\v\\f\\ufeff\\p{Zs}]+/yu;\nLineTerminatorSequence = /\\r?\\n|[\\r\\u2028\\u2029]/y;\nMultiLineComment = /\\/\\*(?:[^*]+|\\*(?!\\/))*(\\*\\/)?/y;\nSingleLineComment = /\\/\\/.*/y;\nHashbangComment = /^#!.*/;\nJSXPunctuator = /[<>.:={}]|\\/(?![\\/*])/y;\nJSXIdentifier = /[$_\\p{ID_Start}][$_\\u200C\\u200D\\p{ID_Continue}-]*/yu;\nJSXString = /(['\"])(?:[^'\"]+|(?!\\1)['\"])*(\\1)?/y;\nJSXText = /[^<>{}]+/y;\nTokensPrecedingExpression = /^(?:[\\/+-]|\\.{3}|\\?(?:InterpolationIn(?:JSX|Template)|NoLineTerminatorHere|NonExpressionParenEnd|UnaryIncDec))?$|[{}([,;<>=*%&|^!~?:]$/;\nTokensNotPrecedingObjectLiteral = /^(?:=>|[;\\]){}]|else|\\?(?:NoLineTerminatorHere|NonExpressionParenEnd))?$/;\nKeywordsWithExpressionAfter = /^(?:await|case|default|delete|do|else|instanceof|new|return|throw|typeof|void|yield)$/;\nKeywordsWithNoLineTerminatorAfter = /^(?:return|throw|yield)$/;\nNewline = RegExp(LineTerminatorSequence.source);\nmodule.exports = jsTokens = function*(input, {jsx = false} = {}) {\n\tvar braces, firstCodePoint, isExpression, lastIndex, lastSignificantToken, length, match, mode, nextLastIndex, nextLastSignificantToken, parenNesting, postfixIncDec, punctuator, stack;\n\t({length} = input);\n\tlastIndex = 0;\n\tlastSignificantToken = \"\";\n\tstack = [\n\t\t{tag: \"JS\"}\n\t];\n\tbraces = [];\n\tparenNesting = 0;\n\tpostfixIncDec = false;\n\tif (match = HashbangComment.exec(input)) {\n\t\tyield ({\n\t\t\ttype: \"HashbangComment\",\n\t\t\tvalue: match[0]\n\t\t});\n\t\tlastIndex = match[0].length;\n\t}\n\twhile (lastIndex < length) {\n\t\tmode = stack[stack.length - 1];\n\t\tswitch (mode.tag) {\n\t\t\tcase \"JS\":\n\t\t\tcase \"JSNonExpressionParen\":\n\t\t\tcase \"InterpolationInTemplate\":\n\t\t\tcase \"InterpolationInJSX\":\n\t\t\t\tif (input[lastIndex] === \"/\" && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken))) {\n\t\t\t\t\tRegularExpressionLiteral.lastIndex = lastIndex;\n\t\t\t\t\tif (match = RegularExpressionLiteral.exec(input)) {\n\t\t\t\t\t\tlastIndex = RegularExpressionLiteral.lastIndex;\n\t\t\t\t\t\tlastSignificantToken = match[0];\n\t\t\t\t\t\tpostfixIncDec = true;\n\t\t\t\t\t\tyield ({\n\t\t\t\t\t\t\ttype: \"RegularExpressionLiteral\",\n\t\t\t\t\t\t\tvalue: match[0],\n\t\t\t\t\t\t\tclosed: match[1] !== void 0 && match[1] !== \"\\\\\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tPunctuator.lastIndex = lastIndex;\n\t\t\t\tif (match = Punctuator.exec(input)) {\n\t\t\t\t\tpunctuator = match[0];\n\t\t\t\t\tnextLastIndex = Punctuator.lastIndex;\n\t\t\t\t\tnextLastSignificantToken = punctuator;\n\t\t\t\t\tswitch (punctuator) {\n\t\t\t\t\t\tcase \"(\":\n\t\t\t\t\t\t\tif (lastSignificantToken === \"?NonExpressionParenKeyword\") {\n\t\t\t\t\t\t\t\tstack.push({\n\t\t\t\t\t\t\t\t\ttag: \"JSNonExpressionParen\",\n\t\t\t\t\t\t\t\t\tnesting: parenNesting\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tparenNesting++;\n\t\t\t\t\t\t\tpostfixIncDec = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \")\":\n\t\t\t\t\t\t\tparenNesting--;\n\t\t\t\t\t\t\tpostfixIncDec = true;\n\t\t\t\t\t\t\tif (mode.tag === \"JSNonExpressionParen\" && parenNesting === mode.nesting) {\n\t\t\t\t\t\t\t\tstack.pop();\n\t\t\t\t\t\t\t\tnextLastSignificantToken = \"?NonExpressionParenEnd\";\n\t\t\t\t\t\t\t\tpostfixIncDec = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"{\":\n\t\t\t\t\t\t\tPunctuator.lastIndex = 0;\n\t\t\t\t\t\t\tisExpression = !TokensNotPrecedingObjectLiteral.test(lastSignificantToken) && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken));\n\t\t\t\t\t\t\tbraces.push(isExpression);\n\t\t\t\t\t\t\tpostfixIncDec = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"}\":\n\t\t\t\t\t\t\tswitch (mode.tag) {\n\t\t\t\t\t\t\t\tcase \"InterpolationInTemplate\":\n\t\t\t\t\t\t\t\t\tif (braces.length === mode.nesting) {\n\t\t\t\t\t\t\t\t\t\tTemplate.lastIndex = lastIndex;\n\t\t\t\t\t\t\t\t\t\tmatch = Template.exec(input);\n\t\t\t\t\t\t\t\t\t\tlastIndex = Template.lastIndex;\n\t\t\t\t\t\t\t\t\t\tlastSignificantToken = match[0];\n\t\t\t\t\t\t\t\t\t\tif (match[1] === \"${\") {\n\t\t\t\t\t\t\t\t\t\t\tlastSignificantToken = \"?InterpolationInTemplate\";\n\t\t\t\t\t\t\t\t\t\t\tpostfixIncDec = false;\n\t\t\t\t\t\t\t\t\t\t\tyield ({\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"TemplateMiddle\",\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: match[0]\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tstack.pop();\n\t\t\t\t\t\t\t\t\t\t\tpostfixIncDec = true;\n\t\t\t\t\t\t\t\t\t\t\tyield ({\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"TemplateTail\",\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: match[0],\n\t\t\t\t\t\t\t\t\t\t\t\tclosed: match[1] === \"`\"\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase \"InterpolationInJSX\":\n\t\t\t\t\t\t\t\t\tif (braces.length === mode.nesting) {\n\t\t\t\t\t\t\t\t\t\tstack.pop();\n\t\t\t\t\t\t\t\t\t\tlastIndex += 1;\n\t\t\t\t\t\t\t\t\t\tlastSignificantToken = \"}\";\n\t\t\t\t\t\t\t\t\t\tyield ({\n\t\t\t\t\t\t\t\t\t\t\ttype: \"JSXPunctuator\",\n\t\t\t\t\t\t\t\t\t\t\tvalue: \"}\"\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tpostfixIncDec = braces.pop();\n\t\t\t\t\t\t\tnextLastSignificantToken = postfixIncDec ? \"?ExpressionBraceEnd\" : \"}\";\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"]\":\n\t\t\t\t\t\t\tpostfixIncDec = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"++\":\n\t\t\t\t\t\tcase \"--\":\n\t\t\t\t\t\t\tnextLastSignificantToken = postfixIncDec ? \"?PostfixIncDec\" : \"?UnaryIncDec\";\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"<\":\n\t\t\t\t\t\t\tif (jsx && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken))) {\n\t\t\t\t\t\t\t\tstack.push({tag: \"JSXTag\"});\n\t\t\t\t\t\t\t\tlastIndex += 1;\n\t\t\t\t\t\t\t\tlastSignificantToken = \"<\";\n\t\t\t\t\t\t\t\tyield ({\n\t\t\t\t\t\t\t\t\ttype: \"JSXPunctuator\",\n\t\t\t\t\t\t\t\t\tvalue: punctuator\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tpostfixIncDec = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tpostfixIncDec = false;\n\t\t\t\t\t}\n\t\t\t\t\tlastIndex = nextLastIndex;\n\t\t\t\t\tlastSignificantToken = nextLastSignificantToken;\n\t\t\t\t\tyield ({\n\t\t\t\t\t\ttype: \"Punctuator\",\n\t\t\t\t\t\tvalue: punctuator\n\t\t\t\t\t});\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tIdentifier.lastIndex = lastIndex;\n\t\t\t\tif (match = Identifier.exec(input)) {\n\t\t\t\t\tlastIndex = Identifier.lastIndex;\n\t\t\t\t\tnextLastSignificantToken = match[0];\n\t\t\t\t\tswitch (match[0]) {\n\t\t\t\t\t\tcase \"for\":\n\t\t\t\t\t\tcase \"if\":\n\t\t\t\t\t\tcase \"while\":\n\t\t\t\t\t\tcase \"with\":\n\t\t\t\t\t\t\tif (lastSignificantToken !== \".\" && lastSignificantToken !== \"?.\") {\n\t\t\t\t\t\t\t\tnextLastSignificantToken = \"?NonExpressionParenKeyword\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tlastSignificantToken = nextLastSignificantToken;\n\t\t\t\t\tpostfixIncDec = !KeywordsWithExpressionAfter.test(match[0]);\n\t\t\t\t\tyield ({\n\t\t\t\t\t\ttype: match[1] === \"#\" ? \"PrivateIdentifier\" : \"IdentifierName\",\n\t\t\t\t\t\tvalue: match[0]\n\t\t\t\t\t});\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tStringLiteral.lastIndex = lastIndex;\n\t\t\t\tif (match = StringLiteral.exec(input)) {\n\t\t\t\t\tlastIndex = StringLiteral.lastIndex;\n\t\t\t\t\tlastSignificantToken = match[0];\n\t\t\t\t\tpostfixIncDec = true;\n\t\t\t\t\tyield ({\n\t\t\t\t\t\ttype: \"StringLiteral\",\n\t\t\t\t\t\tvalue: match[0],\n\t\t\t\t\t\tclosed: match[2] !== void 0\n\t\t\t\t\t});\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tNumericLiteral.lastIndex = lastIndex;\n\t\t\t\tif (match = NumericLiteral.exec(input)) {\n\t\t\t\t\tlastIndex = NumericLiteral.lastIndex;\n\t\t\t\t\tlastSignificantToken = match[0];\n\t\t\t\t\tpostfixIncDec = true;\n\t\t\t\t\tyield ({\n\t\t\t\t\t\ttype: \"NumericLiteral\",\n\t\t\t\t\t\tvalue: match[0]\n\t\t\t\t\t});\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tTemplate.lastIndex = lastIndex;\n\t\t\t\tif (match = Template.exec(input)) {\n\t\t\t\t\tlastIndex = Template.lastIndex;\n\t\t\t\t\tlastSignificantToken = match[0];\n\t\t\t\t\tif (match[1] === \"${\") {\n\t\t\t\t\t\tlastSignificantToken = \"?InterpolationInTemplate\";\n\t\t\t\t\t\tstack.push({\n\t\t\t\t\t\t\ttag: \"InterpolationInTemplate\",\n\t\t\t\t\t\t\tnesting: braces.length\n\t\t\t\t\t\t});\n\t\t\t\t\t\tpostfixIncDec = false;\n\t\t\t\t\t\tyield ({\n\t\t\t\t\t\t\ttype: \"TemplateHead\",\n\t\t\t\t\t\t\tvalue: match[0]\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tpostfixIncDec = true;\n\t\t\t\t\t\tyield ({\n\t\t\t\t\t\t\ttype: \"NoSubstitutionTemplate\",\n\t\t\t\t\t\t\tvalue: match[0],\n\t\t\t\t\t\t\tclosed: match[1] === \"`\"\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"JSXTag\":\n\t\t\tcase \"JSXTagEnd\":\n\t\t\t\tJSXPunctuator.lastIndex = lastIndex;\n\t\t\t\tif (match = JSXPunctuator.exec(input)) {\n\t\t\t\t\tlastIndex = JSXPunctuator.lastIndex;\n\t\t\t\t\tnextLastSignificantToken = match[0];\n\t\t\t\t\tswitch (match[0]) {\n\t\t\t\t\t\tcase \"<\":\n\t\t\t\t\t\t\tstack.push({tag: \"JSXTag\"});\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \">\":\n\t\t\t\t\t\t\tstack.pop();\n\t\t\t\t\t\t\tif (lastSignificantToken === \"/\" || mode.tag === \"JSXTagEnd\") {\n\t\t\t\t\t\t\t\tnextLastSignificantToken = \"?JSX\";\n\t\t\t\t\t\t\t\tpostfixIncDec = true;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tstack.push({tag: \"JSXChildren\"});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"{\":\n\t\t\t\t\t\t\tstack.push({\n\t\t\t\t\t\t\t\ttag: \"InterpolationInJSX\",\n\t\t\t\t\t\t\t\tnesting: braces.length\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tnextLastSignificantToken = \"?InterpolationInJSX\";\n\t\t\t\t\t\t\tpostfixIncDec = false;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"/\":\n\t\t\t\t\t\t\tif (lastSignificantToken === \"<\") {\n\t\t\t\t\t\t\t\tstack.pop();\n\t\t\t\t\t\t\t\tif (stack[stack.length - 1].tag === \"JSXChildren\") {\n\t\t\t\t\t\t\t\t\tstack.pop();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tstack.push({tag: \"JSXTagEnd\"});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tlastSignificantToken = nextLastSignificantToken;\n\t\t\t\t\tyield ({\n\t\t\t\t\t\ttype: \"JSXPunctuator\",\n\t\t\t\t\t\tvalue: match[0]\n\t\t\t\t\t});\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tJSXIdentifier.lastIndex = lastIndex;\n\t\t\t\tif (match = JSXIdentifier.exec(input)) {\n\t\t\t\t\tlastIndex = JSXIdentifier.lastIndex;\n\t\t\t\t\tlastSignificantToken = match[0];\n\t\t\t\t\tyield ({\n\t\t\t\t\t\ttype: \"JSXIdentifier\",\n\t\t\t\t\t\tvalue: match[0]\n\t\t\t\t\t});\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tJSXString.lastIndex = lastIndex;\n\t\t\t\tif (match = JSXString.exec(input)) {\n\t\t\t\t\tlastIndex = JSXString.lastIndex;\n\t\t\t\t\tlastSignificantToken = match[0];\n\t\t\t\t\tyield ({\n\t\t\t\t\t\ttype: \"JSXString\",\n\t\t\t\t\t\tvalue: match[0],\n\t\t\t\t\t\tclosed: match[2] !== void 0\n\t\t\t\t\t});\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"JSXChildren\":\n\t\t\t\tJSXText.lastIndex = lastIndex;\n\t\t\t\tif (match = JSXText.exec(input)) {\n\t\t\t\t\tlastIndex = JSXText.lastIndex;\n\t\t\t\t\tlastSignificantToken = match[0];\n\t\t\t\t\tyield ({\n\t\t\t\t\t\ttype: \"JSXText\",\n\t\t\t\t\t\tvalue: match[0]\n\t\t\t\t\t});\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tswitch (input[lastIndex]) {\n\t\t\t\t\tcase \"<\":\n\t\t\t\t\t\tstack.push({tag: \"JSXTag\"});\n\t\t\t\t\t\tlastIndex++;\n\t\t\t\t\t\tlastSignificantToken = \"<\";\n\t\t\t\t\t\tyield ({\n\t\t\t\t\t\t\ttype: \"JSXPunctuator\",\n\t\t\t\t\t\t\tvalue: \"<\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\tcase \"{\":\n\t\t\t\t\t\tstack.push({\n\t\t\t\t\t\t\ttag: \"InterpolationInJSX\",\n\t\t\t\t\t\t\tnesting: braces.length\n\t\t\t\t\t\t});\n\t\t\t\t\t\tlastIndex++;\n\t\t\t\t\t\tlastSignificantToken = \"?InterpolationInJSX\";\n\t\t\t\t\t\tpostfixIncDec = false;\n\t\t\t\t\t\tyield ({\n\t\t\t\t\t\t\ttype: \"JSXPunctuator\",\n\t\t\t\t\t\t\tvalue: \"{\"\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t}\n\t\tWhiteSpace.lastIndex = lastIndex;\n\t\tif (match = WhiteSpace.exec(input)) {\n\t\t\tlastIndex = WhiteSpace.lastIndex;\n\t\t\tyield ({\n\t\t\t\ttype: \"WhiteSpace\",\n\t\t\t\tvalue: match[0]\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tLineTerminatorSequence.lastIndex = lastIndex;\n\t\tif (match = LineTerminatorSequence.exec(input)) {\n\t\t\tlastIndex = LineTerminatorSequence.lastIndex;\n\t\t\tpostfixIncDec = false;\n\t\t\tif (KeywordsWithNoLineTerminatorAfter.test(lastSignificantToken)) {\n\t\t\t\tlastSignificantToken = \"?NoLineTerminatorHere\";\n\t\t\t}\n\t\t\tyield ({\n\t\t\t\ttype: \"LineTerminatorSequence\",\n\t\t\t\tvalue: match[0]\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tMultiLineComment.lastIndex = lastIndex;\n\t\tif (match = MultiLineComment.exec(input)) {\n\t\t\tlastIndex = MultiLineComment.lastIndex;\n\t\t\tif (Newline.test(match[0])) {\n\t\t\t\tpostfixIncDec = false;\n\t\t\t\tif (KeywordsWithNoLineTerminatorAfter.test(lastSignificantToken)) {\n\t\t\t\t\tlastSignificantToken = \"?NoLineTerminatorHere\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tyield ({\n\t\t\t\ttype: \"MultiLineComment\",\n\t\t\t\tvalue: match[0],\n\t\t\t\tclosed: match[1] !== void 0\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tSingleLineComment.lastIndex = lastIndex;\n\t\tif (match = SingleLineComment.exec(input)) {\n\t\t\tlastIndex = SingleLineComment.lastIndex;\n\t\t\tpostfixIncDec = false;\n\t\t\tyield ({\n\t\t\t\ttype: \"SingleLineComment\",\n\t\t\t\tvalue: match[0]\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tfirstCodePoint = String.fromCodePoint(input.codePointAt(lastIndex));\n\t\tlastIndex += firstCodePoint.length;\n\t\tlastSignificantToken = firstCodePoint;\n\t\tpostfixIncDec = false;\n\t\tyield ({\n\t\t\ttype: mode.tag.startsWith(\"JSX\") ? \"JSXInvalid\" : \"Invalid\",\n\t\t\tvalue: firstCodePoint\n\t\t});\n\t}\n\treturn void 0;\n};\n","import jsTokens from 'js-tokens';\n\nconst FILL_COMMENT = \" \";\nfunction stripLiteralFromToken(token, fillChar, filter) {\n if (token.type === \"SingleLineComment\") {\n return FILL_COMMENT.repeat(token.value.length);\n }\n if (token.type === \"MultiLineComment\") {\n return token.value.replace(/[^\\n]/g, FILL_COMMENT);\n }\n if (token.type === \"StringLiteral\") {\n if (!token.closed) {\n return token.value;\n }\n const body = token.value.slice(1, -1);\n if (filter(body)) {\n return token.value[0] + fillChar.repeat(body.length) + token.value[token.value.length - 1];\n }\n }\n if (token.type === \"NoSubstitutionTemplate\") {\n const body = token.value.slice(1, -1);\n if (filter(body)) {\n return `\\`${body.replace(/[^\\n]/g, fillChar)}\\``;\n }\n }\n if (token.type === \"RegularExpressionLiteral\") {\n const body = token.value;\n if (filter(body)) {\n return body.replace(/\\/(.*)\\/(\\w?)$/g, (_, $1, $2) => `/${fillChar.repeat($1.length)}/${$2}`);\n }\n }\n if (token.type === \"TemplateHead\") {\n const body = token.value.slice(1, -2);\n if (filter(body)) {\n return `\\`${body.replace(/[^\\n]/g, fillChar)}\\${`;\n }\n }\n if (token.type === \"TemplateTail\") {\n const body = token.value.slice(0, -2);\n if (filter(body)) {\n return `}${body.replace(/[^\\n]/g, fillChar)}\\``;\n }\n }\n if (token.type === \"TemplateMiddle\") {\n const body = token.value.slice(1, -2);\n if (filter(body)) {\n return `}${body.replace(/[^\\n]/g, fillChar)}\\${`;\n }\n }\n return token.value;\n}\nfunction optionsWithDefaults(options) {\n return {\n fillChar: options?.fillChar ?? \" \",\n filter: options?.filter ?? (() => true)\n };\n}\nfunction stripLiteral(code, options) {\n let result = \"\";\n const _options = optionsWithDefaults(options);\n for (const token of jsTokens(code, { jsx: false })) {\n result += stripLiteralFromToken(token, _options.fillChar, _options.filter);\n }\n return result;\n}\nfunction stripLiteralDetailed(code, options) {\n let result = \"\";\n const tokens = [];\n const _options = optionsWithDefaults(options);\n for (const token of jsTokens(code, { jsx: false })) {\n tokens.push(token);\n result += stripLiteralFromToken(token, _options.fillChar, _options.filter);\n }\n return {\n result,\n tokens\n };\n}\n\nexport { stripLiteral, stripLiteralDetailed, stripLiteralDetailed as stripLiteralJsTokens };\n","import { n as __toDynamicImportESM } from \"./chunk-ezxmLbPQ.js\";\nimport { t as vitePluginRscCore } from \"./plugin-D1MQNdps.js\";\nimport { t as createDebug } from \"./dist-BRSdGcl7.js\";\nimport { a as hasDirective, n as transformDirectiveProxyExport, o as transformWrapExport, s as findDirectives, t as transformServerActionServer } from \"./transforms-BcLQCXiC.js\";\nimport { o as generateEncryptionKey, s as toBase64 } from \"./encryption-utils-6p8t4Xqm.js\";\nimport { n as createRpcServer } from \"./rpc-CRpYrgKq.js\";\nimport { t as cjsModuleRunnerPlugin } from \"./cjs-DHD_0drE.js\";\nimport { i as toCssVirtual, n as parseIdQuery, r as parseReferenceValidationVirtual, t as parseCssVirtual } from \"./shared-AtH_QTi7.js\";\nimport { createRequire } from \"node:module\";\nimport assert from \"node:assert\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { fileURLToPath, pathToFileURL } from \"node:url\";\nimport { toNodeHandler } from \"srvx/node\";\nimport * as esModuleLexer from \"es-module-lexer\";\nimport MagicString from \"magic-string\";\nimport * as vite from \"vite\";\nimport { defaultServerConditions, isCSSRequest, isFileLoadingAllowed, normalizePath, parseAstAsync } from \"vite\";\nimport { crawlFrameworkPkgs } from \"vitefu\";\nimport { walk } from \"estree-walker\";\nimport { stripVTControlCharacters } from \"node:util\";\nimport { createHash } from \"node:crypto\";\nimport { stripLiteral } from \"strip-literal\";\n\n//#region src/plugins/vite-utils.ts\nconst VALID_ID_PREFIX = `/@id/`;\nconst NULL_BYTE_PLACEHOLDER = `__x00__`;\nconst FS_PREFIX = `/@fs/`;\nfunction wrapId(id) {\n\treturn id.startsWith(VALID_ID_PREFIX) ? id : VALID_ID_PREFIX + id.replace(\"\\0\", NULL_BYTE_PLACEHOLDER);\n}\nfunction withTrailingSlash(path$1) {\n\tif (path$1[path$1.length - 1] !== \"/\") return `${path$1}/`;\n\treturn path$1;\n}\nconst postfixRE = /[?#].*$/;\nfunction cleanUrl(url) {\n\treturn url.replace(postfixRE, \"\");\n}\nfunction splitFileAndPostfix(path$1) {\n\tconst file = cleanUrl(path$1);\n\treturn {\n\t\tfile,\n\t\tpostfix: path$1.slice(file.length)\n\t};\n}\nconst windowsSlashRE = /\\\\/g;\nfunction slash(p) {\n\treturn p.replace(windowsSlashRE, \"/\");\n}\nconst isWindows = typeof process !== \"undefined\" && process.platform === \"win32\";\nfunction injectQuery(url, queryToInject) {\n\tconst { file, postfix } = splitFileAndPostfix(url);\n\treturn `${isWindows ? slash(file) : file}?${queryToInject}${postfix[0] === \"?\" ? `&${postfix.slice(1)}` : postfix}`;\n}\nfunction normalizeResolvedIdToUrl(environment, url, resolved) {\n\tconst root = environment.config.root;\n\tconst depsOptimizer = environment.depsOptimizer;\n\tif (resolved.id.startsWith(withTrailingSlash(root))) url = resolved.id.slice(root.length);\n\telse if (depsOptimizer?.isOptimizedDepFile(resolved.id) || resolved.id !== \"/@react-refresh\" && path.isAbsolute(resolved.id) && fs.existsSync(cleanUrl(resolved.id))) url = path.posix.join(FS_PREFIX, resolved.id);\n\telse url = resolved.id;\n\tif (url[0] !== \".\" && url[0] !== \"/\") url = wrapId(resolved.id);\n\treturn url;\n}\nfunction normalizeViteImportAnalysisUrl(environment, id) {\n\tlet url = normalizeResolvedIdToUrl(environment, id, { id });\n\tif (environment.config.consumer === \"client\") {\n\t\tconst mod = environment.moduleGraph.getModuleById(id);\n\t\tif (mod && mod.lastHMRTimestamp > 0) url = injectQuery(url, `t=${mod.lastHMRTimestamp}`);\n\t}\n\treturn url;\n}\nfunction prepareError(err) {\n\treturn {\n\t\tmessage: stripVTControlCharacters(err.message),\n\t\tstack: stripVTControlCharacters(cleanStack(err.stack || \"\")),\n\t\tid: err.id,\n\t\tframe: stripVTControlCharacters(err.frame || \"\"),\n\t\tplugin: err.plugin,\n\t\tpluginCode: err.pluginCode?.toString(),\n\t\tloc: err.loc\n\t};\n}\nfunction cleanStack(stack) {\n\treturn stack.split(/\\n/).filter((l) => /^\\s*at/.test(l)).join(\"\\n\");\n}\nfunction evalValue(rawValue) {\n\treturn new Function(`\n var console, exports, global, module, process, require\n return (\\n${rawValue}\\n)\n `)();\n}\nconst directRequestRE = /(\\?|&)direct=?(?:&|$)/;\n\n//#endregion\n//#region src/plugins/utils.ts\nfunction sortObject(o) {\n\treturn Object.fromEntries(Object.entries(o).sort(([a], [b]) => a.localeCompare(b)));\n}\nfunction withRollupError(ctx, f) {\n\tfunction processError(e) {\n\t\tif (e && typeof e === \"object\" && typeof e.pos === \"number\") return ctx.error(e, e.pos);\n\t\tthrow e;\n\t}\n\treturn function(...args) {\n\t\ttry {\n\t\t\tconst result = f.apply(this, args);\n\t\t\tif (result instanceof Promise) return result.catch((e) => processError(e));\n\t\t\treturn result;\n\t\t} catch (e) {\n\t\t\tprocessError(e);\n\t\t}\n\t};\n}\nfunction createVirtualPlugin(name, load) {\n\tname = \"virtual:\" + name;\n\treturn {\n\t\tname: `rsc:virtual-${name}`,\n\t\tresolveId(source, _importer, _options) {\n\t\t\treturn source === name ? \"\\0\" + name : void 0;\n\t\t},\n\t\tload(id, options) {\n\t\t\tif (id === \"\\0\" + name) return load.apply(this, [id, options]);\n\t\t}\n\t};\n}\nfunction normalizeRelativePath(s) {\n\ts = normalizePath(s);\n\treturn s[0] === \".\" ? s : \"./\" + s;\n}\nfunction getEntrySource(config, name) {\n\tconst input = config.build.rollupOptions.input;\n\tif (!name) return getFallbackRollupEntry(input).source;\n\tif (typeof input === \"object\" && !Array.isArray(input) && name in input && typeof input[name] === \"string\") return input[name];\n\tthrow new Error(`[vite-rsc:getEntrySource] expected 'build.rollupOptions.input' to be an object with a '${name}' property that is a string, but got ${JSON.stringify(input)}`);\n}\nfunction getFallbackRollupEntry(input = {}) {\n\tconst inputEntries = Object.entries(normalizeRollupOpitonsInput(input));\n\tif (inputEntries.length === 1) {\n\t\tconst [name, source] = inputEntries[0];\n\t\treturn {\n\t\t\tname,\n\t\t\tsource\n\t\t};\n\t}\n\tthrow new Error(`[vite-rsc] cannot determine fallback entry name from multiple entries, please specify the entry name explicitly`);\n}\nfunction normalizeRollupOpitonsInput(input = {}) {\n\tif (typeof input === \"string\") input = [input];\n\tif (Array.isArray(input)) return Object.fromEntries(input.map((file) => [path.basename(file).slice(0, -path.extname(file).length), file]));\n\treturn input;\n}\nfunction hashString(v) {\n\treturn createHash(\"sha256\").update(v).digest().toString(\"hex\").slice(0, 12);\n}\nfunction getFetchHandlerExport(exports) {\n\tif (\"default\" in exports) {\n\t\tconst default_ = exports.default;\n\t\tif (default_ && typeof default_ === \"object\" && \"fetch\" in default_ && typeof default_.fetch === \"function\") return default_.fetch;\n\t\tif (typeof default_ === \"function\") return default_;\n\t}\n\tthrow new Error(\"Invalid server handler entry\");\n}\n\n//#endregion\n//#region src/plugins/scan.ts\nfunction scanBuildStripPlugin({ manager }) {\n\treturn {\n\t\tname: \"rsc:scan-strip\",\n\t\tapply: \"build\",\n\t\tenforce: \"post\",\n\t\tasync transform(code, _id, _options) {\n\t\t\tif (!manager.isScanBuild) return;\n\t\t\treturn {\n\t\t\t\tcode: await transformScanBuildStrip(code),\n\t\t\t\tmap: { mappings: \"\" }\n\t\t\t};\n\t\t}\n\t};\n}\nconst importGlobRE = /\\bimport\\.meta\\.glob(?:<\\w+>)?\\s*\\(/g;\nasync function transformScanBuildStrip(code) {\n\tconst [imports] = esModuleLexer.parse(code);\n\tlet output = imports.map((e) => e.n && `import ${JSON.stringify(e.n)};\\n`).filter(Boolean).join(\"\");\n\tif (importGlobRE.test(code)) {\n\t\twalk(await parseAstAsync(code), { enter(node) {\n\t\t\tif (node.type === \"CallExpression\" && node.callee.type === \"MemberExpression\" && node.callee.object.type === \"MetaProperty\" && node.callee.object.meta.type === \"Identifier\" && node.callee.object.meta.name === \"import\" && node.callee.object.property.type === \"Identifier\" && node.callee.object.property.name === \"meta\" && node.callee.property.type === \"Identifier\" && node.callee.property.name === \"glob\") {\n\t\t\t\tconst importMetaGlob = code.slice(node.start, node.end);\n\t\t\t\toutput += `console.log(${importMetaGlob});\\n`;\n\t\t\t}\n\t\t} });\n\t\toutput += \"\";\n\t}\n\treturn output;\n}\n\n//#endregion\n//#region src/plugins/validate-import.ts\nfunction validateImportPlugin() {\n\treturn {\n\t\tname: \"rsc:validate-imports\",\n\t\tresolveId: {\n\t\t\torder: \"pre\",\n\t\t\tasync handler(source, _importer, options) {\n\t\t\t\tif (\"scan\" in options && options.scan) return;\n\t\t\t\tif (source === \"client-only\" || source === \"server-only\") {\n\t\t\t\t\tif (source === \"client-only\" && this.environment.name === \"rsc\" || source === \"server-only\" && this.environment.name !== \"rsc\") return {\n\t\t\t\t\t\tid: `\\0virtual:vite-rsc/validate-imports/invalid/${source}`,\n\t\t\t\t\t\tmoduleSideEffects: true\n\t\t\t\t\t};\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid: `\\0virtual:vite-rsc/validate-imports/valid/${source}`,\n\t\t\t\t\t\tmoduleSideEffects: false\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tload(id) {\n\t\t\tif (id.startsWith(\"\\0virtual:vite-rsc/validate-imports/invalid/\")) return `throw new Error(\"invalid import of '${id.slice(id.lastIndexOf(\"/\") + 1)}'\")`;\n\t\t\tif (id.startsWith(\"\\0virtual:vite-rsc/validate-imports/\")) return `export {}`;\n\t\t},\n\t\ttransform: {\n\t\t\torder: \"post\",\n\t\t\tasync handler(_code, id) {\n\t\t\t\tif (this.environment.mode === \"dev\") {\n\t\t\t\t\tif (id.startsWith(`\\0virtual:vite-rsc/validate-imports/invalid/`)) validateImportChain(getImportChainDev(this.environment, id), this.environment.name, this.environment.config.root);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tbuildEnd() {\n\t\t\tif (this.environment.mode === \"build\") {\n\t\t\t\tvalidateImportChain(getImportChainBuild(this, \"\\0virtual:vite-rsc/validate-imports/invalid/server-only\"), this.environment.name, this.environment.config.root);\n\t\t\t\tvalidateImportChain(getImportChainBuild(this, \"\\0virtual:vite-rsc/validate-imports/invalid/client-only\"), this.environment.name, this.environment.config.root);\n\t\t\t}\n\t\t}\n\t};\n}\nfunction getImportChainDev(environment, id) {\n\tconst chain = [];\n\tconst recurse = (id$1) => {\n\t\tif (chain.includes(id$1)) return;\n\t\tconst info = environment.moduleGraph.getModuleById(id$1);\n\t\tif (!info) return;\n\t\tchain.push(id$1);\n\t\tconst next = [...info.importers][0];\n\t\tif (next && next.id) recurse(next.id);\n\t};\n\trecurse(id);\n\treturn chain;\n}\nfunction getImportChainBuild(ctx, id) {\n\tconst chain = [];\n\tconst recurse = (id$1) => {\n\t\tif (chain.includes(id$1)) return;\n\t\tconst info = ctx.getModuleInfo(id$1);\n\t\tif (!info) return;\n\t\tchain.push(id$1);\n\t\tconst next = info.importers[0];\n\t\tif (next) recurse(next);\n\t};\n\trecurse(id);\n\treturn chain;\n}\nfunction validateImportChain(chain, environmentName, root) {\n\tif (chain.length === 0) return;\n\tconst id = chain[0];\n\tconst source = id.slice(id.lastIndexOf(\"/\") + 1);\n\tlet result = `'${source}' cannot be imported in ${source === \"server-only\" ? \"client\" : \"server\"} build ('${environmentName}' environment):\\n`;\n\tresult += chain.slice(1, 6).map((id$1, i) => \" \".repeat(i + 1) + `imported by ${path.relative(root, id$1).replaceAll(\"\\0\", \"\")}\\n`).join(\"\");\n\tif (chain.length > 6) result += \" \".repeat(7) + \"...\\n\";\n\tconst error = new Error(result);\n\tif (chain[1]) Object.assign(error, { id: chain[1] });\n\tthrow error;\n}\n\n//#endregion\n//#region src/plugins/find-source-map-url.ts\nfunction vitePluginFindSourceMapURL() {\n\treturn [{\n\t\tname: \"rsc:findSourceMapURL\",\n\t\tapply: \"serve\",\n\t\tconfigureServer(server) {\n\t\t\tserver.middlewares.use(async (req, res, next) => {\n\t\t\t\tconst url = new URL(req.url, `http://localhost`);\n\t\t\t\tif (url.pathname === \"/__vite_rsc_findSourceMapURL\") {\n\t\t\t\t\tlet filename = url.searchParams.get(\"filename\");\n\t\t\t\t\tlet environmentName = url.searchParams.get(\"environmentName\");\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst map = await findSourceMapURL(server, filename, environmentName);\n\t\t\t\t\t\tres.setHeader(\"content-type\", \"application/json\");\n\t\t\t\t\t\tif (!map) res.statusCode = 404;\n\t\t\t\t\t\tres.end(JSON.stringify(map ?? {}));\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\tnext(e);\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tnext();\n\t\t\t});\n\t\t}\n\t}];\n}\nasync function findSourceMapURL(server, filename, environmentName) {\n\tif (filename.startsWith(\"file://\")) {\n\t\tfilename = slash(fileURLToPath(filename));\n\t\tif (isFileLoadingAllowed(server.config, filename) && fs.existsSync(filename)) {\n\t\t\tconst content = fs.readFileSync(filename, \"utf-8\");\n\t\t\treturn {\n\t\t\t\tversion: 3,\n\t\t\t\tsources: [filename],\n\t\t\t\tsourcesContent: [content],\n\t\t\t\tmappings: \"AAAA\" + \";AACA\".repeat(content.split(\"\\n\").length)\n\t\t\t};\n\t\t}\n\t\treturn;\n\t}\n\tlet mod;\n\tlet map;\n\tif (environmentName === \"Server\") {\n\t\tmod = server.environments.rsc.moduleGraph.getModuleById(filename);\n\t\tmap = mod?.transformResult?.map;\n\t\tif (map && map.mappings) map = {\n\t\t\t...map,\n\t\t\tmappings: \";;\" + map.mappings\n\t\t};\n\t}\n\tconst base = server.config.base.slice(0, -1);\n\tif (environmentName === \"Client\") try {\n\t\tconst url = new URL(filename).pathname.slice(base.length);\n\t\tmod = server.environments.client.moduleGraph.urlToModuleMap.get(url);\n\t\tmap = mod?.transformResult?.map;\n\t} catch (e) {}\n\tif (mod && map) return {\n\t\t...map,\n\t\tsources: [base + mod.url]\n\t};\n}\n\n//#endregion\n//#region src/plugin.ts\nconst isRolldownVite = \"rolldownVersion\" in vite;\nconst BUILD_ASSETS_MANIFEST_NAME = \"__vite_rsc_assets_manifest.js\";\nconst PKG_NAME = \"@vitejs/plugin-rsc\";\nconst REACT_SERVER_DOM_NAME = `${PKG_NAME}/vendor/react-server-dom`;\nconst VIRTUAL_ENTRIES = { browser: \"virtual:vite-rsc/entry-browser\" };\nconst require = createRequire(import.meta.url);\nfunction resolvePackage(name) {\n\treturn pathToFileURL(require.resolve(name)).href;\n}\nvar RscPluginManager = class {\n\tserver;\n\tconfig;\n\trscBundle;\n\tbuildAssetsManifest;\n\tisScanBuild = false;\n\tclientReferenceMetaMap = {};\n\tclientReferenceGroups = {};\n\tserverReferenceMetaMap = {};\n\tserverResourcesMetaMap = {};\n\tstabilize() {\n\t\tthis.clientReferenceMetaMap = sortObject(this.clientReferenceMetaMap);\n\t\tthis.serverResourcesMetaMap = sortObject(this.serverResourcesMetaMap);\n\t}\n\ttoRelativeId(id) {\n\t\treturn normalizePath(path.relative(this.config.root, id));\n\t}\n};\n/** @experimental */\nfunction getPluginApi(config) {\n\treturn config.plugins.find((p) => p.name === \"rsc:minimal\")?.api;\n}\n/** @experimental */\nfunction vitePluginRscMinimal(rscPluginOptions = {}, manager = new RscPluginManager()) {\n\treturn [\n\t\t{\n\t\t\tname: \"rsc:minimal\",\n\t\t\tenforce: \"pre\",\n\t\t\tapi: { manager },\n\t\t\tasync config() {\n\t\t\t\tawait esModuleLexer.init;\n\t\t\t},\n\t\t\tconfigResolved(config) {\n\t\t\t\tmanager.config = config;\n\t\t\t\tfor (const e of Object.values(config.environments)) e.build.outDir = path.resolve(config.root, e.build.outDir);\n\t\t\t},\n\t\t\tconfigureServer(server_) {\n\t\t\t\tmanager.server = server_;\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tname: \"rsc:vite-client-raw-import\",\n\t\t\ttransform: {\n\t\t\t\torder: \"post\",\n\t\t\t\thandler(code) {\n\t\t\t\t\tif (code.includes(\"__vite_rsc_raw_import__\")) return code.replace(\"__vite_rsc_raw_import__\", \"import\");\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t...vitePluginRscCore(),\n\t\t...vitePluginUseClient(rscPluginOptions, manager),\n\t\t...vitePluginUseServer(rscPluginOptions, manager),\n\t\t...vitePluginDefineEncryptionKey(rscPluginOptions),\n\t\t{\n\t\t\tname: \"rsc:reference-validation\",\n\t\t\tapply: \"serve\",\n\t\t\tload: { handler(id, _options) {\n\t\t\t\tif (id.startsWith(\"\\0virtual:vite-rsc/reference-validation?\")) {\n\t\t\t\t\tconst parsed = parseReferenceValidationVirtual(id);\n\t\t\t\t\tassert(parsed);\n\t\t\t\t\tif (parsed.type === \"client\") {\n\t\t\t\t\t\tif (Object.values(manager.clientReferenceMetaMap).find((meta) => meta.referenceKey === parsed.id)) return `export {}`;\n\t\t\t\t\t}\n\t\t\t\t\tif (parsed.type === \"server\") {\n\t\t\t\t\t\tif (Object.values(manager.serverReferenceMetaMap).find((meta) => meta.referenceKey === parsed.id)) return `export {}`;\n\t\t\t\t\t}\n\t\t\t\t\tthis.error(`[vite-rsc] invalid ${parsed.type} reference '${parsed.id}'`);\n\t\t\t\t}\n\t\t\t} }\n\t\t},\n\t\tscanBuildStripPlugin({ manager })\n\t];\n}\nfunction vitePluginRsc(rscPluginOptions = {}) {\n\tconst manager = new RscPluginManager();\n\tconst buildApp = async (builder) => {\n\t\tconst colors = await import(\"./picocolors-BxaHL81J.js\").then(__toDynamicImportESM());\n\t\tconst logStep = (msg) => {\n\t\t\tbuilder.config.logger.info(colors.blue(msg));\n\t\t};\n\t\tif (!builder.environments.ssr?.config.build.rollupOptions.input) {\n\t\t\tmanager.isScanBuild = true;\n\t\t\tbuilder.environments.rsc.config.build.write = false;\n\t\t\tbuilder.environments.client.config.build.write = false;\n\t\t\tlogStep(\"[1/4] analyze client references...\");\n\t\t\tawait builder.build(builder.environments.rsc);\n\t\t\tlogStep(\"[2/4] analyze server references...\");\n\t\t\tawait builder.build(builder.environments.client);\n\t\t\tmanager.isScanBuild = false;\n\t\t\tbuilder.environments.rsc.config.build.write = true;\n\t\t\tbuilder.environments.client.config.build.write = true;\n\t\t\tlogStep(\"[3/4] build rsc environment...\");\n\t\t\tawait builder.build(builder.environments.rsc);\n\t\t\tmanager.stabilize();\n\t\t\tlogStep(\"[4/4] build client environment...\");\n\t\t\tawait builder.build(builder.environments.client);\n\t\t\twriteAssetsManifest([\"rsc\"]);\n\t\t\treturn;\n\t\t}\n\t\tmanager.isScanBuild = true;\n\t\tbuilder.environments.rsc.config.build.write = false;\n\t\tbuilder.environments.ssr.config.build.write = false;\n\t\tlogStep(\"[1/5] analyze client references...\");\n\t\tawait builder.build(builder.environments.rsc);\n\t\tlogStep(\"[2/5] analyze server references...\");\n\t\tawait builder.build(builder.environments.ssr);\n\t\tmanager.isScanBuild = false;\n\t\tbuilder.environments.rsc.config.build.write = true;\n\t\tbuilder.environments.ssr.config.build.write = true;\n\t\tlogStep(\"[3/5] build rsc environment...\");\n\t\tawait builder.build(builder.environments.rsc);\n\t\tmanager.stabilize();\n\t\tlogStep(\"[4/5] build client environment...\");\n\t\tawait builder.build(builder.environments.client);\n\t\tlogStep(\"[5/5] build ssr environment...\");\n\t\tawait builder.build(builder.environments.ssr);\n\t\twriteAssetsManifest([\"ssr\", \"rsc\"]);\n\t};\n\tfunction writeAssetsManifest(environmentNames) {\n\t\tconst assetsManifestCode = `export default ${serializeValueWithRuntime(manager.buildAssetsManifest)}`;\n\t\tfor (const name of environmentNames) {\n\t\t\tconst manifestPath = path.join(manager.config.environments[name].build.outDir, BUILD_ASSETS_MANIFEST_NAME);\n\t\t\tfs.writeFileSync(manifestPath, assetsManifestCode);\n\t\t}\n\t}\n\tlet hasReactServerDomWebpack = false;\n\treturn [\n\t\t{\n\t\t\tname: \"rsc\",\n\t\t\tasync config(config, env) {\n\t\t\t\tif (config.rsc) Object.assign(rscPluginOptions, vite.mergeConfig(config.rsc, rscPluginOptions));\n\t\t\t\tconst result = await crawlFrameworkPkgs({\n\t\t\t\t\troot: process.cwd(),\n\t\t\t\t\tisBuild: env.command === \"build\",\n\t\t\t\t\tisFrameworkPkgByJson(pkgJson) {\n\t\t\t\t\t\tif ([PKG_NAME, \"react-dom\"].includes(pkgJson.name)) return;\n\t\t\t\t\t\tconst deps = pkgJson[\"peerDependencies\"];\n\t\t\t\t\t\treturn deps && \"react\" in deps;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tconst noExternal = [\n\t\t\t\t\t\"react\",\n\t\t\t\t\t\"react-dom\",\n\t\t\t\t\t\"server-only\",\n\t\t\t\t\t\"client-only\",\n\t\t\t\t\tPKG_NAME,\n\t\t\t\t\t...result.ssr.noExternal.sort()\n\t\t\t\t];\n\t\t\t\thasReactServerDomWebpack = result.ssr.noExternal.includes(\"react-server-dom-webpack\");\n\t\t\t\tconst reactServerDomPackageName = hasReactServerDomWebpack ? \"react-server-dom-webpack\" : REACT_SERVER_DOM_NAME;\n\t\t\t\treturn {\n\t\t\t\t\tappType: config.appType ?? \"custom\",\n\t\t\t\t\tdefine: { \"import.meta.env.__vite_rsc_build__\": JSON.stringify(env.command === \"build\") },\n\t\t\t\t\tenvironments: {\n\t\t\t\t\t\tclient: {\n\t\t\t\t\t\t\tbuild: {\n\t\t\t\t\t\t\t\toutDir: config.environments?.client?.build?.outDir ?? \"dist/client\",\n\t\t\t\t\t\t\t\trollupOptions: { input: rscPluginOptions.entries?.client && { index: rscPluginOptions.entries.client } }\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\toptimizeDeps: {\n\t\t\t\t\t\t\t\tinclude: [\"react-dom/client\", `${reactServerDomPackageName}/client.browser`],\n\t\t\t\t\t\t\t\texclude: [PKG_NAME]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tssr: {\n\t\t\t\t\t\t\tbuild: {\n\t\t\t\t\t\t\t\toutDir: config.environments?.ssr?.build?.outDir ?? \"dist/ssr\",\n\t\t\t\t\t\t\t\tcopyPublicDir: false,\n\t\t\t\t\t\t\t\trollupOptions: { input: rscPluginOptions.entries?.ssr && { index: rscPluginOptions.entries.ssr } }\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tresolve: { noExternal },\n\t\t\t\t\t\t\toptimizeDeps: {\n\t\t\t\t\t\t\t\tinclude: [\n\t\t\t\t\t\t\t\t\t\"react\",\n\t\t\t\t\t\t\t\t\t\"react-dom\",\n\t\t\t\t\t\t\t\t\t\"react/jsx-runtime\",\n\t\t\t\t\t\t\t\t\t\"react/jsx-dev-runtime\",\n\t\t\t\t\t\t\t\t\t\"react-dom/server.edge\",\n\t\t\t\t\t\t\t\t\t\"react-dom/static.edge\",\n\t\t\t\t\t\t\t\t\t`${reactServerDomPackageName}/client.edge`\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\texclude: [PKG_NAME]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\trsc: {\n\t\t\t\t\t\t\tbuild: {\n\t\t\t\t\t\t\t\toutDir: config.environments?.rsc?.build?.outDir ?? \"dist/rsc\",\n\t\t\t\t\t\t\t\tcopyPublicDir: false,\n\t\t\t\t\t\t\t\temitAssets: true,\n\t\t\t\t\t\t\t\trollupOptions: { input: rscPluginOptions.entries?.rsc && { index: rscPluginOptions.entries.rsc } }\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tresolve: {\n\t\t\t\t\t\t\t\tconditions: [\"react-server\", ...defaultServerConditions],\n\t\t\t\t\t\t\t\tnoExternal\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\toptimizeDeps: {\n\t\t\t\t\t\t\t\tinclude: [\n\t\t\t\t\t\t\t\t\t\"react\",\n\t\t\t\t\t\t\t\t\t\"react-dom\",\n\t\t\t\t\t\t\t\t\t\"react/jsx-runtime\",\n\t\t\t\t\t\t\t\t\t\"react/jsx-dev-runtime\",\n\t\t\t\t\t\t\t\t\t`${reactServerDomPackageName}/server.edge`,\n\t\t\t\t\t\t\t\t\t`${reactServerDomPackageName}/client.edge`\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\texclude: [PKG_NAME]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tbuilder: {\n\t\t\t\t\t\tsharedPlugins: true,\n\t\t\t\t\t\tsharedConfigBuild: true,\n\t\t\t\t\t\tasync buildApp(builder) {\n\t\t\t\t\t\t\tif (!rscPluginOptions.useBuildAppHook) await buildApp(builder);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\t\t\tconfigResolved() {\n\t\t\t\tif (Number(vite.version.split(\".\")[0]) >= 7) rscPluginOptions.useBuildAppHook ??= true;\n\t\t\t},\n\t\t\tbuildApp: { async handler(builder) {\n\t\t\t\tif (rscPluginOptions.useBuildAppHook) await buildApp(builder);\n\t\t\t} },\n\t\t\tconfigureServer(server) {\n\t\t\t\tglobalThis.__VITE_ENVIRONMENT_RUNNER_IMPORT__ = async function(environmentName, id) {\n\t\t\t\t\tconst environment$1 = server.environments[environmentName];\n\t\t\t\t\tif (!environment$1) throw new Error(`[vite-rsc] unknown environment '${environmentName}'`);\n\t\t\t\t\tif (!vite.isRunnableDevEnvironment(environment$1)) throw new Error(`[vite-rsc] environment '${environmentName}' is not runnable`);\n\t\t\t\t\treturn environment$1.runner.import(id);\n\t\t\t\t};\n\t\t\t\tconst oldSend = server.environments.client.hot.send;\n\t\t\t\tserver.environments.client.hot.send = async function(...args) {\n\t\t\t\t\tconst e = args[0];\n\t\t\t\t\tif (e && typeof e === \"object\" && e.type === \"update\") {\n\t\t\t\t\t\tfor (const update of e.updates) if (update.type === \"js-update\") {\n\t\t\t\t\t\t\tconst mod = server.environments.client.moduleGraph.urlToModuleMap.get(update.path);\n\t\t\t\t\t\t\tif (mod && mod.id && manager.clientReferenceMetaMap[mod.id]) {\n\t\t\t\t\t\t\t\tconst serverMod = server.environments.rsc.moduleGraph.getModuleById(mod.id);\n\t\t\t\t\t\t\t\tif (serverMod) server.environments.rsc.moduleGraph.invalidateModule(serverMod);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn oldSend.apply(this, args);\n\t\t\t\t};\n\t\t\t\tif (rscPluginOptions.serverHandler === false) return;\n\t\t\t\tconst options = rscPluginOptions.serverHandler ?? {\n\t\t\t\t\tenvironmentName: \"rsc\",\n\t\t\t\t\tentryName: \"index\"\n\t\t\t\t};\n\t\t\t\tconst environment = server.environments[options.environmentName];\n\t\t\t\tconst source = getEntrySource(environment.config, options.entryName);\n\t\t\t\treturn () => {\n\t\t\t\t\tserver.middlewares.use(async (req, res, next) => {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst resolved = await environment.pluginContainer.resolveId(source);\n\t\t\t\t\t\t\tassert(resolved, `[vite-rsc] failed to resolve server handler '${source}'`);\n\t\t\t\t\t\t\tconst fetchHandler = getFetchHandlerExport(await environment.runner.import(resolved.id));\n\t\t\t\t\t\t\treq.url = req.originalUrl ?? req.url;\n\t\t\t\t\t\t\tawait toNodeHandler(fetchHandler)(req, res);\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tnext(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t},\n\t\t\tasync configurePreviewServer(server) {\n\t\t\t\tif (rscPluginOptions.serverHandler === false) return;\n\t\t\t\tconst options = rscPluginOptions.serverHandler ?? {\n\t\t\t\t\tenvironmentName: \"rsc\",\n\t\t\t\t\tentryName: \"index\"\n\t\t\t\t};\n\t\t\t\tconst handler = toNodeHandler(getFetchHandlerExport(await import(pathToFileURL(path.join(manager.config.environments[options.environmentName].build.outDir, `${options.entryName}.js`)).href)));\n\t\t\t\tserver.middlewares.use((req, _res, next) => {\n\t\t\t\t\tdelete req.headers[\"accept-encoding\"];\n\t\t\t\t\tnext();\n\t\t\t\t});\n\t\t\t\treturn () => {\n\t\t\t\t\tserver.middlewares.use(async (req, res, next) => {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\treq.url = req.originalUrl ?? req.url;\n\t\t\t\t\t\t\tawait handler(req, res);\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tnext(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t},\n\t\t\tasync hotUpdate(ctx) {\n\t\t\t\tif (isCSSRequest(ctx.file)) {\n\t\t\t\t\tif (this.environment.name === \"client\") return;\n\t\t\t\t}\n\t\t\t\tif (ctx.modules.map((mod) => mod.id).filter((v) => v !== null).length === 0) return;\n\t\t\t\tif (this.environment.name === \"rsc\") {\n\t\t\t\t\tfor (const mod of ctx.modules) if (mod.type === \"js\" && mod.id && mod.id in manager.clientReferenceMetaMap) try {\n\t\t\t\t\t\tawait this.environment.transformRequest(mod.url);\n\t\t\t\t\t} catch {}\n\t\t\t\t}\n\t\t\t\tfunction isInsideClientBoundary(mods) {\n\t\t\t\t\tconst visited = /* @__PURE__ */ new Set();\n\t\t\t\t\tfunction recurse(mod) {\n\t\t\t\t\t\tif (!mod.id) return false;\n\t\t\t\t\t\tif (manager.clientReferenceMetaMap[mod.id]) return true;\n\t\t\t\t\t\tif (visited.has(mod.id)) return false;\n\t\t\t\t\t\tvisited.add(mod.id);\n\t\t\t\t\t\tfor (const importer of mod.importers) if (recurse(importer)) return true;\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\treturn mods.some((mod) => recurse(mod));\n\t\t\t\t}\n\t\t\t\tif (!isInsideClientBoundary(ctx.modules)) {\n\t\t\t\t\tif (this.environment.name === \"rsc\") {\n\t\t\t\t\t\tif (ctx.modules.length === 1) {\n\t\t\t\t\t\t\tconst importers = [...ctx.modules[0].importers];\n\t\t\t\t\t\t\tif (importers.length > 0 && importers.every((m) => m.id && isCSSRequest(m.id))) return [];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor (const mod of ctx.modules) if (mod.type === \"js\") try {\n\t\t\t\t\t\t\tawait this.environment.transformRequest(mod.url);\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tmanager.server.environments.client.hot.send({\n\t\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\t\terr: prepareError(e)\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tthrow e;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tctx.server.environments.client.hot.send({\n\t\t\t\t\t\t\ttype: \"custom\",\n\t\t\t\t\t\t\tevent: \"rsc:update\",\n\t\t\t\t\t\t\tdata: { file: ctx.file }\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tif (this.environment.name === \"client\") {\n\t\t\t\t\t\tif (ctx.server.environments.rsc.moduleGraph.getModuleById(ctx.file)) {\n\t\t\t\t\t\t\tfor (const clientMod of ctx.modules) for (const importer of clientMod.importers) if (importer.id && isCSSRequest(importer.id)) await this.environment.reloadModule(importer);\n\t\t\t\t\t\t\treturn [];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tname: \"rsc:react-server-dom-webpack-alias\",\n\t\t\tresolveId: {\n\t\t\t\torder: \"pre\",\n\t\t\t\tasync handler(source, importer, options) {\n\t\t\t\t\tif (hasReactServerDomWebpack && source.startsWith(`${PKG_NAME}/vendor/react-server-dom/`)) {\n\t\t\t\t\t\tconst newSource = source.replace(`${PKG_NAME}/vendor/react-server-dom`, \"react-server-dom-webpack\");\n\t\t\t\t\t\treturn await this.resolve(newSource, importer, {\n\t\t\t\t\t\t\t...options,\n\t\t\t\t\t\t\tskipSelf: true\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tname: \"rsc:load-environment-module\",\n\t\t\tasync transform(code) {\n\t\t\t\tif (!code.includes(\"import.meta.viteRsc.loadModule\")) return;\n\t\t\t\tconst { server } = manager;\n\t\t\t\tconst s = new MagicString(code);\n\t\t\t\tfor (const match of stripLiteral(code).matchAll(/import\\.meta\\.viteRsc\\.loadModule\\(([\\s\\S]*?)\\)/dg)) {\n\t\t\t\t\tconst [argStart, argEnd] = match.indices[1];\n\t\t\t\t\tconst [environmentName, entryName] = evalValue(`[${code.slice(argStart, argEnd).trim()}]`);\n\t\t\t\t\tlet replacement;\n\t\t\t\t\tif (this.environment.mode === \"dev\" && rscPluginOptions.loadModuleDevProxy) replacement = `import(\"virtual:vite-rsc/rpc-client\").then((module) => module.createRpcClient(${JSON.stringify({\n\t\t\t\t\t\tenvironmentName,\n\t\t\t\t\t\tentryName\n\t\t\t\t\t})}))`;\n\t\t\t\t\telse if (this.environment.mode === \"dev\") {\n\t\t\t\t\t\tconst environment = server.environments[environmentName];\n\t\t\t\t\t\tconst source = getEntrySource(environment.config, entryName);\n\t\t\t\t\t\tconst resolved = await environment.pluginContainer.resolveId(source);\n\t\t\t\t\t\tassert(resolved, `[vite-rsc] failed to resolve entry '${source}'`);\n\t\t\t\t\t\treplacement = `globalThis.__VITE_ENVIRONMENT_RUNNER_IMPORT__(${JSON.stringify(environmentName)}, ${JSON.stringify(resolved.id)})`;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst environment = manager.config.environments[environmentName];\n\t\t\t\t\t\tconst targetName = entryName || getFallbackRollupEntry(environment.build.rollupOptions.input).name;\n\t\t\t\t\t\treplacement = JSON.stringify(`__vite_rsc_load_module_start__:` + JSON.stringify({\n\t\t\t\t\t\t\tfromEnv: this.environment.name,\n\t\t\t\t\t\t\ttoEnv: environmentName,\n\t\t\t\t\t\t\ttargetFileName: `${targetName}.js`\n\t\t\t\t\t\t}) + `:__vite_rsc_load_module_end__`);\n\t\t\t\t\t}\n\t\t\t\t\tconst [start, end] = match.indices[0];\n\t\t\t\t\ts.overwrite(start, end, replacement);\n\t\t\t\t}\n\t\t\t\tif (s.hasChanged()) return {\n\t\t\t\t\tcode: s.toString(),\n\t\t\t\t\tmap: s.generateMap({ hires: \"boundary\" })\n\t\t\t\t};\n\t\t\t},\n\t\t\trenderChunk(code, chunk) {\n\t\t\t\tif (!code.includes(\"__vite_rsc_load_module\")) return;\n\t\t\t\tconst { config } = manager;\n\t\t\t\tconst s = new MagicString(code);\n\t\t\t\tfor (const match of code.matchAll(/[`'\"]__vite_rsc_load_module_start__:([\\s\\S]*?):__vite_rsc_load_module_end__[`'\"]/dg)) {\n\t\t\t\t\tconst markerString = evalValue(match[0]);\n\t\t\t\t\tconst { fromEnv, toEnv, targetFileName } = JSON.parse(markerString.slice(31, -29));\n\t\t\t\t\tconst importPath = normalizeRelativePath(path.relative(path.join(config.environments[fromEnv].build.outDir, chunk.fileName, \"..\"), path.join(config.environments[toEnv].build.outDir, targetFileName)));\n\t\t\t\t\tconst replacement = `(import(${JSON.stringify(importPath)}))`;\n\t\t\t\t\tconst [start, end] = match.indices[0];\n\t\t\t\t\ts.overwrite(start, end, replacement);\n\t\t\t\t}\n\t\t\t\tif (s.hasChanged()) return {\n\t\t\t\t\tcode: s.toString(),\n\t\t\t\t\tmap: s.generateMap({ hires: \"boundary\" })\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tname: \"vite-rsc-load-module-dev-proxy\",\n\t\t\tconfigureServer(server) {\n\t\t\t\tif (!rscPluginOptions.loadModuleDevProxy) return;\n\t\t\t\tasync function createHandler(url) {\n\t\t\t\t\tconst { environmentName, entryName } = Object.fromEntries(url.searchParams);\n\t\t\t\t\tassert(environmentName);\n\t\t\t\t\tconst environment = server.environments[environmentName];\n\t\t\t\t\tconst source = getEntrySource(environment.config, entryName);\n\t\t\t\t\tconst resolvedEntry = await environment.pluginContainer.resolveId(source);\n\t\t\t\t\tassert(resolvedEntry, `[vite-rsc] failed to resolve entry '${source}'`);\n\t\t\t\t\treturn createRpcServer(new Proxy({}, { get(_target, p, _receiver) {\n\t\t\t\t\t\tif (typeof p !== \"string\" || p === \"then\") return;\n\t\t\t\t\t\treturn async (...args) => {\n\t\t\t\t\t\t\treturn (await environment.runner.import(resolvedEntry.id))[p](...args);\n\t\t\t\t\t\t};\n\t\t\t\t\t} }));\n\t\t\t\t}\n\t\t\t\tserver.middlewares.use(async (req, res, next) => {\n\t\t\t\t\tconst url = new URL(req.url ?? \"/\", `http://localhost`);\n\t\t\t\t\tif (url.pathname === \"/__vite_rsc_load_module_dev_proxy\") {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tawait toNodeHandler(await createHandler(url))(req, res);\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tnext(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tnext();\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tname: \"rsc:virtual:vite-rsc/rpc-client\",\n\t\t\tresolveId(source) {\n\t\t\t\tif (source === \"virtual:vite-rsc/rpc-client\") return `\\0${source}`;\n\t\t\t},\n\t\t\tload(id) {\n\t\t\t\tif (id === \"\\0virtual:vite-rsc/rpc-client\") {\n\t\t\t\t\tconst { server } = manager;\n\t\t\t\t\tconst origin = server.resolvedUrls?.local[0];\n\t\t\t\t\tassert(origin, \"[vite-rsc] no server for loadModuleDevProxy\");\n\t\t\t\t\treturn `\\\nimport * as __vite_rsc_rpc from \"@vitejs/plugin-rsc/utils/rpc\";\nexport function createRpcClient(params) {\n const endpoint =\n \"${origin}\" +\n \"__vite_rsc_load_module_dev_proxy?\" +\n new URLSearchParams(params);\n return __vite_rsc_rpc.createRpcClient({ endpoint });\n}\n `;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tname: \"rsc:virtual:vite-rsc/assets-manifest\",\n\t\t\tresolveId(source) {\n\t\t\t\tif (source === \"virtual:vite-rsc/assets-manifest\") {\n\t\t\t\t\tif (this.environment.mode === \"build\") return {\n\t\t\t\t\t\tid: source,\n\t\t\t\t\t\texternal: true\n\t\t\t\t\t};\n\t\t\t\t\treturn `\\0` + source;\n\t\t\t\t}\n\t\t\t},\n\t\t\tload(id) {\n\t\t\t\tif (id === \"\\0virtual:vite-rsc/assets-manifest\") {\n\t\t\t\t\tassert(this.environment.name !== \"client\");\n\t\t\t\t\tassert(this.environment.mode === \"dev\");\n\t\t\t\t\tconst manifest = {\n\t\t\t\t\t\tbootstrapScriptContent: `import(${serializeValueWithRuntime(assetsURL(\"@id/__x00__\" + VIRTUAL_ENTRIES.browser, manager))})`,\n\t\t\t\t\t\tclientReferenceDeps: {}\n\t\t\t\t\t};\n\t\t\t\t\treturn `export default ${JSON.stringify(manifest, null, 2)}`;\n\t\t\t\t}\n\t\t\t},\n\t\t\tgenerateBundle(_options, bundle) {\n\t\t\t\tif (this.environment.name === \"rsc\") manager.rscBundle = bundle;\n\t\t\t\tif (this.environment.name === \"client\") {\n\t\t\t\t\tconst filterAssets = rscPluginOptions.copyServerAssetsToClient ?? (() => true);\n\t\t\t\t\tconst rscBuildOptions = manager.config.environments.rsc.build;\n\t\t\t\t\tconst rscViteManifest = typeof rscBuildOptions.manifest === \"string\" ? rscBuildOptions.manifest : rscBuildOptions.manifest && \".vite/manifest.json\";\n\t\t\t\t\tfor (const asset of Object.values(manager.rscBundle)) {\n\t\t\t\t\t\tif (asset.fileName === rscViteManifest) continue;\n\t\t\t\t\t\tif (asset.type === \"asset\" && filterAssets(asset.fileName)) this.emitFile({\n\t\t\t\t\t\t\ttype: \"asset\",\n\t\t\t\t\t\t\tfileName: asset.fileName,\n\t\t\t\t\t\t\tsource: asset.source\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tconst serverResources = {};\n\t\t\t\t\tconst rscAssetDeps = collectAssetDeps(manager.rscBundle);\n\t\t\t\t\tfor (const [id, meta] of Object.entries(manager.serverResourcesMetaMap)) serverResources[meta.key] = assetsURLOfDeps({\n\t\t\t\t\t\tjs: [],\n\t\t\t\t\t\tcss: rscAssetDeps[id]?.deps.css ?? []\n\t\t\t\t\t}, manager);\n\t\t\t\t\tconst assetDeps = collectAssetDeps(bundle);\n\t\t\t\t\tconst entry = Object.values(assetDeps).find((v) => v.chunk.name === \"index\");\n\t\t\t\t\tassert(entry);\n\t\t\t\t\tconst entryUrl = assetsURL(entry.chunk.fileName, manager);\n\t\t\t\t\tconst clientReferenceDeps = {};\n\t\t\t\t\tfor (const meta of Object.values(manager.clientReferenceMetaMap)) {\n\t\t\t\t\t\tconst deps = assetDeps[meta.groupChunkId]?.deps ?? {\n\t\t\t\t\t\t\tjs: [],\n\t\t\t\t\t\t\tcss: []\n\t\t\t\t\t\t};\n\t\t\t\t\t\tclientReferenceDeps[meta.referenceKey] = assetsURLOfDeps(mergeAssetDeps(deps, entry.deps), manager);\n\t\t\t\t\t}\n\t\t\t\t\tlet bootstrapScriptContent;\n\t\t\t\t\tif (typeof entryUrl === \"string\") bootstrapScriptContent = `import(${JSON.stringify(entryUrl)})`;\n\t\t\t\t\telse bootstrapScriptContent = new RuntimeAsset(`\"import(\" + JSON.stringify(${entryUrl.runtime}) + \")\"`);\n\t\t\t\t\tmanager.buildAssetsManifest = {\n\t\t\t\t\t\tbootstrapScriptContent,\n\t\t\t\t\t\tclientReferenceDeps,\n\t\t\t\t\t\tserverResources\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t},\n\t\t\trenderChunk(code, chunk) {\n\t\t\t\tif (code.includes(\"virtual:vite-rsc/assets-manifest\")) {\n\t\t\t\t\tassert(this.environment.name !== \"client\");\n\t\t\t\t\tconst replacement = normalizeRelativePath(path.relative(path.join(chunk.fileName, \"..\"), BUILD_ASSETS_MANIFEST_NAME));\n\t\t\t\t\tcode = code.replaceAll(\"virtual:vite-rsc/assets-manifest\", () => replacement);\n\t\t\t\t\treturn { code };\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcreateVirtualPlugin(\"vite-rsc/bootstrap-script-content\", function() {\n\t\t\tassert(this.environment.name !== \"client\");\n\t\t\treturn `\\\nimport assetsManifest from \"virtual:vite-rsc/assets-manifest\";\nexport default assetsManifest.bootstrapScriptContent;\n`;\n\t\t}),\n\t\t{\n\t\t\tname: \"rsc:bootstrap-script-content\",\n\t\t\tasync transform(code) {\n\t\t\t\tif (!code.includes(\"loadBootstrapScriptContent\") || !/import\\s*\\.\\s*meta\\s*\\.\\s*viteRsc\\s*\\.\\s*loadBootstrapScriptContent/.test(code)) return;\n\t\t\t\tassert(this.environment.name !== \"client\");\n\t\t\t\tconst output = new MagicString(code);\n\t\t\t\tfor (const match of stripLiteral(code).matchAll(/import\\s*\\.\\s*meta\\s*\\.\\s*viteRsc\\s*\\.\\s*loadBootstrapScriptContent\\(([\\s\\S]*?)\\)/dg)) {\n\t\t\t\t\tconst [argStart, argEnd] = match.indices[1];\n\t\t\t\t\tconst argCode = code.slice(argStart, argEnd).trim();\n\t\t\t\t\tassert(evalValue(argCode), `[vite-rsc] expected 'loadBootstrapScriptContent(\"index\")' but got ${argCode}`);\n\t\t\t\t\tlet replacement = `Promise.resolve(__vite_rsc_assets_manifest.bootstrapScriptContent)`;\n\t\t\t\t\tconst [start, end] = match.indices[0];\n\t\t\t\t\toutput.overwrite(start, end, replacement);\n\t\t\t\t}\n\t\t\t\tif (output.hasChanged()) {\n\t\t\t\t\tif (!code.includes(\"__vite_rsc_assets_manifest\")) output.prepend(`import __vite_rsc_assets_manifest from \"virtual:vite-rsc/assets-manifest\";`);\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcode: output.toString(),\n\t\t\t\t\t\tmap: output.generateMap({ hires: \"boundary\" })\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcreateVirtualPlugin(VIRTUAL_ENTRIES.browser.slice(8), async function() {\n\t\t\tassert(this.environment.mode === \"dev\");\n\t\t\tlet code = \"\";\n\t\t\tif (await this.resolve(\"/@react-refresh\")) code += `\nimport RefreshRuntime from \"/@react-refresh\";\nRefreshRuntime.injectIntoGlobalHook(window);\nwindow.$RefreshReg$ = () => {};\nwindow.$RefreshSig$ = () => (type) => type;\nwindow.__vite_plugin_react_preamble_installed__ = true;\n`;\n\t\t\tconst source = getEntrySource(this.environment.config, \"index\");\n\t\t\tconst resolvedEntry = await this.resolve(source);\n\t\t\tassert(resolvedEntry, `[vite-rsc] failed to resolve entry '${source}'`);\n\t\t\tcode += `await import(${JSON.stringify(resolvedEntry.id)});`;\n\t\t\tcode += `\nconst ssrCss = document.querySelectorAll(\"link[rel='stylesheet']\");\nimport.meta.hot.on(\"vite:beforeUpdate\", () => {\n ssrCss.forEach(node => {\n if (node.dataset.precedence?.startsWith(\"vite-rsc/client-references\")) {\n node.remove();\n }\n });\n});\n`;\n\t\t\tcode += `\nimport.meta.hot.on(\"rsc:update\", () => {\n document.querySelectorAll(\"vite-error-overlay\").forEach((n) => n.close())\n});\n`;\n\t\t\tcode += `import.meta.hot.on(\"rsc:prune\", ${(e) => {\n\t\t\t\tdocument.querySelectorAll(\"link[rel='stylesheet']\").forEach((node) => {\n\t\t\t\t\tif (e.paths.includes(node.dataset.rscCssHref)) node.remove();\n\t\t\t\t});\n\t\t\t}});`;\n\t\t\treturn code;\n\t\t}),\n\t\t...vitePluginRscMinimal(rscPluginOptions, manager),\n\t\t...vitePluginFindSourceMapURL(),\n\t\t...vitePluginRscCss(rscPluginOptions, manager),\n\t\t{\n\t\t\t...validateImportPlugin(),\n\t\t\tapply: () => rscPluginOptions.validateImports !== false\n\t\t},\n\t\tscanBuildStripPlugin({ manager }),\n\t\t...cjsModuleRunnerPlugin(),\n\t\t...globalAsyncLocalStoragePlugin()\n\t];\n}\nfunction globalAsyncLocalStoragePlugin() {\n\treturn [{\n\t\tname: \"rsc:inject-async-local-storage\",\n\t\ttransform: { handler(code) {\n\t\t\tif ((this.environment.name === \"ssr\" || this.environment.name === \"rsc\") && code.includes(\"typeof AsyncLocalStorage\") && code.includes(\"new AsyncLocalStorage()\") && !code.includes(\"__viteRscAsyncHooks\")) return (this.environment.mode === \"build\" && !isRolldownVite ? `const __viteRscAsyncHooks = require(\"node:async_hooks\");` : `import * as __viteRscAsyncHooks from \"node:async_hooks\";`) + `globalThis.AsyncLocalStorage = __viteRscAsyncHooks.AsyncLocalStorage;` + code;\n\t\t} }\n\t}];\n}\nfunction vitePluginUseClient(useClientPluginOptions, manager) {\n\tconst packageSources = /* @__PURE__ */ new Map();\n\tconst bareImportRE = /^(?![a-zA-Z]:)[\\w@](?!.*:\\/\\/)/;\n\tconst serverEnvironmentName = useClientPluginOptions.environment?.rsc ?? \"rsc\";\n\tconst browserEnvironmentName = useClientPluginOptions.environment?.browser ?? \"client\";\n\tlet optimizerMetadata;\n\tfunction warnInoncistentClientOptimization(ctx, id) {\n\t\tid = normalizePath(path.relative(process.cwd(), id));\n\t\tif (optimizerMetadata?.ids.includes(id)) ctx.warn(\"client component dependency is inconsistently optimized. It's recommended to add the dependency to 'optimizeDeps.exclude'.\");\n\t}\n\tconst debug = createDebug(\"vite-rsc:use-client\");\n\treturn [\n\t\t{\n\t\t\tname: \"rsc:use-client\",\n\t\t\tasync transform(code, id) {\n\t\t\t\tif (this.environment.name !== serverEnvironmentName) return;\n\t\t\t\tif (!code.includes(\"use client\")) {\n\t\t\t\t\tdelete manager.clientReferenceMetaMap[id];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst ast = await parseAstAsync(code);\n\t\t\t\tif (!hasDirective(ast.body, \"use client\")) {\n\t\t\t\t\tdelete manager.clientReferenceMetaMap[id];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (code.includes(\"use server\")) {\n\t\t\t\t\tconst directives = findDirectives(ast, \"use server\");\n\t\t\t\t\tif (directives.length > 0) this.error(`'use server' directive is not allowed inside 'use client'`, directives[0]?.start);\n\t\t\t\t}\n\t\t\t\tlet importId;\n\t\t\t\tlet referenceKey;\n\t\t\t\tconst packageSource = packageSources.get(id);\n\t\t\t\tif (!packageSource && this.environment.mode === \"dev\" && id.includes(\"/node_modules/\")) {\n\t\t\t\t\tdebug(`internal client reference created through a package imported in '${this.environment.name}' environment: ${id}`);\n\t\t\t\t\tid = cleanUrl(id);\n\t\t\t\t\twarnInoncistentClientOptimization(this, id);\n\t\t\t\t\timportId = `/@id/__x00__virtual:vite-rsc/client-in-server-package-proxy/${encodeURIComponent(id)}`;\n\t\t\t\t\treferenceKey = importId;\n\t\t\t\t} else if (packageSource) if (this.environment.mode === \"dev\") {\n\t\t\t\t\timportId = `/@id/__x00__virtual:vite-rsc/client-package-proxy/${packageSource}`;\n\t\t\t\t\treferenceKey = importId;\n\t\t\t\t} else {\n\t\t\t\t\timportId = packageSource;\n\t\t\t\t\treferenceKey = hashString(packageSource);\n\t\t\t\t}\n\t\t\t\telse if (this.environment.mode === \"dev\") {\n\t\t\t\t\timportId = normalizeViteImportAnalysisUrl(manager.server.environments[browserEnvironmentName], id);\n\t\t\t\t\treferenceKey = importId;\n\t\t\t\t} else {\n\t\t\t\t\timportId = id;\n\t\t\t\t\treferenceKey = hashString(manager.toRelativeId(id));\n\t\t\t\t}\n\t\t\t\tconst result = withRollupError(this, transformDirectiveProxyExport)(ast, {\n\t\t\t\t\tdirective: \"use client\",\n\t\t\t\t\tcode,\n\t\t\t\t\tkeep: !!useClientPluginOptions.keepUseCientProxy,\n\t\t\t\t\truntime: (name, meta) => {\n\t\t\t\t\t\tlet proxyValue = `() => { throw new Error(\"Unexpectedly client reference export '\" + ` + JSON.stringify(name) + ` + \"' is called on server\") }`;\n\t\t\t\t\t\tif (meta?.value) proxyValue = `(${meta.value})`;\n\t\t\t\t\t\treturn `$$ReactServer.registerClientReference( ${proxyValue}, ${JSON.stringify(referenceKey)}, ${JSON.stringify(name)})`;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif (!result) return;\n\t\t\t\tconst { output, exportNames } = result;\n\t\t\t\tmanager.clientReferenceMetaMap[id] = {\n\t\t\t\t\timportId,\n\t\t\t\t\treferenceKey,\n\t\t\t\t\tpackageSource,\n\t\t\t\t\texportNames,\n\t\t\t\t\trenderedExports: []\n\t\t\t\t};\n\t\t\t\tconst importSource = resolvePackage(`${PKG_NAME}/react/rsc`);\n\t\t\t\toutput.prepend(`import * as $$ReactServer from \"${importSource}\";\\n`);\n\t\t\t\treturn {\n\t\t\t\t\tcode: output.toString(),\n\t\t\t\t\tmap: { mappings: \"\" }\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tname: \"rsc:use-client/build-references\",\n\t\t\tresolveId(source) {\n\t\t\t\tif (source.startsWith(\"virtual:vite-rsc/client-references\")) return \"\\0\" + source;\n\t\t\t},\n\t\t\tload(id) {\n\t\t\t\tif (id === \"\\0virtual:vite-rsc/client-references\") {\n\t\t\t\t\tif (this.environment.mode === \"dev\") return {\n\t\t\t\t\t\tcode: `export default {}`,\n\t\t\t\t\t\tmap: null\n\t\t\t\t\t};\n\t\t\t\t\tif (manager.isScanBuild) {\n\t\t\t\t\t\tlet code$1 = ``;\n\t\t\t\t\t\tfor (const meta of Object.values(manager.clientReferenceMetaMap)) code$1 += `import ${JSON.stringify(meta.importId)};\\n`;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tcode: code$1,\n\t\t\t\t\t\t\tmap: null\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\tlet code = \"\";\n\t\t\t\t\tmanager.clientReferenceGroups = {};\n\t\t\t\t\tfor (const meta of Object.values(manager.clientReferenceMetaMap)) {\n\t\t\t\t\t\tif (!meta.serverChunk) continue;\n\t\t\t\t\t\tlet name = useClientPluginOptions.clientChunks?.({\n\t\t\t\t\t\t\tid: meta.importId,\n\t\t\t\t\t\t\tnormalizedId: manager.toRelativeId(meta.importId),\n\t\t\t\t\t\t\tserverChunk: meta.serverChunk\n\t\t\t\t\t\t}) ?? meta.serverChunk;\n\t\t\t\t\t\tname = cleanUrl(name.replaceAll(\"..\", \"__\"));\n\t\t\t\t\t\t(manager.clientReferenceGroups[name] ??= []).push(meta);\n\t\t\t\t\t\tmeta.groupChunkId = `\\0virtual:vite-rsc/client-references/group/${name}`;\n\t\t\t\t\t}\n\t\t\t\t\tdebug(\"client-reference-groups\", manager.clientReferenceGroups);\n\t\t\t\t\tfor (const [name, metas] of Object.entries(manager.clientReferenceGroups)) {\n\t\t\t\t\t\tconst groupVirtual = `virtual:vite-rsc/client-references/group/${name}`;\n\t\t\t\t\t\tfor (const meta of metas) code += `\\\n ${JSON.stringify(meta.referenceKey)}: async () => {\n const m = await import(${JSON.stringify(groupVirtual)});\n return m.export_${meta.referenceKey};\n },\n `;\n\t\t\t\t\t}\n\t\t\t\t\tcode = `export default {${code}};\\n`;\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcode,\n\t\t\t\t\t\tmap: null\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif (id.startsWith(\"\\0virtual:vite-rsc/client-references/group/\")) {\n\t\t\t\t\tconst name = id.slice(42);\n\t\t\t\t\tconst metas = manager.clientReferenceGroups[name];\n\t\t\t\t\tassert(metas, `unknown client reference group: ${name}`);\n\t\t\t\t\tlet code = ``;\n\t\t\t\t\tfor (const meta of metas) {\n\t\t\t\t\t\tconst exports = meta.renderedExports.map((name$1) => `${name$1}: import_${meta.referenceKey}.${name$1},\\n`).sort().join(\"\");\n\t\t\t\t\t\tcode += `\n import * as import_${meta.referenceKey} from ${JSON.stringify(meta.importId)};\n export const export_${meta.referenceKey} = {${exports}};\n `;\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcode,\n\t\t\t\t\t\tmap: null\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tname: \"rsc:virtual-client-in-server-package\",\n\t\t\tasync load(id) {\n\t\t\t\tif (id.startsWith(\"\\0virtual:vite-rsc/client-in-server-package-proxy/\")) {\n\t\t\t\t\tassert.equal(this.environment.mode, \"dev\");\n\t\t\t\t\tassert(this.environment.name !== serverEnvironmentName);\n\t\t\t\t\tid = decodeURIComponent(id.slice(49));\n\t\t\t\t\treturn `\n export * from ${JSON.stringify(id)};\n import * as __all__ from ${JSON.stringify(id)};\n export default __all__.default;\n `;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tname: \"rsc:virtual-client-package\",\n\t\t\tresolveId: {\n\t\t\t\torder: \"pre\",\n\t\t\t\tasync handler(source, importer, options) {\n\t\t\t\t\tif (this.environment.name === serverEnvironmentName && bareImportRE.test(source) && !(source === \"client-only\" || source === \"server-only\")) {\n\t\t\t\t\t\tconst resolved = await this.resolve(source, importer, options);\n\t\t\t\t\t\tif (resolved && resolved.id.includes(\"/node_modules/\")) {\n\t\t\t\t\t\t\tpackageSources.set(resolved.id, source);\n\t\t\t\t\t\t\treturn resolved;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tasync load(id) {\n\t\t\t\tif (id.startsWith(\"\\0virtual:vite-rsc/client-package-proxy/\")) {\n\t\t\t\t\tassert(this.environment.mode === \"dev\");\n\t\t\t\t\tconst source = id.slice(39);\n\t\t\t\t\treturn `export {${Object.values(manager.clientReferenceMetaMap).find((v) => v.packageSource === source).exportNames.join(\",\")}} from ${JSON.stringify(source)};\\n`;\n\t\t\t\t}\n\t\t\t},\n\t\t\tgenerateBundle(_options, bundle) {\n\t\t\t\tif (manager.isScanBuild) return;\n\t\t\t\tif (this.environment.name !== serverEnvironmentName) return;\n\t\t\t\tfor (const chunk of Object.values(bundle)) if (chunk.type === \"chunk\") {\n\t\t\t\t\tconst metas = [];\n\t\t\t\t\tfor (const id of chunk.moduleIds) {\n\t\t\t\t\t\tconst meta = manager.clientReferenceMetaMap[id];\n\t\t\t\t\t\tif (meta) metas.push([id, meta]);\n\t\t\t\t\t}\n\t\t\t\t\tif (metas.length > 0) {\n\t\t\t\t\t\tlet serverChunk;\n\t\t\t\t\t\tif (chunk.facadeModuleId) serverChunk = \"facade:\" + manager.toRelativeId(chunk.facadeModuleId);\n\t\t\t\t\t\telse serverChunk = \"shared:\" + manager.toRelativeId(metas.map(([id]) => id).sort()[0]);\n\t\t\t\t\t\tfor (const [id, meta] of metas) {\n\t\t\t\t\t\t\tconst mod = chunk.modules[id];\n\t\t\t\t\t\t\tassert(mod);\n\t\t\t\t\t\t\tmeta.renderedExports = mod.renderedExports;\n\t\t\t\t\t\t\tmeta.serverChunk = serverChunk;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t...customOptimizerMetadataPlugin({ setMetadata: (metadata) => {\n\t\t\toptimizerMetadata = metadata;\n\t\t} })\n\t];\n}\nfunction customOptimizerMetadataPlugin({ setMetadata }) {\n\tconst MEATADATA_FILE = \"_metadata-rsc.json\";\n\tfunction optimizerPluginEsbuild() {\n\t\treturn {\n\t\t\tname: \"vite-rsc-metafile\",\n\t\t\tsetup(build) {\n\t\t\t\tbuild.onEnd((result) => {\n\t\t\t\t\tif (!result.metafile?.inputs || !build.initialOptions.outdir) return;\n\t\t\t\t\tconst metadata = { ids: Object.keys(result.metafile.inputs) };\n\t\t\t\t\tsetMetadata(metadata);\n\t\t\t\t\tfs.writeFileSync(path.join(build.initialOptions.outdir, MEATADATA_FILE), JSON.stringify(metadata, null, 2));\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t}\n\tfunction optimizerPluginRolldown() {\n\t\treturn {\n\t\t\tname: \"vite-rsc-metafile\",\n\t\t\twriteBundle(options) {\n\t\t\t\tassert(options.dir);\n\t\t\t\tconst metadata = { ids: [...this.getModuleIds()].map((id) => path.relative(process.cwd(), id)) };\n\t\t\t\tsetMetadata(metadata);\n\t\t\t\tfs.writeFileSync(path.join(options.dir, MEATADATA_FILE), JSON.stringify(metadata, null, 2));\n\t\t\t}\n\t\t};\n\t}\n\treturn [{\n\t\tname: \"rsc:use-client:optimizer-metadata\",\n\t\tapply: \"serve\",\n\t\tconfig() {\n\t\t\treturn { environments: { client: { optimizeDeps: \"rolldownVersion\" in vite ? { rolldownOptions: { plugins: [optimizerPluginRolldown()] } } : { esbuildOptions: { plugins: [optimizerPluginEsbuild()] } } } } };\n\t\t},\n\t\tconfigResolved(config) {\n\t\t\tconst file = path.join(config.cacheDir, \"deps\", MEATADATA_FILE);\n\t\t\tif (fs.existsSync(file)) try {\n\t\t\t\tsetMetadata(JSON.parse(fs.readFileSync(file, \"utf-8\")));\n\t\t\t} catch (e) {\n\t\t\t\tthis.warn(`failed to load '${file}'`);\n\t\t\t}\n\t\t}\n\t}];\n}\nfunction vitePluginDefineEncryptionKey(useServerPluginOptions) {\n\tlet defineEncryptionKey;\n\tlet emitEncryptionKey = false;\n\tconst KEY_PLACEHOLDER = \"__vite_rsc_define_encryption_key\";\n\tconst KEY_FILE = \"__vite_rsc_encryption_key.js\";\n\tconst serverEnvironmentName = useServerPluginOptions.environment?.rsc ?? \"rsc\";\n\treturn [{\n\t\tname: \"rsc:encryption-key\",\n\t\tasync configEnvironment(name, _config, env) {\n\t\t\tif (name === serverEnvironmentName && !env.isPreview) defineEncryptionKey = useServerPluginOptions.defineEncryptionKey ?? JSON.stringify(toBase64(await generateEncryptionKey()));\n\t\t},\n\t\tresolveId(source) {\n\t\t\tif (source === \"virtual:vite-rsc/encryption-key\") return {\n\t\t\t\tid: \"\\0\" + source,\n\t\t\t\tmoduleSideEffects: false\n\t\t\t};\n\t\t},\n\t\tload(id) {\n\t\t\tif (id === \"\\0virtual:vite-rsc/encryption-key\") {\n\t\t\t\tif (this.environment.mode === \"build\") return `export default () => ${KEY_PLACEHOLDER}`;\n\t\t\t\treturn `export default () => (${defineEncryptionKey})`;\n\t\t\t}\n\t\t},\n\t\trenderChunk(code, chunk) {\n\t\t\tif (code.includes(KEY_PLACEHOLDER)) {\n\t\t\t\tassert.equal(this.environment.name, serverEnvironmentName);\n\t\t\t\temitEncryptionKey = true;\n\t\t\t\tconst normalizedPath = normalizeRelativePath(path.relative(path.join(chunk.fileName, \"..\"), KEY_FILE));\n\t\t\t\tconst replacement = `import(${JSON.stringify(normalizedPath)}).then(__m => __m.default)`;\n\t\t\t\tcode = code.replaceAll(KEY_PLACEHOLDER, () => replacement);\n\t\t\t\treturn { code };\n\t\t\t}\n\t\t},\n\t\twriteBundle() {\n\t\t\tif (this.environment.name === serverEnvironmentName && emitEncryptionKey) fs.writeFileSync(path.join(this.environment.config.build.outDir, KEY_FILE), `export default ${defineEncryptionKey};\\n`);\n\t\t}\n\t}];\n}\nfunction vitePluginUseServer(useServerPluginOptions, manager) {\n\tconst serverEnvironmentName = useServerPluginOptions.environment?.rsc ?? \"rsc\";\n\tconst browserEnvironmentName = useServerPluginOptions.environment?.browser ?? \"client\";\n\tconst debug = createDebug(\"vite-rsc:use-server\");\n\treturn [{\n\t\tname: \"rsc:use-server\",\n\t\tasync transform(code, id) {\n\t\t\tif (!code.includes(\"use server\")) {\n\t\t\t\tdelete manager.serverReferenceMetaMap[id];\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst ast = await parseAstAsync(code);\n\t\t\tlet normalizedId_;\n\t\t\tconst getNormalizedId = () => {\n\t\t\t\tif (!normalizedId_) {\n\t\t\t\t\tif (this.environment.mode === \"dev\" && id.includes(\"/node_modules/\")) {\n\t\t\t\t\t\tdebug(`internal server reference created through a package imported in ${this.environment.name} environment: ${id}`);\n\t\t\t\t\t\tid = cleanUrl(id);\n\t\t\t\t\t}\n\t\t\t\t\tif (manager.config.command === \"build\") normalizedId_ = hashString(manager.toRelativeId(id));\n\t\t\t\t\telse normalizedId_ = normalizeViteImportAnalysisUrl(manager.server.environments[serverEnvironmentName], id);\n\t\t\t\t}\n\t\t\t\treturn normalizedId_;\n\t\t\t};\n\t\t\tif (this.environment.name === serverEnvironmentName) {\n\t\t\t\tconst transformServerActionServer_ = withRollupError(this, transformServerActionServer);\n\t\t\t\tconst enableEncryption = useServerPluginOptions.enableActionEncryption ?? true;\n\t\t\t\tconst result = transformServerActionServer_(code, ast, {\n\t\t\t\t\truntime: (value, name) => `$$ReactServer.registerServerReference(${value}, ${JSON.stringify(getNormalizedId())}, ${JSON.stringify(name)})`,\n\t\t\t\t\trejectNonAsyncFunction: true,\n\t\t\t\t\tencode: enableEncryption ? (value) => `__vite_rsc_encryption_runtime.encryptActionBoundArgs(${value})` : void 0,\n\t\t\t\t\tdecode: enableEncryption ? (value) => `await __vite_rsc_encryption_runtime.decryptActionBoundArgs(${value})` : void 0\n\t\t\t\t});\n\t\t\t\tconst output = result.output;\n\t\t\t\tif (!result || !output.hasChanged()) {\n\t\t\t\t\tdelete manager.serverReferenceMetaMap[id];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tmanager.serverReferenceMetaMap[id] = {\n\t\t\t\t\timportId: id,\n\t\t\t\t\treferenceKey: getNormalizedId(),\n\t\t\t\t\texportNames: \"names\" in result ? result.names : result.exportNames\n\t\t\t\t};\n\t\t\t\tconst importSource = resolvePackage(`${PKG_NAME}/react/rsc`);\n\t\t\t\toutput.prepend(`import * as $$ReactServer from \"${importSource}\";\\n`);\n\t\t\t\tif (enableEncryption) {\n\t\t\t\t\tconst importSource$1 = resolvePackage(`${PKG_NAME}/utils/encryption-runtime`);\n\t\t\t\t\toutput.prepend(`import * as __vite_rsc_encryption_runtime from ${JSON.stringify(importSource$1)};\\n`);\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tcode: output.toString(),\n\t\t\t\t\tmap: output.generateMap({ hires: \"boundary\" })\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tif (!hasDirective(ast.body, \"use server\")) {\n\t\t\t\t\tdelete manager.serverReferenceMetaMap[id];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst result = withRollupError(this, transformDirectiveProxyExport)(ast, {\n\t\t\t\t\tcode,\n\t\t\t\t\truntime: (name) => `$$ReactClient.createServerReference(${JSON.stringify(getNormalizedId() + \"#\" + name)},$$ReactClient.callServer, undefined, ` + (this.environment.mode === \"dev\" ? `$$ReactClient.findSourceMapURL,` : \"undefined,\") + `${JSON.stringify(name)})`,\n\t\t\t\t\tdirective: \"use server\",\n\t\t\t\t\trejectNonAsyncFunction: true\n\t\t\t\t});\n\t\t\t\tif (!result) return;\n\t\t\t\tconst output = result?.output;\n\t\t\t\tif (!output?.hasChanged()) return;\n\t\t\t\tmanager.serverReferenceMetaMap[id] = {\n\t\t\t\t\timportId: id,\n\t\t\t\t\treferenceKey: getNormalizedId(),\n\t\t\t\t\texportNames: result.exportNames\n\t\t\t\t};\n\t\t\t\tconst importSource = resolvePackage(`${PKG_NAME}/react/${this.environment.name === browserEnvironmentName ? \"browser\" : \"ssr\"}`);\n\t\t\t\toutput.prepend(`import * as $$ReactClient from \"${importSource}\";\\n`);\n\t\t\t\treturn {\n\t\t\t\t\tcode: output.toString(),\n\t\t\t\t\tmap: output.generateMap({ hires: \"boundary\" })\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}, createVirtualPlugin(\"vite-rsc/server-references\", function() {\n\t\tif (this.environment.mode === \"dev\") return {\n\t\t\tcode: `export {}`,\n\t\t\tmap: null\n\t\t};\n\t\tlet code = \"\";\n\t\tfor (const meta of Object.values(manager.serverReferenceMetaMap)) {\n\t\t\tconst key = JSON.stringify(meta.referenceKey);\n\t\t\tconst id = JSON.stringify(meta.importId);\n\t\t\tconst exports = meta.exportNames.map((name) => name === \"default\" ? \"default: _default\" : name).sort();\n\t\t\tcode += `\n ${key}: async () => {\n const {${exports}} = await import(${id});\n return {${exports}};\n },\n`;\n\t\t}\n\t\tcode = `export default {${code}};\\n`;\n\t\treturn {\n\t\t\tcode,\n\t\t\tmap: null\n\t\t};\n\t})];\n}\nvar RuntimeAsset = class {\n\truntime;\n\tconstructor(value) {\n\t\tthis.runtime = value;\n\t}\n};\nfunction serializeValueWithRuntime(value) {\n\tconst replacements = [];\n\tlet result = JSON.stringify(value, (_key, value$1) => {\n\t\tif (value$1 instanceof RuntimeAsset) {\n\t\t\tconst placeholder = `__runtime_placeholder_${replacements.length}__`;\n\t\t\treplacements.push([placeholder, value$1.runtime]);\n\t\t\treturn placeholder;\n\t\t}\n\t\treturn value$1;\n\t}, 2);\n\tfor (const [placeholder, runtime] of replacements) result = result.replace(`\"${placeholder}\"`, runtime);\n\treturn result;\n}\nfunction assetsURL(url, manager) {\n\tconst { config } = manager;\n\tif (config.command === \"build\" && typeof config.experimental?.renderBuiltUrl === \"function\") {\n\t\tconst result = config.experimental.renderBuiltUrl(url, {\n\t\t\ttype: \"asset\",\n\t\t\thostType: \"js\",\n\t\t\tssr: true,\n\t\t\thostId: \"\"\n\t\t});\n\t\tif (typeof result === \"object\") {\n\t\t\tif (result.runtime) return new RuntimeAsset(result.runtime);\n\t\t\tassert(!result.relative, \"\\\"result.relative\\\" not supported on renderBuiltUrl() for RSC\");\n\t\t} else if (result) return result;\n\t}\n\treturn config.base + url;\n}\nfunction assetsURLOfDeps(deps, manager) {\n\treturn {\n\t\tjs: deps.js.map((href) => {\n\t\t\tassert(typeof href === \"string\");\n\t\t\treturn assetsURL(href, manager);\n\t\t}),\n\t\tcss: deps.css.map((href) => {\n\t\t\tassert(typeof href === \"string\");\n\t\t\treturn assetsURL(href, manager);\n\t\t})\n\t};\n}\nfunction mergeAssetDeps(a, b) {\n\treturn {\n\t\tjs: [...new Set([...a.js, ...b.js])],\n\t\tcss: [...new Set([...a.css, ...b.css])]\n\t};\n}\nfunction collectAssetDeps(bundle) {\n\tconst chunkToDeps = /* @__PURE__ */ new Map();\n\tfor (const chunk of Object.values(bundle)) if (chunk.type === \"chunk\") chunkToDeps.set(chunk, collectAssetDepsInner(chunk.fileName, bundle));\n\tconst idToDeps = {};\n\tfor (const [chunk, deps] of chunkToDeps.entries()) for (const id of chunk.moduleIds) idToDeps[id] = {\n\t\tchunk,\n\t\tdeps\n\t};\n\treturn idToDeps;\n}\nfunction collectAssetDepsInner(fileName, bundle) {\n\tconst visited = /* @__PURE__ */ new Set();\n\tconst css = [];\n\tfunction recurse(k) {\n\t\tif (visited.has(k)) return;\n\t\tvisited.add(k);\n\t\tconst v = bundle[k];\n\t\tassert(v, `Not found '${k}' in the bundle`);\n\t\tif (v.type === \"chunk\") {\n\t\t\tcss.push(...v.viteMetadata?.importedCss ?? []);\n\t\t\tfor (const k2 of v.imports) if (k2 in bundle) recurse(k2);\n\t\t}\n\t}\n\trecurse(fileName);\n\treturn {\n\t\tjs: [...visited],\n\t\tcss: [...new Set(css)]\n\t};\n}\nfunction vitePluginRscCss(rscCssOptions = {}, manager) {\n\tfunction hasSpecialCssQuery(id) {\n\t\treturn /[?&](url|inline|raw)(\\b|=|&|$)/.test(id);\n\t}\n\tfunction collectCss(environment, entryId) {\n\t\tconst visited = /* @__PURE__ */ new Set();\n\t\tconst cssIds = /* @__PURE__ */ new Set();\n\t\tconst visitedFiles = /* @__PURE__ */ new Set();\n\t\tfunction recurse(id) {\n\t\t\tif (visited.has(id)) return;\n\t\t\tvisited.add(id);\n\t\t\tconst mod = environment.moduleGraph.getModuleById(id);\n\t\t\tif (mod?.file) visitedFiles.add(mod.file);\n\t\t\tfor (const next of mod?.importedModules ?? []) if (next.id) if (isCSSRequest(next.id)) {\n\t\t\t\tif (hasSpecialCssQuery(next.id)) continue;\n\t\t\t\tcssIds.add(next.id);\n\t\t\t} else recurse(next.id);\n\t\t}\n\t\trecurse(entryId);\n\t\tconst hrefs = [...cssIds].map((id) => normalizeViteImportAnalysisUrl(environment, id));\n\t\treturn {\n\t\t\tids: [...cssIds],\n\t\t\threfs,\n\t\t\tvisitedFiles: [...visitedFiles]\n\t\t};\n\t}\n\tfunction getRscCssTransformFilter({ id, code }) {\n\t\tconst { filename, query } = parseIdQuery(id);\n\t\tif (\"vite-rsc-css-export\" in query) {\n\t\t\tconst value = query[\"vite-rsc-css-export\"];\n\t\t\tif (value) {\n\t\t\t\tconst names = value.split(\",\");\n\t\t\t\treturn (name) => names.includes(name);\n\t\t\t}\n\t\t\treturn (name) => /^[A-Z]/.test(name);\n\t\t}\n\t\tconst options = rscCssOptions?.rscCssTransform;\n\t\tif (options === false) return false;\n\t\tif (options?.filter && !options.filter(filename)) return false;\n\t\tif (!/\\.(css|less|sass|scss|styl|stylus|pcss|postcss|sss)\\b/.test(code) || !/\\.[tj]sx?$/.test(filename)) return false;\n\t\tif (!esModuleLexer.parse(code)[0].some((i) => i.t === 1 && i.n && isCSSRequest(i.n))) return false;\n\t\treturn (_name, meta) => !!(meta.isFunction && meta.declName && /^[A-Z]/.test(meta.declName) || meta.defaultExportIdentifierName && /^[A-Z]/.test(meta.defaultExportIdentifierName));\n\t}\n\treturn [\n\t\t{\n\t\t\tname: \"rsc:rsc-css-export-transform\",\n\t\t\tasync transform(code, id) {\n\t\t\t\tif (this.environment.name !== \"rsc\") return;\n\t\t\t\tconst filter = getRscCssTransformFilter({\n\t\t\t\t\tid,\n\t\t\t\t\tcode\n\t\t\t\t});\n\t\t\t\tif (!filter) return;\n\t\t\t\tconst result = await transformRscCssExport({\n\t\t\t\t\tast: await parseAstAsync(code),\n\t\t\t\t\tcode,\n\t\t\t\t\tfilter\n\t\t\t\t});\n\t\t\t\tif (result) return {\n\t\t\t\t\tcode: result.output.toString(),\n\t\t\t\t\tmap: result.output.generateMap({ hires: \"boundary\" })\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tname: \"rsc:rsc-css-self-accept\",\n\t\t\tapply: \"serve\",\n\t\t\ttransform: {\n\t\t\t\torder: \"post\",\n\t\t\t\thandler(_code, id, _options) {\n\t\t\t\t\tif (this.environment.name === \"client\" && this.environment.mode === \"dev\" && isCSSRequest(id) && directRequestRE.test(id)) {\n\t\t\t\t\t\tconst mod = this.environment.moduleGraph.getModuleById(id);\n\t\t\t\t\t\tif (mod && !mod.isSelfAccepting) mod.isSelfAccepting = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tname: \"rsc:css-virtual\",\n\t\t\tresolveId(source) {\n\t\t\t\tif (source.startsWith(\"virtual:vite-rsc/css?\")) return \"\\0\" + source;\n\t\t\t},\n\t\t\tasync load(id) {\n\t\t\t\tconst parsed = parseCssVirtual(id);\n\t\t\t\tif (parsed?.type === \"ssr\") {\n\t\t\t\t\tid = parsed.id;\n\t\t\t\t\tconst { server } = manager;\n\t\t\t\t\tconst mod = await server.environments.ssr.moduleGraph.getModuleByUrl(id);\n\t\t\t\t\tif (!mod?.id || !mod?.file) return `export default []`;\n\t\t\t\t\tconst result = collectCss(server.environments.ssr, mod.id);\n\t\t\t\t\tfor (const file of [mod.file, ...result.visitedFiles]) this.addWatchFile(file);\n\t\t\t\t\treturn `export default ${serializeValueWithRuntime(result.hrefs.map((href) => assetsURL(href.slice(1), manager)))}`;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tname: \"rsc:importer-resources\",\n\t\t\tconfigureServer(server) {\n\t\t\t\tconst hot = server.environments.rsc.hot;\n\t\t\t\tconst original = hot.send;\n\t\t\t\thot.send = function(...args) {\n\t\t\t\t\tconst e = args[0];\n\t\t\t\t\tif (e && typeof e === \"object\" && e.type === \"prune\") server.environments.client.hot.send({\n\t\t\t\t\t\ttype: \"custom\",\n\t\t\t\t\t\tevent: \"rsc:prune\",\n\t\t\t\t\t\tdata: e\n\t\t\t\t\t});\n\t\t\t\t\treturn original.apply(this, args);\n\t\t\t\t};\n\t\t\t},\n\t\t\tasync transform(code, id) {\n\t\t\t\tif (!code.includes(\"import.meta.viteRsc.loadCss\")) return;\n\t\t\t\tassert(this.environment.name === \"rsc\");\n\t\t\t\tconst output = new MagicString(code);\n\t\t\t\tlet importAdded = false;\n\t\t\t\tfor (const match of stripLiteral(code).matchAll(/import\\.meta\\.viteRsc\\.loadCss\\(([\\s\\S]*?)\\)/dg)) {\n\t\t\t\t\tconst [start, end] = match.indices[0];\n\t\t\t\t\tconst [argStart, argEnd] = match.indices[1];\n\t\t\t\t\tconst argCode = code.slice(argStart, argEnd).trim();\n\t\t\t\t\tlet importer = id;\n\t\t\t\t\tif (argCode) {\n\t\t\t\t\t\tconst argValue = evalValue(argCode);\n\t\t\t\t\t\tconst resolved = await this.resolve(argValue, id);\n\t\t\t\t\t\tif (resolved) importer = resolved.id;\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tthis.warn(`[vite-rsc] failed to transform 'import.meta.viteRsc.loadCss(${argCode})'`);\n\t\t\t\t\t\t\toutput.update(start, end, `null`);\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tconst importId = toCssVirtual({\n\t\t\t\t\t\tid: importer,\n\t\t\t\t\t\ttype: \"rsc\"\n\t\t\t\t\t});\n\t\t\t\t\tlet replacement;\n\t\t\t\t\tif (this.environment.mode === \"dev\") replacement = `__vite_rsc_react__.createElement(async () => {\n const __m = await import(${JSON.stringify(importId)});\n return __vite_rsc_react__.createElement(__m.Resources);\n })`;\n\t\t\t\t\telse {\n\t\t\t\t\t\tconst hash = hashString(importId);\n\t\t\t\t\t\tif (!importAdded && !code.includes(`__vite_rsc_importer_resources_${hash}`)) {\n\t\t\t\t\t\t\timportAdded = true;\n\t\t\t\t\t\t\toutput.prepend(`import * as __vite_rsc_importer_resources_${hash} from ${JSON.stringify(importId)};`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treplacement = `__vite_rsc_react__.createElement(__vite_rsc_importer_resources_${hash}.Resources)`;\n\t\t\t\t\t}\n\t\t\t\t\toutput.update(start, end, replacement);\n\t\t\t\t}\n\t\t\t\tif (output.hasChanged()) {\n\t\t\t\t\tif (!code.includes(\"__vite_rsc_react__\")) output.prepend(`import __vite_rsc_react__ from \"react\";`);\n\t\t\t\t\treturn {\n\t\t\t\t\t\tcode: output.toString(),\n\t\t\t\t\t\tmap: output.generateMap({ hires: \"boundary\" })\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t},\n\t\t\tload(id) {\n\t\t\t\tconst { server } = manager;\n\t\t\t\tconst parsed = parseCssVirtual(id);\n\t\t\t\tif (parsed?.type === \"rsc\") {\n\t\t\t\t\tassert(this.environment.name === \"rsc\");\n\t\t\t\t\tconst importer = parsed.id;\n\t\t\t\t\tif (this.environment.mode === \"dev\") {\n\t\t\t\t\t\tconst result = collectCss(server.environments.rsc, importer);\n\t\t\t\t\t\tfor (const file of [importer, ...result.visitedFiles]) this.addWatchFile(file);\n\t\t\t\t\t\treturn generateResourcesCode(serializeValueWithRuntime(assetsURLOfDeps({\n\t\t\t\t\t\t\tcss: result.hrefs.map((href) => href.slice(1)),\n\t\t\t\t\t\t\tjs: []\n\t\t\t\t\t\t}, manager)), manager);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst key = manager.toRelativeId(importer);\n\t\t\t\t\t\tmanager.serverResourcesMetaMap[importer] = { key };\n\t\t\t\t\t\treturn `\n import __vite_rsc_assets_manifest__ from \"virtual:vite-rsc/assets-manifest\";\n ${generateResourcesCode(`__vite_rsc_assets_manifest__.serverResources[${JSON.stringify(key)}]`, manager)}\n `;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcreateVirtualPlugin(\"vite-rsc/remove-duplicate-server-css\", async function() {\n\t\t\tassert.equal(this.environment.mode, \"dev\");\n\t\t\tfunction removeFn() {\n\t\t\t\tdocument.querySelectorAll(\"link[rel='stylesheet']\").forEach((node) => {\n\t\t\t\t\tif (node instanceof HTMLElement && node.dataset.precedence?.startsWith(\"vite-rsc/client-reference\")) node.remove();\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn `\\\n\"use client\"\nimport React from \"react\";\nexport default function RemoveDuplicateServerCss() {\n React.useEffect(() => {\n (${removeFn.toString()})();\n }, []);\n return null;\n}\n`;\n\t\t})\n\t];\n}\nfunction generateResourcesCode(depsCode, manager) {\n\tconst ResourcesFn = (React, deps, RemoveDuplicateServerCss) => {\n\t\treturn function Resources() {\n\t\t\treturn React.createElement(React.Fragment, null, [...deps.css.map((href) => React.createElement(\"link\", {\n\t\t\t\tkey: \"css:\" + href,\n\t\t\t\trel: \"stylesheet\",\n\t\t\t\tprecedence: \"vite-rsc/importer-resources\",\n\t\t\t\thref,\n\t\t\t\t\"data-rsc-css-href\": href\n\t\t\t})), RemoveDuplicateServerCss && React.createElement(RemoveDuplicateServerCss, { key: \"remove-duplicate-css\" })]);\n\t\t};\n\t};\n\treturn `\nimport __vite_rsc_react__ from \"react\";\n\n${manager.config.command === \"serve\" ? `import RemoveDuplicateServerCss from \"virtual:vite-rsc/remove-duplicate-server-css\";` : `const RemoveDuplicateServerCss = undefined;`}\n\nexport const Resources = (${ResourcesFn.toString()})(\n __vite_rsc_react__,\n ${depsCode},\n RemoveDuplicateServerCss,\n);\n`;\n}\nasync function transformRscCssExport(options) {\n\tif (hasDirective(options.ast.body, \"use client\")) return;\n\tconst result = transformWrapExport(options.code, options.ast, {\n\t\truntime: (value, name, meta) => `__vite_rsc_wrap_css__(${value}, ${JSON.stringify(meta.defaultExportIdentifierName ?? name)})`,\n\t\tfilter: options.filter,\n\t\tignoreExportAllDeclaration: true\n\t});\n\tif (result.output.hasChanged()) {\n\t\tif (!options.code.includes(\"__vite_rsc_react__\")) result.output.prepend(`import __vite_rsc_react__ from \"react\";`);\n\t\tresult.output.append(`\nfunction __vite_rsc_wrap_css__(value, name) {\n if (typeof value !== 'function') return value;\n\n function __wrapper(props) {\n return __vite_rsc_react__.createElement(\n __vite_rsc_react__.Fragment,\n null,\n import.meta.viteRsc.loadCss(${options.id ? JSON.stringify(options.id) : \"\"}),\n __vite_rsc_react__.createElement(value, props),\n );\n }\n Object.defineProperty(__wrapper, \"name\", { value: name });\n return __wrapper;\n}\n`);\n\t\treturn { output: result.output };\n\t}\n}\n\n//#endregion\nexport { vitePluginRscMinimal as i, transformRscCssExport as n, vitePluginRsc as r, getPluginApi as t };","/**\n * Path to RSC payload in build output\n */\nexport const rscPayloadPath = \"/.funstack/index.rsc\";\n","import { mkdir, writeFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { Readable } from \"node:stream\";\nimport type { ReadableStream as NodeWebReadableStream } from \"node:stream/web\";\nimport { pathToFileURL } from \"node:url\";\nimport type { ViteBuilder } from \"vite\";\nimport { rscPayloadPath } from \"./rscPath\";\n\nexport async function buildApp(builder: ViteBuilder) {\n const { config } = builder;\n // import server entry\n const entryPath = path.join(config.environments.rsc.build.outDir, \"index.js\");\n const entry: typeof import(\"../rsc/entry\") = await import(\n pathToFileURL(entryPath).href\n );\n\n // render rsc and html\n const baseDir = config.environments.client.build.outDir;\n const { html, appRsc } = await entry.build();\n await writeFileStream(path.join(baseDir, \"index.html\"), html);\n await writeFileStream(\n path.join(baseDir, rscPayloadPath.replace(/^\\//, \"\")),\n appRsc,\n );\n}\n\nasync function writeFileStream(filePath: string, stream: ReadableStream) {\n await mkdir(path.dirname(filePath), { recursive: true });\n await writeFile(filePath, Readable.fromWeb(stream as NodeWebReadableStream));\n}\n","import { isRunnableDevEnvironment, type Plugin } from \"vite\";\nimport { readFile } from \"node:fs/promises\";\nimport { toNodeHandler } from \"srvx/node\";\nimport path from \"node:path\";\n\nexport const serverPlugin = (): Plugin => {\n let resolvedOutDir = \"__uninitialized__\";\n return {\n name: \"@funstack/static:server\",\n configResolved(config) {\n resolvedOutDir = path.resolve(\n config.root,\n config.environments.client.build.outDir,\n );\n },\n configureServer(server) {\n const rscEnv = server.environments.rsc;\n if (!isRunnableDevEnvironment(rscEnv)) {\n throw new Error(\"The rsc environment is not runnable\");\n }\n const rscInput = rscEnv.config.build.rollupOptions?.input;\n const source =\n rscInput !== undefined &&\n typeof rscInput !== \"string\" &&\n !Array.isArray(rscInput)\n ? rscInput.index\n : undefined;\n if (source === undefined) {\n throw new Error(\"Cannot determine RSC entry point\");\n }\n\n return () => {\n server.middlewares.use(async (req, res, next) => {\n if (!req.headers.accept?.includes(\"text/html\")) {\n next();\n return;\n }\n try {\n const resolved = await rscEnv.pluginContainer.resolveId(source);\n if (!resolved) {\n throw new Error(`Cannot resolve RSC entry: ${source}`);\n }\n const rscEntry = await rscEnv.runner.import<\n typeof import(\"./rsc/entry\")\n >(resolved.id);\n const fetchHandler = toNodeHandler(rscEntry.default);\n\n await fetchHandler(req as any, res as any);\n } catch (error) {\n next(error);\n }\n });\n };\n },\n configurePreviewServer(server) {\n return () => {\n server.middlewares.use(async (req, res, next) => {\n try {\n if (req.headers.accept?.includes(\"text/html\")) {\n const html = await readFile(\n path.join(resolvedOutDir, \"index.html\"),\n \"utf-8\",\n );\n res.end(html);\n return;\n }\n } catch (error) {\n next(error);\n return;\n }\n next();\n });\n };\n },\n };\n};\n","import path from \"node:path\";\nimport type { Plugin } from \"vite\";\nimport rsc from \"@vitejs/plugin-rsc\";\nimport { buildApp } from \"./build/buildApp\";\nimport { serverPlugin } from \"./server\";\n\nexport interface FunstackStaticOptions {\n /**\n * Root component of the page.\n * The file should `export default` a React component that renders the whole page.\n * (`<html>...</html>`).\n */\n root: string;\n /**\n * Entry point of your application.\n * The file should `export default` a React component that renders the application content.\n */\n app: string;\n /**\n * Output directory for build.\n *\n * @default dist/public\n */\n publicOutDir?: string;\n}\n\nexport default function funstackStatic({\n root,\n app,\n publicOutDir = \"dist/public\",\n}: FunstackStaticOptions): (Plugin | Plugin[])[] {\n let resolvedRootEntry: string = \"__uninitialized__\";\n let resolvedAppEntry: string = \"__uninitialized__\";\n\n return [\n {\n name: \"@funstack/static:config-pre\",\n // Placed early because the rsc plugin sets the outDir to the default value\n config(config) {\n return {\n environments: {\n client: {\n build: {\n outDir:\n config.environments?.client?.build?.outDir ?? publicOutDir,\n },\n },\n },\n };\n },\n },\n serverPlugin(),\n rsc({\n entries: {\n rsc: \"@funstack/static/entries/rsc\",\n ssr: \"@funstack/static/entries/ssr\",\n client: \"@funstack/static/entries/client\",\n },\n serverHandler: false,\n }),\n {\n name: \"@funstack/static:config\",\n configResolved(config) {\n resolvedRootEntry = path.resolve(config.root, root);\n resolvedAppEntry = path.resolve(config.root, app);\n },\n // Needed for properly bundling @vitejs/plugin-rsc for browser.\n // See: https://github.com/vitejs/vite-plugin-react/tree/79bf57cc8b9c77e33970ec2e876bd6d2f1568d5d/packages/plugin-rsc#using-vitejsplugin-rsc-as-a-framework-packages-dependencies\n configEnvironment(_name, config) {\n if (config.optimizeDeps?.include) {\n config.optimizeDeps.include = config.optimizeDeps.include.map(\n (entry) => {\n if (entry.startsWith(\"@vitejs/plugin-rsc\")) {\n entry = `@funstack/static > ${entry}`;\n }\n return entry;\n },\n );\n }\n },\n },\n {\n name: \"@funstack/static:virtual-entry\",\n resolveId(id) {\n if (id === \"virtual:funstack/root\") {\n return \"\\0virtual:funstack/root\";\n }\n if (id === \"virtual:funstack/app\") {\n return \"\\0virtual:funstack/app\";\n }\n },\n load(id) {\n if (id === \"\\0virtual:funstack/root\") {\n return `export { default } from \"${resolvedRootEntry}\";`;\n }\n if (id === \"\\0virtual:funstack/app\") {\n return `export { default } from \"${resolvedAppEntry}\";`;\n }\n },\n },\n {\n name: \"@funstack/static:build\",\n async buildApp(builder) {\n await buildApp(builder);\n },\n },\n ];\n}\n"],"x_google_ignoreList":[0,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],"mappings":";;;;;;;;;;;;;;;;AACA,SAAS,WAAW,OAAO,SAAS;AACnC,KAAI,MAAO;AACX,KAAI,mBAAmB,MAAO,OAAM;AACpC,OAAM,IAAI,mBAAmB,SAAS,WAAW;;AAElD,IAAI,qBAAqB,cAAc,MAAM;CAC5C,YAAY,SAAS,oBAAoB;AACxC,QAAM,WAAW,qBAAqB;AACtC,MAAI,sBAAsB,uBAAuB,MAAO,OAAM,kBAAkB,MAAM,mBAAmB;;;AA6B3G,SAAS,aAAa,OAAO;AAC5B,QAAO,MAAM,QAAQ,0BAA0B,OAAO;;AAEvD,SAAS,YAAY,WAAW;CAC/B,MAAM,UAAU,mBAAmB,UAAU;AAC7C,SAAQ,GAAG,SAAS;EACnB,MAAM,OAAO,WAAW,SAAS,MAAM,YAAY,WAAW;AAC9D,MAAI,OAAO,SAAS,YAAY,QAAQ,KAAK,KAAK,EAAE;GACnD,IAAI,SAAS,UAAU;GACvB,MAAM,SAAS,YAAY,SAAS;AACpC,OAAI,QAAQ;AACX,QAAI,QAAQ,MAAO,UAAS,UAAU,OAAO;AAC7C,YAAQ,MAAM,QAAQ,GAAG,KAAK;SACxB,SAAQ,MAAM,QAAQ,GAAG,KAAK;;;;AAIxC,SAAS,mBAAmB,WAAW;CACtC,MAAM,QAAQ,UAAU,MAAM,IAAI;CAClC,MAAM,OAAO,CAAC,UAAU;AACxB,MAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,IAAK,MAAK,KAAK,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK;CACpF,MAAM,UAAU,KAAK,KAAK,aAAa,aAAa,SAAS,CAAC,CAAC,KAAK,IAAI;AACxE,wBAAuB,IAAI,OAAO,SAAS,QAAQ,QAAQ;;;;;AC3D5D,IAAI,QAAQ,IAAI,WAAW,EAAE;AAC7B,IAAI,YAAY,IAAI,WAAW,EAAE;AACjC,IAAI,QAAQ;AACZ,IAAI,YAAY,IAAI,WAAW,GAAG;AAClC,IAAI,YAAY,IAAI,WAAW,IAAI;AACnC,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;CACrC,MAAM,IAAI,MAAM,WAAW,EAAE;AAC7B,WAAU,KAAK;AACf,WAAU,KAAK;;AAmBjB,SAAS,cAAc,SAAS,KAAK,YAAU;CAC7C,IAAI,QAAQ,MAAMA;AAClB,SAAQ,QAAQ,IAAI,CAAC,SAAS,IAAI,IAAI,SAAS;AAC/C,IAAG;EACD,IAAI,UAAU,QAAQ;AACtB,aAAW;AACX,MAAI,QAAQ,EAAG,YAAW;AAC1B,UAAQ,MAAM,UAAU,SAAS;UAC1B,QAAQ;AACjB,QAAO;;AAQT,IAAI,YAAY,OAAO;AACvB,IAAI,KAAK,OAAO,gBAAgB,8BAA8B,IAAI,aAAa,GAAG,OAAO,WAAW,cAAc,EAChH,OAAO,KAAK;AAEV,QADY,OAAO,KAAK,IAAI,QAAQ,IAAI,YAAY,IAAI,WAAW,CACxD,UAAU;GAExB,GAAG,EACF,OAAO,KAAK;CACV,IAAI,MAAM;AACV,MAAK,IAAI,IAAI,GAAG,IAAI,IAAI,QAAQ,IAC9B,QAAO,OAAO,aAAa,IAAI,GAAG;AAEpC,QAAO;GAEV;AACD,IAAI,eAAe,MAAM;CACvB,cAAc;AACZ,OAAK,MAAM;AACX,OAAK,MAAM;AACX,OAAK,SAAS,IAAI,WAAW,UAAU;;CAEzC,MAAM,GAAG;EACP,MAAM,EAAE,WAAW;AACnB,SAAO,KAAK,SAAS;AACrB,MAAI,KAAK,QAAQ,WAAW;AAC1B,QAAK,OAAO,GAAG,OAAO,OAAO;AAC7B,QAAK,MAAM;;;CAGf,QAAQ;EACN,MAAM,EAAE,QAAQ,KAAK,QAAQ;AAC7B,SAAO,MAAM,IAAI,MAAM,GAAG,OAAO,OAAO,SAAS,GAAG,IAAI,CAAC,GAAG;;;AAyThE,SAASC,SAAO,SAAS;CACvB,MAAM,SAAS,IAAI,cAAc;CACjC,IAAI,eAAe;CACnB,IAAI,aAAa;CACjB,IAAI,eAAe;CACnB,IAAI,aAAa;AACjB,MAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;EACvC,MAAM,OAAO,QAAQ;AACrB,MAAI,IAAI,EAAG,QAAO,MAAM,UAAU;AAClC,MAAI,KAAK,WAAW,EAAG;EACvB,IAAI,YAAY;AAChB,OAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;GACpC,MAAM,UAAU,KAAK;AACrB,OAAI,IAAI,EAAG,QAAO,MAAM,MAAM;AAC9B,eAAY,cAAc,QAAQ,QAAQ,IAAI,UAAU;AACxD,OAAI,QAAQ,WAAW,EAAG;AAC1B,kBAAe,cAAc,QAAQ,QAAQ,IAAI,aAAa;AAC9D,gBAAa,cAAc,QAAQ,QAAQ,IAAI,WAAW;AAC1D,kBAAe,cAAc,QAAQ,QAAQ,IAAI,aAAa;AAC9D,OAAI,QAAQ,WAAW,EAAG;AAC1B,gBAAa,cAAc,QAAQ,QAAQ,IAAI,WAAW;;;AAG9D,QAAO,OAAO,OAAO;;;;;AC1ZvB,IAAM,SAAN,MAAM,OAAO;CACZ,YAAY,KAAK;AAChB,OAAK,OAAO,eAAe,SAAS,IAAI,KAAK,OAAO,GAAG,EAAE;;CAG1D,IAAI,KAAG;AACN,OAAK,KAAKC,OAAK,MAAM,MAAMA,MAAI;;CAGhC,IAAI,KAAG;AACN,SAAO,CAAC,EAAE,KAAK,KAAKA,OAAK,KAAM,MAAMA,MAAI;;;AAI3C,IAAM,QAAN,MAAM,MAAM;CACX,YAAY,OAAO,KAAK,SAAS;AAChC,OAAK,QAAQ;AACb,OAAK,MAAM;AACX,OAAK,WAAW;AAEhB,OAAK,QAAQ;AACb,OAAK,QAAQ;AAEb,OAAK,UAAU;AACf,OAAK,YAAY;AACjB,OAAK,SAAS;AAGb,OAAK,WAAW;AAChB,OAAK,OAAO;;CAId,WAAW,SAAS;AACnB,OAAK,SAAS;;CAGf,YAAY,SAAS;AACpB,OAAK,QAAQ,KAAK,QAAQ;;CAG3B,QAAQ;EACP,MAAM,QAAQ,IAAI,MAAM,KAAK,OAAO,KAAK,KAAK,KAAK,SAAS;AAE5D,QAAM,QAAQ,KAAK;AACnB,QAAM,QAAQ,KAAK;AACnB,QAAM,UAAU,KAAK;AACrB,QAAM,YAAY,KAAK;AACvB,QAAM,SAAS,KAAK;AAEpB,SAAO;;CAGR,SAAS,OAAO;AACf,SAAO,KAAK,QAAQ,SAAS,QAAQ,KAAK;;CAG3C,SAAS,IAAI;EACZ,IAAI,QAAQ;AACZ,SAAO,OAAO;AACb,MAAG,MAAM;AACT,WAAQ,MAAM;;;CAIhB,aAAa,IAAI;EAChB,IAAI,QAAQ;AACZ,SAAO,OAAO;AACb,MAAG,MAAM;AACT,WAAQ,MAAM;;;CAIhB,KAAK,SAAS,WAAW,aAAa;AACrC,OAAK,UAAU;AACf,MAAI,CAAC,aAAa;AACjB,QAAK,QAAQ;AACb,QAAK,QAAQ;;AAEd,OAAK,YAAY;AAEjB,OAAK,SAAS;AAEd,SAAO;;CAGR,YAAY,SAAS;AACpB,OAAK,QAAQ,UAAU,KAAK;;CAG7B,aAAa,SAAS;AACrB,OAAK,QAAQ,UAAU,KAAK;;CAG7B,QAAQ;AACP,OAAK,QAAQ;AACb,OAAK,QAAQ;AACb,MAAI,KAAK,QAAQ;AAChB,QAAK,UAAU,KAAK;AACpB,QAAK,YAAY;AACjB,QAAK,SAAS;;;CAIhB,MAAM,OAAO;EACZ,MAAM,aAAa,QAAQ,KAAK;EAEhC,MAAM,iBAAiB,KAAK,SAAS,MAAM,GAAG,WAAW;EACzD,MAAM,gBAAgB,KAAK,SAAS,MAAM,WAAW;AAErD,OAAK,WAAW;EAEhB,MAAM,WAAW,IAAI,MAAM,OAAO,KAAK,KAAK,cAAc;AAC1D,WAAS,QAAQ,KAAK;AACtB,OAAK,QAAQ;AAEb,OAAK,MAAM;AAEX,MAAI,KAAK,QAAQ;AAShB,YAAS,KAAK,IAAI,MAAM;AACxB,QAAK,UAAU;QAEf,MAAK,UAAU;AAGhB,WAAS,OAAO,KAAK;AACrB,MAAI,SAAS,KAAM,UAAS,KAAK,WAAW;AAC5C,WAAS,WAAW;AACpB,OAAK,OAAO;AAEZ,SAAO;;CAGR,WAAW;AACV,SAAO,KAAK,QAAQ,KAAK,UAAU,KAAK;;CAGzC,QAAQ,IAAI;AACX,OAAK,QAAQ,KAAK,MAAM,QAAQ,IAAI,GAAG;AACvC,MAAI,KAAK,MAAM,OAAQ,QAAO;EAE9B,MAAM,UAAU,KAAK,QAAQ,QAAQ,IAAI,GAAG;AAE5C,MAAI,QAAQ,QAAQ;AACnB,OAAI,YAAY,KAAK,SAAS;AAC7B,SAAK,MAAM,KAAK,QAAQ,QAAQ,OAAO,CAAC,KAAK,IAAI,QAAW,KAAK;AACjE,QAAI,KAAK,OAER,MAAK,KAAK,SAAS,KAAK,WAAW,KAAK;;AAG1C,UAAO;SACD;AACN,QAAK,KAAK,IAAI,QAAW,KAAK;AAE9B,QAAK,QAAQ,KAAK,MAAM,QAAQ,IAAI,GAAG;AACvC,OAAI,KAAK,MAAM,OAAQ,QAAO;;;CAIhC,UAAU,IAAI;AACb,OAAK,QAAQ,KAAK,MAAM,QAAQ,IAAI,GAAG;AACvC,MAAI,KAAK,MAAM,OAAQ,QAAO;EAE9B,MAAM,UAAU,KAAK,QAAQ,QAAQ,IAAI,GAAG;AAE5C,MAAI,QAAQ,QAAQ;AACnB,OAAI,YAAY,KAAK,SAAS;IAC7B,MAAM,WAAW,KAAK,MAAM,KAAK,MAAM,QAAQ,OAAO;AACtD,QAAI,KAAK,OAER,UAAS,KAAK,SAAS,KAAK,WAAW,KAAK;AAE7C,SAAK,KAAK,IAAI,QAAW,KAAK;;AAE/B,UAAO;SACD;AACN,QAAK,KAAK,IAAI,QAAW,KAAK;AAE9B,QAAK,QAAQ,KAAK,MAAM,QAAQ,IAAI,GAAG;AACvC,OAAI,KAAK,MAAM,OAAQ,QAAO;;;;AAKjC,SAAS,UAAU;AAClB,KAAI,OAAO,eAAe,eAAe,OAAO,WAAW,SAAS,WACnE,SAAQ,QAAQ,WAAW,KAAK,SAAS,mBAAmB,IAAI,CAAC,CAAC;UACxD,OAAO,WAAW,WAC5B,SAAQ,QAAQ,OAAO,KAAK,KAAK,QAAQ,CAAC,SAAS,SAAS;KAE5D,cAAa;AACZ,QAAM,IAAI,MAAM,0EAA0E;;;AAK7F,MAAMC,SAAqB,yBAAS;AAEpC,IAAM,YAAN,MAAgB;CACf,YAAY,YAAY;AACvB,OAAK,UAAU;AACf,OAAK,OAAO,WAAW;AACvB,OAAK,UAAU,WAAW;AAC1B,OAAK,iBAAiB,WAAW;AACjC,OAAK,QAAQ,WAAW;AACxB,OAAK,WAAWC,SAAO,WAAW,SAAS;AAC3C,MAAI,OAAO,WAAW,wBAAwB,YAC7C,MAAK,sBAAsB,WAAW;AAEvC,MAAI,OAAO,WAAW,YAAY,YACjC,MAAK,UAAU,WAAW;;CAI5B,WAAW;AACV,SAAO,KAAK,UAAU,KAAK;;CAG5B,QAAQ;AACP,SAAO,gDAAgDD,OAAK,KAAK,UAAU,CAAC;;;AAI9E,SAAS,YAAY,MAAM;CAC1B,MAAM,QAAQ,KAAK,MAAM,KAAK;CAE9B,MAAM,SAAS,MAAM,QAAQ,SAAS,OAAO,KAAK,KAAK,CAAC;CACxD,MAAM,SAAS,MAAM,QAAQ,SAAS,SAAS,KAAK,KAAK,CAAC;AAE1D,KAAI,OAAO,WAAW,KAAK,OAAO,WAAW,EAC5C,QAAO;AAMR,KAAI,OAAO,UAAU,OAAO,OAC3B,QAAO;CAIR,MAAM,MAAM,OAAO,QAAQ,UAAU,YAAY;EAChD,MAAM,YAAY,MAAM,KAAK,QAAQ,CAAC,GAAG;AACzC,SAAO,KAAK,IAAI,WAAW,SAAS;IAClC,SAAS;AAEZ,QAAO,IAAI,MAAM,MAAM,EAAE,CAAC,KAAK,IAAI;;AAGpC,SAAS,gBAAgB,MAAM,IAAI;CAClC,MAAM,YAAY,KAAK,MAAM,QAAQ;CACrC,MAAM,UAAU,GAAG,MAAM,QAAQ;AAEjC,WAAU,KAAK;AAEf,QAAO,UAAU,OAAO,QAAQ,IAAI;AACnC,YAAU,OAAO;AACjB,UAAQ,OAAO;;AAGhB,KAAI,UAAU,QAAQ;EACrB,IAAI,IAAI,UAAU;AAClB,SAAO,IAAK,WAAU,KAAK;;AAG5B,QAAO,UAAU,OAAO,QAAQ,CAAC,KAAK,IAAI;;AAG3C,MAAM,WAAW,OAAO,UAAU;AAElC,SAAS,SAAS,OAAO;AACxB,QAAO,SAAS,KAAK,MAAM,KAAK;;AAGjC,SAAS,WAAW,QAAQ;CAC3B,MAAM,gBAAgB,OAAO,MAAM,KAAK;CACxC,MAAM,cAAc,EAAE;AAEtB,MAAK,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,cAAc,QAAQ,KAAK;AACvD,cAAY,KAAK,IAAI;AACrB,SAAO,cAAc,GAAG,SAAS;;AAGlC,QAAO,SAAS,OAAO,OAAO;EAC7B,IAAI,IAAI;EACR,IAAI,IAAI,YAAY;AACpB,SAAO,IAAI,GAAG;GACb,MAAM,IAAK,IAAI,KAAM;AACrB,OAAI,QAAQ,YAAY,GACvB,KAAI;OAEJ,KAAI,IAAI;;EAGV,MAAM,OAAO,IAAI;AAEjB,SAAO;GAAE;GAAM,QADA,QAAQ,YAAY;GACZ;;;AAIzB,MAAM,YAAY;AAElB,IAAM,WAAN,MAAe;CACd,YAAY,OAAO;AAClB,OAAK,QAAQ;AACb,OAAK,oBAAoB;AACzB,OAAK,sBAAsB;AAC3B,OAAK,MAAM,EAAE;AACb,OAAK,cAAc,KAAK,IAAI,KAAK,qBAAqB,EAAE;AACxD,OAAK,UAAU;;CAGhB,QAAQ,aAAa,SAAS,KAAK,WAAW;AAC7C,MAAI,QAAQ,QAAQ;GACnB,MAAM,wBAAwB,QAAQ,SAAS;GAC/C,IAAI,iBAAiB,QAAQ,QAAQ,MAAM,EAAE;GAC7C,IAAI,yBAAyB;AAG7B,UAAO,kBAAkB,KAAK,wBAAwB,gBAAgB;IACrE,MAAME,YAAU;KAAC,KAAK;KAAqB;KAAa,IAAI;KAAM,IAAI;KAAO;AAC7E,QAAI,aAAa,EAChB,WAAQ,KAAK,UAAU;AAExB,SAAK,YAAY,KAAKA,UAAQ;AAE9B,SAAK,qBAAqB;AAC1B,SAAK,IAAI,KAAK,qBAAqB,KAAK,cAAc,EAAE;AACxD,SAAK,sBAAsB;AAE3B,6BAAyB;AACzB,qBAAiB,QAAQ,QAAQ,MAAM,iBAAiB,EAAE;;GAG3D,MAAM,UAAU;IAAC,KAAK;IAAqB;IAAa,IAAI;IAAM,IAAI;IAAO;AAC7E,OAAI,aAAa,EAChB,SAAQ,KAAK,UAAU;AAExB,QAAK,YAAY,KAAK,QAAQ;AAE9B,QAAK,QAAQ,QAAQ,MAAM,yBAAyB,EAAE,CAAC;aAC7C,KAAK,SAAS;AACxB,QAAK,YAAY,KAAK,KAAK,QAAQ;AACnC,QAAK,QAAQ,QAAQ;;AAGtB,OAAK,UAAU;;CAGhB,iBAAiB,aAAa,OAAO,UAAU,KAAK,oBAAoB;EACvE,IAAI,oBAAoB,MAAM;EAC9B,IAAI,QAAQ;EAEZ,IAAI,sBAAsB;AAE1B,SAAO,oBAAoB,MAAM,KAAK;AACrC,OAAI,SAAS,uBAAuB,MAAM;AACzC,QAAI,QAAQ;AACZ,QAAI,SAAS;AACb,SAAK,qBAAqB;AAC1B,SAAK,IAAI,KAAK,qBAAqB,KAAK,cAAc,EAAE;AACxD,SAAK,sBAAsB;AAC3B,YAAQ;AACR,0BAAsB;UAChB;AACN,QAAI,KAAK,SAAS,SAAS,mBAAmB,IAAI,kBAAkB,EAAE;KACrE,MAAM,UAAU;MAAC,KAAK;MAAqB;MAAa,IAAI;MAAM,IAAI;MAAO;AAE7E,SAAI,KAAK,UAAU,WAElB,KAAI,UAAU,KAAK,SAAS,mBAAmB,EAE9C;UAAI,CAAC,qBAAqB;AACzB,YAAK,YAAY,KAAK,QAAQ;AAC9B,6BAAsB;;YAEjB;AAEN,WAAK,YAAY,KAAK,QAAQ;AAC9B,4BAAsB;;SAGvB,MAAK,YAAY,KAAK,QAAQ;;AAIhC,QAAI,UAAU;AACd,SAAK,uBAAuB;AAC5B,YAAQ;;AAGT,wBAAqB;;AAGtB,OAAK,UAAU;;CAGhB,QAAQ,KAAK;AACZ,MAAI,CAAC,IAAK;EAEV,MAAM,QAAQ,IAAI,MAAM,KAAK;AAE7B,MAAI,MAAM,SAAS,GAAG;AACrB,QAAK,IAAI,IAAI,GAAG,IAAI,MAAM,SAAS,GAAG,KAAK;AAC1C,SAAK;AACL,SAAK,IAAI,KAAK,qBAAqB,KAAK,cAAc,EAAE;;AAEzD,QAAK,sBAAsB;;AAG5B,OAAK,uBAAuB,MAAM,MAAM,SAAS,GAAG;;;AAItD,MAAM,IAAI;AAEV,MAAM,SAAS;CACd,YAAY;CACZ,aAAa;CACb,WAAW;CACX;AAED,IAAM,cAAN,MAAM,YAAY;CACjB,YAAY,QAAQ,UAAU,EAAE,EAAE;EACjC,MAAM,QAAQ,IAAI,MAAM,GAAG,OAAO,QAAQ,OAAO;AAEjD,SAAO,iBAAiB,MAAM;GAC7B,UAAU;IAAE,UAAU;IAAM,OAAO;IAAQ;GAC3C,OAAO;IAAE,UAAU;IAAM,OAAO;IAAI;GACpC,OAAO;IAAE,UAAU;IAAM,OAAO;IAAI;GACpC,YAAY;IAAE,UAAU;IAAM,OAAO;IAAO;GAC5C,WAAW;IAAE,UAAU;IAAM,OAAO;IAAO;GAC3C,mBAAmB;IAAE,UAAU;IAAM,OAAO;IAAO;GACnD,SAAS;IAAE,UAAU;IAAM,OAAO,EAAE;IAAE;GACtC,OAAO;IAAE,UAAU;IAAM,OAAO,EAAE;IAAE;GACpC,UAAU;IAAE,UAAU;IAAM,OAAO,QAAQ;IAAU;GACrD,uBAAuB;IAAE,UAAU;IAAM,OAAO,QAAQ;IAAuB;GAC/E,oBAAoB;IAAE,UAAU;IAAM,OAAO,IAAI,QAAQ;IAAE;GAC3D,aAAa;IAAE,UAAU;IAAM,OAAO,EAAE;IAAE;GAC1C,WAAW;IAAE,UAAU;IAAM,OAAO;IAAW;GAC/C,YAAY;IAAE,UAAU;IAAM,OAAO,QAAQ;IAAY;GACzD,QAAQ;IAAE,UAAU;IAAM,OAAO,QAAQ,UAAU;IAAG;GACtD,CAAC;AAEF,OAAK,QAAQ,KAAK;AAClB,OAAK,MAAM,OAAO,UAAU;;CAG7B,qBAAqB,MAAM;AAC1B,OAAK,mBAAmB,IAAI,KAAK;;CAGlC,OAAO,SAAS;AACf,MAAI,OAAO,YAAY,SAAU,OAAM,IAAI,UAAU,iCAAiC;AAEtF,OAAK,SAAS;AACd,SAAO;;CAGR,WAAW,OAAO,SAAS;AAC1B,UAAQ,QAAQ,KAAK;AAErB,MAAI,OAAO,YAAY,SAAU,OAAM,IAAI,UAAU,oCAAoC;AAEzF,OAAK,OAAO,MAAM;EAElB,MAAM,QAAQ,KAAK,MAAM;AAEzB,MAAI,MACH,OAAM,WAAW,QAAQ;MAEzB,MAAK,SAAS;AAEf,SAAO;;CAGR,YAAY,OAAO,SAAS;AAC3B,UAAQ,QAAQ,KAAK;AAErB,MAAI,OAAO,YAAY,SAAU,OAAM,IAAI,UAAU,oCAAoC;AAEzF,OAAK,OAAO,MAAM;EAElB,MAAM,QAAQ,KAAK,QAAQ;AAE3B,MAAI,MACH,OAAM,YAAY,QAAQ;MAE1B,MAAK,SAAS;AAEf,SAAO;;CAGR,QAAQ;EACP,MAAM,SAAS,IAAI,YAAY,KAAK,UAAU;GAAE,UAAU,KAAK;GAAU,QAAQ,KAAK;GAAQ,CAAC;EAE/F,IAAI,gBAAgB,KAAK;EACzB,IAAI,cAAe,OAAO,aAAa,OAAO,oBAAoB,cAAc,OAAO;AAEvF,SAAO,eAAe;AACrB,UAAO,QAAQ,YAAY,SAAS;AACpC,UAAO,MAAM,YAAY,OAAO;GAEhC,MAAM,oBAAoB,cAAc;GACxC,MAAM,kBAAkB,qBAAqB,kBAAkB,OAAO;AAEtE,OAAI,iBAAiB;AACpB,gBAAY,OAAO;AACnB,oBAAgB,WAAW;AAE3B,kBAAc;;AAGf,mBAAgB;;AAGjB,SAAO,YAAY;AAEnB,MAAI,KAAK,sBACR,QAAO,wBAAwB,KAAK,sBAAsB,OAAO;AAGlE,SAAO,qBAAqB,IAAI,OAAO,KAAK,mBAAmB;AAE/D,SAAO,QAAQ,KAAK;AACpB,SAAO,QAAQ,KAAK;AAEpB,SAAO;;CAGR,mBAAmB,SAAS;AAC3B,YAAU,WAAW,EAAE;EAEvB,MAAM,cAAc;EACpB,MAAM,QAAQ,OAAO,KAAK,KAAK,YAAY;EAC3C,MAAM,WAAW,IAAI,SAAS,QAAQ,MAAM;EAE5C,MAAM,SAAS,WAAW,KAAK,SAAS;AAExC,MAAI,KAAK,MACR,UAAS,QAAQ,KAAK,MAAM;AAG7B,OAAK,WAAW,UAAU,UAAU;GACnC,MAAM,MAAM,OAAO,MAAM,MAAM;AAE/B,OAAI,MAAM,MAAM,OAAQ,UAAS,QAAQ,MAAM,MAAM;AAErD,OAAI,MAAM,OACT,UAAS,QACR,aACA,MAAM,SACN,KACA,MAAM,YAAY,MAAM,QAAQ,MAAM,SAAS,GAAG,GAClD;OAED,UAAS,iBAAiB,aAAa,OAAO,KAAK,UAAU,KAAK,KAAK,mBAAmB;AAG3F,OAAI,MAAM,MAAM,OAAQ,UAAS,QAAQ,MAAM,MAAM;IACpD;AAEF,MAAI,KAAK,MACR,UAAS,QAAQ,KAAK,MAAM;AAG7B,SAAO;GACN,MAAM,QAAQ,OAAO,QAAQ,KAAK,MAAM,QAAQ,CAAC,KAAK,GAAG;GACzD,SAAS,CACR,QAAQ,SAAS,gBAAgB,QAAQ,QAAQ,IAAI,QAAQ,OAAO,GAAG,QAAQ,QAAQ,GACvF;GACD,gBAAgB,QAAQ,iBAAiB,CAAC,KAAK,SAAS,GAAG;GAC3D;GACA,UAAU,SAAS;GACnB,qBAAqB,KAAK,aAAa,CAAC,YAAY,GAAG;GACvD;;CAGF,YAAY,SAAS;AACpB,SAAO,IAAI,UAAU,KAAK,mBAAmB,QAAQ,CAAC;;CAGvD,mBAAmB;AAClB,MAAI,KAAK,cAAc,OACtB,MAAK,YAAY,YAAY,KAAK,SAAS;;CAI7C,sBAAsB;AACrB,OAAK,kBAAkB;AACvB,SAAO,KAAK;;CAGb,kBAAkB;AACjB,OAAK,kBAAkB;AACvB,SAAO,KAAK,cAAc,OAAO,MAAO,KAAK;;CAG9C,OAAO,WAAW,SAAS;EAC1B,MAAM,UAAU;AAEhB,MAAI,SAAS,UAAU,EAAE;AACxB,aAAU;AACV,eAAY;;AAGb,MAAI,cAAc,QAAW;AAC5B,QAAK,kBAAkB;AACvB,eAAY,KAAK,aAAa;;AAG/B,MAAI,cAAc,GAAI,QAAO;AAE7B,YAAU,WAAW,EAAE;EAGvB,MAAM,aAAa,EAAE;AAErB,MAAI,QAAQ,QAGX,EADC,OAAO,QAAQ,QAAQ,OAAO,WAAW,CAAC,QAAQ,QAAQ,GAAG,QAAQ,SAC3D,SAAS,cAAc;AACjC,QAAK,IAAI,IAAI,UAAU,IAAI,IAAI,UAAU,IAAI,KAAK,EACjD,YAAW,KAAK;IAEhB;EAGH,IAAI,4BAA4B,QAAQ,gBAAgB;EACxD,MAAM,YAAY,UAAU;AAC3B,OAAI,0BAA2B,QAAO,GAAG,YAAY;AACrD,+BAA4B;AAC5B,UAAO;;AAGR,OAAK,QAAQ,KAAK,MAAM,QAAQ,SAAS,SAAS;EAElD,IAAI,YAAY;EAChB,IAAI,QAAQ,KAAK;AAEjB,SAAO,OAAO;GACb,MAAM,MAAM,MAAM;AAElB,OAAI,MAAM,QACT;QAAI,CAAC,WAAW,YAAY;AAC3B,WAAM,UAAU,MAAM,QAAQ,QAAQ,SAAS,SAAS;AAExD,SAAI,MAAM,QAAQ,OACjB,6BAA4B,MAAM,QAAQ,MAAM,QAAQ,SAAS,OAAO;;UAGpE;AACN,gBAAY,MAAM;AAElB,WAAO,YAAY,KAAK;AACvB,SAAI,CAAC,WAAW,YAAY;MAC3B,MAAM,OAAO,KAAK,SAAS;AAE3B,UAAI,SAAS,KACZ,6BAA4B;eAClB,SAAS,QAAQ,2BAA2B;AACtD,mCAA4B;AAE5B,WAAI,cAAc,MAAM,MACvB,OAAM,aAAa,UAAU;YACvB;AACN,aAAK,YAAY,OAAO,UAAU;AAClC,gBAAQ,MAAM;AACd,cAAM,aAAa,UAAU;;;;AAKhC,kBAAa;;;AAIf,eAAY,MAAM;AAClB,WAAQ,MAAM;;AAGf,OAAK,QAAQ,KAAK,MAAM,QAAQ,SAAS,SAAS;AAElD,SAAO;;CAGR,SAAS;AACR,QAAM,IAAI,MACT,kFACA;;CAGF,WAAW,OAAO,SAAS;AAC1B,MAAI,CAAC,OAAO,YAAY;AACvB,WAAQ,KACP,qFACA;AACD,UAAO,aAAa;;AAGrB,SAAO,KAAK,WAAW,OAAO,QAAQ;;CAGvC,YAAY,OAAO,SAAS;AAC3B,MAAI,CAAC,OAAO,aAAa;AACxB,WAAQ,KACP,wFACA;AACD,UAAO,cAAc;;AAGtB,SAAO,KAAK,aAAa,OAAO,QAAQ;;CAGzC,KAAK,OAAO,KAAK,OAAO;AACvB,UAAQ,QAAQ,KAAK;AACrB,QAAM,MAAM,KAAK;AACjB,UAAQ,QAAQ,KAAK;AAErB,MAAI,SAAS,SAAS,SAAS,IAAK,OAAM,IAAI,MAAM,wCAAwC;AAE5F,OAAK,OAAO,MAAM;AAClB,OAAK,OAAO,IAAI;AAChB,OAAK,OAAO,MAAM;EAElB,MAAM,QAAQ,KAAK,QAAQ;EAC3B,MAAM,OAAO,KAAK,MAAM;EAExB,MAAM,UAAU,MAAM;EACtB,MAAM,WAAW,KAAK;EAEtB,MAAM,WAAW,KAAK,QAAQ;AAC9B,MAAI,CAAC,YAAY,SAAS,KAAK,UAAW,QAAO;EACjD,MAAM,UAAU,WAAW,SAAS,WAAW,KAAK;AAEpD,MAAI,QAAS,SAAQ,OAAO;AAC5B,MAAI,SAAU,UAAS,WAAW;AAElC,MAAI,QAAS,SAAQ,OAAO;AAC5B,MAAI,SAAU,UAAS,WAAW;AAElC,MAAI,CAAC,MAAM,SAAU,MAAK,aAAa,KAAK;AAC5C,MAAI,CAAC,KAAK,MAAM;AACf,QAAK,YAAY,MAAM;AACvB,QAAK,UAAU,OAAO;;AAGvB,QAAM,WAAW;AACjB,OAAK,OAAO,YAAY;AAExB,MAAI,CAAC,QAAS,MAAK,aAAa;AAChC,MAAI,CAAC,SAAU,MAAK,YAAY;AAChC,SAAO;;CAGR,UAAU,OAAO,KAAK,SAAS,SAAS;AACvC,YAAU,WAAW,EAAE;AACvB,SAAO,KAAK,OAAO,OAAO,KAAK,SAAS;GAAE,GAAG;GAAS,WAAW,CAAC,QAAQ;GAAa,CAAC;;CAGzF,OAAO,OAAO,KAAK,SAAS,SAAS;AACpC,UAAQ,QAAQ,KAAK;AACrB,QAAM,MAAM,KAAK;AAEjB,MAAI,OAAO,YAAY,SAAU,OAAM,IAAI,UAAU,uCAAuC;AAE5F,MAAI,KAAK,SAAS,WAAW,GAAG;AAC/B,UAAO,QAAQ,EAAG,UAAS,KAAK,SAAS;AACzC,UAAO,MAAM,EAAG,QAAO,KAAK,SAAS;;AAGtC,MAAI,MAAM,KAAK,SAAS,OAAQ,OAAM,IAAI,MAAM,uBAAuB;AACvE,MAAI,UAAU,IACb,OAAM,IAAI,MACT,gFACA;AAEF,OAAK,OAAO,MAAM;AAClB,OAAK,OAAO,IAAI;AAEhB,MAAI,YAAY,MAAM;AACrB,OAAI,CAAC,OAAO,WAAW;AACtB,YAAQ,KACP,gIACA;AACD,WAAO,YAAY;;AAGpB,aAAU,EAAE,WAAW,MAAM;;EAE9B,MAAM,YAAY,YAAY,SAAY,QAAQ,YAAY;EAC9D,MAAM,YAAY,YAAY,SAAY,QAAQ,YAAY;AAE9D,MAAI,WAAW;GACd,MAAM,WAAW,KAAK,SAAS,MAAM,OAAO,IAAI;AAChD,UAAO,eAAe,KAAK,aAAa,UAAU;IACjD,UAAU;IACV,OAAO;IACP,YAAY;IACZ,CAAC;;EAGH,MAAM,QAAQ,KAAK,QAAQ;EAC3B,MAAM,OAAO,KAAK,MAAM;AAExB,MAAI,OAAO;GACV,IAAI,QAAQ;AACZ,UAAO,UAAU,MAAM;AACtB,QAAI,MAAM,SAAS,KAAK,QAAQ,MAAM,KACrC,OAAM,IAAI,MAAM,wCAAwC;AAEzD,YAAQ,MAAM;AACd,UAAM,KAAK,IAAI,MAAM;;AAGtB,SAAM,KAAK,SAAS,WAAW,CAAC,UAAU;SACpC;GAEN,MAAM,WAAW,IAAI,MAAM,OAAO,KAAK,GAAG,CAAC,KAAK,SAAS,UAAU;AAGnE,QAAK,OAAO;AACZ,YAAS,WAAW;;AAErB,SAAO;;CAGR,QAAQ,SAAS;AAChB,MAAI,OAAO,YAAY,SAAU,OAAM,IAAI,UAAU,iCAAiC;AAEtF,OAAK,QAAQ,UAAU,KAAK;AAC5B,SAAO;;CAGR,YAAY,OAAO,SAAS;AAC3B,UAAQ,QAAQ,KAAK;AAErB,MAAI,OAAO,YAAY,SAAU,OAAM,IAAI,UAAU,oCAAoC;AAEzF,OAAK,OAAO,MAAM;EAElB,MAAM,QAAQ,KAAK,MAAM;AAEzB,MAAI,MACH,OAAM,YAAY,QAAQ;MAE1B,MAAK,QAAQ,UAAU,KAAK;AAE7B,SAAO;;CAGR,aAAa,OAAO,SAAS;AAC5B,UAAQ,QAAQ,KAAK;AAErB,MAAI,OAAO,YAAY,SAAU,OAAM,IAAI,UAAU,oCAAoC;AAEzF,OAAK,OAAO,MAAM;EAElB,MAAM,QAAQ,KAAK,QAAQ;AAE3B,MAAI,MACH,OAAM,aAAa,QAAQ;MAE3B,MAAK,QAAQ,UAAU,KAAK;AAE7B,SAAO;;CAGR,OAAO,OAAO,KAAK;AAClB,UAAQ,QAAQ,KAAK;AACrB,QAAM,MAAM,KAAK;AAEjB,MAAI,KAAK,SAAS,WAAW,GAAG;AAC/B,UAAO,QAAQ,EAAG,UAAS,KAAK,SAAS;AACzC,UAAO,MAAM,EAAG,QAAO,KAAK,SAAS;;AAGtC,MAAI,UAAU,IAAK,QAAO;AAE1B,MAAI,QAAQ,KAAK,MAAM,KAAK,SAAS,OAAQ,OAAM,IAAI,MAAM,6BAA6B;AAC1F,MAAI,QAAQ,IAAK,OAAM,IAAI,MAAM,iCAAiC;AAElE,OAAK,OAAO,MAAM;AAClB,OAAK,OAAO,IAAI;EAEhB,IAAI,QAAQ,KAAK,QAAQ;AAEzB,SAAO,OAAO;AACb,SAAM,QAAQ;AACd,SAAM,QAAQ;AACd,SAAM,KAAK,GAAG;AAEd,WAAQ,MAAM,MAAM,MAAM,KAAK,QAAQ,MAAM,OAAO;;AAErD,SAAO;;CAGR,MAAM,OAAO,KAAK;AACjB,UAAQ,QAAQ,KAAK;AACrB,QAAM,MAAM,KAAK;AAEjB,MAAI,KAAK,SAAS,WAAW,GAAG;AAC/B,UAAO,QAAQ,EAAG,UAAS,KAAK,SAAS;AACzC,UAAO,MAAM,EAAG,QAAO,KAAK,SAAS;;AAGtC,MAAI,UAAU,IAAK,QAAO;AAE1B,MAAI,QAAQ,KAAK,MAAM,KAAK,SAAS,OAAQ,OAAM,IAAI,MAAM,6BAA6B;AAC1F,MAAI,QAAQ,IAAK,OAAM,IAAI,MAAM,iCAAiC;AAElE,OAAK,OAAO,MAAM;AAClB,OAAK,OAAO,IAAI;EAEhB,IAAI,QAAQ,KAAK,QAAQ;AAEzB,SAAO,OAAO;AACb,SAAM,OAAO;AAEb,WAAQ,MAAM,MAAM,MAAM,KAAK,QAAQ,MAAM,OAAO;;AAErD,SAAO;;CAGR,WAAW;AACV,MAAI,KAAK,MAAM,OAAQ,QAAO,KAAK,MAAM,KAAK,MAAM,SAAS;EAC7D,IAAI,QAAQ,KAAK;AACjB,KAAG;AACF,OAAI,MAAM,MAAM,OAAQ,QAAO,MAAM,MAAM,MAAM,MAAM,SAAS;AAChE,OAAI,MAAM,QAAQ,OAAQ,QAAO,MAAM,QAAQ,MAAM,QAAQ,SAAS;AACtE,OAAI,MAAM,MAAM,OAAQ,QAAO,MAAM,MAAM,MAAM,MAAM,SAAS;WACvD,QAAQ,MAAM;AACxB,MAAI,KAAK,MAAM,OAAQ,QAAO,KAAK,MAAM,KAAK,MAAM,SAAS;AAC7D,SAAO;;CAGR,WAAW;EACV,IAAI,YAAY,KAAK,MAAM,YAAY,EAAE;AACzC,MAAI,cAAc,GAAI,QAAO,KAAK,MAAM,OAAO,YAAY,EAAE;EAC7D,IAAI,UAAU,KAAK;EACnB,IAAI,QAAQ,KAAK;AACjB,KAAG;AACF,OAAI,MAAM,MAAM,SAAS,GAAG;AAC3B,gBAAY,MAAM,MAAM,YAAY,EAAE;AACtC,QAAI,cAAc,GAAI,QAAO,MAAM,MAAM,OAAO,YAAY,EAAE,GAAG;AACjE,cAAU,MAAM,QAAQ;;AAGzB,OAAI,MAAM,QAAQ,SAAS,GAAG;AAC7B,gBAAY,MAAM,QAAQ,YAAY,EAAE;AACxC,QAAI,cAAc,GAAI,QAAO,MAAM,QAAQ,OAAO,YAAY,EAAE,GAAG;AACnE,cAAU,MAAM,UAAU;;AAG3B,OAAI,MAAM,MAAM,SAAS,GAAG;AAC3B,gBAAY,MAAM,MAAM,YAAY,EAAE;AACtC,QAAI,cAAc,GAAI,QAAO,MAAM,MAAM,OAAO,YAAY,EAAE,GAAG;AACjE,cAAU,MAAM,QAAQ;;WAEhB,QAAQ,MAAM;AACxB,cAAY,KAAK,MAAM,YAAY,EAAE;AACrC,MAAI,cAAc,GAAI,QAAO,KAAK,MAAM,OAAO,YAAY,EAAE,GAAG;AAChE,SAAO,KAAK,QAAQ;;CAGrB,MAAM,QAAQ,GAAG,MAAM,KAAK,SAAS,SAAS,KAAK,QAAQ;AAC1D,UAAQ,QAAQ,KAAK;AACrB,QAAM,MAAM,KAAK;AAEjB,MAAI,KAAK,SAAS,WAAW,GAAG;AAC/B,UAAO,QAAQ,EAAG,UAAS,KAAK,SAAS;AACzC,UAAO,MAAM,EAAG,QAAO,KAAK,SAAS;;EAGtC,IAAI,SAAS;EAGb,IAAI,QAAQ,KAAK;AACjB,SAAO,UAAU,MAAM,QAAQ,SAAS,MAAM,OAAO,QAAQ;AAE5D,OAAI,MAAM,QAAQ,OAAO,MAAM,OAAO,IACrC,QAAO;AAGR,WAAQ,MAAM;;AAGf,MAAI,SAAS,MAAM,UAAU,MAAM,UAAU,MAC5C,OAAM,IAAI,MAAM,iCAAiC,MAAM,yBAAyB;EAEjF,MAAM,aAAa;AACnB,SAAO,OAAO;AACb,OAAI,MAAM,UAAU,eAAe,SAAS,MAAM,UAAU,OAC3D,WAAU,MAAM;GAGjB,MAAM,cAAc,MAAM,QAAQ,OAAO,MAAM,OAAO;AACtD,OAAI,eAAe,MAAM,UAAU,MAAM,QAAQ,IAChD,OAAM,IAAI,MAAM,iCAAiC,IAAI,uBAAuB;GAE7E,MAAM,aAAa,eAAe,QAAQ,QAAQ,MAAM,QAAQ;GAChE,MAAM,WAAW,cAAc,MAAM,QAAQ,SAAS,MAAM,MAAM,MAAM,MAAM,QAAQ;AAEtF,aAAU,MAAM,QAAQ,MAAM,YAAY,SAAS;AAEnD,OAAI,MAAM,UAAU,CAAC,eAAe,MAAM,QAAQ,KACjD,WAAU,MAAM;AAGjB,OAAI,YACH;AAGD,WAAQ,MAAM;;AAGf,SAAO;;CAIR,KAAK,OAAO,KAAK;EAChB,MAAM,QAAQ,KAAK,OAAO;AAC1B,QAAM,OAAO,GAAG,MAAM;AACtB,QAAM,OAAO,KAAK,MAAM,SAAS,OAAO;AAExC,SAAO;;CAGR,OAAO,OAAO;AACb,MAAI,KAAK,QAAQ,UAAU,KAAK,MAAM,OAAQ;EAE9C,IAAI,QAAQ,KAAK;EACjB,IAAI,gBAAgB;EACpB,MAAM,gBAAgB,QAAQ,MAAM;AAEpC,SAAO,OAAO;AACb,OAAI,MAAM,SAAS,MAAM,CAAE,QAAO,KAAK,YAAY,OAAO,MAAM;AAEhE,WAAQ,gBAAgB,KAAK,QAAQ,MAAM,OAAO,KAAK,MAAM,MAAM;AAGnE,OAAI,UAAU,cAAe;AAE7B,mBAAgB;;;CAIlB,YAAY,OAAO,OAAO;AACzB,MAAI,MAAM,UAAU,MAAM,QAAQ,QAAQ;GAEzC,MAAM,MAAM,WAAW,KAAK,SAAS,CAAC,MAAM;AAC5C,SAAM,IAAI,MACT,sDAAsD,IAAI,KAAK,GAAG,IAAI,OAAO,MAAM,MAAM,SAAS,IAClG;;EAGF,MAAM,WAAW,MAAM,MAAM,MAAM;AAEnC,OAAK,MAAM,SAAS;AACpB,OAAK,QAAQ,SAAS;AACtB,OAAK,MAAM,SAAS,OAAO;AAE3B,MAAI,UAAU,KAAK,UAAW,MAAK,YAAY;AAE/C,OAAK,oBAAoB;AACzB,SAAO;;CAGR,WAAW;EACV,IAAI,MAAM,KAAK;EAEf,IAAI,QAAQ,KAAK;AACjB,SAAO,OAAO;AACb,UAAO,MAAM,UAAU;AACvB,WAAQ,MAAM;;AAGf,SAAO,MAAM,KAAK;;CAGnB,UAAU;EACT,IAAI,QAAQ,KAAK;AACjB;AACC,OACE,MAAM,MAAM,UAAU,MAAM,MAAM,MAAM,IACxC,MAAM,QAAQ,UAAU,MAAM,QAAQ,MAAM,IAC5C,MAAM,MAAM,UAAU,MAAM,MAAM,MAAM,CAEzC,QAAO;SACC,QAAQ,MAAM;AACxB,SAAO;;CAGR,SAAS;EACR,IAAI,QAAQ,KAAK;EACjB,IAAI,SAAS;AACb;AACC,aAAU,MAAM,MAAM,SAAS,MAAM,QAAQ,SAAS,MAAM,MAAM;SACzD,QAAQ,MAAM;AACxB,SAAO;;CAGR,YAAY;AACX,SAAO,KAAK,KAAK,WAAW;;CAG7B,KAAK,UAAU;AACd,SAAO,KAAK,UAAU,SAAS,CAAC,QAAQ,SAAS;;CAGlD,eAAe,UAAU;EACxB,MAAM,qBAAK,IAAI,QAAQ,YAAY,SAAS,KAAK;AAEjD,OAAK,QAAQ,KAAK,MAAM,QAAQ,IAAI,GAAG;AACvC,MAAI,KAAK,MAAM,OAAQ,QAAO;EAE9B,IAAI,QAAQ,KAAK;AAEjB,KAAG;GACF,MAAM,MAAM,MAAM;GAClB,MAAM,UAAU,MAAM,QAAQ,GAAG;AAGjC,OAAI,MAAM,QAAQ,KAAK;AACtB,QAAI,KAAK,cAAc,MACtB,MAAK,YAAY,MAAM;AAGxB,SAAK,MAAM,MAAM,OAAO;AACxB,SAAK,QAAQ,MAAM,KAAK,SAAS,MAAM;AACvC,SAAK,MAAM,MAAM,KAAK,OAAO,MAAM;;AAGpC,OAAI,QAAS,QAAO;AACpB,WAAQ,MAAM;WACN;AAET,SAAO;;CAGR,QAAQ,UAAU;AACjB,OAAK,eAAe,SAAS;AAC7B,SAAO;;CAER,iBAAiB,UAAU;EAC1B,MAAM,qBAAK,IAAI,OAAO,OAAO,YAAY,SAAS,IAAI;AAEtD,OAAK,QAAQ,KAAK,MAAM,QAAQ,IAAI,GAAG;AACvC,MAAI,KAAK,MAAM,OAAQ,QAAO;EAE9B,IAAI,QAAQ,KAAK;AAEjB,KAAG;GACF,MAAM,MAAM,MAAM;GAClB,MAAM,UAAU,MAAM,UAAU,GAAG;AAEnC,OAAI,MAAM,QAAQ,KAAK;AAEtB,QAAI,UAAU,KAAK,UAAW,MAAK,YAAY,MAAM;AAErD,SAAK,MAAM,MAAM,OAAO;AACxB,SAAK,QAAQ,MAAM,KAAK,SAAS,MAAM;AACvC,SAAK,MAAM,MAAM,KAAK,OAAO,MAAM;;AAGpC,OAAI,QAAS,QAAO;AACpB,WAAQ,MAAM;WACN;AAET,SAAO;;CAGR,UAAU,UAAU;AACnB,OAAK,iBAAiB,SAAS;AAC/B,SAAO;;CAGR,aAAa;AACZ,SAAO,KAAK,aAAa,KAAK,UAAU;;CAGzC,eAAe,aAAa,aAAa;EACxC,SAAS,eAAe,OAAO,KAAK;AACnC,OAAI,OAAO,gBAAgB,SAC1B,QAAO,YAAY,QAAQ,kBAAkB,GAAG,MAAM;AAErD,QAAI,MAAM,IAAK,QAAO;AACtB,QAAI,MAAM,IAAK,QAAO,MAAM;AAE5B,QADY,CAAC,IACH,MAAM,OAAQ,QAAO,MAAM,CAAC;AACtC,WAAO,IAAI;KACV;OAEF,QAAO,YAAY,GAAG,OAAO,MAAM,OAAO,KAAK,MAAM,OAAO;;EAG9D,SAAS,SAAS,IAAI,KAAK;GAC1B,IAAI;GACJ,MAAM,UAAU,EAAE;AAClB,UAAQ,QAAQ,GAAG,KAAK,IAAI,CAC3B,SAAQ,KAAK,MAAM;AAEpB,UAAO;;AAER,MAAI,YAAY,OAEf,CADgB,SAAS,aAAa,KAAK,SAAS,CAC5C,SAAS,UAAU;AAC1B,OAAI,MAAM,SAAS,MAAM;IACxB,MAAMC,gBAAc,eAAe,OAAO,KAAK,SAAS;AACxD,QAAIA,kBAAgB,MAAM,GACzB,MAAK,UAAU,MAAM,OAAO,MAAM,QAAQ,MAAM,GAAG,QAAQA,cAAY;;IAGxE;OACI;GACN,MAAM,QAAQ,KAAK,SAAS,MAAM,YAAY;AAC9C,OAAI,SAAS,MAAM,SAAS,MAAM;IACjC,MAAMA,gBAAc,eAAe,OAAO,KAAK,SAAS;AACxD,QAAIA,kBAAgB,MAAM,GACzB,MAAK,UAAU,MAAM,OAAO,MAAM,QAAQ,MAAM,GAAG,QAAQA,cAAY;;;AAI1E,SAAO;;CAGR,eAAe,QAAQ,aAAa;EACnC,MAAM,EAAE,aAAa;EACrB,MAAM,QAAQ,SAAS,QAAQ,OAAO;AAEtC,MAAI,UAAU,IAAI;AACjB,OAAI,OAAO,gBAAgB,WAC1B,eAAc,YAAY,QAAQ,OAAO,SAAS;AAEnD,OAAI,WAAW,YACd,MAAK,UAAU,OAAO,QAAQ,OAAO,QAAQ,YAAY;;AAI3D,SAAO;;CAGR,QAAQ,aAAa,aAAa;AACjC,MAAI,OAAO,gBAAgB,SAC1B,QAAO,KAAK,eAAe,aAAa,YAAY;AAGrD,SAAO,KAAK,eAAe,aAAa,YAAY;;CAGrD,kBAAkB,QAAQ,aAAa;EACtC,MAAM,EAAE,aAAa;EACrB,MAAM,eAAe,OAAO;AAC5B,OACC,IAAI,QAAQ,SAAS,QAAQ,OAAO,EACpC,UAAU,IACV,QAAQ,SAAS,QAAQ,QAAQ,QAAQ,aAAa,EACrD;GACD,MAAM,WAAW,SAAS,MAAM,OAAO,QAAQ,aAAa;GAC5D,IAAI,eAAe;AACnB,OAAI,OAAO,gBAAgB,WAC1B,gBAAe,YAAY,UAAU,OAAO,SAAS;AAEtD,OAAI,aAAa,aAAc,MAAK,UAAU,OAAO,QAAQ,cAAc,aAAa;;AAGzF,SAAO;;CAGR,WAAW,aAAa,aAAa;AACpC,MAAI,OAAO,gBAAgB,SAC1B,QAAO,KAAK,kBAAkB,aAAa,YAAY;AAGxD,MAAI,CAAC,YAAY,OAChB,OAAM,IAAI,UACT,4EACA;AAGF,SAAO,KAAK,eAAe,aAAa,YAAY;;;;;;;;;;;;;;AClwCtD,IAAa,aAAb,MAAwB;CACvB,cAAc;;AAEb,OAAK,cAAc;;AAGnB,OAAK,gBAAgB;;AAGrB,OAAK,cAAc;;AAGnB,OAAK,UAAU;GACd,YAAa,KAAK,cAAc;GAChC,cAAe,KAAK,gBAAgB;GACpC,UAAU,SAAU,KAAK,cAAc;GACvC;;;;;;;;;CAUF,QAAQ,QAAQ,MAAM,OAAO,MAAM;AAClC,MAAI,UAAU,KACb,KAAI,SAAS;2BACe,CAAC,OAAO,MAAO,SAAS;;oBAE/B,CAAC,OAAO,QAAS;;;;;;;;CAWxC,OAAO,QAAQ,MAAM,OAAO;AAC3B,MAAI,UAAU,KACb,KAAI,UAAU,QAAQ,UAAU;2BACJ,CAAC,OAAO,MAAO,OAAO,OAAO,EAAE;MAE1D,QAAO,OAAO;;;;;;;;;;;;;;;;;AC1ClB,IAAa,aAAb,cAAgC,WAAW;;;;;;CAM1C,YAAY,OAAO,OAAO;AACzB,SAAO;;AAGP,OAAK,cAAc;;AAGnB,OAAK,gBAAgB;;AAGrB,OAAK,cAAc;;AAGnB,OAAK,UAAU;GACd,YAAa,KAAK,cAAc;GAChC,cAAe,KAAK,gBAAgB;GACpC,UAAU,SAAU,KAAK,cAAc;GACvC;;AAGD,OAAK,QAAQ;;AAGb,OAAK,QAAQ;;;;;;;;;;CAWd,MAAM,MAAM,QAAQ,MAAM,OAAO;AAChC,MAAI,MAAM;AACT,OAAI,KAAK,OAAO;IACf,MAAM,eAAe,KAAK;IAC1B,MAAM,iBAAiB,KAAK;IAC5B,MAAM,eAAe,KAAK;AAC1B,SAAK,cAAc;AACnB,SAAK,gBAAgB;AACrB,SAAK,cAAc;AAEnB,SAAK,MAAM,KAAK,KAAK,SAAS,MAAM,QAAQ,MAAM,MAAM;AAExD,QAAI,KAAK,aAAa;AACrB,YAAO,KAAK;AACZ,UAAK,QAAQ,QAAQ,MAAM,OAAO,KAAK;;AAGxC,QAAI,KAAK,cACR,MAAK,OAAO,QAAQ,MAAM,MAAM;IAGjC,MAAM,UAAU,KAAK;IACrB,MAAM,UAAU,KAAK;AAErB,SAAK,cAAc;AACnB,SAAK,gBAAgB;AACrB,SAAK,cAAc;AAEnB,QAAI,QAAS,QAAO;AACpB,QAAI,QAAS,QAAO;;;GAIrB,IAAI;AAEJ,QAAK,OAAO,MAAM;;IAEjB,MAAM,QAAQ,KAAK;AAEnB,QAAI,SAAS,OAAO,UAAU,UAC7B;SAAI,MAAM,QAAQ,MAAM,EAAE;MACzB,MAAM,QAAuC;AAC7C,WAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG;OACzC,MAAM,OAAO,MAAM;AACnB,WAAI,OAAO,KAAK,EACf;YAAI,CAAC,KAAK,MAAM,MAAM,MAAM,KAAK,EAAE,CAElC;;;gBAIO,OAAO,MAAM,CACvB,MAAK,MAAM,OAAO,MAAM,KAAK,KAAK;;;AAKrC,OAAI,KAAK,OAAO;IACf,MAAM,eAAe,KAAK;IAC1B,MAAM,iBAAiB,KAAK;AAC5B,SAAK,cAAc;AACnB,SAAK,gBAAgB;AAErB,SAAK,MAAM,KAAK,KAAK,SAAS,MAAM,QAAQ,MAAM,MAAM;AAExD,QAAI,KAAK,aAAa;AACrB,YAAO,KAAK;AACZ,UAAK,QAAQ,QAAQ,MAAM,OAAO,KAAK;;AAGxC,QAAI,KAAK,cACR,MAAK,OAAO,QAAQ,MAAM,MAAM;IAGjC,MAAM,UAAU,KAAK;AAErB,SAAK,cAAc;AACnB,SAAK,gBAAgB;AAErB,QAAI,QAAS,QAAO;;;AAItB,SAAO;;;;;;;;;AAUT,SAAS,OAAO,OAAO;AACtB,QACC,UAAU,QAAQ,OAAO,UAAU,YAAY,UAAU,SAAS,OAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;ACpI1F,SAAgBC,OAAK,KAAK,EAAE,OAAO,SAAS;AAE3C,QADiB,IAAI,WAAW,OAAO,MAAM,CAC7B,MAAM,KAAK,KAAK;;;;;;;;;;;;;ACVjC,SAAgB,KAAK,MAAM,OAAO,UAAU;CAC3C,MAAM,YAAY,SAAS;CAE3B,IAAI,UAAU;;CAGd,SAAS,gBAAgB,GAAG,EAAE,MAAM,kBAAS;AAC5C,OAAKC,QAAM;;;;;;;;CASZ,SAAS,MAAM,QAAM,QAAM,SAAO;AAEjC,MAAI,QAAS;AACb,MAAI,CAACC,OAAK,KAAM;;EAGhB,IAAI;;EAGJ,MAAM,YAAY,EAAE;;EAGpB,MAAM,UAAU;GACf;GACA;GACA,OAAO,aAAaD,YAAU;AAC7B,WAAK,KAAKC,OAAK;AACf,SAAK,MAAM,OAAOA,QAAM;AACvB,SAAI,QAAQ,OAAQ;KAEpB,MAAM,aAAaA,OAAK;AACxB,SAAI,cAAc,OAAO,eAAe,SACvC,KAAI,MAAM,QAAQ,WAAW,EAAE;;MAE9B,MAAM,kBAAkB,EAAE;MAC1B,MAAM,MAAM,WAAW;MAEvB,IAAI,UAAU;AAEd,WAAK,IAAI,IAAI,GAAG,IAAI,KAAK,KAAK;OAC7B,MAAMA,SAAO,WAAW;AACxB,WAAIA,UAAQ,OAAOA,WAAS,UAAU;QACrC,MAAMC,WAAS,MAAMD,QAAME,QAAM,WAAW;AAC5C,YAAID,UAAQ;AACX,yBAAgB,KAAKA;AACrB,mBAAU;;;;AAKb,UAAI,QACH,WAAU,OAAO,WAAW,KAC1B,QAAM,MAAM,gBAAgB,MAAMD,OACnC;YAEI;MACN,MAAMC,WAAS,MACI,YAClBC,QACA,WACA;AAGD,UAAID,SACH,WAAU,OAAOA;;;AAKrB,WAAK,KAAK;AAEV,QAAI,OAAO,KAAK,UAAU,CAAC,SAAS,EACnC,QAAO,gBAAgBD,QAAM,UAAU;;GAGzC,YAAY;AACX,cAAU;;GAEX,QAAQ,WAAW,aAAaD,YAAU;AACzC,WAAK,KAAKC,OAAK;IACf,MAAMC,WAAS,MAAM,WAAWC,QAAM,WAAW,IAAI;AACrD,WAAK,KAAK;AACV,WAAOD;;GAER;EAED,IAAI,UACH,SAAmCD,OAAK,SAAU;AAGnD,MAAI,WAAW;;GAEd,IAAI;AAEJ,YAAS,UAAUA,QAAM;IACxB,GAAG;IAEH,OAAO,aAAaD,YAAU;AAC7B,eAAQ;AAER,oBAAe,QAAQC,QAAM;MAC5B,GAAG;MACH,OAAO;MACP,CAAC;AAEF,YAAO;;IAER,CAAC;AAGF,OAAI,CAAC,UAAU,aACd,UAAS;QAGV,UAAS,QAAQA,QAAM,QAAQ;AAGhC,MAAI,CAAC,QACJ;OAAI,OAAO,KAAK,UAAU,CAAC,SAAS,EACnC,UAAS,gBAAgBA,QAAM,UAAU;;AAI3C,MAAI,OACH,QAAO;;AAIT,QAAO,MAAM,MAAM,EAAE,EAAE,MAAM,IAAI;;;;;;;;AASlC,SAAS,gBAAgB,MAAM,WAAW;;CAEzC,MAAM,MAAM,EAAE;CAEd,MAAM,cAAc,OAAO,0BAA0B,KAAK;AAE1D,MAAK,MAAM,OAAO,YACjB,QAAO,eAAe,KAAK,KAAK,YAAY,KAAK;AAGlD,MAAK,MAAM,OAAO,UACjB,KAAI,OAAO,UAAU;AAGtB,QAAyB;;;;;;;;;;;AC/J1B,SAAwB,aAAa,MAAM,QAAQ;AAClD,KAAI,KAAK,SAAS,mBACjB,QAAO,CAAC,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK;AAGzD,KAAI,KAAK,SAAS,aAAc,QAAO;AAEvC,SAAQ,QAAQ,MAAhB;EAEC,KAAK,mBACJ,QAAO,OAAO,YAAY,SAAS,OAAO;EAG3C,KAAK,mBACJ,QAAO,OAAO;EAGf,KAAK,eACJ,QAAO,OAAO,SAAS;EAGxB,KAAK,qBACJ,QAAO,OAAO,YAAY,SAAS,OAAO;EAG3C,KAAK,WACJ,QAAO,OAAO,YAAY,SAAS,OAAO;EAI3C,KAAK;EACL,KAAK,kBACJ,QAAO,SAAS,OAAO;EAGxB,KAAK;EACL,KAAK;EACL,KAAK,oBACJ,QAAO;EAER,QACC,QAAO;;;;;;;AC5CV,SAAgB,QAAQ,YAAY;;;CAInC,MAAM,sBAAM,IAAI,SAAS;;CAGzB,MAAM,0BAAU,IAAI,KAAK;CAEzB,MAAM,QAAQ,IAAI,MAAM,MAAM,MAAM;;CAGpC,MAAM,aAAa,EAAE;;CAGrB,IAAI,gBAAgB;;;;;CAMpB,SAAS,KAAK,MAAM,OAAO;AAC1B,MAAI,IAAI,MAAO,gBAAgB,IAAI,MAAM,eAAe,MAAM,CAAE;;AAGjE,MAA2C,YAAa,MAAM,EAC7D,EAAE,MAAM,SAAS;AAChB,UAAQ,KAAK,MAAb;GACC,KAAK;IACJ,MAAM,SAAS,QAAQ,KAAK,GAAG,GAAG;AAClC,QAAI,UAAU,aAAa,MAAM,OAAO,CACvC,YAAW,KAAK,CAAC,eAAe,KAAK,CAAC;AAEvC;GAED,KAAK;AACJ,kBAAc,aAAa,IAAI,KAAK,MAAM,MAAM,KAAK;AACrD;GACD,KAAK;AACJ,QAAI,KAAK,QAAQ;AAChB,SAAI,IAAI,MAAO,gBAAgB,IAAI,MAAM,eAAe,KAAK,CAAE;AAC/D,UAAK,MAAM,aAAa,KAAK,WAC5B,eAAc,aAAa,IAAI,UAAU,MAAM,MAAM,UAAU;AAEhE;;AAED;GAED,KAAK;GACL,KAAK;GACL,KAAK;AACJ,QAAI,KAAK,SAAS,uBAAuB;AACxC,SAAI,KAAK,GACR,eAAc,aAAa,IAAI,KAAK,GAAG,MAAM,KAAK;AAGnD,UAAK,MAAM,MAAM;WACX;AACN,UAAK,MAAM,MAAM;AAEjB,SAAI,KAAK,SAAS,wBAAwB,KAAK,GAC9C,eAAc,aAAa,IAAI,KAAK,GAAG,MAAM,KAAK;;AAIpD,SAAK,MAAM,SAAS,KAAK,OACxB,MAAK,MAAM,QAAQ,cAAc,MAAM,CACtC,eAAc,aAAa,IAAI,MAAM,KAAK;AAG5C;GAED,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;AACJ,SAAK,MAAM,KAAK;AAChB;GAED,KAAK;GACL,KAAK;AACJ,kBAAc,gBAAgB,KAAK;AACnC;GAED,KAAK;AACJ,SAAK,MAAM,KAAK;AAEhB,QAAI,KAAK,OACR;UAAK,MAAM,QAAQ,cAAc,KAAK,MAAM,CAC3C,KAAI,KAAK,MACR,eAAc,aAAa,IAAI,MAAM,KAAK,MAAM;;AAInD;;AAGF,UAAQ,MAAM;AAEd,MAAI,IAAI,IAAI,KAAK,IAAI,kBAAkB,QAAQ,cAAc,OAC5D,iBAAgB,cAAc;IAGhC,CAAC;AAEF,MAAK,IAAI,IAAI,WAAW,SAAS,GAAG,KAAK,GAAG,EAAE,GAAG;EAChD,MAAM,CAACG,SAAO,aAAa,WAAW;AAEtC,MAAI,CAACA,QAAM,WAAW,IAAI,UAAU,KAAK,CACxC,eAAcA,SAAO,UAAU,KAAK;AAErC,MAAI,CAACA,QAAM,WAAW,UAAU,KAAK,CACpC,SAAQ,IAAI,UAAU,MAAM,UAAU;;AAIxC,QAAO;EAAE;EAAK;EAAO;EAAS;;;;;;AAO/B,SAAS,cAAc,OAAO,MAAM;AACnC,OAAM,WAAW,IAAI,KAAK;AAC1B,KAAI,MAAM,OAAQ,eAAc,MAAM,QAAQ,KAAK;;AAGpD,IAAa,QAAb,MAAmB;;;;;CAKlB,YAAY,QAAQ,OAAO;;AAE1B,OAAK,SAAS;;AAGd,OAAK,QAAQ;;AAGb,OAAK,+BAAe,IAAI,KAAK;;AAG7B,OAAK,2CAA2B,IAAI,KAAK;;AAGzC,OAAK,6BAAa,IAAI,KAAK;;;;;CAM5B,gBAAgB,MAAM;AACrB,MAAI,KAAK,SAAS,sBACjB,KAAI,KAAK,SAAS,SAAS,KAAK,SAAS,KAAK,OAC7C,MAAK,OAAO,gBAAgB,KAAK;MAEjC,MAAK,MAAM,cAAc,KAAK,aAC7B,MAAK,MAAM,QAAQ,cAAc,WAAW,GAAG,EAAE;AAChD,QAAK,aAAa,IAAI,MAAM,KAAK;AACjC,OAAI,WAAW,KAAM,MAAK,yBAAyB,IAAI,KAAK;;WAIrD,KAAK,GACf,MAAK,aAAa,IAAI,KAAK,GAAG,MAAM,KAAK;;;;;;CAQ3C,WAAW,MAAM;AAChB,MAAI,KAAK,aAAa,IAAI,KAAK,CAAE,QAAO;AACxC,SAAO,KAAK,UAAU,KAAK,OAAO,WAAW,KAAK;;;;;;CAOnD,IAAI,MAAM;AACT,SACC,KAAK,aAAa,IAAI,KAAK,IAAK,CAAC,CAAC,KAAK,UAAU,KAAK,OAAO,IAAI,KAAK;;;;;;;AASzE,SAAgB,cAAc,OAAO;AACpC,QAAO,oBAAoB,MAAM,CAAC,KAAK,SAAS,KAAK,KAAK;;;;;;;AAQ3D,SAAgB,oBAAoB,OAAO,QAAQ,EAAE,EAAE;AACtD,SAAQ,MAAM,MAAd;EACC,KAAK;AACJ,SAAM,KAAK,MAAM;AACjB;EAED,KAAK;GACJ,IAAI,SAAS;AACb,UAAO,OAAO,SAAS,mBACtB,UAA6B,OAAO;AAErC,SAAM,KAAyB,OAAQ;AACvC;EAED,KAAK;AACJ,QAAK,MAAM,QAAQ,MAAM,WACxB,KAAI,KAAK,SAAS,cACjB,qBAAoB,KAAK,UAAU,MAAM;OAEzC,qBAAoB,KAAK,OAAO,MAAM;AAIxC;EAED,KAAK;AACJ,QAAK,MAAM,WAAW,MAAM,SAC3B,KAAI,QAAS,qBAAoB,SAAS,MAAM;AAGjD;EAED,KAAK;AACJ,uBAAoB,MAAM,UAAU,MAAM;AAC1C;EAED,KAAK;AACJ,uBAAoB,MAAM,MAAM,MAAM;AACtC;;AAGF,QAAO;;;;;ACnPR,SAAS,8BAA8B,OAAO,KAAK,EAAE,SAAS,wBAAwB,GAAG,WAAW;AACnG,KAAI,CAAC,MAAM,SAAS,KAAK,CAAE,UAAS;CACpC,MAAM,SAAS,IAAI,YAAY,MAAM;CACrC,MAAM,YAAY,OAAO,QAAQ,cAAc,WAAW,WAAW,QAAQ,UAAU,GAAG,QAAQ;AAClG,QAAK,KAAK,EAAE,MAAM,MAAM;AACvB,MAAI,KAAK,SAAS,uBAAwB,MAAK,QAAQ;AACvD,MAAI,KAAK,SAAS,4BAA4B,CAAC,KAAK,YAAa,MAAK,QAAQ;IAC5E,CAAC;CACJ,MAAM,WAAW,QAAQ,IAAI;CAC7B,MAAM,QAAQ,EAAE;AAChB,QAAK,KAAK,EAAE,MAAM,MAAM,QAAQ;AAC/B,OAAK,KAAK,SAAS,wBAAwB,KAAK,SAAS,yBAAyB,KAAK,SAAS,8BAA8B,KAAK,KAAK,SAAS,kBAAkB;GAClK,MAAM,QAAQ,eAAe,KAAK,KAAK,MAAM,UAAU,EAAE;AACzD,OAAI,CAAC,MAAO;AACZ,OAAI,CAAC,KAAK,SAAS,uBAAwB,OAAM,OAAO,uBAAuB,IAAI,MAAM,IAAI,UAAU,oCAAoC,EAAE,EAAE,KAAK,KAAK,OAAO,CAAC;GACjK,MAAM,QAAQ,SAAS,IAAI,IAAI,KAAK;AACpC,cAAW,MAAM;GACjB,MAAM,WAAW,KAAK,SAAS,yBAAyB,KAAK,GAAG;GAChE,MAAM,eAAe,YAAY,QAAQ,SAAS,wBAAwB,OAAO,GAAG,SAAS,gBAAgB,OAAO,GAAG,QAAQ;GAC/H,MAAM,WAAW,CAAC,GAAG,MAAM,WAAW,CAAC,QAAQ,QAAQ;AACtD,QAAI,QAAQ,SAAU,QAAO;IAC7B,MAAM,QAAQ,MAAM,WAAW,IAAI;AACnC,WAAO,SAAS,UAAU,SAAS,UAAU,SAAS;KACrD;GACF,IAAI,YAAY,CAAC,GAAG,UAAU,GAAG,KAAK,OAAO,KAAK,QAAM,MAAM,MAAMC,IAAE,OAAOA,IAAE,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK;AAChG,OAAI,SAAS,SAAS,KAAK,QAAQ,QAAQ;AAC1C,gBAAY,CAAC,mBAAmB,GAAG,KAAK,OAAO,KAAK,QAAM,MAAM,MAAMA,IAAE,OAAOA,IAAE,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK;AAClG,WAAO,WAAW,KAAK,KAAK,KAAK,GAAG,OAAO,UAAU,SAAS,KAAK,IAAI,CAAC,MAAM,QAAQ,OAAO,kBAAkB,CAAC,KAAK;;GAEtH,MAAM,UAAU,WAAW,MAAM,YAAY,eAAe,IAAI,iBAAiB;AACjF,SAAM,KAAK,QAAQ;AACnB,UAAO,OAAO,KAAK,OAAO,KAAK,KAAK,OAAO,MAAM,QAAQ,WAAW,KAAK,YAAY,KAAK,QAAQ,WAAW,GAAG,WAAW,QAAQ,GAAG,UAAU,IAAI;AACpJ,UAAO,WAAW,KAAK,KAAK,4CAA4C,QAAQ,qBAAqB,KAAK,UAAU,aAAa,CAAC,QAAQ;AAC1I,UAAO,KAAK,KAAK,OAAO,KAAK,KAAK,MAAM,OAAO;GAC/C,IAAI,UAAU,mBAAmB,QAAQ,SAAS,SAAS,EAAE,gBAAgB,OAAO,CAAC;AACrF,OAAI,SAAS,SAAS,GAAG;IACxB,MAAM,WAAW,QAAQ,SAAS,QAAQ,OAAO,MAAM,SAAS,KAAK,KAAK,GAAG,IAAI,GAAG,SAAS,KAAK,KAAK;AACvG,cAAU,GAAG,QAAQ,cAAc,SAAS;;AAE7C,OAAI,UAAU;AACb,cAAU,SAAS,SAAS,KAAK,QAAQ;AACzC,QAAI,QAAQ,SAAS,4BAA4B;AAChD,YAAO,OAAO,OAAO,OAAO,KAAK,MAAM;AACvC,eAAU,GAAG,QAAQ,mBAAmB,SAAS;;;AAGnD,UAAO,WAAW,KAAK,OAAO,QAAQ;;IAErC,CAAC;AACJ,QAAO;EACN;EACA;EACA;;AAEF,MAAM,cAAc,sBAAsB,IAAI,OAAO,MAAM,EAAE,QAAQ,4BAA4B,OAAO,GAAG,IAAI;AAC/G,SAAS,eAAe,MAAM,WAAW;AACxC,MAAK,MAAM,QAAQ,KAAM,KAAI,KAAK,SAAS,yBAAyB,KAAK,WAAW,SAAS,aAAa,OAAO,KAAK,WAAW,UAAU,UAAU;EACpJ,MAAM,QAAQ,KAAK,WAAW,MAAM,MAAM,UAAU;AACpD,MAAI,MAAO,QAAO;GACjB;GACA,MAAM,KAAK;GACX;;;AAGH,SAAS,eAAe,KAAK,WAAW;CACvC,MAAM,cAAc,WAAW,UAAU;CACzC,MAAM,QAAQ,EAAE;AAChB,QAAK,KAAK,EAAE,MAAM,MAAM;AACvB,MAAI,KAAK,SAAS,aAAa,KAAK,SAAS,kBAAkB;GAC9D,MAAM,QAAQ,eAAe,KAAK,MAAM,YAAY;AACpD,OAAI,MAAO,OAAM,KAAK,MAAM,KAAK;;IAEhC,CAAC;AACJ,QAAO;;AAKR,SAAS,oBAAoB,OAAO,KAAK,SAAS;CACjD,MAAM,SAAS,IAAI,YAAY,MAAM;CACrC,MAAM,cAAc,EAAE;CACtB,MAAM,WAAW,EAAE;CACnB,MAAM,SAAS,QAAQ,iBAAiB;CACxC,SAAS,WAAW,OAAO,KAAK,SAAS;AACxC,cAAY,KAAK,GAAG,QAAQ,KAAK,MAAM,EAAE,KAAK,CAAC;EAC/C,MAAM,UAAU,QAAQ,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,qBAAqB,QAAQ,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,YAAY,EAAE,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,QAAQ,CAAC,KAAK,GAAG;AACtM,SAAO,OAAO,OAAO,KAAK,QAAQ;AAClC,SAAO,KAAK,OAAO,KAAK,MAAM,OAAO;;CAEtC,SAAS,WAAW,MAAM,YAAY,OAAO,EAAE,EAAE;AAChD,cAAY,KAAK,WAAW;AAC5B,MAAI,CAAC,OAAO,YAAY,KAAK,EAAE;AAC9B,YAAS,KAAK,YAAY,KAAK,MAAM,WAAW,IAAI;AACpD;;AAED,WAAS,KAAK,gBAAgB,KAAK,qBAAqB,QAAQ,QAAQ,MAAM,YAAY,KAAK,IAAI,mBAAmB,KAAK,MAAM,WAAW,IAAI;;CAEjJ,SAAS,yBAAyB,MAAM;AACvC,MAAI,CAAC,QAAQ,uBAAwB;AACrC,MAAI,KAAK,SAAS,uBAAuB,KAAK,SAAS,yBAAyB,KAAK,SAAS,wBAAwB,KAAK,SAAS,8BAA8B,CAAC,KAAK,MAAO,OAAM,OAAO,uBAAuB,IAAI,MAAM,iCAAiC,EAAE,EAAE,KAAK,KAAK,OAAO,CAAC;;AAErR,MAAK,MAAM,QAAQ,IAAI,MAAM;AAC5B,MAAI,KAAK,SAAS,yBAA0B,KAAI,KAAK,YAAa,KAAI,KAAK,YAAY,SAAS,yBAAyB,KAAK,YAAY,SAAS,oBAAoB;;;;AAItK,4BAAyB,KAAK,YAAY;GAC1C,MAAM,OAAO,KAAK,YAAY,GAAG;AACjC,cAAW,KAAK,OAAO,KAAK,YAAY,OAAO,CAAC;IAC/C;IACA,MAAM;KACL,YAAY;KACZ,UAAU;KACV;IACD,CAAC,CAAC;aACO,KAAK,YAAY,SAAS,uBAAuB;;;;AAI3D,QAAK,MAAM,QAAQ,KAAK,YAAY,aAAc,KAAI,KAAK,KAAM,0BAAyB,KAAK,KAAK;AACpG,OAAI,KAAK,YAAY,SAAS,QAAS,QAAO,OAAO,KAAK,YAAY,OAAO,KAAK,YAAY,QAAQ,GAAG,MAAM;GAC/G,MAAM,QAAQ,KAAK,YAAY,aAAa,SAAS,SAAS,cAAc,KAAK,GAAG,CAAC;GACrF,IAAI,aAAa;AACjB,OAAI,KAAK,YAAY,aAAa,WAAW,GAAG;IAC/C,MAAM,OAAO,KAAK,YAAY,aAAa;AAC3C,iBAAa,KAAK,GAAG,SAAS,iBAAiB,KAAK,MAAM,SAAS,6BAA6B,KAAK,MAAM,SAAS;;AAErH,cAAW,KAAK,OAAO,KAAK,YAAY,OAAO,MAAM,KAAK,UAAU;IACnE;IACA,MAAM;KACL;KACA,UAAU;KACV;IACD,EAAE,CAAC;QACE,MAAK;WACH,KAAK,QAAQ;;;;AAIrB,UAAO,OAAO,KAAK,OAAO,KAAK,IAAI;AACnC,QAAK,MAAM,QAAQ,KAAK,YAAY;AACnC,eAAW,KAAK,MAAM,SAAS,aAAa;AAC5C,eAAW,KAAK,SAAS,SAAS,aAAa;IAC/C,MAAM,OAAO,KAAK,MAAM;AACxB,aAAS,KAAK,YAAY,KAAK,eAAe,KAAK,UAAU,KAAK,OAAO,MAAM;AAC/E,eAAW,YAAY,QAAQ,KAAK,SAAS,KAAK;;SAE7C;;;;AAIN,UAAO,OAAO,KAAK,OAAO,KAAK,IAAI;AACnC,QAAK,MAAM,QAAQ,KAAK,YAAY;AACnC,eAAW,KAAK,MAAM,SAAS,aAAa;AAC5C,eAAW,KAAK,SAAS,SAAS,aAAa;AAC/C,eAAW,KAAK,MAAM,MAAM,KAAK,SAAS,KAAK;;;;;;AAMjD,MAAI,CAAC,QAAQ,8BAA8B,KAAK,SAAS,uBAAwB,OAAM,OAAO,uBAAuB,IAAI,MAAM,mCAAmC,EAAE,EAAE,KAAK,KAAK,OAAO,CAAC;;;;;;AAMxL,MAAI,KAAK,SAAS,4BAA4B;AAC7C,4BAAyB,KAAK,YAAY;GAC1C,IAAI;GACJ,IAAI,aAAa;GACjB,IAAI;GACJ,IAAI;AACJ,QAAK,KAAK,YAAY,SAAS,yBAAyB,KAAK,YAAY,SAAS,uBAAuB,KAAK,YAAY,IAAI;AAC7H,gBAAY,KAAK,YAAY,GAAG;AAChC,WAAO,OAAO,KAAK,OAAO,KAAK,YAAY,MAAM;AACjD,iBAAa,KAAK,YAAY,SAAS;AACvC,eAAW,KAAK,YAAY,GAAG;UACzB;AACN,gBAAY;AACZ,WAAO,OAAO,KAAK,OAAO,KAAK,YAAY,OAAO,qBAAqB;AACvE,QAAI,KAAK,YAAY,SAAS,aAAc,+BAA8B,KAAK,YAAY;;AAE5F,cAAW,WAAW,WAAW;IAChC;IACA;IACA;IACA,CAAC;;;AAGJ,KAAI,SAAS,SAAS,EAAG,QAAO,OAAO;EACtC;EACA,GAAG;EACH;EACA,CAAC,KAAK,MAAM,CAAC;AACd,QAAO;EACN;EACA;EACA;;AAKF,SAAS,aAAa,MAAM,WAAW;AACtC,QAAO,CAAC,CAAC,KAAK,MAAM,SAAS,KAAK,SAAS,yBAAyB,KAAK,WAAW,SAAS,aAAa,OAAO,KAAK,WAAW,UAAU,YAAY,KAAK,WAAW,UAAU,UAAU;;AAyC5L,SAAS,8BAA8B,KAAK,SAAS;AACpD,KAAI,CAAC,aAAa,IAAI,MAAM,QAAQ,UAAU,CAAE;AAChD,QAAO,qBAAqB,KAAK,QAAQ;;AAE1C,SAAS,qBAAqB,KAAK,SAAS;AAC3C,KAAI,QAAQ,QAAQ,OAAO,QAAQ,SAAS,SAAU,OAAM,IAAI,MAAM,gCAAgC;CACtG,MAAM,SAAS,IAAI,YAAY,QAAQ,QAAQ,IAAI,OAAO,IAAI,IAAI,CAAC;CACnE,MAAM,cAAc,EAAE;CACtB,SAAS,aAAa,MAAM,OAAO;AAClC,cAAY,KAAK,GAAG,MAAM;EAC1B,MAAM,UAAU,MAAM,KAAK,UAAU,SAAS,YAAY,mBAAmB,gBAAgB,KAAK,OAAO,oBAAoB,QAAQ,QAAQ,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG;AACjK,SAAO,OAAO,KAAK,OAAO,KAAK,KAAK,QAAQ;;CAE7C,SAAS,yBAAyB,MAAM,IAAI;AAC3C,MAAI,QAAQ,0BAA0B,CAAC,GAAI,OAAM,OAAO,uBAAuB,IAAI,MAAM,iCAAiC,EAAE,EAAE,KAAK,KAAK,OAAO,CAAC;;AAEjJ,MAAK,MAAM,QAAQ,IAAI,MAAM;AAC5B,MAAI,KAAK,SAAS,0BAA0B;AAC3C,OAAI,KAAK,YAAa,KAAI,KAAK,YAAY,SAAS,yBAAyB,KAAK,YAAY,SAAS,oBAAoB;;;;AAI1H,6BAAyB,MAAM,KAAK,YAAY,SAAS,yBAAyB,KAAK,YAAY,MAAM;AACzG,iBAAa,MAAM,CAAC,KAAK,YAAY,GAAG,KAAK,CAAC;cACpC,KAAK,YAAY,SAAS,uBAAuB;;;;AAI3D,6BAAyB,MAAM,KAAK,YAAY,aAAa,OAAO,SAAS,KAAK,MAAM,SAAS,6BAA6B,KAAK,KAAK,MAAM,CAAC;AAC/I,QAAI,QAAQ,QAAQ,QAAQ,MAC3B;SAAI,KAAK,YAAY,aAAa,WAAW,GAAG;MAC/C,MAAM,OAAO,KAAK,YAAY,aAAa;AAC3C,UAAI,KAAK,GAAG,SAAS,gBAAgB,KAAK,MAAM;OAC/C,MAAM,OAAO,KAAK,GAAG;OACrB,MAAM,QAAQ,QAAQ,KAAK,MAAM,KAAK,KAAK,OAAO,KAAK,KAAK,IAAI;OAChE,MAAM,UAAU,gBAAgB,KAAK,qBAAqB,QAAQ,QAAQ,MAAM,EAAE,OAAO,CAAC,CAAC;AAC3F,cAAO,OAAO,KAAK,OAAO,KAAK,KAAK,QAAQ;AAC5C,mBAAY,KAAK,KAAK;AACtB;;;;AAIH,iBAAa,MAAM,KAAK,YAAY,aAAa,SAAS,SAAS,cAAc,KAAK,GAAG,CAAC,CAAC;SACrF,MAAK;QACP;;;;;IAKJ,MAAM,QAAQ,EAAE;AAChB,SAAK,MAAM,QAAQ,KAAK,YAAY;AACnC,gBAAW,KAAK,SAAS,SAAS,aAAa;AAC/C,WAAM,KAAK,KAAK,SAAS,KAAK;;AAE/B,iBAAa,MAAM,MAAM;;AAE1B;;;;;AAKD,MAAI,CAAC,QAAQ,8BAA8B,KAAK,SAAS,uBAAwB,OAAM,IAAI,MAAM,mCAAmC;;;;;;AAMpI,MAAI,KAAK,SAAS,4BAA4B;AAC7C,4BAAyB,MAAM,KAAK,YAAY,SAAS,gBAAgB,KAAK,YAAY,SAAS,yBAAyB,KAAK,YAAY,MAAM;AACnJ,gBAAa,MAAM,CAAC,UAAU,CAAC;AAC/B;;AAED,MAAI,QAAQ,KAAM;AAClB,SAAO,OAAO,KAAK,OAAO,KAAK,IAAI;;AAEpC,QAAO;EACN;EACA;EACA;;AAKF,SAAS,4BAA4B,OAAO,KAAK,SAAS;AACzD,KAAI,aAAa,IAAI,MAAM,aAAa,CAAE,QAAO,oBAAoB,OAAO,KAAK,QAAQ;AACzF,QAAO,8BAA8B,OAAO,KAAK;EAChD,GAAG;EACH,WAAW;EACX,CAAC;;;;;AClVH,IAAI,mBAAmB;AACvB,IAAI,qBAAqB;AACzB,IAAI,uBAAuB;AAC3B,IAAI,wBAAwB;AAC5B,IAAI,aAAa;AACjB,IAAI,WAAW;AACf,IAAI,gBAAgB;AACpB,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,WAAW;AACf,IAAI,qBAAqB;AACzB,IAAI,qBAAqB;AACzB,IAAI,gBAAgB;AACpB,IAAI,eAAe;AACnB,IAAI,mBAAmB;AACvB,IAAI,mBAAmB;AACvB,IAAI,kBAAkB;AACtB,IAAI,UAAU;AACd,IAAI,UAAU;AACd,IAAI,wBAAwB;AAC5B,IAAI,oBAAoB;AACxB,IAAI,WAAW;AACf,IAAI,aAAa;AACjB,IAAI,cAAc;AAClB,IAAI,sBAAsB;AAC1B,IAAI,eAAe;AACnB,IAAI,uBAAuB;AAC3B,IAAI,aAAa;AACjB,IAAI,UAAU;AACd,IAAI,cAAc;AAClB,IAAI,aAAa;AACjB,IAAI,WAAW;AACf,IAAI,oBAAoB;AACxB,IAAI,oBAAoB;AACxB,IAAI,mBAAmB;AACvB,IAAI,2BAA2B;AAC/B,IAAI,gBAAgB;AACpB,IAAI,UAAU;AACd,IAAI,gBAAgB;AACpB,IAAI;AACF,KAAI,KAAK,EAAE,EAAE,GAAG;QACV;AACN,iBAAgB;;AAElB,IAAI,YAAY,MAAM;CACpB,IAAI;CACJ,KAAK,EAAE;CACP,WAAW,WAAS;AAClB,MAAI,KAAK,MAAM,EACb,YAAS;MAET,OAAKC,EAAG,KAAKC,UAAQ;;CAGzB,MAAM;AACJ,OAAK;;CAEP,OAAO;AACL,MAAI,EAAE,KAAK,MAAM,GAAG;GAClB,IAAI;AACJ,WAAQ,IAAI,MAAKD,EAAG,OAAO,MAAM,KAAK,EACpC,IAAG;;;CAIT,OAAO;AACL,SAAO,IAAI,QAAQ,MAAKE,UAAW,KAAK,KAAK,CAAC;;;AAGlD,IAAI,WAAW,MAAM;CACnB;CACA;CACA;CACA,cAAc;AACZ,OAAK,UAAU,IAAI,SAAS,WAAS,WAAW;AAC9C,QAAK,UAAUD;AACf,QAAK,SAAS;IACd;;;AAGN,IAAI,wBAAwB,MAAM;CAChC;CACA,YAAY,IAAI,UAAU;CAC1B,QAAQ,MAAKE;CACb,cAAc;AACZ,OAAK,WAAW,mBAAmB;GACjC,IAAI,OAAO,MAAKA;AAChB,UAAO,MAAM;IACX,MAAM,MAAM,MAAM,KAAK;AACvB,QAAI,IAAI,KACN;AAEF,UAAM,IAAI;AACV,WAAO,IAAI;;IAEb,KAAK,KAAK,EAAE;;CAEhB,UAAU;AACR,QAAKC,KAAM,QAAQ,EAAE,MAAM,MAAM,CAAC;;CAEpC,OAAO,OAAO;AACZ,QAAKA,KAAM,QAAQ,YAAY,GAC7B;AACF,QAAKA,KAAM,OAAO,MAAM;;CAE1B,MAAM,OAAO;EACX,MAAM,WAAW,IAAI,UAAU;AAC/B,QAAKA,KAAM,QAAQ;GACjB,MAAM;GACN;GACA,MAAM;GACP,CAAC;AACF,QAAKA,OAAQ;;;AAGjB,IAAI,yBAAyB,cAAc,sBAAsB;CAC/D,WAAW,IAAI,eAAe,EAC5B,OAAO,OAAO,eAAe;AAC3B,MAAI;AACF,cAAW,MAAM,SAAS,KAAK,SAC7B,YAAW,QAAQ,MAAM;AAE3B,cAAW,OAAO;WACX,OAAO;AACd,cAAW,MAAM,MAAM;;IAG5B,CAAC;;AAEJ,IAAI,YAAY,MAAM,mBAAmB,KAAK;CAC5C;CACA;CACA;CACA,SAAS,EAAE;CACX,YAAY,MAAM,OAAO,KAAK,aAAa;AACzC,SAAO;AACP,MAAI,OAAO,SAAS,aAAa;AAC/B,QAAK,UAAU,KAAK;GACpB,IAAI,YAAY,MAAKC,MAAO,SAAS;AACrC,OAAI,OAAO,UAAU,YACnB,cAAa;AAEf,SAAKA,MAAO,QAAQ;GACpB,IAAI,UAAU,MAAKA,MAAO;AAC1B,OAAI,OAAO,QAAQ,YACjB,YAAW,MAAKA,MAAO,SAAS,KAAK;AAEvC,SAAKA,MAAO,MAAM;AAClB,SAAKC,OAAQ,gBAAgB,QAAQ,OAAO,KAAK,IAAI,KAAK;AAC1D,SAAKC,QAAS,WAAW,KAAK,QAAQ;;;CAG1C,IAAI,OAAO;AACT,MAAI,OAAO,MAAKA,SAAU,YACxB,OAAM,IAAI,MAAM,kBAAkB;AAEpC,SAAO,MAAKA;;CAEd,IAAI,KAAK,OAAO;AACd,QAAKA,OAAQ;;CAEf,IAAI,OAAO;AACT,MAAI,OAAO,MAAKD,SAAU,YACxB,OAAM,IAAI,MAAM,kBAAkB;AAEpC,SAAO,MAAKA;;CAEd,IAAI,KAAK,OAAO;AACd,QAAKA,OAAQ;;CAEf,MAAM,cAAc;AAClB,MAAI,CAAC,KAAK,QACR,OAAM,IAAI,MAAM,qBAAqB;EAEvC,MAAM,SAAS,MAAM,KAAK;AAC1B,MAAI,MAAKD,MACP,QAAO,OAAO,MACZ,MAAKA,MAAO,OACZ,MAAKA,MAAO,IACb;AAEH,SAAO;;CAET,QAAQ;AACN,SAAO,KAAK,aAAa,CAAC,MAAM,WAAW,IAAI,WAAW,OAAO,CAAC;;CAEpE,MAAM,OAAO,KAAK,aAAa;AAC7B,SAAO,IAAI,WAAW,MAAM,OAAO,KAAK,YAAY;;CAEtD,SAAS;AACP,SAAO,IAAI,eAAe,EACxB,OAAO,OAAO,eAAe;AAC3B,OAAI;AACF,eAAW,QAAQ,MAAM,KAAK,OAAO,CAAC;AACtC,eAAW,OAAO;YACX,KAAK;AACZ,eAAW,MAAM,IAAI;;KAG1B,CAAC;;CAEJ,OAAO;AACL,SAAO,KAAK,OAAO,CAAC,MAAM,UAAU;AAClC,UAAO,IAAI,aAAa,CAAC,OAAO,MAAM;IACtC;;;AAGN,IAAI,gBAAgB,gBAAgB,OAAO;AAC3C,IAAI,YAAY,MAAM,mBAAmB,cAAc;CACrD;CACA;CACA;CACA;CACA;CACA,SAAS,EAAE;CACX,YAAY,MAAM,OAAO,KAAK,aAAa;AACzC,MAAI,cACF,OAAM,EAAE,EAAE,GAAG;MAEb,OAAM,EAAE,CAAC;AAEX,MAAI,OAAO,SAAS,aAAa;AAC/B,QAAK,UAAU,KAAK;GACpB,IAAI,YAAY,MAAKA,MAAO,SAAS;AACrC,OAAI,OAAO,UAAU,YACnB,cAAa;AAEf,SAAKA,MAAO,QAAQ;GACpB,IAAI,UAAU,MAAKA,MAAO;AAC1B,OAAI,OAAO,QAAQ,YACjB,YAAW,MAAKA,MAAO,SAAS,KAAK;AAEvC,SAAKA,MAAO,MAAM;AAClB,SAAKC,OAAQ,gBAAgB,QAAQ,OAAO,KAAK,IAAI,KAAK;AAC1D,SAAKE,OAAQ,KAAK;AAClB,SAAKC,eAAgB,KAAK;;;CAG9B,IAAI,OAAO;AACT,MAAI,OAAO,MAAKD,SAAU,YACxB,OAAM,IAAI,MAAM,kBAAkB;AAEpC,SAAO,MAAKA;;CAEd,IAAI,KAAK,OAAO;AACd,QAAKA,OAAQ;;CAEf,IAAI,eAAe;AACjB,MAAI,OAAO,MAAKC,iBAAkB,YAChC,OAAM,IAAI,MAAM,2BAA2B;AAE7C,SAAO,MAAKA;;CAEd,IAAI,aAAa,OAAO;AACtB,QAAKA,eAAgB;;CAEvB,IAAI,OAAO;AACT,MAAI,OAAO,MAAKF,SAAU,YACxB,OAAM,IAAI,MAAM,kBAAkB;AAEpC,SAAO,MAAKA;;CAEd,IAAI,KAAK,OAAO;AACd,QAAKA,OAAQ;;CAEf,IAAI,OAAO;AACT,MAAI,OAAO,MAAKD,SAAU,YACxB,OAAM,IAAI,MAAM,kBAAkB;AAEpC,SAAO,MAAKA;;CAEd,IAAI,KAAK,OAAO;AACd,QAAKA,OAAQ;;CAEf,MAAM,cAAc;AAClB,MAAI,CAAC,KAAK,QACR,OAAM,IAAI,MAAM,qBAAqB;EAEvC,MAAM,SAAS,MAAM,KAAK;AAC1B,MAAI,MAAKD,MACP,QAAO,OAAO,MACZ,MAAKA,MAAO,OACZ,MAAKA,MAAO,IACb;AAEH,SAAO;;CAET,QAAQ;AACN,SAAO,KAAK,aAAa,CAAC,MAAM,WAAW,IAAI,WAAW,OAAO,CAAC;;CAEpE,MAAM,OAAO,KAAK,aAAa;AAC7B,SAAO,IAAI,WAAW,MAAM,OAAO,KAAK,YAAY;;CAEtD,SAAS;AACP,SAAO,IAAI,eAAe,EACxB,OAAO,OAAO,eAAe;AAC3B,OAAI;AACF,eAAW,QAAQ,MAAM,KAAK,OAAO,CAAC;AACtC,eAAW,OAAO;YACX,KAAK;AACZ,eAAW,MAAM,IAAI;;KAG1B,CAAC;;CAEJ,OAAO;AACL,SAAO,KAAK,OAAO,CAAC,MAAM,UAAU;AAClC,UAAO,IAAI,aAAa,CAAC,OAAO,MAAM;IACtC;;;AAKN,IAAI,eAAe;AACnB,IAAI,cAAc;AAClB,IAAI,cAAc;AAClB,IAAI,aAAa;AACjB,IAAI,mBAAmB;AACvB,IAAI,kBAAkB;AACtB,IAAI,gBAAgB;AACpB,IAAI,eAAe;AACnB,IAAI,kBAAkB;AACtB,IAAI,qBAAqB;AACzB,IAAI,sBAAsB;AAC1B,IAAI,sBAAsB;AAC1B,IAAI,6BAA6B;AACjC,IAAI,8BAA8B;AAClC,IAAI,wBAAwB;AAC5B,IAAI,wBAAwB;AAC5B,IAAI,uBAAuB;AAC3B,IAAI,wBAAwB;AAC5B,IAAI,gCAAgC;AACpC,IAAI,wBAAwB;AAC5B,IAAI,yBAAyB;AAC7B,IAAI,wBAAwB;AAC5B,IAAI,yBAAyB;AAC7B,IAAI,0BAA0B;AAC9B,IAAI,0BAA0B;AAC9B,IAAI,4BAA4B;AAChC,IAAI,6BAA6B;AACjC,IAAI,qBAAqB;AACzB,IAAI,iBAAiB;AACrB,IAAI,iBAAiB;AACrB,IAAI,oBAAoB;AACxB,IAAI,uBAAuB;AAC3B,IAAI,oBAAoB;AACxB,IAAI,sBAAsB;AAC1B,IAAI,qBAAqB;AACzB,eAAe,OAAO,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE;CACnD,IAAI,OAAO,IAAI,UAAU;CACzB,IAAI,6BAA6B,IAAI,KAAK;CAC1C,IAAI,iCAAiC,IAAI,KAAK;CAC9C,IAAI,QAAQ,EAAE;CACd,IAAI,OAAO;CACX,IAAI,UAAU;CACd,IAAI,SAAS;CACb,IAAI,aAAa;CACjB,IAAI;CACJ,IAAI,aAAa;CACjB,IAAI,aAAa;CACjB,IAAI,gBAAgB,OAAO,SAAS;AAClC,MAAI,SAAS,qBACX;OAAI,OAAO,UAAU,YAAY,UAAU,KACzC,OAAM,IAAI,MAAM,kBAAkB;aAE3B,SAAS,oBAClB;OAAI,CAAC,MAAM,QAAQ,MAAM,CACvB,OAAM,IAAI,MAAM,iBAAiB;;AAGrC,MAAI,MAAM,QAAQ,MAAM,IAAI,OAAO,MAAM,WAAW,SAClD,SAAQ,MAAM,QAAd;GACE,KAAK;AACH,SAAK,IAAI,CAAC,KAAK,QAAQ,MACrB,OAAM,MAAM,IAAI,KAAK,IAAI;AAE3B,YAAQ,MAAM;AACd;GACF,KAAK;AACH,SAAK,IAAI,OAAO,MACd,OAAM,MAAM,IAAI,IAAI;AAEtB,YAAQ,MAAM;AACd;GACF,KAAK;AACH,YAAQ,IAAI,OAAO,MAAM,IAAI,MAAM,GAAG;AACtC,eAAW,IAAI,MAAM,MAAM,MAAM;AACjC;GACF,KAAK,sBAAsB;IACzB,IAAI,WAAW,IAAI,UAAU;AAC7B,SAAK,IAAI,CAAC,KAAK,QAAQ,MACrB,UAAS,OAAO,KAAK,IAAI;AAE3B,YAAQ;AACR,eAAW,IAAI,MAAM,MAAM,MAAM;AACjC;;GAEF,KAAK,mBAAmB;IACtB,IAAI,gBAAgB;IACpB,IAAI,gBAAgB,QAAQ;AAC5B,SAAK,IAAI,IAAI,GAAG,IAAI,eAAe,KAAK;KACtC,IAAI,SAAS,QAAQ,GAAG,GAAG,MAAM;AACjC,SAAI,OAAO,WAAW,YAAY,WAAW,MAAM;AACjD,cAAQ,OAAO;AACf,sBAAgB;AAChB;;;AAGJ,QAAI,CAAC,cACH,SAAQ,KAAK;AAEf;;;AAIN,MAAI,MAAM,WAAW,GAAG;AACtB,OAAI,SAAS,KACX,OAAM,IAAI,MAAM,wBAAwB;AAE1C,OAAI,SAAS,MAAM;AACjB,SAAK,QAAQ,MAAM;AACnB,WAAO;AACP;;;EAGJ,IAAI,SAAS,MAAM,MAAM,SAAS;AAClC,MAAI,MAAM,QAAQ,OAAO,CACvB,QAAO,KAAK,MAAM;WACT,OAAO,WAAW,UAAU;AACrC,SAAM,KAAK;AACX,SAAM,MAAM,SAAS,GAAG,UAAU;aACzB,OAAO,WAAW,WAAW;AACtC,SAAM,KAAK;GACX,IAAI,WAAW,eAAe,IAAI,MAAM,KAAK,CAAC;AAC9C,OAAI,CAAC,SACH,OAAM,IAAI,MAAM,sBAAsB;AAExC,OAAI,oBAAoB,SACtB,KAAI,OACF,UAAS,QAAQ,MAAM;OAEvB,UAAS,OAAO,MAAM;YAGpB,OACF,UAAS,MAAM,MAAM;OAErB,UAAS,OAAO,MAAM;QAI1B,OAAM,IAAI,MAAM,sBAAsB;;CAG1C,IAAI,QAAQ,UAAU;EACpB,IAAI,SAAS,MAAM;EACnB,IAAI;EACJ,IAAI,QAAQ;AACZ,eAAa;EACb,IAAI,IAAI;AACR,SAAO,IAAI,QAAQ,KAAK;AACtB,cAAW,MAAM,WAAW,EAAE;AAC9B,OAAI,SAAS,aACX,KAAI,aAAa,IAAI;AACnB,WAAO;AACP,cAAU,MAAM,QAAQ,MAAM,MAAM,SAAS,GAAG,GAAG,mBAAmB;cAC7D,aAAa,IAAI;AAC1B,QAAI,YAAY,uBAAuB;KACrC,IAAI,KAAK,MAAM,KAAK;AACpB,SAAI,OAAO,OAAO,SAChB,OAAM,IAAI,MAAM,sBAAsB;AAGxC,KADe,eAAe,IAAI,GAAG,CAC5B,SAAS;AAClB,oBAAe,OAAO,GAAG;;AAE3B,WAAO;AACP,cAAU;AACV,aAAS;cACA,aAAa,KAAK;IAC3B,IAAI,SAAS,EAAE;AACf,UAAM,KAAK,OAAO;AAClB,eAAW,IAAI,WAAW,MAAM,OAAO;AACvC,cAAU;cACD,aAAa,IACtB,cAAa,MAAM,KAAK,EAAE,EAAE;YACnB,aAAa,IAAI;IAC1B,IAAI,SAAS,EAAE;AACf,UAAM,KAAK,OAAO;AAClB,eAAW,IAAI,WAAW,MAAM,OAAO;cAC9B,aAAa,IAAI;IAC1B,IAAI,SAAS,EAAE;AACf,WAAO,SAAS;AAChB,WAAO,wBAAwB,IAAI,KAAK;AACxC,UAAM,KAAK,OAAO;AAClB,eAAW,IAAI,WAAW,MAAM,OAAO,MAAM;AAC7C;cACS,aAAa,IAAI;IAC1B,IAAI,SAAS,EAAE;AACf,WAAO,SAAS;AAChB,WAAO,wBAAwB,IAAI,KAAK;AACxC,UAAM,KAAK,OAAO;AAClB,eAAW,IAAI,WAAW,MAAM,OAAO,MAAM;AAC7C;cACS,aAAa,KAAK;IAC3B,IAAI,SAAS,EAAE;AACf,WAAO,SAAS;AAChB,WAAO,OAAO,WAAW;AACzB,UAAM,KAAK,OAAO;AAClB,eAAW,IAAI,OAAO,MAAM,OAAO;AACnC;cACS,aAAa,IAAI;IAC1B,IAAI,SAAS,EAAE;AACf,WAAO,SAAS;AAChB,WAAO,OAAO,WAAW;AACzB,UAAM,KAAK,OAAO;AAClB,eAAW,IAAI,OAAO,MAAM,OAAO;AACnC;cACS,aAAa,GACtB,cAAa,MAAM,KAAK,EAAE,EAAE;YACnB,aAAa,GACtB,WAAU;YACD,aAAa,GACtB,WAAU;YACD,aAAa,GACtB,WAAU;YACD,aAAa,IACtB,WAAU;YACD,aAAa,IAAI;AAC1B,WAAO;AACP,aAAS;AACT,eAAW,KAAK;AAChB,iBAAa;AACb,iBAAa;cACJ,aAAa,GACtB,WAAU;YACD,aAAa,GACtB,WAAU;YACD,aAAa,GACtB,WAAU;YACD,aAAa,IAAI;AAC1B,QAAI,YAAY,sBACd,OAAM,IAAI,YAAY,4BAA4B;AAEpD,UAAM,KAAK,KAAK;cACP,aAAa,IAAI;AAC1B,QAAI,YAAY,sBACd,OAAM,IAAI,YAAY,4BAA4B;AAEpD,UAAM,KAAK,MAAM;cACR,aAAa,KAAK;AAC3B,iBAAa,KAAK,GAAG,EAAE;AACvB,cAAU;cACD,aAAa,KAAK;AAC3B,SAAK;AACL,iBAAa,MAAM,EAAE;AACrB,cAAU;cACD,aAAa,KAAK;AAC3B,SAAK;AACL,iBAAa,MAAM,EAAE;AACrB,cAAU;cACD,aAAa,KAAK;AAC3B,SAAK;AACL,iBAAa,OAAO,EAAE;AACtB,cAAU;cACD,aAAa,IAAI;AAC1B,SAAK;AACL,iBAAa,KAAY,EAAE;AAC3B,cAAU;cACD,aAAa,IAAI;AAC1B,iBAAa,OAAO,mBAAmB,EAAE;AACzC,cAAU;cACD,aAAa,KAAK;AAC3B,iBAAa,OAAO,mBAAmB,EAAE;AACzC,cAAU;cACD,aAAa,KAAK;AAC3B,iBAAa,IAAI,EAAE;AACnB,cAAU;cACD,aAAa,GACtB,WAAU;YACD,aAAa,MACxB,aAAa,MACb,YAAY,MAAM,YAAY,IAAI;AAChC,WAAO;AACP,aAAS,MAAM;cACN,aAAa,IAAI;IAC1B,IAAI,yBAAS,IAAI,OAAO;AACxB,UAAM,KAAK,OAAO;AAClB,eAAW,IAAI,WAAW,MAAM,OAAO;AACvC,cAAU;AACV;cACS,aAAa,IAAI;IAC1B,IAAI,SAAS,EAAE;AACf,WAAO,SAAS;AAChB,WAAO,OAAO,WAAW;AACzB,UAAM,KAAK,OAAO;AAClB,eAAW,IAAI,OAAO,MAAM,OAAO;AACnC;cACS,aAAa,IAAI;IAC1B,IAAI,SAAS,IAAI,WAAW;AAC5B,UAAM,KAAK,OAAO;AAClB,eAAW,IAAI,WAAW,MAAM,OAAO;AACvC,cAAU;AACV;cACS,aAAa,KAAK;IAC3B,IAAI,SAAS,IAAI,WAAW;AAC5B,UAAM,KAAK,OAAO;AAClB,eAAW,IAAI,WAAW,MAAM,OAAO;AACvC,cAAU;AACV;cACS,aAAa,GACtB,WAAU;YACD,aAAa,GACtB,WAAU;YACD,aAAa,IACtB,WAAU;YACD,aAAa,GACtB,WAAU;YACD,aAAa,GACtB,WAAU;YACD,aAAa,IACtB,WAAU;YACD,aAAa,GACtB,WAAU;YACD,aAAa,IACtB,WAAU;YACD,aAAa,GACtB,WAAU;YACD,aAAa,IACtB,WAAU;YACD,aAAa,GACtB,WAAU;YACD,aAAa,IACtB,WAAU;YACD,aAAa,GACtB,WAAU;OAEV,OAAM,IAAI,YAAY,0BAA0B,MAAM,GAAG,GAAG;YAErD,SAAS,eAAe,SAAS,WAC1C,KAAI,aAAa,MACjB,aAAa,MACb,YAAY,MAAM,YAAY,GAC5B,WAAU,MAAM;QACX;AACL,QAAI,SAAS,YAAY;AACvB,WAAM,KAAK,OAAO,OAAO,CAAC;AAC1B,YAAO;AACP,eAAU;AACV;AACA;;AAEF,QAAI,YAAY,qBAAqB;KACnC,IAAI,KAAK,OAAO,OAAO;KACvB,IAAI,WAAW,eAAe,IAAI,GAAG;AACrC,SAAI,SACF,cAAa,SAAS,SAAS,EAAE;UAC5B;MACL,IAAI,WAAW,IAAI,UAAU;AAC7B,qBAAe,IAAI,IAAI,SAAS;AAChC,mBAAa,SAAS,SAAS,EAAE;;eAE1B,YAAY,4BAA4B;KACjD,IAAI,KAAK,OAAO,OAAO;KACvB,IAAI,WAAW,eAAe,IAC5B,GACD;AACD,SAAI,SACF,cAAa,SAAS,UAAU,EAAE;UAC7B;MACL,IAAI,WAAW,IAAI,uBAAuB;AAC1C,qBAAe,IAAI,IAAI,SAAS;AAChC,mBAAa,SAAS,UAAU,EAAE;;eAE3B,YAAY,6BAA6B;KAClD,IAAI,KAAK,OAAO,OAAO;KACvB,IAAI,WAAW,eAAe,IAC5B,GACD;AACD,SAAI,SACF,cAAa,SAAS,UAAU,EAAE;UAC7B;MACL,IAAI,WAAW,IAAI,wBAAwB;AAC3C,qBAAe,IAAI,IAAI,SAAS;AAChC,mBAAa,SAAS,UAAU,EAAE;;UAGpC,cACE,YAAY,kBAAkB,OAAO,OAAO,GAAG,YAAY,qBAAqB,WAAW,IAAI,OAAO,OAAO,CAAC,GAAG,OAAO,OAAO,EAC/H,EACD;AAEH,aAAS;AACT,WAAO;AACP,cAAU;AACV;;YAEO,SAAS,aAAa;IAC/B,IAAI,YAAY;AAChB,WAAO,IAAI,QAAQ,KAAK;AACtB,gBAAW,MAAM,WAAW,EAAE;AAC9B,SAAI,aAAa,MAAM,aAAa,MAAM,aAAa,MAAM,GAAG;AAC9D,gBAAU,MAAM;AAChB,iBAAW;AACX,UAAI,aAAa,IAAI;AACnB;AACA,oBAAa;YAEb,cAAa;YAEV;AACL,kBAAY;AACZ;;;AAGJ,QAAI,WAAW;KACb,IAAI,QAAQ,aAAa,KAAK,MAAM,IAAI,OAAO,GAAG,GAAG;AACrD,SAAI,YAAY,qBAAqB;AACnC,YAAM,KAAK,MAAM;AACjB;YACK;AACL,UAAI,YAAY,eAAe;AAC7B,eAAQ,IAAI,KAAK,MAAM;AACvB,kBAAW,IAAI,WAAW,MAAM,MAAM;iBAC7B,YAAY,gBACrB,SAAQ,OAAO,IAAI,MAAM;eAChB,YAAY,cAAc;AACnC,eAAQ,IAAI,IAAI,MAAM;AACtB,kBAAW,IAAI,WAAW,MAAM,MAAM;iBAC7B,YAAY,uBAAuB;AAC5C,eAAQ,iBAAiB,MAAM,CAAC;AAChC,kBAAW,IAAI,WAAW,MAAM,MAAM;iBAC7B,YAAY,sBAAsB;AAC3C,eAAQ,IAAI,UAAU,iBAAiB,MAAM,CAAC,OAAO;AACrD,kBAAW,IAAI,WAAW,MAAM,MAAM;iBAC7B,YAAY,uBAAuB;AAC5C,eAAQ,iBAAiB,MAAM;AAC/B,kBAAW,IAAI,WAAW,MAAM,MAAM;iBAC7B,YAAY,+BAA+B;AACpD,eAAQ,IAAI,kBAAkB,iBAAiB,MAAM,CAAC,OAAO;AAC7D,kBAAW,IAAI,WAAW,MAAM,MAAM;iBAC7B,YAAY,uBAAuB;AAC5C,eAAQ,IAAI,WAAW,iBAAiB,MAAM,CAAC,OAAO;AACtD,kBAAW,IAAI,WAAW,MAAM,MAAM;iBAC7B,YAAY,wBAAwB;AAC7C,eAAQ,IAAI,YAAY,iBAAiB,MAAM,CAAC,OAAO;AACvD,kBAAW,IAAI,WAAW,MAAM,MAAM;iBAC7B,YAAY,uBAAuB;AAC5C,eAAQ,IAAI,WAAW,iBAAiB,MAAM,CAAC,OAAO;AACtD,kBAAW,IAAI,WAAW,MAAM,MAAM;iBAC7B,YAAY,wBAAwB;AAC7C,eAAQ,IAAI,YAAY,iBAAiB,MAAM,CAAC,OAAO;AACvD,kBAAW,IAAI,WAAW,MAAM,MAAM;iBAC7B,YAAY,yBAAyB;AAC9C,eAAQ,IAAI,aAAa,iBAAiB,MAAM,CAAC,OAAO;AACxD,kBAAW,IAAI,WAAW,MAAM,MAAM;iBAC7B,YAAY,yBAAyB;AAC9C,eAAQ,IAAI,aAAa,iBAAiB,MAAM,CAAC,OAAO;AACxD,kBAAW,IAAI,WAAW,MAAM,MAAM;iBAC7B,YAAY,2BAA2B;AAChD,eAAQ,IAAI,cAAc,iBAAiB,MAAM,CAAC,OAAO;AACzD,kBAAW,IAAI,WAAW,MAAM,MAAM;iBAC7B,YAAY,4BAA4B;AACjD,eAAQ,IAAI,eAAe,iBAAiB,MAAM,CAAC,OAAO;AAC1D,kBAAW,IAAI,WAAW,MAAM,MAAM;iBAC7B,YAAY,oBAAoB;AACzC,eAAQ,iBAAiB,MAAM;AAC/B,eAAQ,IAAI,SACV,MAAM,QACN,MAAM,YACN,MAAM,WACP;AACD,kBAAW,IAAI,WAAW,MAAM,MAAM;;AAExC,mBAAa,OAAO,EAAE;;AAExB,YAAO;AACP,eAAU;UAEV;;;AAIN,MAAI,IAAI,OACN,cAAa,IAAI;;CAGrB,IAAI,SAAS,OAAO,WAAW;AAC/B,EAAC,YAAY;EACX,IAAI;AACJ,SAAO,EAAE,OAAO,MAAM,OAAO,MAAM,EAAE,KACnC,MAAK,KAAK,MAAM;KAEhB,CAAC,OAAO,UAAU;AACpB,MAAI,MAAM;AACR,QAAK,OAAO,MAAM;AAClB,UAAO;;AAET,OAAK,IAAI,YAAY,eAAe,QAAQ,CAC1C,UAAS,OAAO,MAAM;GAExB,CAAC,cAAc;AACf,SAAO,aAAa;AACpB,MAAI,MAAM;AACR,QAAK,uBAAO,IAAI,MAAM,4CAA4C,CAAC;AACnE,UAAO;;AAET,OAAK,IAAI,YAAY,eAAe,QAAQ,CAC1C,UAAS,uBAAO,IAAI,MAAM,2CAA2C,CAAC;GAExE;AACF,QAAO,KAAK;;AAEd,SAAS,iBAAiB,QAAQ;CAChC,MAAM,aAAa,KAAK,OAAO;CAC/B,MAAM,aAAa,IAAI,WAAW,WAAW,OAAO;AACpD,MAAK,IAAI,IAAI,GAAG,IAAI,WAAW,QAAQ,IACrC,YAAW,KAAK,WAAW,WAAW,EAAE;AAE1C,QAAO;;AAIT,IAAI,EAAE,mBAAmB,mBAAmB,OAAO,QAAQ;AAC3D,IAAI,2BAA2B;AAC/B,IAAI,4BAA4B;AAChC,SAAS,OAAO,OAAO,EAAE,UAAU,EAAE,EAAE,eAAe,MAAM,WAAW,EAAE,EAAE;CACzE,MAAM,iBAAiB,UAAU,OAAO,KAAK,IAAI,OAAO,YAAY;CACpE,MAAM,eAAe,IAAI,SAAS,GAAG,WAAW;AAC9C,UAAiC,iBAAiB,UAAU,WAAW;AACrE,UAAO,IAAI,aAAa,WAAW,aAAa,CAAC;IACjD;GACF;AACF,QAAO,IAAI,eAAe,EACxB,MAAM,MAAM,YAAY;EACtB,IAAI,2BAA2B,IAAI,SAAS;EAC5C,IAAI,6BAA6B,IAAI,SAAS;EAC9C,IAAI,WAAW;GAAE,OAAO;GAAG,WAAW;GAAG;EACzC,IAAI,KAAK,IAAI,WAAW;EACxB,IAAI,SAAS,EAAE;EACf,IAAI,WAAW,WAAW;AACxB,cACE,QACA,QACA,UACA,YACAK,YACA,UACA,SACA,aACD;AACD,cAAW,QAAQ,OAAO,KAAK,GAAG,GAAG,KAAK;AAC1C,UAAO,SAAS;;EAElB,IAAI,yBAAyB,IAAI,WAAW;AAC1C,MAAG,MAAM;AACT,OAAI,SAAS,CACX;AACF,cAAW,QAAQ,GAAG,KAAK,cAAc;AACzC,WAAQ,OAAO;;EAEjB,IAAI,yBAAyB,IAAI,UAAU;AACzC,MAAG,MAAM;AACT,OAAI,SAAS,CACX;AACF,cAAW,QAAQ,GAAG,KAAK,cAAc;AACzC,WAAQ,MAAM;;EAEhB,IAAIA,aAAW,EACb,OAAO,GAAG,kBAAkB;AAC1B,QAAK,IAAI,CAAC,MAAM,IAAI,YAAY,eAAe;AAC7C,OAAG,KAAK;AACR,QAAI,SAAS,yBACX,SAAQ,KAAK,CAAC,SAAS,aAAa,CAAC,CAAC,KACpC,sBAAsB,KAAK,MAAM,GAAG,EACpC,sBAAsB,KAAK,MAAM,GAAG,CACrC;QAED,EAAC,YAAY;KACX,IAAI,WAAW,QAAQ,OAAO,gBAAgB;KAC9C,IAAI;AACJ,QAAG;AACD,eAAS,MAAM,SAAS,MAAM;AAC9B,UAAI,SAAS,CACX;AACF,UAAI,CAAC,OAAO,MAAM;AAChB,kBAAW,QAAQ,GAAG,KAAK,cAAc;AACzC,eAAQ,OAAO,MAAM;;cAEhB,CAAC,OAAO;QACf,CAAC,WACG;AACJ,SAAI,SAAS,CACX;AACF,gBAAW,QAAQ,GAAG,GAAG;EACzC;QAEe,UAAU;AACT,SAAI,SAAS,CACX;AACF,gBAAW,QAAQ,GAAG,KAAK,cAAc;AACzC,aAAQ,MAAM;MAEjB,CAAC,cAAc;AACd,QAAG,MAAM;MACT;;KAIT;AACD,MAAI;AACF,WAAQ,MAAM;AACd;AACE,UAAM,QAAQ,KAAK,CAAC,GAAG,MAAM,EAAE,aAAa,CAAC;UACtC,GAAG,IAAI;AAChB,cAAW,OAAO;WACX,OAAO;AACd,cAAW,MAAM,MAAM;;IAG5B,CAAC;;AAEJ,IAAI,mCAAmC;AACvC,IAAI,oCAAoC;AACxC,IAAI,cAAc,MAAM;CACtB;CACA;CACA;CACA,YAAY,MAAM,QAAQ,OAAO;AAC/B,OAAK,OAAO;AACZ,OAAK,SAAS;AACd,OAAK,QAAQ;;;AAGjB,SAAS,WAAW,OAAO,QAAQ,MAAM,YAAU,aAAa,UAAU,SAAS,cAAc;CAC/F,IAAI,cAAc,CAChB,IAAI,YACF,kCACA,IACA,MACD,CACF;CACD,IAAI;AACJ,YACE,SAAQ,QAAQ,YAAY,KAAK,MAAM,KAAK,GAAG;AAC7C,MAAI,MAAM,SAAS,mCAAmC;AACpD,UAAO,KAAK,MAAM,OAAO;AACzB;;EAEF,IAAI,EAAE,QAAQ,OAAO,WAAW;AAChC,SAAO,KAAK,OAAO;AACnB,MAAI,WAAW,KAAK,GAAG;AACrB,UAAO,KAAK,cAAc;AAC1B;;AAEF,MAAI,WAAW,MAAM;AACnB,UAAO,KAAK,SAAS;AACrB;;AAEF,MAAI,WAAW,MAAM;AACnB,UAAO,KAAK,SAAS;AACrB;;AAEF,MAAI,WAAW,OAAO;AACpB,UAAO,KAAK,UAAU;AACtB;;EAEF,MAAM,cAAc,OAAO;AAC3B,MAAI,gBAAgB,UAAU;AAC5B,OAAI,kBAAkB,WAAW,OAAO,OAAO,SAAS,YAAY;IAClE,IAAI,aAAaA,WAAS,IAAI,OAAO;AACrC,QAAI,eAAe,KAAK,GAAG;AACzB,YAAO,KAAK,aAAa,WAAW,UAAU,CAAC;AAC/C;;IAEF,IAAI,YAAY,SAAS;AACzB,eAAS,IAAI,QAAQ,UAAU;AAC/B,WAAO,KAAK,aAAa,UAAU,UAAU,CAAC;AAC9C,gBAAY,KAAK;KACf;KACA;KACA;KACD,CAAC;AACF;;AAEF,OAAI,kBAAkB,gBAAgB;IACpC,IAAI,aAAaA,WAAS,IAAI,OAAO;AACrC,QAAI,eAAe,KAAK,GAAG;AACzB,YAAO,KAAK,qBAAqB,WAAW,UAAU,CAAC;AACvD;;IAEF,IAAI,aAAa,SAAS;AAC1B,eAAS,IAAI,QAAQ,WAAW;AAChC,WAAO,KAAK,qBAAqB,WAAW,UAAU,CAAC;AACvD,gBAAY,KAAK;KACf;KACA;KACA,EACE,CAAC,OAAO,gBAAgB,mBAAmB;MACzC,IAAI,SAAS,OAAO,WAAW;AAC/B,UAAI;AACF,cAAO,MAAM;QACX,IAAI,EAAE,MAAM,OAAO,WAAW,MAAM,OAAO,MAAM;AACjD,YAAI,KACF;AAEF,cAAM;;gBAEA;AACR,cAAO,aAAa;;QAGzB;KACF,CAAC;AACF;;AAEF,OAAI,OAAO,OAAO,OAAO,mBAAmB,YAAY;IACtD,IAAI,aAAaA,WAAS,IAAI,OAAO;AACrC,QAAI,eAAe,KAAK,GAAG;AACzB,YAAO,KAAK,oBAAoB,WAAW,UAAU,CAAC;AACtD;;IAEF,IAAI,aAAa,SAAS;AAC1B,eAAS,IAAI,QAAQ,WAAW;AAChC,WAAO,KAAK,oBAAoB,WAAW,UAAU,CAAC;AACtD,gBAAY,KAAK;KACf;KACA;KACA;KACD,CAAC;AACF;;GAEF;IACE,IAAI,aAAa,KAAK,IAAI,OAAO;AACjC,QAAI,eAAe,KAAK,GAAG;AACzB,YAAO,KAAK,sBAAsB,WAAW,UAAU,CAAC;AACxD;;AAEF,SAAK,IAAI,QAAQ,SAAS,QAAQ;;AAEpC,OAAI,kBAAkB,KACpB,QAAO,KAAK,UAAU,MAAK,OAAO,QAAQ,EAAE,KAAI;YACvC,kBAAkB,OAC3B,QAAO,KAAK,YAAY,KAAK,UAAU,CAAC,OAAO,QAAQ,OAAO,MAAM,CAAC,CAAC;YAC7D,kBAAkB,IAC3B,QAAO,KAAK,SAAS,KAAK,UAAU,OAAO,CAAC;YACnC,kBAAkB,YAC3B,QAAO,KACL,kBACA,oBAAoB,IAAI,WAAW,OAAO,CAAC,CAC5C;YACQ,kBAAkB,UAC3B,QAAO,KAAK,iBAAiB,oBAAoB,OAAO,CAAC;YAChD,kBAAkB,WAC3B,QAAO,KAAK,kBAAkB,oBAAoB,OAAO,CAAC;YACjD,kBAAkB,kBAC3B,QAAO,KAAK,0BAA0B,oBAAoB,OAAO,CAAC;YACzD,kBAAkB,WAC3B,QAAO,KAAK,kBAAkB,oBAAoB,OAAO,CAAC;YACjD,kBAAkB,YAC3B,QAAO,KAAK,mBAAmB,oBAAoB,OAAO,CAAC;YAClD,kBAAkB,WAC3B,QAAO,KAAK,kBAAkB,oBAAoB,OAAO,CAAC;YACjD,kBAAkB,YAC3B,QAAO,KAAK,mBAAmB,oBAAoB,OAAO,CAAC;YAClD,kBAAkB,aAC3B,QAAO,KAAK,oBAAoB,oBAAoB,OAAO,CAAC;YACnD,kBAAkB,aAC3B,QAAO,KAAK,oBAAoB,oBAAoB,OAAO,CAAC;YACnD,kBAAkB,cAC3B,QAAO,KAAK,sBAAsB,oBAAoB,OAAO,CAAC;YACrD,kBAAkB,eAC3B,QAAO,KAAK,uBAAuB,oBAAoB,OAAO,CAAC;YACtD,kBAAkB,SAC3B,QAAO,KAAK,eAAe,oBAAoB,OAAO,CAAC;YAC9C,kBAAkB,SAC3B,aAAY,KACV,IAAI,YACF,kCACA,eACA,MAAM,KAAK,OAAO,SAAS,CAAC,CAC7B,CACF;YACQ,iBAAiB,kBAAkB,KAC5C,aAAY,KACV,IAAI,YAAY,kCAAkC,UAAU;IAC1D,SAAS,OAAO,aAAa;IAC7B,MAAM,OAAO;IACb,MAAM,OAAO;IACb,MAAM,OAAO;IACb,cAAc,OAAO;IACtB,CAAC,CACH;YACQ,kBAAkB,KAC3B,aAAY,KACV,IAAI,YAAY,kCAAkC,UAAU;IAC1D,SAAS,OAAO,aAAa;IAC7B,MAAM,OAAO;IACb,MAAM,OAAO;IACd,CAAC,CACH;YACQ,kBAAkB,MAC3B,aAAY,KACV,IAAI,YACF,kCACA,WACA,wBAAwB,QAAQ,aAAa,CAC9C,CACF;YACQ,OAAO,OAAO,WAAW,YAAY;IAC9C,MAAM,WAAW,OAAO,QAAQ;AAChC,gBAAY,KACV,IAAI,YACF,kCACA,IACA,SACD,CACF;AACD,QAAI,OAAO,aAAa,SACtB,UAAS;QAET,MAAK,OAAO,OAAO;UAEhB;AAGH,QADiB,OAAO,OAAO,OAAO,cAAc,YACpC;KACd,IAAI,UAAU,MAAM,QAAQ,OAAO;KACnC,IAAI,WAAW,UAAU,SAAS,MAAM,KAAK,OAAO;AACpD,iBAAY,KACV,IAAI,YACF,mCACA,KACA,KAAK,EACN,CACF;AACD,UAAK,IAAI,IAAI,SAAS,SAAS,GAAG,KAAK,GAAG,IACxC,aAAY,KACV,IAAI,YACF,kCACA,MAAM,IAAI,KAAK,KACf,SAAS,GACV,CACF;AAEH,YAAO,KACL,UAAU,MAAM,kBAAkB,MAAM,GAAG,QAAQ,KAAK,kBAAkB,MAAM,GAAG,QAAQ,KAAK,IACjG;AACD;;IAGJ;KACE,IAAI,gBAAgB,QAAQ;AAC5B,UAAK,IAAI,IAAI,GAAG,IAAI,eAAe,KAAK;MACtC,IAAI,SAAS,QAAQ,GAAG,OAAO;AAC/B,UAAI,MAAM,QAAQ,OAAO,EAAE;AACzB,mBAAY,KACV,IAAI,YACF,kCACA,YACA,OACD,CACF;AACD,gBAAS;AACT,YAAK,OAAO,OAAO;AACnB,gBAAS;;;;AAIf,gBAAY,KACV,IAAI,YACF,mCACA,KACA,KAAK,EACN,CACF;IACD;KACE,IAAI,OAAO,OAAO,KAAK,OAAO;KAC9B,IAAI,MAAM,KAAK;KACf,IAAI,eAAe,IAAI,MAAM,IAAI;AACjC,YAAO;AACP,UAAK,IAAI,IAAI,KAAK,SAAS,GAAG,KAAK,GAAG,KAAK;MACzC,IAAI,MAAM,KAAK;MACf,IAAI,UAAU,IAAI,IAAI,MAAM;AAC5B,mBAAa,MAAM,KAAK,IAAI,YAC1B,kCACA,GAAG,UAAU,KAAK,UAAU,IAAI,CAAC,IACjC,OAAO,KACR;;AAEH,iBAAY,KAAK,GAAG,aAAa;;AAEnC,WAAO,KAAK,IAAI;;aAET,gBAAgB,SACzB,QAAO,KAAK,KAAK,UAAU,OAAO,CAAC;WAC1B,gBAAgB,SACzB,KAAI,IAAI,OAAO,CACb,QAAO,KAAK,QAAQ;WACX,WAAW,kBACpB,QAAO,KAAK,aAAa;WAChB,WAAW,kBACpB,QAAO,KAAK,sBAAsB;WACzB,OAAO,GAAG,QAAQ,GAAG,CAC9B,QAAO,KAAK,kBAAkB;MAE9B,QAAO,KAAK,OAAO,UAAU,CAAC;WAEvB,gBAAgB,SACzB,QAAO,KAAK,YAAY,OAAO,UAAU,CAAC;WACjC,gBAAgB,UAAU;GACnC,IAAI,YAAY,OAAO,OAAO,OAAO;AACrC,OAAI,OAAO,cAAc,SACvB,QAAO,KAAK,YAAY,KAAK,UAAU,UAAU,CAAC;OAElD,QAAO,KAAK,cAAc;SAEvB;GACL,IAAI,gBAAgB,QAAQ;AAC5B,QAAK,IAAI,IAAI,GAAG,IAAI,eAAe,KAAK;IACtC,IAAI,SAAS,QAAQ,GAAG,OAAO;AAC/B,QAAI,MAAM,QAAQ,OAAO,EAAE;AACzB,iBAAY,KACV,IAAI,YACF,kCACA,YACA,OACD,CACF;AACD,cAAS;;;AAGb,UAAO,KAAK,cAAc;;;;AAIlC,SAAS,wBAAwB,OAAO,cAAc;CACpD,MAAM,eAAe,iBAAiB,QAAQ,OAAO,iBAAiB,YAAY,OAAO,iBAAiB;CAC1G,MAAM,WAAW,OAAO,iBAAiB,WAAW,eAAe;AACnE,QAAO;EACL,MAAM,eAAe,UAAU,MAAM;EACrC,SAAS,eAAe,WAAW,MAAM;EACzC,OAAO,eAAe,KAAK,IAAI,MAAM;EACrC,OAAO,MAAM;EACd;;AAEH,SAAS,oBAAoB,SAAS;CACpC,MAAM,OAAO,IAAI,WACf,QAAQ,QACR,QAAQ,YACR,QAAQ,WACT;AACD,QAAO,IAAI,KAAK,OAAO,aAAa,MAAM,QAAQ,KAAK,CAAC,CAAC;;;;;ACpuC3D,MAAM,gBAAgB,EAAE,MAAM,GAAG,SAAS;AACzC,SAAQ,MAAR;EACC,KAAK,WAAW;GACf,MAAM,CAAC,QAAQ,KAAK,SAAS,QAAQ;AACrC,UAAO,EAAE,OAAO,IAAI,QAAQ,KAAK;IAChC;IACA;IACA;IACA,QAAQ,OAAO,SAAS,KAAK;IAC7B,CAAC,EAAE;;EAEL,KAAK,YAAY;GAChB,MAAM,CAAC,QAAQ,YAAY,SAAS,QAAQ;AAC5C,UAAO,EAAE,OAAO,IAAI,SAAS,MAAM;IAClC;IACA;IACA;IACA,CAAC,EAAE;;;AAGN,QAAO;EACN;AACF,MAAM,gBAAgB,EAAE,QAAQ;AAC/B,KAAI,eAAe,QAAS,QAAO;EAClC;EACA,IAAI;EACJ,IAAI;EACJ,MAAM,KAAK,IAAI,QAAQ;EACvB,IAAI;EACJ;AACD,KAAI,eAAe,SAAU,QAAO;EACnC;EACA,IAAI;EACJ,IAAI;EACJ,MAAM,KAAK,IAAI,QAAQ;EACvB,IAAI;EACJ;AACD,QAAO;EACN;AACF,SAAS,gBAAgB,UAAU;AAClC,QAAO,OAAO,YAAY;AACzB,MAAI,CAAC,QAAQ,KAAM,OAAM,IAAI,MAAM,iDAAiD;EACpF,MAAM,aAAa,MAAM,OAAO,QAAQ,KAAK,YAAY,IAAI,mBAAmB,CAAC,EAAE,EAAE,SAAS,eAAe,CAAC;EAC9G,MAAM,UAAU,SAAS,WAAW;AACpC,MAAI,CAAC,QAAS,OAAM,IAAI,MAAM,4CAA4C,WAAW,SAAS;EAC9F,MAAM,aAAa;GAClB,IAAI;GACJ,MAAM,KAAK;GACX;AACD,MAAI;AACH,cAAW,OAAO,MAAM,QAAQ,GAAG,WAAW,KAAK;WAC3C,GAAG;AACX,cAAW,KAAK;AAChB,cAAW,OAAO;;AAEnB,SAAO,IAAI,SAAS,OAAO,YAAY;GACtC,SAAS;GACT,cAAc;GACd,CAAC,CAAC;;;;;;AC5DL,SAAS,oBAAoB;AAC5B,QAAO,CAAC;EACP,MAAM;EACN,UAAU,cAAc,KAAK,UAAU;GACtC,IAAI,OAAO;AACX,OAAI,KAAK,SAAS,wBAAwB,CAAE,QAAO,KAAK,WAAW,yBAAyB,SAAS;AACrG,OAAI,KAAK,SAAS,sBAAsB,CAAE,QAAO,KAAK,WAAW,uBAAuB,uBAAuB;AAC/G,OAAI,SAAS,aAAc,QAAO;IACjC;IACA,KAAK;IACL;;EAEF,EAAE;EACF,MAAM;EACN,aAAa,CAAC,OAAO,KAAK,IAAI,SAAS,iBAAiB;EACxD,oBAAoB;AACnB,UAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,SAAS,CAAC,oBAAoB,+BAA+B,EAAE,EAAE,EAAE;;EAEzG,CAAC;;;;;AClBH,SAAS,oBAAoB,QAAQ;CACpC,MAAM,QAAQ,IAAI,WAAW,OAAO;CACpC,MAAM,MAAM,MAAM;AAClB,KAAI,MAAM,MAAO,QAAO,OAAO,aAAa,MAAM,MAAM,MAAM;CAC9D,IAAI,SAAS;AACb,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,IAAK,WAAU,OAAO,aAAa,MAAM,GAAG;AACrE,QAAO;;AAgCR,SAAS,SAAS,QAAQ;AACzB,QAAO,KAAK,oBAAoB,OAAO,CAAC;;AAKzC,eAAe,wBAAwB;CACtC,MAAM,MAAM,MAAM,OAAO,OAAO,YAAY;EAC3C,MAAM;EACN,QAAQ;EACR,EAAE,MAAM,CAAC,WAAW,UAAU,CAAC;CAChC,MAAM,WAAW,MAAM,OAAO,OAAO,UAAU,OAAO,IAAI;AAC1D,QAAO,IAAI,WAAW,SAAS;;;;;AClDhC,SAAS,aAAa,EAAE,IAAI,QAAQ;AACnC,QAAO,6BAA6B,KAAK,MAAM,mBAAmB,GAAG,CAAC;;AAEvE,SAAS,gBAAgB,IAAI;AAC5B,KAAI,GAAG,WAAW,0BAA0B,CAAE,QAAO,aAAa,GAAG,CAAC;;AAEvE,SAAS,aAAa,IAAI;AACzB,KAAI,CAAC,GAAG,SAAS,IAAI,CAAE,QAAO;EAC7B,UAAU;EACV,OAAO,EAAE;EACT;CACD,MAAM,CAAC,UAAU,YAAY,GAAG,MAAM,KAAK,EAAE;AAC7C,QAAO;EACN;EACA,OAAO,OAAO,YAAY,IAAI,gBAAgB,SAAS,CAAC;EACxD;;AAKF,SAAS,gCAAgC,IAAI;AAC5C,KAAI,GAAG,WAAW,2CAA2C,CAAE,QAAO,aAAa,GAAG,CAAC;;;;;ACrBxF,IAAW;CAAY,SAAS,KAAE;AAAC,KAAE,IAAE,SAAO,KAAG,UAAS,IAAE,IAAE,UAAQ,KAAG,WAAU,IAAE,IAAE,aAAW,KAAG,cAAa,IAAE,IAAE,oBAAkB,KAAG,qBAAoB,IAAE,IAAE,qBAAmB,KAAG,sBAAqB,IAAE,IAAE,mBAAiB,KAAG,oBAAmB,IAAE,IAAE,oBAAkB,KAAG;GAAqB,eAAa,aAAW,EAAE,EAAE;AAAC,MAAM,IAAE,MAAI,IAAI,WAAW,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;AAAG,SAAgB,MAAM,KAAE,IAAE,KAAI;AAAC,KAAG,CAAC,EAAE,QAAO,KAAK,YAAU,MAAMC,IAAE,EAAE;CAAC,MAAM,IAAEA,IAAE,SAAO,GAAE,KAAG,EAAE,YAAY,SAAO,EAAE,eAAa,IAAE,IAAE,EAAE,OAAO,OAAO;AAAW,KAAE,KAAG,EAAE,OAAO,KAAK,KAAK,KAAK,IAAE,MAAM,CAAC;CAAC,MAAM,IAAE,EAAE,GAAG,IAAE,EAAE;AAAC,MAAI,IAAE,IAAE,GAAGA,KAAE,IAAI,YAAY,EAAE,OAAO,QAAO,GAAE,EAAE,CAAC,EAAC,CAAC,EAAE,OAAO,CAAC,OAAM,OAAO,uBAAO,IAAI,MAAM,eAAe,EAAE,GAAGA,IAAE,MAAM,GAAE,EAAE,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,OAAO,GAAG,EAAE,GAAG,GAACA,IAAE,YAAY,MAAK,EAAE,GAAG,GAAC,EAAE,GAAG,EAAC,EAAC,KAAI,EAAE,GAAG,EAAC,CAAC;CAAC,MAAM,IAAE,EAAE,EAAC,IAAE,EAAE;AAAC,QAAK,EAAE,IAAI,GAAE;EAAC,MAAMC,MAAE,EAAE,IAAI,EAACC,MAAE,EAAE,IAAI,EAACC,MAAE,EAAE,IAAI,EAACC,MAAE,EAAE,IAAI,EAACC,MAAE,EAAE,IAAI,EAACC,MAAE,EAAE,IAAI,EAACC,MAAE,EAAE,IAAI;EAAC,IAAIC;AAAE,IAAE,IAAI,KAAG,MAAE,EAAER,IAAE,MAAM,OAAKK,MAAEJ,MAAE,IAAEA,KAAE,OAAKI,MAAEH,MAAE,IAAEA,IAAE,CAAC;EAAE,MAAM,IAAE,EAAE;AAAC,OAAI,EAAE,KAAK,EAAC,EAAE,IAAI,GAAE;GAAC,MAAMD,MAAE,EAAE,KAAK,EAACC,MAAE,EAAE,KAAK,EAACC,MAAE,EAAE,KAAK,EAACC,MAAE,EAAE,KAAK;AAAC,KAAE,KAAK,CAAC,EAAEJ,IAAE,MAAMC,KAAEC,IAAE,CAAC,EAAC,EAAEF,IAAE,MAAMG,KAAEC,IAAE,CAAC,CAAC,CAAC;;AAAC,IAAE,KAAK;GAAC,GAAEI;GAAE,GAAEL;GAAE,GAAEF;GAAE,GAAEC;GAAE,IAAGI;GAAE,IAAGC;GAAE,GAAEF;GAAE,GAAED;GAAE,IAAG,EAAE,SAAO,IAAE,IAAE;GAAK,CAAC;;AAAC,QAAK,EAAE,IAAI,GAAE;EAAC,MAAMH,MAAE,EAAE,IAAI,EAACC,MAAE,EAAE,IAAI,EAACC,MAAE,EAAE,KAAK,EAACC,MAAE,EAAE,KAAK,EAACC,MAAE,EAAEL,IAAE,MAAMC,KAAEC,IAAE,CAAC,EAACI,MAAEH,MAAE,IAAE,KAAK,IAAE,EAAEH,IAAE,MAAMG,KAAEC,IAAE,CAAC;AAAC,IAAE,KAAK;GAAC,GAAEH;GAAE,GAAEC;GAAE,IAAGC;GAAE,IAAGC;GAAE,GAAEC;GAAE,IAAGC;GAAE,CAAC;;CAAC,SAAS,EAAE,KAAE;AAAC,MAAG;AAAC,WAAO,GAAE,MAAML,IAAE;WAAOA,KAAE;;CAAG,SAAS,EAAE,KAAE;AAAC,MAAG,CAACA,IAAE,QAAOA;EAAE,MAAMC,MAAED,IAAE;AAAG,UAAO,SAAMC,OAAG,QAAMA,QAAI,EAAED,IAAE,IAAEA;;AAAE,QAAM;EAAC;EAAE;EAAE,CAAC,CAAC,EAAE,GAAG;EAAC,CAAC,CAAC,EAAE,IAAI;EAAC;;AAAC,SAAS,EAAE,KAAE,KAAE;CAAC,MAAME,MAAEF,IAAE;CAAO,IAAIQ,MAAE;AAAE,QAAKA,MAAEN,MAAG;EAAC,MAAMA,MAAEF,IAAE,WAAWQ,IAAE;AAAC,MAAE,UAAM,MAAIN,QAAI,IAAEA,QAAI;;;AAAG,SAAS,EAAE,KAAE,KAAE;CAAC,MAAMA,MAAEF,IAAE;CAAO,IAAIQ,MAAE;AAAE,QAAKA,MAAEN,KAAG,KAAEM,OAAGR,IAAE,WAAW,MAAI;;AAAC,IAAI;AAAE,MAAM,UAAM;AAAC,QAAO,MAAE,44YAA24Y,eAAa,OAAO,SAAO,OAAO,KAAKA,KAAE,SAAS,GAAC,WAAW,KAAK,KAAKA,IAAE,IAAE,QAAGA,IAAE,WAAW,EAAE,EAAE;KAAKA;;AAAG,MAAa,OAAK,YAAY,QAAQ,GAAG,CAAC,CAAC,KAAK,YAAY,YAAY,CAAC,OAAO,EAAC,SAAQA,UAAK;AAAC,KAAEA;GAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACK7rc,SAAS,8BAA8B,MAAM,QAAQ,SAAS;AAC7D,KAAI,OAAO,YAAY,eAAe,OAAO,aAAa,YAAa,OAAM,IAAI,UAAU,6EAA6E;AACxK,KAAI,CAAC,QAAQ,cAAe,OAAM,IAAI,UAAU,mFAAmF;AACnI,QAAO,IAAI,wBAAwB,MAAM,QAAQ,QAAQ;;AAE1D,SAAS,0BAA0B,aAAa;AAC/C,QAAO,uBAAuB;;AAE/B,IAAI,0BAA0B,cAAc,eAAe;CAC1D;CACA,YAAY,MAAM,QAAQ,SAAS;AAClC,QAAM,MAAM,QAAQ,QAAQ;AAC5B,OAAK,iBAAiB,QAAQ;;CAE/B,MAAM,cAAc,SAAS;AAC5B,MAAI,EAAE,mBAAmB,SAAU,OAAM,IAAI,UAAU,2EAA2E;EAClI,MAAM,WAAW,MAAM,KAAK,eAAe,QAAQ;AACnD,MAAI,EAAE,oBAAoB,UAAW,OAAM,IAAI,UAAU,mFAAmF;AAC5I,SAAO;;;;;;;;CCrBT,SAAS,cAAc,KAAK,qBAAqB;AAC/C,SAAO,oBAAoB,MAAM,OAAO,gBAAgB,GAAG,KAAK,IAAI;;;CAItE,SAAS,cAAc,KAAK,qBAAqB;AAC/C,QAAM,gBAAgB,IAAI;AAC1B,SAAO,oBAAoB,MACxB,OAAO,OAAO,OAAO,IAAI,WAAW,GAAG,GAAG,GAAG,CAC/C;;;CAIH,SAAS,kBAAkB,KAAK,eAAe;AAC7C,MAAI,kBAAkB,KACpB,QAAO;MAEP,QAAO,QAAQ,KAAK,cAAc;;;CAKtC,SAAS,gBAAgB,KAAK,aAAa;AAMzC,MAAI,gBAAgB,KAClB,QAAO;MAEP,QAAO,YAAY,SAAS,IAAI;;;;;CAOpC,SAAS,gBAAgB,KAAK;EAC5B,MAAM,YAAY,IAAI,YAAY,IAAI;AACtC,SAAO,cAAc,KAAK,MAAM,IAAI,MAAM,YAAY,EAAE,CAAC,MAAM;;;;;;CAOjE,SAAS,QAAQ,QAAQ,SAAS;AAChC,MAAI,MAAM,QAAQ,QAAQ,CACxB,QAAO,QAAQ,MAAM,MAAM,QAAQ,QAAQ,EAAE,CAAC;WACrC,OAAO,YAAY,SAC5B,QAAO,WAAW;WACT,mBAAmB,OAC5B,QAAO,QAAQ,KAAK,OAAO;;AAI/B,QAAO,UAAU;EACf;EACA;EACA;EACA;EACD;;;;;;;ACrDD,IAAI;;AAIJ,IAAI;AAEJ,IAAI,QAAQ,SAAS,IACnB,KAAI;AACF,OAAM,cAAc,OAAO,KAAK,IAAI,CAAC,SAAS;AAG9C,wBAAuB,IAAI,wBAAwB;QAC7C;;AAMV,eAAsB,mBAAmB,SAAS;CAChD,MAAM,cAAc,MAAM,uBAAuB,QAAQ,KAAK;AAC9D,KAAI,CAAC,YAEH,QAAO;EACL,cAAc;GAAE,SAAS,EAAE;GAAE,SAAS,EAAE;GAAE;EAC1C,KAAK;GAAE,YAAY,EAAE;GAAE,UAAU,EAAE;GAAE;EACtC;CAEH,MAAM,UAAU,MAAM,SAAS,YAAY,CAAC,OAAO,MAAM;AACvD,QAAM,IAAI,MAAM,kBAAkB,eAAe,EAAE,OAAO,GAAG,CAAC;GAC9D;;CAGF,IAAI,sBAAsB,EAAE;;CAE5B,IAAI,sBAAsB,EAAE;;CAE5B,IAAI,gBAAgB,EAAE;;CAEtB,IAAI,cAAc,EAAE;AAEpB,OAAM,MAAM,aAAa,QAAQ;AAGjC,KAAI,QAAQ,gBAAgB;EAE1B,MAAM,uBAAuB,QAAQ,gBAAgB,cAAc;AACnE,MAAI,qBACF,uBAAsB,oBAAoB,QACvC,QAAQ,gCAAe,KAAK,qBAAqB,CACnD;EAGH,MAAM,uBAAuB,QAAQ,gBAAgB,cAAc;AACnE,MAAI,qBACF,uBAAsB,oBAAoB,QACvC,QAAQ,gCAAe,KAAK,qBAAqB,CACnD;EAGH,MAAM,eAAe,QAAQ,gBAAgB,KAAK;AAClD,MAAI,aACF,iBAAgB,cAAc,QAC3B,QAAQ,kCAAiB,KAAK,aAAa,CAC7C;EAGH,MAAM,iBAAiB,QAAQ,gBAAgB,KAAK;AACpD,MAAI,eACF,eAAc,YAAY,QACvB,QAAQ,oCAAmB,KAAK,eAAe,CACjD;;AAIL,QAAO;EACL,cAAc;GACZ,SAAS;GACT,SAAS;GACV;EACD,KAAK;GACH,YAAY;GACZ,UAAU;GACX;EACF;;;;;;;;;;;;;CAcD,eAAe,MAAM,eAAa,WAAS,iBAAiB,EAAE,EAAE;EAC9D,MAAM,SAAS,eAAe,WAAW;EACzC,MAAM,uBAAuB,UAAU,0BAA0BS,eAAYC,WAAQ,QAAQ,cAAc;;EAE3G,IAAI,OAAO,CACT,GAAG,OAAO,KAAKA,UAAQ,gBAAgB,EAAE,CAAC,EAC1C,GAAK,uBAAwB,OAAO,KAAKA,UAAQ,mBAAmB,EAAE,CAAC,GAAG,EAAE,CAC7E;AAED,SAAO,KAAK,QAAQ,QAAQ;AAE1B,OAAI,eAAe,SAAS,IAAI,CAC9B,QAAO;GAGT,MAAM,iBAAiB,QAAQ,uBAAuB,IAAI;GAC1D,MAAM,qBAAqB,QAAQ,2BAA2B,IAAI;AAClE,OAAI,gBAAgB;AAGlB,wBAAoB,KAAK,IAAI;AAG7B,kBAAc,KAAK,IAAI;cACd,mBAGT,eAAc,KAAK,IAAI;AAKzB,OAAI,mBAAmB,SAAS,uBAAuB,MACrD,QAAO;OAMP,QAAO;IAET;EAEF,MAAMC,aAAW,KAAK,IAAI,OAAO,QAAQ;GACvC,MAAM,iBAAiB,MAAM,oBAAoB,KAAKF,eAAa,CAAC,CAAC,QAAQ,cAAc;AAC3F,OAAI,CAAC,eAAgB;GACrB,MAAM,aAAa,MAAM,SAAS,eAAe,CAAC,YAAY,GAAG;AACjE,OAAI,CAAC,WAAY;AAIjB,OAD6B,cAAc,SAAS,IAAI,CAEtD,QAAO,MAAM,gBAAgB,YAAY,eAAe,OAAO,IAAI,CAAC;GAItE,MAAM,iBAAiB,QAAQ,uBAAuB,WAAW;GACjE,MAAM,qBAAqB,QAAQ,2BAA2B,WAAW;AACzE,OAAI,kBAAkB,oBAAoB;AAExC,QAAI,gBAAgB;AAClB,yBAAoB,KAAK,IAAI;AAC7B,mBAAc,KAAK,IAAI;eACd,mBACT,eAAc,KAAK,IAAI;AAEzB,WAAO,MAAM,gBAAgB,YAAY,eAAe,OAAO,IAAI,CAAC;;AAMtE,OAAI,CAAC,QAAQ;AAEX,QAAI,MAAM,qBAAqB,YAAY,eAAe,CACxD,qBAAoB,KAAK,eAAe,OAAO,IAAI,CAAC,KAAK,MAAM,CAAC;AAKlE,QAAI,CAAC,QAAQ,WAAW,CAAC,YAAY,SAAS,IAAI,CAChD,aAAY,KAAK,IAAI;;IAGzB;AAEF,QAAM,QAAQ,IAAIE,WAAS;;;;;;;;;;;;AAiB/B,eAAe,oBAAoB,KAAK,QAAQ,yBAAyB;AACvE,KAAI,KAAK;AACP,MAAG,wBACD,KAAI;GAGF,MAAM,UAAU,qBAAqB,MAAM,WAASC,OAAK,SAAS,IAAI;AACtE,OAAI,SAAS;IACX,MAAM,UAAU,IAAI,sBAAsB,QAAQ,CAAC;AACnD,WAAO,KAAK,QAAQ,SAAS,eAAe;;UAExC;AAEV,MAAI;GACF,MAAM,UAAU,IAAI,qBAAqB,KAAK,OAAO;AACrD,OAAI,CAAC,QAAS,QAAO;AACrB,UAAO,KAAK,KAAK,SAAS,eAAe;UACnC;AACN;;;CAIJ,IAAI,OAAO;AACX,QAAO,MAAM;EACX,MAAM,MAAM,KAAK,KAAK,MAAM,gBAAgB,KAAK,eAAe;AAChE,MAAI;AACF,SAAMC,KAAG,OAAO,IAAI;AAGpB,UAAOC,GAAO,aAAa,IAAI;UACzB;EACR,MAAM,WAAW,KAAK,QAAQ,KAAK;AACnC,MAAI,aAAa,KAAM;AACvB,SAAO;;;;AAMX,eAAsB,uBAAuB,KAAK,YAAY,QAAW;AACvE,KAAI,IAAI,SAAS,eAAe,CAC9B,OAAM,KAAK,QAAQ,IAAI;AAEzB,QAAO,KAAK;EACV,MAAM,MAAM,KAAK,KAAK,KAAK,eAAe;AAC1C,MAAI;AAEF,QADa,MAAMD,KAAG,KAAK,IAAI,EACtB,QAAQ,KAAK,CAAC,aAAc,MAAM,UAAU,IAAI,EACvD,QAAO;UAEH;EACR,MAAM,UAAU,KAAK,QAAQ,IAAI;AACjC,MAAI,YAAY,IAAK;AACrB,QAAM;;;;AAMV,eAAsB,qBAAqB,SAAS,aAAa;AAG/D,KAAI,QAAQ,UAAU,QAAQ,QAAS,QAAO;AAG9C,KAAI,QAAQ,MAAM;EAChB,MAAM,WAAW,KAAK,QAAQ,QAAQ,KAAK;AAC3C,SAAO,CAAC,YAAY,aAAa,SAAS,aAAa;;AAKzD,KAAI;AACF,QAAMA,KAAG,OAAO,KAAK,KAAK,KAAK,QAAQ,YAAY,EAAE,WAAW,CAAC;AACjE,SAAO;SACD;AACN,SAAO;;;;;;;AAQX,eAAe,SAAS,oBAAoB;AAC1C,QAAO,KAAK,MAAM,MAAMA,KAAG,SAAS,oBAAoB,OAAO,CAAC;;;;;;;;;AAUlE,SAAS,0BAA0B,aAAY,SAAQ,gBAAgB,QAAW;AAChF,QAAO,CAAC,EACN,iBACA,QAAQ,WACR,CAAC,YAAY,MAAM,yBAAyB,IAC5C,CAAC,KAAK,SAAS,eAAc,YAAY,CAAC,WAAW,KAAK;;;;;AC3S9D,MAAM,qBAAqB;AAC3B,SAAS,kBAAkB,MAAM,KAAK,SAAS;CAC9C,MAAM,SAAS,IAAI,YAAY,KAAK;CACpC,MAAM,WAAW,QAAQ,IAAI;CAC7B,MAAM,cAAc,EAAE;CACtB,MAAM,eAAe,EAAE;CACvB,IAAI,aAAa;AACjB,QAAK,KAAK;EACT,MAAM,MAAM;AACX,eAAY,KAAK,KAAK;AACtB,OAAI,KAAK,SAAS,oBAAoB,KAAK,OAAO,SAAS,gBAAgB,KAAK,OAAO,SAAS,aAAa,KAAK,UAAU,WAAW,GAAG;IACzI,IAAI,aAAa;AACjB,SAAK,MAAM,UAAU,aAAa;AACjC,SAAI,OAAO,SAAS,wBAAwB,OAAO,SAAS,yBAAyB,OAAO,SAAS,0BAA2B,cAAa;KAC7I,MAAM,QAAQ,SAAS,IAAI,IAAI,OAAO;AACtC,SAAI,SAAS,MAAM,aAAa,IAAI,UAAU,CAAE;;AAEjD,QAAI,YAAY;AACf,YAAO,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,gCAAgC;AAC3E,YAAO,YAAY,KAAK,KAAK,KAAK;WAC5B;KACN,MAAM,UAAU,sBAAsB;KACtC,MAAM,WAAW,KAAK,MAAM,KAAK,UAAU,GAAG,OAAO,KAAK,UAAU,GAAG,IAAI;AAC3E,kBAAa,KAAK,SAAS,QAAQ,kCAAkC,SAAS,OAAO;AACrF,YAAO,OAAO,KAAK,OAAO,KAAK,KAAK,QAAQ;AAC5C;;;;EAIH,QAAQ;AACP,eAAY,KAAK;;EAElB,CAAC;AACF,MAAK,MAAM,WAAW,aAAa,SAAS,CAAE,QAAO,QAAQ,QAAQ;AACrE,KAAI,OAAO,YAAY,CAAE,QAAO,QAAQ,GAAG,mBAAmB,IAAI;AAClE,QAAO,QAAQ,kDAAkD;CACjE,MAAM,aAAa,cAAc,cAAc,QAAQ,GAAG,CAAC,KAAK;CAChE,MAAM,YAAY,KAAK,QAAQ,WAAW;AAC1C,QAAO,QAAQ,oBAAoB,KAAK,UAAU,WAAW,CAAC,oBAAoB,KAAK,UAAU,UAAU,CAAC,KAAK;AACjH,QAAO,OAAO;;;;EAIb;AACD,QAAO,EAAE,QAAQ;;AAKlB,MAAM,QAAQ,YAAY,eAAe;AACzC,SAAS,wBAAwB;CAChC,MAAM,iCAAiC,IAAI,KAAK;AAChD,QAAO,CAAC;EACP,MAAM;EACN,OAAO;EACP,qBAAqB,QAAQ,IAAI,OAAO,IAAI;EAC5C,MAAM,UAAU,MAAM,IAAI;AACzB,OAAI,GAAG,SAAS,iBAAiB,IAAI,CAAC,GAAG,WAAW,KAAK,YAAY,OAAO,SAAS,IAAI,wBAAwB,KAAK,KAAK,EAAE;AAC5H,SAAK,aAAa,GAAG,CAAC;AACtB,QAAI,CAAC,aAAa,KAAK,GAAG,CAAE;AAC5B,QAAI,GAAG,SAAS,OAAO,CAAE;AACzB,QAAI,GAAG,SAAS,MAAM,EAAE;KACvB,MAAM,cAAc,MAAM,uBAAuB,KAAK,QAAQ,GAAG,CAAC;AAClE,SAAI,aACH;UAAI,KAAK,MAAM,GAAG,aAAa,aAAa,QAAQ,CAAC,CAAC,SAAS,SAAU;;;IAG3E,MAAM,OAAO,mBAAmBE,MAAoB,KAAK;AACzD,QAAI,gBAAiB;IACrB,MAAM,aAAa,kBAAkB,GAAG;AACxC,QAAI,CAAC,eAAe,IAAI,WAAW,EAAE;AACpC,WAAM,oCAAoC,KAAK,YAAY,KAAK,iBAAiB,KAAK;AACtF,oBAAe,IAAI,WAAW;;IAE/B,MAAM,SAAS,kBAAkB,MAAM,MAAM,cAAc,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;AAC1E,WAAO;KACN,MAAM,OAAO,UAAU;KACvB,KAAK,OAAO,YAAY,EAAE,OAAO,YAAY,CAAC;KAC9C;;;EAGH,CAAC;;AAEH,SAAS,kBAAkB,IAAI;CAC9B,MAAM,YAAY,GAAG,MAAM,0BAA0B;AACrD,KAAI,UAAW,QAAO,UAAU;AAChC,KAAI,GAAG,SAAS,gBAAgB,EAAE;AACjC,OAAK,GAAG,MAAM,iBAAiB,CAAC,GAAG,GAAG;EACtC,IAAI,CAAC,GAAG,KAAK,GAAG,MAAM,IAAI;AAC1B,MAAI,EAAE,WAAW,IAAI,CAAE,QAAO,GAAG,EAAE,GAAG;AACtC,SAAO;;AAER,QAAO;;;;;ACxGR,SAAS,YAAY,QAAQ,QAAQ,WAAW;AAC/C,MAAK,MAAM,OAAO,CAAC,GAAG,OAAO,oBAAoB,OAAO,EAAE,GAAG,OAAO,sBAAsB,OAAO,CAAC,EAAE;AACnG,MAAI,QAAQ,cAAe;EAC3B,MAAM,aAAa,OAAO,yBAAyB,QAAQ,IAAI;EAC/D,MAAM,OAAO,OAAO,yBAAyB,QAAQ,IAAI;EACzD,IAAI,WAAW;AACf,MAAI,KAAK,KAAK;AACb,cAAW;AACX,QAAK,MAAM,YAAY,OAAO,WAAW;AACxC,WAAO,KAAK,WAAW;;;AAGzB,MAAI,KAAK,KAAK;AACb,cAAW;AACX,QAAK,MAAM,YAAY,OAAO,SAAS,OAAO;AAC7C,SAAK,WAAW,OAAO;;;AAGzB,MAAI,CAAC,YAAY,SAAS,OAAO,KAAK,UAAU,YAAY;AAC3D,cAAW;AACX,QAAK,QAAQ,SAAS,GAAG,MAAM;AAC9B,WAAO,KAAK,WAAW,KAAK,GAAG,KAAK;;;AAGtC,MAAI,SAAU,QAAO,eAAe,QAAQ,KAAK,KAAK;;;;;;;;;;;;;;;;;;;;ACRxD,MAAM,UAA0B,uBAAO;CACtC,MAAM,YAAY,WAAW;CAC7B,MAAM,YAAY,MAAMC,MAAI;EAC3B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YAAY,KAAK;AAChB,OAAI,OAAO,QAAQ,SAAU,OAAKC,OAAQ;QACrC;AACJ,UAAKC,WAAY,IAAI;AACrB,UAAKC,OAAQ,IAAI;AACjB,UAAKC,WAAY,IAAI;AACrB,UAAKC,SAAU,IAAI;;;EAGrB,QAAQ,OAAO,aAAa,KAAK;AAChC,UAAO,eAAe;;EAEvB,IAAI,OAAO;AACV,OAAI,MAAKC,IAAM,QAAO,MAAKA;AAC3B,SAAKA,MAAO,IAAI,UAAU,KAAK,KAAK;AACpC,SAAKL,OAAQ,KAAK;AAClB,SAAKC,WAAY,KAAK;AACtB,SAAKC,OAAQ,KAAK;AAClB,SAAKC,WAAY,KAAK;AACtB,SAAKC,SAAU,KAAK;AACpB,SAAKE,eAAgB,KAAK;AAC1B,SAAKC,MAAO,KAAK;AACjB,UAAO,MAAKF;;EAEb,IAAI,OAAO;AACV,OAAI,MAAKA,IAAM,QAAO,MAAKA,IAAK;AAChC,OAAI,CAAC,MAAKL,KAAO,OAAKA,OAAQ,GAAG,MAAKC,YAAa,QAAQ,IAAI,MAAKC,QAAS,cAAc,MAAKC,YAAa,MAAM,MAAKC,UAAW;AACnI,UAAO,MAAKJ;;EAEb,UAAU;AACT,OAAI,CAAC,MAAKO,KAAM;IACf,MAAM,MAAM,KAAK;IACjB,MAAM,aAAa,IAAI,QAAQ,MAAM;IACrC,MAAM,gBAAgB,eAAe,KAAK,KAAK,IAAI,QAAQ,KAAK,aAAa,EAAE;AAC/E,UAAKA,MAAO;KACX;KACA;KACA,kBAAkB,KAAK,KAAK,IAAI,QAAQ,KAAK,cAAc;KAC3D;;AAEF,UAAO,MAAKA;;EAEb,IAAI,WAAW;AACd,OAAI,MAAKF,IAAM,QAAO,MAAKA,IAAK;AAChC,OAAI,MAAKF,aAAc,KAAK,GAAG;IAC9B,MAAM,GAAG,eAAe,cAAc,MAAKK,QAAS;AACpD,QAAI,kBAAkB,GAAI,QAAO,KAAK,KAAK;AAC3C,UAAKL,WAAY,KAAK,KAAK,MAAM,eAAe,eAAe,KAAK,KAAK,IAAI,WAAW;;AAEzF,UAAO,MAAKA;;EAEb,IAAI,SAAS;AACZ,OAAI,MAAKE,IAAM,QAAO,MAAKA,IAAK;AAChC,OAAI,MAAKD,WAAY,KAAK,GAAG;IAC5B,MAAM,GAAG,eAAe,cAAc,MAAKI,QAAS;AACpD,QAAI,kBAAkB,GAAI,QAAO,KAAK,KAAK;IAC3C,MAAM,MAAM,KAAK;AACjB,UAAKJ,SAAU,eAAe,MAAM,eAAe,IAAI,SAAS,IAAI,KAAK,IAAI,MAAM,WAAW;;AAE/F,UAAO,MAAKA;;EAEb,IAAI,eAAe;AAClB,OAAI,MAAKC,IAAM,QAAO,MAAKA,IAAK;AAChC,OAAI,CAAC,MAAKC,aAAe,OAAKA,eAAgB,IAAI,gBAAgB,KAAK,OAAO;AAC9E,UAAO,MAAKA;;EAEb,IAAI,WAAW;AACd,OAAI,MAAKD,IAAM,QAAO,MAAKA,IAAK;AAChC,OAAI,MAAKJ,aAAc,KAAK,GAAG;IAC9B,MAAM,CAAC,iBAAiB,MAAKO,QAAS;AACtC,QAAI,kBAAkB,GAAI,QAAO,KAAK,KAAK;AAC3C,UAAKP,WAAY,KAAK,KAAK,MAAM,GAAG,gBAAgB,EAAE;;AAEvD,UAAO,MAAKA;;EAEb,WAAW;AACV,UAAO,KAAK;;EAEb,SAAS;AACR,UAAO,KAAK;;;AAGd,aAAY,UAAU,WAAW,UAAU,WAAW,OAAO;AAC7D,QAAO,eAAe,UAAU,WAAW,UAAU,UAAU;AAC/D,QAAO,eAAe,WAAW,UAAU;AAC3C,QAAO;IACJ;;;;ACvGJ,eAAe,iBAAiB,SAAS,QAAQ;AAChD,KAAI,CAAC,QAAQ;AACZ,UAAQ,aAAa;AACrB,SAAO,gBAAgB,QAAQ;;AAEhC,KAAI,OAAO,iBAAiB;EAC3B,MAAM,MAAM,OAAO,iBAAiB;AACpC,YAAU,SAAS,IAAI,QAAQ,IAAI,YAAY,IAAI,QAAQ;AAC3D,MAAI,IAAI,MAAM;AACb,OAAI,IAAI,gBAAgB,eAAgB,QAAO,WAAW,IAAI,MAAM,QAAQ;YACnE,OAAO,IAAI,MAAM,SAAS,YAAY;AAC9C,QAAI,KAAK,KAAK,QAAQ;AACtB,WAAO,IAAI,SAAS,cAAY,QAAQ,GAAG,SAASQ,UAAQ,CAAC;;AAE9D,WAAQ,MAAM,IAAI,KAAK;;AAExB,SAAO,gBAAgB,QAAQ;;CAEhC,MAAM,aAAa,CAAC,GAAG,OAAO,QAAQ;AACtC,WAAU,SAAS,OAAO,QAAQ,OAAO,YAAY,WAAW;AAChE,QAAO,OAAO,OAAO,WAAW,OAAO,MAAM,QAAQ,GAAG,gBAAgB,QAAQ;;AAEjF,SAAS,UAAU,SAAS,QAAQ,YAAY,YAAY;CAC3D,MAAM,eAAe,WAAW,OAAO,aAAa,WAAW,MAAM;AACrE,KAAI,CAAC,QAAQ,YAAa,KAAI,QAAQ,KAAK,gBAAgB,MAAO,SAAQ,UAAU,QAAQ,aAAa;KACpG,SAAQ,UAAU,QAAQ,YAAY,aAAa;;AAEzD,SAAS,gBAAgB,SAAS;AACjC,QAAO,IAAI,SAAS,cAAY,QAAQ,IAAIA,UAAQ,CAAC;;AAEtD,SAAS,WAAW,QAAQ,SAAS;AACpC,KAAI,QAAQ,WAAW;AACtB,SAAO,QAAQ;AACf;;CAED,MAAM,SAAS,OAAO,WAAW;CACjC,SAAS,aAAa,OAAO;AAC5B,SAAO,OAAO,MAAM,CAAC,YAAY,GAAG;AACpC,MAAI,MAAO,SAAQ,QAAQ,MAAM;;CAElC,SAAS,aAAa,EAAE,MAAM,SAAS;AACtC,MAAI;AACH,OAAI,KAAM,SAAQ,KAAK;YACd,QAAQ,MAAM,MAAM,CAAE,QAAO,MAAM,CAAC,KAAK,cAAc,aAAa;OACxE,SAAQ,KAAK,eAAe,OAAO,MAAM,CAAC,KAAK,cAAc,aAAa,CAAC;WACxE,OAAO;AACf,gBAAa,iBAAiB,QAAQ,QAAQ,KAAK,EAAE;;;AAGvD,SAAQ,GAAG,SAAS,aAAa;AACjC,SAAQ,GAAG,SAAS,aAAa;AACjC,QAAO,MAAM,CAAC,KAAK,cAAc,aAAa;AAC9C,QAAO,OAAO,OAAO,MAAM,aAAa,CAAC,cAAc;AACtD,UAAQ,IAAI,SAAS,aAAa;AAClC,UAAQ,IAAI,SAAS,aAAa;GACjC;;AAKH,IAAI,iBAAiB,cAAc,QAAQ;CAC1C;CACA,YAAY,EAAE,OAAO;EACpB,MAAMC,SAAO,IAAI,OAAO;AACxB,MAAIA,OAAK,OAAO,KAAK;GACpB,MAAM,SAASA,OAAK,QAAQ,IAAI;GAChC,MAAM,WAAW,WAAW,KAAKA,SAAOA,QAAM,MAAM,GAAG,OAAO,IAAI;GAClE,MAAM,SAAS,WAAW,KAAK,KAAKA,QAAM,MAAM,OAAO,IAAI;GAC3D,MAAM,OAAO,IAAI,QAAQ,QAAQ,IAAI,QAAQ,iBAAiB,GAAG,IAAI,OAAO,gBAAgB,SAAS,MAAM,IAAI,OAAO,eAAe,MAAM,IAAI,OAAO,aAAa,GAAG,IAAI,QAAQ,aAAa;GAC/L,MAAM,WAAW,IAAI,QAAQ,aAAa,IAAI,QAAQ,yBAAyB,WAAW,IAAI,QAAQ,eAAe,UAAU,WAAW;AAC1I,SAAM;IACL;IACA;IACA;IACA;IACA,CAAC;QACI,OAAMA,OAAK;AAClB,QAAKC,MAAO;;CAEb,IAAI,WAAW;AACd,SAAO,MAAM;;CAEd,IAAI,SAAS,OAAO;AACnB,OAAK,KAAK,WAAW;AACrB,QAAKA,IAAK,MAAM,KAAK,KAAK,WAAW,KAAK,KAAK;;;AAMjD,MAAM,qBAAqC,uBAAO;CACjD,MAAM,gBAAgB,WAAW;CACjC,MAAM,QAAQ;EACb;EACA;EACA,YAAY,KAAK;AAChB,SAAKA,MAAO;;EAEb,QAAQ,OAAO,aAAa,KAAK;AAChC,UAAO,eAAe;;EAEvB,IAAI,WAAW;AACd,OAAI,CAAC,MAAKC,SAAU;IACnB,MAAM,UAAU,IAAI,eAAe;IACnC,MAAM,aAAa,MAAKD,IAAK;IAC7B,MAAM,MAAM,WAAW;AACvB,SAAK,IAAI,IAAI,GAAG,IAAI,KAAK,KAAK,GAAG;KAChC,MAAM,MAAM,WAAW;AACvB,SAAI,IAAI,WAAW,EAAE,KAAK,GAAI;KAC9B,MAAM,QAAQ,WAAW,IAAI;AAC7B,aAAQ,OAAO,KAAK,MAAM;;AAE3B,UAAKC,UAAW;;AAEjB,UAAO,MAAKA;;EAEb,IAAI,MAAM;AACT,OAAI,MAAKA,QAAU,QAAO,MAAKA,QAAS,IAAI,KAAK;GACjD,MAAM,QAAQ,MAAKD,IAAK,QAAQ,KAAK,aAAa;AAClD,UAAO,MAAM,QAAQ,MAAM,GAAG,MAAM,KAAK,KAAK,GAAG,SAAS;;EAE3D,IAAI,MAAM;AACT,OAAI,MAAKC,QAAU,QAAO,MAAKA,QAAS,IAAI,KAAK;AACjD,UAAO,KAAK,aAAa,IAAI,MAAKD,IAAK;;EAExC,eAAe;AACd,OAAI,MAAKC,QAAU,QAAO,MAAKA,QAAS,cAAc;GACtD,MAAM,QAAQ,MAAKD,IAAK,QAAQ;AAChC,UAAO,MAAM,QAAQ,MAAM,GAAG,QAAQ,QAAQ,CAAC,MAAM,GAAG,EAAE;;EAE3D,CAAC,WAAW;GACX,MAAM,aAAa,MAAKA,IAAK;GAC7B,MAAM,MAAM,WAAW;AACvB,QAAK,IAAI,IAAI,GAAG,IAAI,KAAK,KAAK,GAAG;IAChC,MAAM,MAAM,WAAW;AACvB,QAAI,IAAI,WAAW,EAAE,KAAK,GAAI;AAC9B,UAAM,CAAC,IAAI,aAAa,EAAE,WAAW,IAAI,GAAG;;;EAG9C,UAAU;AACT,UAAO,MAAKC,UAAW,MAAKA,QAAS,SAAS,GAAG,KAAK,UAAU;;EAEjE,CAAC,OAAO,YAAY;AACnB,UAAO,KAAK,SAAS;;;AAGvB,aAAY,QAAQ,WAAW,cAAc,WAAW,WAAW;AACnE,QAAO,eAAe,SAAS,cAAc;AAC7C,QAAO,eAAe,QAAQ,WAAW,cAAc,UAAU;AACjE,QAAO;IACJ;AAIJ,MAAM,cAA8B,uBAAO;CAC1C,MAAM,gBAAgB,WAAW;CACjC,MAAMC,UAAQ;EACb;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YAAY,KAAK;AAChB,SAAKF,MAAO,IAAI;AAChB,QAAK,UAAU;IACd,MAAM;IACN,MAAM;IACN;;EAEF,QAAQ,OAAO,aAAa,KAAK;AAChC,UAAO,eAAe;;EAEvB,IAAI,KAAK;AACR,UAAO,MAAKA,IAAK,QAAQ;;EAE1B,IAAI,SAAS;AACZ,OAAI,MAAKG,QAAU,QAAO,MAAKA,QAAS;AACxC,UAAO,MAAKH,IAAK,UAAU;;EAE5B,IAAI,OAAO;AACV,UAAO,MAAKI,QAAS,IAAI,eAAe,EAAE,KAAK,MAAKJ,KAAM,CAAC;;EAE5D,IAAI,KAAK,KAAK;AACb,SAAKI,MAAO;;EAEb,IAAI,MAAM;AACT,OAAI,MAAKD,QAAU,QAAO,MAAKA,QAAS;AACxC,UAAO,KAAK,KAAK;;EAElB,IAAI,UAAU;AACb,OAAI,MAAKA,QAAU,QAAO,MAAKA,QAAS;AACxC,UAAO,MAAKF,YAAa,IAAI,mBAAmB,MAAKD,IAAK;;EAE3D,IAAI,mBAAmB;AACtB,OAAI,CAAC,MAAKK,iBAAkB;AAC3B,UAAKA,kBAAmB,IAAI,iBAAiB;IAC7C,MAAM,EAAE,KAAK,QAAQ,KAAK,QAAQ;IAClC,MAAM,kBAAkB,MAAKA;IAC7B,MAAM,SAAS,QAAQ,gBAAgB,QAAQ,IAAI;AACnD,QAAI,KAAK,SAAS,MAAM;AACxB,QAAI,IAAK,KAAI,KAAK,eAAe;KAChC,MAAM,WAAW,IAAI;AACrB,SAAI,SAAU,OAAM,SAAS;cACpB,CAAC,IAAI,cAAe,QAAO;MACnC;QACG,KAAI,KAAK,eAAe;AAC5B,SAAI,CAAC,IAAI,SAAU,QAAO;MACzB;;AAEH,UAAO,MAAKA;;EAEb,IAAI,SAAS;AACZ,UAAO,MAAKF,UAAW,MAAKA,QAAS,SAAS,KAAK,iBAAiB;;EAErE,IAAI,OAAO;AACV,OAAI,MAAKA,QAAU,QAAO,MAAKA,QAAS;AACxC,OAAI,MAAKG,eAAgB,KAAK,GAAG;IAChC,MAAM,SAAS,KAAK;AACpB,UAAKA,aAAc,EAAE,WAAW,SAAS,WAAW,UAAU,SAAS,MAAM,MAAKN,IAAK,GAAG;;AAE3F,UAAO,MAAKM;;EAEb,OAAO;AACN,OAAI,MAAKH,QAAU,QAAO,MAAKA,QAAS,MAAM;AAC9C,OAAI,MAAKG,eAAgB,KAAK,EAAG,QAAO,MAAKA,aAAc,IAAI,SAAS,MAAKA,WAAY,CAAC,MAAM,GAAG,QAAQ,QAAQ,GAAG;AACtH,UAAO,SAAS,MAAKN,IAAK,CAAC,MAAM,QAAQ,IAAI,UAAU,CAAC;;EAEzD,OAAO;AACN,OAAI,MAAKG,QAAU,QAAO,MAAKA,QAAS,MAAM;AAC9C,UAAO,KAAK,MAAM,CAAC,MAAM,SAAS,KAAK,MAAM,KAAK,CAAC;;EAEpD,IAAI,WAAW;AACd,OAAI,CAAC,MAAKA,SAAU;IACnB,MAAM,OAAO,KAAK;AAClB,UAAKA,UAAW,IAAI,cAAc,KAAK,KAAK;KAC3C,QAAQ,KAAK;KACb,SAAS,KAAK;KACd,QAAQ,KAAK,iBAAiB;KAC9B;KACA,QAAQ,OAAO,SAAS,KAAK;KAC7B,CAAC;AACF,UAAKF,UAAW,KAAK;AACrB,UAAKK,aAAc,KAAK;;AAEzB,UAAO,MAAKH;;;AAGd,aAAYD,UAAQ,WAAW,cAAc,WAAW,WAAW;AACnE,QAAO,eAAeA,UAAQ,WAAW,cAAc,UAAU;AACjE,QAAOA;IACJ;AAwBJ,SAAS,SAAS,KAAK;AACtB,QAAO,IAAI,SAAS,WAAS,WAAW;EACvC,MAAM,SAAS,EAAE;EACjB,MAAM,UAAU,UAAU;AACzB,UAAO,KAAK,MAAM;;EAEnB,MAAM,WAAW,QAAQ;AACxB,UAAO,IAAI;;EAEZ,MAAM,cAAc;AACnB,OAAI,IAAI,SAAS,QAAQ;AACzB,OAAI,IAAI,QAAQ,OAAO;AACvB,aAAQ,OAAO,OAAO,OAAO,CAAC;;AAE/B,MAAI,GAAG,QAAQ,OAAO,CAAC,KAAK,OAAO,MAAM,CAAC,KAAK,SAAS,QAAQ;GAC/D;;;;;AAmOH,SAAS,cAAc,SAAS;AAC/B,KAAI,QAAQ,cAAe,QAAO,QAAQ;CAC1C,SAAS,qBAAqB,SAAS,SAAS;EAC/C,MAAM,MAAM,QAAQ,IAAI,YAAY;GACnC,KAAK;GACL,KAAK;GACL,CAAC,CAAC;AACH,SAAO,eAAe,UAAU,IAAI,MAAM,gBAAgB,iBAAiB,SAAS,YAAY,CAAC,GAAG,iBAAiB,SAAS,IAAI;;AAEnI,sBAAqB,iBAAiB;AACtC,cAAa,sBAAsB,SAAS,+BAA+B;AAC3E,QAAO;;AAgBR,SAAS,aAAa,QAAQ,QAAQ,QAAQ;AAC7C,KAAI,OAAO,KAAM,KAAI;AACpB,SAAO,eAAe,QAAQ,QAAQ,EAAE,OAAO,GAAG,OAAO,OAAO,UAAU,CAAC;SACpE;;;;;;CC7iBT,IAAI,iBAAiB,YAAY,eAAe,eAAe,WAAW,SAAS,6BAA6B,mCAAmC,wBAAwB,kBAAkB,SAAS,gBAAgB,YAAY,2BACvM,kIADiO,mBAAmB,eAAe,UAAU,iCAAiC,2BAA2B;AAEpW,cAAa;AACb,cAAa;AACb,iBAAgB;AAChB,kBAAiB;AACjB,YAAW;AACX,cAAa;AACb,0BAAyB;AACzB,oBAAmB;AACnB,qBAAoB;AACpB,mBAAkB;AAClB,iBAAgB;AAChB,iBAAgB;AAChB,aAAY;AACZ,WAAU;AACV,6BAA4B;AAC5B,mCAAkC;AAClC,+BAA8B;AAC9B,qCAAoC;AACpC,WAAU,OAAO,uBAAuB,OAAO;AAC/C,QAAO,UAAqB,WAAU,OAAO,EAAC,MAAM,UAAS,EAAE,EAAE;EAChE,IAAI,QAAQ,gBAAgB,cAAc,WAAW,sBAAsB,QAAQ,OAAO,MAAM,eAAe,0BAA0B,cAAc,eAAe,YAAY;AAClL,GAAC,CAAC,UAAU;AACZ,cAAY;AACZ,yBAAuB;AACvB,UAAQ,CACP,EAAC,KAAK,MAAK,CACX;AACD,WAAS,EAAE;AACX,iBAAe;AACf,kBAAgB;AAChB,MAAI,QAAQ,gBAAgB,KAAK,MAAM,EAAE;AACxC,SAAO;IACN,MAAM;IACN,OAAO,MAAM;IACb;AACD,eAAY,MAAM,GAAG;;AAEtB,SAAO,YAAY,QAAQ;AAC1B,UAAO,MAAM,MAAM,SAAS;AAC5B,WAAQ,KAAK,KAAb;IACC,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;AACJ,SAAI,MAAM,eAAe,QAAQ,0BAA0B,KAAK,qBAAqB,IAAI,4BAA4B,KAAK,qBAAqB,GAAG;AACjJ,+BAAyB,YAAY;AACrC,UAAI,QAAQ,yBAAyB,KAAK,MAAM,EAAE;AACjD,mBAAY,yBAAyB;AACrC,8BAAuB,MAAM;AAC7B,uBAAgB;AAChB,aAAO;QACN,MAAM;QACN,OAAO,MAAM;QACb,QAAQ,MAAM,OAAO,KAAK,KAAK,MAAM,OAAO;QAC5C;AACD;;;AAGF,gBAAW,YAAY;AACvB,SAAI,QAAQ,WAAW,KAAK,MAAM,EAAE;AACnC,mBAAa,MAAM;AACnB,sBAAgB,WAAW;AAC3B,iCAA2B;AAC3B,cAAQ,YAAR;OACC,KAAK;AACJ,YAAI,yBAAyB,6BAC5B,OAAM,KAAK;SACV,KAAK;SACL,SAAS;SACT,CAAC;AAEH;AACA,wBAAgB;AAChB;OACD,KAAK;AACJ;AACA,wBAAgB;AAChB,YAAI,KAAK,QAAQ,0BAA0B,iBAAiB,KAAK,SAAS;AACzE,eAAM,KAAK;AACX,oCAA2B;AAC3B,yBAAgB;;AAEjB;OACD,KAAK;AACJ,mBAAW,YAAY;AACvB,uBAAe,CAAC,gCAAgC,KAAK,qBAAqB,KAAK,0BAA0B,KAAK,qBAAqB,IAAI,4BAA4B,KAAK,qBAAqB;AAC7L,eAAO,KAAK,aAAa;AACzB,wBAAgB;AAChB;OACD,KAAK;AACJ,gBAAQ,KAAK,KAAb;SACC,KAAK;AACJ,cAAI,OAAO,WAAW,KAAK,SAAS;AACnC,oBAAS,YAAY;AACrB,mBAAQ,SAAS,KAAK,MAAM;AAC5B,uBAAY,SAAS;AACrB,kCAAuB,MAAM;AAC7B,eAAI,MAAM,OAAO,MAAM;AACtB,mCAAuB;AACvB,4BAAgB;AAChB,kBAAO;aACN,MAAM;aACN,OAAO,MAAM;aACb;kBACK;AACN,kBAAM,KAAK;AACX,4BAAgB;AAChB,kBAAO;aACN,MAAM;aACN,OAAO,MAAM;aACb,QAAQ,MAAM,OAAO;aACrB;;AAEF;;AAED;SACD,KAAK,qBACJ,KAAI,OAAO,WAAW,KAAK,SAAS;AACnC,gBAAM,KAAK;AACX,uBAAa;AACb,iCAAuB;AACvB,gBAAO;WACN,MAAM;WACN,OAAO;WACP;AACD;;;AAGH,wBAAgB,OAAO,KAAK;AAC5B,mCAA2B,gBAAgB,wBAAwB;AACnE;OACD,KAAK;AACJ,wBAAgB;AAChB;OACD,KAAK;OACL,KAAK;AACJ,mCAA2B,gBAAgB,mBAAmB;AAC9D;OACD,KAAK;AACJ,YAAI,QAAQ,0BAA0B,KAAK,qBAAqB,IAAI,4BAA4B,KAAK,qBAAqB,GAAG;AAC5H,eAAM,KAAK,EAAC,KAAK,UAAS,CAAC;AAC3B,sBAAa;AACb,gCAAuB;AACvB,eAAO;UACN,MAAM;UACN,OAAO;UACP;AACD;;AAED,wBAAgB;AAChB;OACD,QACC,iBAAgB;;AAElB,kBAAY;AACZ,6BAAuB;AACvB,YAAO;OACN,MAAM;OACN,OAAO;OACP;AACD;;AAED,gBAAW,YAAY;AACvB,SAAI,QAAQ,WAAW,KAAK,MAAM,EAAE;AACnC,kBAAY,WAAW;AACvB,iCAA2B,MAAM;AACjC,cAAQ,MAAM,IAAd;OACC,KAAK;OACL,KAAK;OACL,KAAK;OACL,KAAK,OACJ,KAAI,yBAAyB,OAAO,yBAAyB,KAC5D,4BAA2B;;AAG9B,6BAAuB;AACvB,sBAAgB,CAAC,4BAA4B,KAAK,MAAM,GAAG;AAC3D,YAAO;OACN,MAAM,MAAM,OAAO,MAAM,sBAAsB;OAC/C,OAAO,MAAM;OACb;AACD;;AAED,mBAAc,YAAY;AAC1B,SAAI,QAAQ,cAAc,KAAK,MAAM,EAAE;AACtC,kBAAY,cAAc;AAC1B,6BAAuB,MAAM;AAC7B,sBAAgB;AAChB,YAAO;OACN,MAAM;OACN,OAAO,MAAM;OACb,QAAQ,MAAM,OAAO,KAAK;OAC1B;AACD;;AAED,oBAAe,YAAY;AAC3B,SAAI,QAAQ,eAAe,KAAK,MAAM,EAAE;AACvC,kBAAY,eAAe;AAC3B,6BAAuB,MAAM;AAC7B,sBAAgB;AAChB,YAAO;OACN,MAAM;OACN,OAAO,MAAM;OACb;AACD;;AAED,cAAS,YAAY;AACrB,SAAI,QAAQ,SAAS,KAAK,MAAM,EAAE;AACjC,kBAAY,SAAS;AACrB,6BAAuB,MAAM;AAC7B,UAAI,MAAM,OAAO,MAAM;AACtB,8BAAuB;AACvB,aAAM,KAAK;QACV,KAAK;QACL,SAAS,OAAO;QAChB,CAAC;AACF,uBAAgB;AAChB,aAAO;QACN,MAAM;QACN,OAAO,MAAM;QACb;aACK;AACN,uBAAgB;AAChB,aAAO;QACN,MAAM;QACN,OAAO,MAAM;QACb,QAAQ,MAAM,OAAO;QACrB;;AAEF;;AAED;IACD,KAAK;IACL,KAAK;AACJ,mBAAc,YAAY;AAC1B,SAAI,QAAQ,cAAc,KAAK,MAAM,EAAE;AACtC,kBAAY,cAAc;AAC1B,iCAA2B,MAAM;AACjC,cAAQ,MAAM,IAAd;OACC,KAAK;AACJ,cAAM,KAAK,EAAC,KAAK,UAAS,CAAC;AAC3B;OACD,KAAK;AACJ,cAAM,KAAK;AACX,YAAI,yBAAyB,OAAO,KAAK,QAAQ,aAAa;AAC7D,oCAA2B;AAC3B,yBAAgB;cAEhB,OAAM,KAAK,EAAC,KAAK,eAAc,CAAC;AAEjC;OACD,KAAK;AACJ,cAAM,KAAK;SACV,KAAK;SACL,SAAS,OAAO;SAChB,CAAC;AACF,mCAA2B;AAC3B,wBAAgB;AAChB;OACD,KAAK,IACJ,KAAI,yBAAyB,KAAK;AACjC,cAAM,KAAK;AACX,YAAI,MAAM,MAAM,SAAS,GAAG,QAAQ,cACnC,OAAM,KAAK;AAEZ,cAAM,KAAK,EAAC,KAAK,aAAY,CAAC;;;AAGjC,6BAAuB;AACvB,YAAO;OACN,MAAM;OACN,OAAO,MAAM;OACb;AACD;;AAED,mBAAc,YAAY;AAC1B,SAAI,QAAQ,cAAc,KAAK,MAAM,EAAE;AACtC,kBAAY,cAAc;AAC1B,6BAAuB,MAAM;AAC7B,YAAO;OACN,MAAM;OACN,OAAO,MAAM;OACb;AACD;;AAED,eAAU,YAAY;AACtB,SAAI,QAAQ,UAAU,KAAK,MAAM,EAAE;AAClC,kBAAY,UAAU;AACtB,6BAAuB,MAAM;AAC7B,YAAO;OACN,MAAM;OACN,OAAO,MAAM;OACb,QAAQ,MAAM,OAAO,KAAK;OAC1B;AACD;;AAED;IACD,KAAK;AACJ,aAAQ,YAAY;AACpB,SAAI,QAAQ,QAAQ,KAAK,MAAM,EAAE;AAChC,kBAAY,QAAQ;AACpB,6BAAuB,MAAM;AAC7B,YAAO;OACN,MAAM;OACN,OAAO,MAAM;OACb;AACD;;AAED,aAAQ,MAAM,YAAd;MACC,KAAK;AACJ,aAAM,KAAK,EAAC,KAAK,UAAS,CAAC;AAC3B;AACA,8BAAuB;AACvB,aAAO;QACN,MAAM;QACN,OAAO;QACP;AACD;MACD,KAAK;AACJ,aAAM,KAAK;QACV,KAAK;QACL,SAAS,OAAO;QAChB,CAAC;AACF;AACA,8BAAuB;AACvB,uBAAgB;AAChB,aAAO;QACN,MAAM;QACN,OAAO;QACP;AACD;;;AAGJ,cAAW,YAAY;AACvB,OAAI,QAAQ,WAAW,KAAK,MAAM,EAAE;AACnC,gBAAY,WAAW;AACvB,UAAO;KACN,MAAM;KACN,OAAO,MAAM;KACb;AACD;;AAED,0BAAuB,YAAY;AACnC,OAAI,QAAQ,uBAAuB,KAAK,MAAM,EAAE;AAC/C,gBAAY,uBAAuB;AACnC,oBAAgB;AAChB,QAAI,kCAAkC,KAAK,qBAAqB,CAC/D,wBAAuB;AAExB,UAAO;KACN,MAAM;KACN,OAAO,MAAM;KACb;AACD;;AAED,oBAAiB,YAAY;AAC7B,OAAI,QAAQ,iBAAiB,KAAK,MAAM,EAAE;AACzC,gBAAY,iBAAiB;AAC7B,QAAI,QAAQ,KAAK,MAAM,GAAG,EAAE;AAC3B,qBAAgB;AAChB,SAAI,kCAAkC,KAAK,qBAAqB,CAC/D,wBAAuB;;AAGzB,UAAO;KACN,MAAM;KACN,OAAO,MAAM;KACb,QAAQ,MAAM,OAAO,KAAK;KAC1B;AACD;;AAED,qBAAkB,YAAY;AAC9B,OAAI,QAAQ,kBAAkB,KAAK,MAAM,EAAE;AAC1C,gBAAY,kBAAkB;AAC9B,oBAAgB;AAChB,UAAO;KACN,MAAM;KACN,OAAO,MAAM;KACb;AACD;;AAED,oBAAiB,OAAO,cAAc,MAAM,YAAY,UAAU,CAAC;AACnE,gBAAa,eAAe;AAC5B,0BAAuB;AACvB,mBAAgB;AAChB,SAAO;IACN,MAAM,KAAK,IAAI,WAAW,MAAM,GAAG,eAAe;IAClD,OAAO;IACP;;;;;;;;ACtYH,MAAM,eAAe;AACrB,SAAS,sBAAsB,OAAO,UAAU,QAAQ;AACtD,KAAI,MAAM,SAAS,oBACjB,QAAO,aAAa,OAAO,MAAM,MAAM,OAAO;AAEhD,KAAI,MAAM,SAAS,mBACjB,QAAO,MAAM,MAAM,QAAQ,UAAU,aAAa;AAEpD,KAAI,MAAM,SAAS,iBAAiB;AAClC,MAAI,CAAC,MAAM,OACT,QAAO,MAAM;EAEf,MAAM,OAAO,MAAM,MAAM,MAAM,GAAG,GAAG;AACrC,MAAI,OAAO,KAAK,CACd,QAAO,MAAM,MAAM,KAAK,SAAS,OAAO,KAAK,OAAO,GAAG,MAAM,MAAM,MAAM,MAAM,SAAS;;AAG5F,KAAI,MAAM,SAAS,0BAA0B;EAC3C,MAAM,OAAO,MAAM,MAAM,MAAM,GAAG,GAAG;AACrC,MAAI,OAAO,KAAK,CACd,QAAO,KAAK,KAAK,QAAQ,UAAU,SAAS,CAAC;;AAGjD,KAAI,MAAM,SAAS,4BAA4B;EAC7C,MAAM,OAAO,MAAM;AACnB,MAAI,OAAO,KAAK,CACd,QAAO,KAAK,QAAQ,oBAAoB,GAAG,IAAI,OAAO,IAAI,SAAS,OAAO,GAAG,OAAO,CAAC,GAAG,KAAK;;AAGjG,KAAI,MAAM,SAAS,gBAAgB;EACjC,MAAM,OAAO,MAAM,MAAM,MAAM,GAAG,GAAG;AACrC,MAAI,OAAO,KAAK,CACd,QAAO,KAAK,KAAK,QAAQ,UAAU,SAAS,CAAC;;AAGjD,KAAI,MAAM,SAAS,gBAAgB;EACjC,MAAM,OAAO,MAAM,MAAM,MAAM,GAAG,GAAG;AACrC,MAAI,OAAO,KAAK,CACd,QAAO,IAAI,KAAK,QAAQ,UAAU,SAAS,CAAC;;AAGhD,KAAI,MAAM,SAAS,kBAAkB;EACnC,MAAM,OAAO,MAAM,MAAM,MAAM,GAAG,GAAG;AACrC,MAAI,OAAO,KAAK,CACd,QAAO,IAAI,KAAK,QAAQ,UAAU,SAAS,CAAC;;AAGhD,QAAO,MAAM;;AAEf,SAAS,oBAAoB,SAAS;AACpC,QAAO;EACL,UAAU,SAAS,YAAY;EAC/B,QAAQ,SAAS,iBAAiB;EACnC;;AAEH,SAAS,aAAa,MAAM,SAAS;CACnC,IAAI,SAAS;CACb,MAAM,WAAW,oBAAoB,QAAQ;AAC7C,MAAK,MAAM,uCAAkB,MAAM,EAAE,KAAK,OAAO,CAAC,CAChD,WAAU,sBAAsB,OAAO,SAAS,UAAU,SAAS,OAAO;AAE5E,QAAO;;;;;ACtCT,MAAM,kBAAkB;AACxB,MAAM,wBAAwB;AAC9B,MAAM,YAAY;AAClB,SAAS,OAAO,IAAI;AACnB,QAAO,GAAG,WAAW,gBAAgB,GAAG,KAAK,kBAAkB,GAAG,QAAQ,MAAM,sBAAsB;;AAEvG,SAAS,kBAAkB,QAAQ;AAClC,KAAI,OAAO,OAAO,SAAS,OAAO,IAAK,QAAO,GAAG,OAAO;AACxD,QAAO;;AAER,MAAM,YAAY;AAClB,SAAS,SAAS,KAAK;AACtB,QAAO,IAAI,QAAQ,WAAW,GAAG;;AAElC,SAAS,oBAAoB,QAAQ;CACpC,MAAM,OAAO,SAAS,OAAO;AAC7B,QAAO;EACN;EACA,SAAS,OAAO,MAAM,KAAK,OAAO;EAClC;;AAEF,MAAM,iBAAiB;AACvB,SAAS,MAAM,GAAG;AACjB,QAAO,EAAE,QAAQ,gBAAgB,IAAI;;AAEtC,MAAM,YAAY,OAAO,YAAY,eAAe,QAAQ,aAAa;AACzE,SAAS,YAAY,KAAK,eAAe;CACxC,MAAM,EAAE,MAAM,YAAY,oBAAoB,IAAI;AAClD,QAAO,GAAG,YAAY,MAAM,KAAK,GAAG,KAAK,GAAG,gBAAgB,QAAQ,OAAO,MAAM,IAAI,QAAQ,MAAM,EAAE,KAAK;;AAE3G,SAAS,yBAAyB,aAAa,KAAK,UAAU;CAC7D,MAAM,OAAO,YAAY,OAAO;CAChC,MAAM,gBAAgB,YAAY;AAClC,KAAI,SAAS,GAAG,WAAW,kBAAkB,KAAK,CAAC,CAAE,OAAM,SAAS,GAAG,MAAM,KAAK,OAAO;UAChF,eAAe,mBAAmB,SAAS,GAAG,IAAI,SAAS,OAAO,qBAAqB,KAAK,WAAW,SAAS,GAAG,IAAI,GAAG,WAAW,SAAS,SAAS,GAAG,CAAC,CAAE,OAAM,KAAK,MAAM,KAAK,WAAW,SAAS,GAAG;KAC9M,OAAM,SAAS;AACpB,KAAI,IAAI,OAAO,OAAO,IAAI,OAAO,IAAK,OAAM,OAAO,SAAS,GAAG;AAC/D,QAAO;;AAER,SAAS,+BAA+B,aAAa,IAAI;CACxD,IAAI,MAAM,yBAAyB,aAAa,IAAI,EAAE,IAAI,CAAC;AAC3D,KAAI,YAAY,OAAO,aAAa,UAAU;EAC7C,MAAM,MAAM,YAAY,YAAY,cAAc,GAAG;AACrD,MAAI,OAAO,IAAI,mBAAmB,EAAG,OAAM,YAAY,KAAK,KAAK,IAAI,mBAAmB;;AAEzF,QAAO;;AAER,SAAS,aAAa,KAAK;AAC1B,QAAO;EACN,SAAS,yBAAyB,IAAI,QAAQ;EAC9C,OAAO,yBAAyB,WAAW,IAAI,SAAS,GAAG,CAAC;EAC5D,IAAI,IAAI;EACR,OAAO,yBAAyB,IAAI,SAAS,GAAG;EAChD,QAAQ,IAAI;EACZ,YAAY,IAAI,YAAY,UAAU;EACtC,KAAK,IAAI;EACT;;AAEF,SAAS,WAAW,OAAO;AAC1B,QAAO,MAAM,MAAM,KAAK,CAAC,QAAQ,MAAM,SAAS,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK;;AAEpE,SAAS,UAAU,UAAU;AAC5B,QAAO,IAAI,SAAS;;gBAEL,SAAS;IACrB,EAAE;;AAEN,MAAM,kBAAkB;AAIxB,SAAS,WAAW,GAAG;AACtB,QAAO,OAAO,YAAY,OAAO,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;;AAEpF,SAAS,gBAAgB,KAAK,GAAG;CAChC,SAAS,aAAa,GAAG;AACxB,MAAI,KAAK,OAAO,MAAM,YAAY,OAAO,EAAE,QAAQ,SAAU,QAAO,IAAI,MAAM,GAAG,EAAE,IAAI;AACvF,QAAM;;AAEP,QAAO,SAAS,GAAG,MAAM;AACxB,MAAI;GACH,MAAM,SAAS,EAAE,MAAM,MAAM,KAAK;AAClC,OAAI,kBAAkB,QAAS,QAAO,OAAO,OAAO,MAAM,aAAa,EAAE,CAAC;AAC1E,UAAO;WACC,GAAG;AACX,gBAAa,EAAE;;;;AAIlB,SAAS,oBAAoB,MAAM,MAAM;AACxC,QAAO,aAAa;AACpB,QAAO;EACN,MAAM,eAAe;EACrB,UAAU,QAAQ,WAAW,UAAU;AACtC,UAAO,WAAW,OAAO,OAAO,OAAO,KAAK;;EAE7C,KAAK,IAAI,SAAS;AACjB,OAAI,OAAO,OAAO,KAAM,QAAO,KAAK,MAAM,MAAM,CAAC,IAAI,QAAQ,CAAC;;EAE/D;;AAEF,SAAS,sBAAsB,GAAG;AACjC,KAAI,cAAc,EAAE;AACpB,QAAO,EAAE,OAAO,MAAM,IAAI,OAAO;;AAElC,SAAS,eAAe,QAAQ,MAAM;CACrC,MAAM,QAAQ,OAAO,MAAM,cAAc;AACzC,KAAI,CAAC,KAAM,QAAO,uBAAuB,MAAM,CAAC;AAChD,KAAI,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,MAAM,IAAI,QAAQ,SAAS,OAAO,MAAM,UAAU,SAAU,QAAO,MAAM;AACzH,OAAM,IAAI,MAAM,0FAA0F,KAAK,uCAAuC,KAAK,UAAU,MAAM,GAAG;;AAE/K,SAAS,uBAAuB,QAAQ,EAAE,EAAE;CAC3C,MAAM,eAAe,OAAO,QAAQ,4BAA4B,MAAM,CAAC;AACvE,KAAI,aAAa,WAAW,GAAG;EAC9B,MAAM,CAAC,MAAM,UAAU,aAAa;AACpC,SAAO;GACN;GACA;GACA;;AAEF,OAAM,IAAI,MAAM,kHAAkH;;AAEnI,SAAS,4BAA4B,QAAQ,EAAE,EAAE;AAChD,KAAI,OAAO,UAAU,SAAU,SAAQ,CAAC,MAAM;AAC9C,KAAI,MAAM,QAAQ,MAAM,CAAE,QAAO,OAAO,YAAY,MAAM,KAAK,SAAS,CAAC,KAAK,SAAS,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,QAAQ,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC1I,QAAO;;AAER,SAAS,WAAW,GAAG;AACtB,QAAO,WAAW,SAAS,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,SAAS,MAAM,CAAC,MAAM,GAAG,GAAG;;AAE5E,SAAS,sBAAsB,SAAS;AACvC,KAAI,aAAa,SAAS;EACzB,MAAM,WAAW,QAAQ;AACzB,MAAI,YAAY,OAAO,aAAa,YAAY,WAAW,YAAY,OAAO,SAAS,UAAU,WAAY,QAAO,SAAS;AAC7H,MAAI,OAAO,aAAa,WAAY,QAAO;;AAE5C,OAAM,IAAI,MAAM,+BAA+B;;AAKhD,SAAS,qBAAqB,EAAE,WAAW;AAC1C,QAAO;EACN,MAAM;EACN,OAAO;EACP,SAAS;EACT,MAAM,UAAU,MAAM,KAAK,UAAU;AACpC,OAAI,CAAC,QAAQ,YAAa;AAC1B,UAAO;IACN,MAAM,MAAM,wBAAwB,KAAK;IACzC,KAAK,EAAE,UAAU,IAAI;IACrB;;EAEF;;AAEF,MAAM,eAAe;AACrB,eAAe,wBAAwB,MAAM;CAC5C,MAAM,CAAC,WAAWK,MAAoB,KAAK;CAC3C,IAAI,SAAS,QAAQ,KAAK,MAAM,EAAE,KAAK,UAAU,KAAK,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,KAAK,GAAG;AACnG,KAAI,aAAa,KAAK,KAAK,EAAE;AAC5B,SAAK,MAAM,cAAc,KAAK,EAAE,EAAE,MAAM,MAAM;AAC7C,OAAI,KAAK,SAAS,oBAAoB,KAAK,OAAO,SAAS,sBAAsB,KAAK,OAAO,OAAO,SAAS,kBAAkB,KAAK,OAAO,OAAO,KAAK,SAAS,gBAAgB,KAAK,OAAO,OAAO,KAAK,SAAS,YAAY,KAAK,OAAO,OAAO,SAAS,SAAS,gBAAgB,KAAK,OAAO,OAAO,SAAS,SAAS,UAAU,KAAK,OAAO,SAAS,SAAS,gBAAgB,KAAK,OAAO,SAAS,SAAS,QAAQ;IACpZ,MAAM,iBAAiB,KAAK,MAAM,KAAK,OAAO,KAAK,IAAI;AACvD,cAAU,eAAe,eAAe;;KAEvC,CAAC;AACJ,YAAU;;AAEX,QAAO;;AAKR,SAAS,uBAAuB;AAC/B,QAAO;EACN,MAAM;EACN,WAAW;GACV,OAAO;GACP,MAAM,QAAQ,QAAQ,WAAW,SAAS;AACzC,QAAI,UAAU,WAAW,QAAQ,KAAM;AACvC,QAAI,WAAW,iBAAiB,WAAW,eAAe;AACzD,SAAI,WAAW,iBAAiB,KAAK,YAAY,SAAS,SAAS,WAAW,iBAAiB,KAAK,YAAY,SAAS,MAAO,QAAO;MACtI,IAAI,+CAA+C;MACnD,mBAAmB;MACnB;AACD,YAAO;MACN,IAAI,6CAA6C;MACjD,mBAAmB;MACnB;;;GAGH;EACD,KAAK,IAAI;AACR,OAAI,GAAG,WAAW,+CAA+C,CAAE,QAAO,uCAAuC,GAAG,MAAM,GAAG,YAAY,IAAI,GAAG,EAAE,CAAC;AACnJ,OAAI,GAAG,WAAW,uCAAuC,CAAE,QAAO;;EAEnE,WAAW;GACV,OAAO;GACP,MAAM,QAAQ,OAAO,IAAI;AACxB,QAAI,KAAK,YAAY,SAAS,OAC7B;SAAI,GAAG,WAAW,+CAA+C,CAAE,qBAAoB,kBAAkB,KAAK,aAAa,GAAG,EAAE,KAAK,YAAY,MAAM,KAAK,YAAY,OAAO,KAAK;;;GAGtL;EACD,WAAW;AACV,OAAI,KAAK,YAAY,SAAS,SAAS;AACtC,wBAAoB,oBAAoB,MAAM,0DAA0D,EAAE,KAAK,YAAY,MAAM,KAAK,YAAY,OAAO,KAAK;AAC9J,wBAAoB,oBAAoB,MAAM,0DAA0D,EAAE,KAAK,YAAY,MAAM,KAAK,YAAY,OAAO,KAAK;;;EAGhK;;AAEF,SAAS,kBAAkB,aAAa,IAAI;CAC3C,MAAM,QAAQ,EAAE;CAChB,MAAM,WAAW,SAAS;AACzB,MAAI,MAAM,SAAS,KAAK,CAAE;EAC1B,MAAM,OAAO,YAAY,YAAY,cAAc,KAAK;AACxD,MAAI,CAAC,KAAM;AACX,QAAM,KAAK,KAAK;EAChB,MAAM,OAAO,CAAC,GAAG,KAAK,UAAU,CAAC;AACjC,MAAI,QAAQ,KAAK,GAAI,SAAQ,KAAK,GAAG;;AAEtC,SAAQ,GAAG;AACX,QAAO;;AAER,SAAS,oBAAoB,KAAK,IAAI;CACrC,MAAM,QAAQ,EAAE;CAChB,MAAM,WAAW,SAAS;AACzB,MAAI,MAAM,SAAS,KAAK,CAAE;EAC1B,MAAM,OAAO,IAAI,cAAc,KAAK;AACpC,MAAI,CAAC,KAAM;AACX,QAAM,KAAK,KAAK;EAChB,MAAM,OAAO,KAAK,UAAU;AAC5B,MAAI,KAAM,SAAQ,KAAK;;AAExB,SAAQ,GAAG;AACX,QAAO;;AAER,SAAS,oBAAoB,OAAO,iBAAiB,MAAM;AAC1D,KAAI,MAAM,WAAW,EAAG;CACxB,MAAM,KAAK,MAAM;CACjB,MAAM,SAAS,GAAG,MAAM,GAAG,YAAY,IAAI,GAAG,EAAE;CAChD,IAAI,SAAS,IAAI,OAAO,0BAA0B,WAAW,gBAAgB,WAAW,SAAS,WAAW,gBAAgB;AAC5H,WAAU,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,MAAM,MAAM,IAAI,OAAO,IAAI,EAAE,GAAG,eAAe,KAAK,SAAS,MAAM,KAAK,CAAC,WAAW,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG;AAC5I,KAAI,MAAM,SAAS,EAAG,WAAU,IAAI,OAAO,EAAE,GAAG;CAChD,MAAM,QAAQ,IAAI,MAAM,OAAO;AAC/B,KAAI,MAAM,GAAI,QAAO,OAAO,OAAO,EAAE,IAAI,MAAM,IAAI,CAAC;AACpD,OAAM;;AAKP,SAAS,6BAA6B;AACrC,QAAO,CAAC;EACP,MAAM;EACN,OAAO;EACP,gBAAgB,QAAQ;AACvB,UAAO,YAAY,IAAI,OAAO,KAAK,KAAK,SAAS;IAChD,MAAM,MAAM,IAAI,IAAI,IAAI,KAAK,mBAAmB;AAChD,QAAI,IAAI,aAAa,gCAAgC;KACpD,IAAI,WAAW,IAAI,aAAa,IAAI,WAAW;KAC/C,IAAI,kBAAkB,IAAI,aAAa,IAAI,kBAAkB;AAC7D,SAAI;MACH,MAAM,MAAM,MAAM,iBAAiB,QAAQ,UAAU,gBAAgB;AACrE,UAAI,UAAU,gBAAgB,mBAAmB;AACjD,UAAI,CAAC,IAAK,KAAI,aAAa;AAC3B,UAAI,IAAI,KAAK,UAAU,OAAO,EAAE,CAAC,CAAC;cAC1B,GAAG;AACX,WAAK,EAAE;;AAER;;AAED,UAAM;KACL;;EAEH,CAAC;;AAEH,eAAe,iBAAiB,QAAQ,UAAU,iBAAiB;AAClE,KAAI,SAAS,WAAW,UAAU,EAAE;AACnC,aAAW,MAAM,cAAc,SAAS,CAAC;AACzC,MAAI,qBAAqB,OAAO,QAAQ,SAAS,IAAI,GAAG,WAAW,SAAS,EAAE;GAC7E,MAAM,UAAU,GAAG,aAAa,UAAU,QAAQ;AAClD,UAAO;IACN,SAAS;IACT,SAAS,CAAC,SAAS;IACnB,gBAAgB,CAAC,QAAQ;IACzB,UAAU,SAAS,QAAQ,OAAO,QAAQ,MAAM,KAAK,CAAC,OAAO;IAC7D;;AAEF;;CAED,IAAI;CACJ,IAAI;AACJ,KAAI,oBAAoB,UAAU;AACjC,QAAM,OAAO,aAAa,IAAI,YAAY,cAAc,SAAS;AACjE,QAAM,KAAK,iBAAiB;AAC5B,MAAI,OAAO,IAAI,SAAU,OAAM;GAC9B,GAAG;GACH,UAAU,OAAO,IAAI;GACrB;;CAEF,MAAM,OAAO,OAAO,OAAO,KAAK,MAAM,GAAG,GAAG;AAC5C,KAAI,oBAAoB,SAAU,KAAI;EACrC,MAAM,MAAM,IAAI,IAAI,SAAS,CAAC,SAAS,MAAM,KAAK,OAAO;AACzD,QAAM,OAAO,aAAa,OAAO,YAAY,eAAe,IAAI,IAAI;AACpE,QAAM,KAAK,iBAAiB;UACpB,GAAG;AACZ,KAAI,OAAO,IAAK,QAAO;EACtB,GAAG;EACH,SAAS,CAAC,OAAO,IAAI,IAAI;EACzB;;AAKF,MAAM,iBAAiB,qBAAqBC;AAC5C,MAAM,6BAA6B;AACnC,MAAM,WAAW;AACjB,MAAM,wBAAwB,GAAG,SAAS;AAC1C,MAAM,kBAAkB,EAAE,SAAS,kCAAkC;AACrE,MAAM,UAAU,cAAc,OAAO,KAAK,IAAI;AAC9C,SAAS,eAAe,MAAM;AAC7B,QAAO,cAAc,QAAQ,QAAQ,KAAK,CAAC,CAAC;;AAE7C,IAAI,mBAAmB,MAAM;CAC5B;CACA;CACA;CACA;CACA,cAAc;CACd,yBAAyB,EAAE;CAC3B,wBAAwB,EAAE;CAC1B,yBAAyB,EAAE;CAC3B,yBAAyB,EAAE;CAC3B,YAAY;AACX,OAAK,yBAAyB,WAAW,KAAK,uBAAuB;AACrE,OAAK,yBAAyB,WAAW,KAAK,uBAAuB;;CAEtE,aAAa,IAAI;AAChB,SAAO,cAAc,KAAK,SAAS,KAAK,OAAO,MAAM,GAAG,CAAC;;;;AAQ3D,SAAS,qBAAqB,mBAAmB,EAAE,EAAE,UAAU,IAAI,kBAAkB,EAAE;AACtF,QAAO;EACN;GACC,MAAM;GACN,SAAS;GACT,KAAK,EAAE,SAAS;GAChB,MAAM,SAAS;AACd,UAAMC;;GAEP,eAAe,QAAQ;AACtB,YAAQ,SAAS;AACjB,SAAK,MAAM,KAAK,OAAO,OAAO,OAAO,aAAa,CAAE,GAAE,MAAM,SAAS,KAAK,QAAQ,OAAO,MAAM,EAAE,MAAM,OAAO;;GAE/G,gBAAgB,SAAS;AACxB,YAAQ,SAAS;;GAElB;EACD;GACC,MAAM;GACN,WAAW;IACV,OAAO;IACP,QAAQ,MAAM;AACb,SAAI,KAAK,SAAS,0BAA0B,CAAE,QAAO,KAAK,QAAQ,2BAA2B,SAAS;;IAEvG;GACD;EACD,GAAG,mBAAmB;EACtB,GAAG,oBAAoB,kBAAkB,QAAQ;EACjD,GAAG,oBAAoB,kBAAkB,QAAQ;EACjD,GAAG,8BAA8B,iBAAiB;EAClD;GACC,MAAM;GACN,OAAO;GACP,MAAM,EAAE,QAAQ,IAAI,UAAU;AAC7B,QAAI,GAAG,WAAW,2CAA2C,EAAE;KAC9D,MAAM,SAAS,gCAAgC,GAAG;AAClD,YAAO,OAAO;AACd,SAAI,OAAO,SAAS,UACnB;UAAI,OAAO,OAAO,QAAQ,uBAAuB,CAAC,MAAM,SAAS,KAAK,iBAAiB,OAAO,GAAG,CAAE,QAAO;;AAE3G,SAAI,OAAO,SAAS,UACnB;UAAI,OAAO,OAAO,QAAQ,uBAAuB,CAAC,MAAM,SAAS,KAAK,iBAAiB,OAAO,GAAG,CAAE,QAAO;;AAE3G,UAAK,MAAM,sBAAsB,OAAO,KAAK,cAAc,OAAO,GAAG,GAAG;;MAEvE;GACH;EACD,qBAAqB,EAAE,SAAS,CAAC;EACjC;;AAEF,SAAS,cAAc,mBAAmB,EAAE,EAAE;CAC7C,MAAM,UAAU,IAAI,kBAAkB;CACtC,MAAMC,aAAW,OAAO,YAAY;EACnC,MAAM,SAAS,MAAM,OAAO,sCAA4B,KAAK,sBAAsB,CAAC;EACpF,MAAM,WAAW,QAAQ;AACxB,WAAQ,OAAO,OAAO,KAAK,OAAO,KAAK,IAAI,CAAC;;AAE7C,MAAI,CAAC,QAAQ,aAAa,KAAK,OAAO,MAAM,cAAc,OAAO;AAChE,WAAQ,cAAc;AACtB,WAAQ,aAAa,IAAI,OAAO,MAAM,QAAQ;AAC9C,WAAQ,aAAa,OAAO,OAAO,MAAM,QAAQ;AACjD,WAAQ,qCAAqC;AAC7C,SAAM,QAAQ,MAAM,QAAQ,aAAa,IAAI;AAC7C,WAAQ,qCAAqC;AAC7C,SAAM,QAAQ,MAAM,QAAQ,aAAa,OAAO;AAChD,WAAQ,cAAc;AACtB,WAAQ,aAAa,IAAI,OAAO,MAAM,QAAQ;AAC9C,WAAQ,aAAa,OAAO,OAAO,MAAM,QAAQ;AACjD,WAAQ,iCAAiC;AACzC,SAAM,QAAQ,MAAM,QAAQ,aAAa,IAAI;AAC7C,WAAQ,WAAW;AACnB,WAAQ,oCAAoC;AAC5C,SAAM,QAAQ,MAAM,QAAQ,aAAa,OAAO;AAChD,uBAAoB,CAAC,MAAM,CAAC;AAC5B;;AAED,UAAQ,cAAc;AACtB,UAAQ,aAAa,IAAI,OAAO,MAAM,QAAQ;AAC9C,UAAQ,aAAa,IAAI,OAAO,MAAM,QAAQ;AAC9C,UAAQ,qCAAqC;AAC7C,QAAM,QAAQ,MAAM,QAAQ,aAAa,IAAI;AAC7C,UAAQ,qCAAqC;AAC7C,QAAM,QAAQ,MAAM,QAAQ,aAAa,IAAI;AAC7C,UAAQ,cAAc;AACtB,UAAQ,aAAa,IAAI,OAAO,MAAM,QAAQ;AAC9C,UAAQ,aAAa,IAAI,OAAO,MAAM,QAAQ;AAC9C,UAAQ,iCAAiC;AACzC,QAAM,QAAQ,MAAM,QAAQ,aAAa,IAAI;AAC7C,UAAQ,WAAW;AACnB,UAAQ,oCAAoC;AAC5C,QAAM,QAAQ,MAAM,QAAQ,aAAa,OAAO;AAChD,UAAQ,iCAAiC;AACzC,QAAM,QAAQ,MAAM,QAAQ,aAAa,IAAI;AAC7C,sBAAoB,CAAC,OAAO,MAAM,CAAC;;CAEpC,SAAS,oBAAoB,kBAAkB;EAC9C,MAAM,qBAAqB,kBAAkB,0BAA0B,QAAQ,oBAAoB;AACnG,OAAK,MAAM,QAAQ,kBAAkB;GACpC,MAAM,eAAe,KAAK,KAAK,QAAQ,OAAO,aAAa,MAAM,MAAM,QAAQ,2BAA2B;AAC1G,MAAG,cAAc,cAAc,mBAAmB;;;CAGpD,IAAI,2BAA2B;AAC/B,QAAO;EACN;GACC,MAAM;GACN,MAAM,OAAO,QAAQ,KAAK;AACzB,QAAI,OAAO,IAAK,QAAO,OAAO,kBAAkBC,YAAiB,OAAO,KAAK,iBAAiB,CAAC;IAC/F,MAAM,SAAS,MAAM,mBAAmB;KACvC,MAAM,QAAQ,KAAK;KACnB,SAAS,IAAI,YAAY;KACzB,qBAAqB,SAAS;AAC7B,UAAI,CAAC,UAAU,YAAY,CAAC,SAAS,QAAQ,KAAK,CAAE;MACpD,MAAM,OAAO,QAAQ;AACrB,aAAO,QAAQ,WAAW;;KAE3B,CAAC;IACF,MAAM,aAAa;KAClB;KACA;KACA;KACA;KACA;KACA,GAAG,OAAO,IAAI,WAAW,MAAM;KAC/B;AACD,+BAA2B,OAAO,IAAI,WAAW,SAAS,2BAA2B;IACrF,MAAM,4BAA4B,2BAA2B,6BAA6B;AAC1F,WAAO;KACN,SAAS,OAAO,WAAW;KAC3B,QAAQ,EAAE,sCAAsC,KAAK,UAAU,IAAI,YAAY,QAAQ,EAAE;KACzF,cAAc;MACb,QAAQ;OACP,OAAO;QACN,QAAQ,OAAO,cAAc,QAAQ,OAAO,UAAU;QACtD,eAAe,EAAE,OAAO,iBAAiB,SAAS,UAAU,EAAE,OAAO,iBAAiB,QAAQ,QAAQ,EAAE;QACxG;OACD,cAAc;QACb,SAAS,CAAC,oBAAoB,GAAG,0BAA0B,iBAAiB;QAC5E,SAAS,CAAC,SAAS;QACnB;OACD;MACD,KAAK;OACJ,OAAO;QACN,QAAQ,OAAO,cAAc,KAAK,OAAO,UAAU;QACnD,eAAe;QACf,eAAe,EAAE,OAAO,iBAAiB,SAAS,OAAO,EAAE,OAAO,iBAAiB,QAAQ,KAAK,EAAE;QAClG;OACD,SAAS,EAAE,YAAY;OACvB,cAAc;QACb,SAAS;SACR;SACA;SACA;SACA;SACA;SACA;SACA,GAAG,0BAA0B;SAC7B;QACD,SAAS,CAAC,SAAS;QACnB;OACD;MACD,KAAK;OACJ,OAAO;QACN,QAAQ,OAAO,cAAc,KAAK,OAAO,UAAU;QACnD,eAAe;QACf,YAAY;QACZ,eAAe,EAAE,OAAO,iBAAiB,SAAS,OAAO,EAAE,OAAO,iBAAiB,QAAQ,KAAK,EAAE;QAClG;OACD,SAAS;QACR,YAAY,CAAC,gBAAgB,GAAGC,0BAAwB;QACxD;QACA;OACD,cAAc;QACb,SAAS;SACR;SACA;SACA;SACA;SACA,GAAG,0BAA0B;SAC7B,GAAG,0BAA0B;SAC7B;QACD,SAAS,CAAC,SAAS;QACnB;OACD;MACD;KACD,SAAS;MACR,eAAe;MACf,mBAAmB;MACnB,MAAM,SAAS,SAAS;AACvB,WAAI,CAAC,iBAAiB,gBAAiB,OAAMF,WAAS,QAAQ;;MAE/D;KACD;;GAEF,iBAAiB;AAChB,QAAI,eAAoB,MAAM,IAAI,CAAC,GAAG,IAAI,EAAG,kBAAiB,oBAAoB;;GAEnF,UAAU,EAAE,MAAM,QAAQ,SAAS;AAClC,QAAI,iBAAiB,gBAAiB,OAAMA,WAAS,QAAQ;MAC3D;GACH,gBAAgB,QAAQ;AACvB,eAAW,qCAAqC,eAAe,iBAAiB,IAAI;KACnF,MAAM,gBAAgB,OAAO,aAAa;AAC1C,SAAI,CAAC,cAAe,OAAM,IAAI,MAAM,mCAAmC,gBAAgB,GAAG;AAC1F,SAAI,CAACG,yBAA8B,cAAc,CAAE,OAAM,IAAI,MAAM,2BAA2B,gBAAgB,mBAAmB;AACjI,YAAO,cAAc,OAAO,OAAO,GAAG;;IAEvC,MAAM,UAAU,OAAO,aAAa,OAAO,IAAI;AAC/C,WAAO,aAAa,OAAO,IAAI,OAAO,eAAe,GAAG,MAAM;KAC7D,MAAM,IAAI,KAAK;AACf,SAAI,KAAK,OAAO,MAAM,YAAY,EAAE,SAAS,UAC5C;WAAK,MAAM,UAAU,EAAE,QAAS,KAAI,OAAO,SAAS,aAAa;OAChE,MAAM,MAAM,OAAO,aAAa,OAAO,YAAY,eAAe,IAAI,OAAO,KAAK;AAClF,WAAI,OAAO,IAAI,MAAM,QAAQ,uBAAuB,IAAI,KAAK;QAC5D,MAAM,YAAY,OAAO,aAAa,IAAI,YAAY,cAAc,IAAI,GAAG;AAC3E,YAAI,UAAW,QAAO,aAAa,IAAI,YAAY,iBAAiB,UAAU;;;;AAIjF,YAAO,QAAQ,MAAM,MAAM,KAAK;;AAEjC,QAAI,iBAAiB,kBAAkB,MAAO;IAC9C,MAAM,UAAU,iBAAiB,iBAAiB;KACjD,iBAAiB;KACjB,WAAW;KACX;IACD,MAAM,cAAc,OAAO,aAAa,QAAQ;IAChD,MAAM,SAAS,eAAe,YAAY,QAAQ,QAAQ,UAAU;AACpE,iBAAa;AACZ,YAAO,YAAY,IAAI,OAAO,KAAK,KAAK,SAAS;AAChD,UAAI;OACH,MAAM,WAAW,MAAM,YAAY,gBAAgB,UAAU,OAAO;AACpE,cAAO,UAAU,gDAAgD,OAAO,GAAG;OAC3E,MAAM,eAAe,sBAAsB,MAAM,YAAY,OAAO,OAAO,SAAS,GAAG,CAAC;AACxF,WAAI,MAAM,IAAI,eAAe,IAAI;AACjC,aAAM,cAAc,aAAa,CAAC,KAAK,IAAI;eACnC,GAAG;AACX,YAAK,EAAE;;OAEP;;;GAGJ,MAAM,uBAAuB,QAAQ;AACpC,QAAI,iBAAiB,kBAAkB,MAAO;IAC9C,MAAM,UAAU,iBAAiB,iBAAiB;KACjD,iBAAiB;KACjB,WAAW;KACX;IACD,MAAM,UAAU,cAAc,sBAAsB,MAAM,OAAO,cAAc,KAAK,KAAK,QAAQ,OAAO,aAAa,QAAQ,iBAAiB,MAAM,QAAQ,GAAG,QAAQ,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC;AAC/L,WAAO,YAAY,KAAK,KAAK,MAAM,SAAS;AAC3C,YAAO,IAAI,QAAQ;AACnB,WAAM;MACL;AACF,iBAAa;AACZ,YAAO,YAAY,IAAI,OAAO,KAAK,KAAK,SAAS;AAChD,UAAI;AACH,WAAI,MAAM,IAAI,eAAe,IAAI;AACjC,aAAM,QAAQ,KAAK,IAAI;eACf,GAAG;AACX,YAAK,EAAE;;OAEP;;;GAGJ,MAAM,UAAU,KAAK;AACpB,QAAI,aAAa,IAAI,KAAK,EACzB;SAAI,KAAK,YAAY,SAAS,SAAU;;AAEzC,QAAI,IAAI,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,MAAM,MAAM,KAAK,CAAC,WAAW,EAAG;AAC7E,QAAI,KAAK,YAAY,SAAS,OAC7B;UAAK,MAAM,OAAO,IAAI,QAAS,KAAI,IAAI,SAAS,QAAQ,IAAI,MAAM,IAAI,MAAM,QAAQ,uBAAwB,KAAI;AAC/G,YAAM,KAAK,YAAY,iBAAiB,IAAI,IAAI;aACzC;;IAET,SAAS,uBAAuB,MAAM;KACrC,MAAM,0BAA0B,IAAI,KAAK;KACzC,SAAS,QAAQ,KAAK;AACrB,UAAI,CAAC,IAAI,GAAI,QAAO;AACpB,UAAI,QAAQ,uBAAuB,IAAI,IAAK,QAAO;AACnD,UAAI,QAAQ,IAAI,IAAI,GAAG,CAAE,QAAO;AAChC,cAAQ,IAAI,IAAI,GAAG;AACnB,WAAK,MAAM,YAAY,IAAI,UAAW,KAAI,QAAQ,SAAS,CAAE,QAAO;AACpE,aAAO;;AAER,YAAO,KAAK,MAAM,QAAQ,QAAQ,IAAI,CAAC;;AAExC,QAAI,CAAC,uBAAuB,IAAI,QAAQ,EAAE;AACzC,SAAI,KAAK,YAAY,SAAS,OAAO;AACpC,UAAI,IAAI,QAAQ,WAAW,GAAG;OAC7B,MAAM,YAAY,CAAC,GAAG,IAAI,QAAQ,GAAG,UAAU;AAC/C,WAAI,UAAU,SAAS,KAAK,UAAU,OAAO,MAAM,EAAE,MAAM,aAAa,EAAE,GAAG,CAAC,CAAE,QAAO,EAAE;;AAE1F,WAAK,MAAM,OAAO,IAAI,QAAS,KAAI,IAAI,SAAS,KAAM,KAAI;AACzD,aAAM,KAAK,YAAY,iBAAiB,IAAI,IAAI;eACxC,GAAG;AACX,eAAQ,OAAO,aAAa,OAAO,IAAI,KAAK;QAC3C,MAAM;QACN,KAAK,aAAa,EAAE;QACpB,CAAC;AACF,aAAM;;AAEP,UAAI,OAAO,aAAa,OAAO,IAAI,KAAK;OACvC,MAAM;OACN,OAAO;OACP,MAAM,EAAE,MAAM,IAAI,MAAM;OACxB,CAAC;;AAEH,SAAI,KAAK,YAAY,SAAS,UAC7B;UAAI,IAAI,OAAO,aAAa,IAAI,YAAY,cAAc,IAAI,KAAK,EAAE;AACpE,YAAK,MAAM,aAAa,IAAI,QAAS,MAAK,MAAM,YAAY,UAAU,UAAW,KAAI,SAAS,MAAM,aAAa,SAAS,GAAG,CAAE,OAAM,KAAK,YAAY,aAAa,SAAS;AAC5K,cAAO,EAAE;;;;;GAKb;EACD;GACC,MAAM;GACN,WAAW;IACV,OAAO;IACP,MAAM,QAAQ,QAAQ,UAAU,SAAS;AACxC,SAAI,4BAA4B,OAAO,WAAW,GAAG,SAAS,2BAA2B,EAAE;MAC1F,MAAM,YAAY,OAAO,QAAQ,GAAG,SAAS,2BAA2B,2BAA2B;AACnG,aAAO,MAAM,KAAK,QAAQ,WAAW,UAAU;OAC9C,GAAG;OACH,UAAU;OACV,CAAC;;;IAGJ;GACD;EACD;GACC,MAAM;GACN,MAAM,UAAU,MAAM;AACrB,QAAI,CAAC,KAAK,SAAS,iCAAiC,CAAE;IACtD,MAAM,EAAE,WAAW;IACnB,MAAM,IAAI,IAAI,YAAY,KAAK;AAC/B,SAAK,MAAM,SAAS,aAAa,KAAK,CAAC,SAAS,oDAAoD,EAAE;KACrG,MAAM,CAAC,UAAU,UAAU,MAAM,QAAQ;KACzC,MAAM,CAAC,iBAAiB,aAAa,UAAU,IAAI,KAAK,MAAM,UAAU,OAAO,CAAC,MAAM,CAAC,GAAG;KAC1F,IAAI;AACJ,SAAI,KAAK,YAAY,SAAS,SAAS,iBAAiB,mBAAoB,eAAc,iFAAiF,KAAK,UAAU;MACzL;MACA;MACA,CAAC,CAAC;cACM,KAAK,YAAY,SAAS,OAAO;MACzC,MAAM,cAAc,OAAO,aAAa;MACxC,MAAM,SAAS,eAAe,YAAY,QAAQ,UAAU;MAC5D,MAAM,WAAW,MAAM,YAAY,gBAAgB,UAAU,OAAO;AACpE,aAAO,UAAU,uCAAuC,OAAO,GAAG;AAClE,oBAAc,iDAAiD,KAAK,UAAU,gBAAgB,CAAC,IAAI,KAAK,UAAU,SAAS,GAAG,CAAC;YACzH;MACN,MAAM,cAAc,QAAQ,OAAO,aAAa;MAChD,MAAM,aAAa,aAAa,uBAAuB,YAAY,MAAM,cAAc,MAAM,CAAC;AAC9F,oBAAc,KAAK,UAAU,oCAAoC,KAAK,UAAU;OAC/E,SAAS,KAAK,YAAY;OAC1B,OAAO;OACP,gBAAgB,GAAG,WAAW;OAC9B,CAAC,GAAG,gCAAgC;;KAEtC,MAAM,CAAC,OAAO,OAAO,MAAM,QAAQ;AACnC,OAAE,UAAU,OAAO,KAAK,YAAY;;AAErC,QAAI,EAAE,YAAY,CAAE,QAAO;KAC1B,MAAM,EAAE,UAAU;KAClB,KAAK,EAAE,YAAY,EAAE,OAAO,YAAY,CAAC;KACzC;;GAEF,YAAY,MAAM,OAAO;AACxB,QAAI,CAAC,KAAK,SAAS,yBAAyB,CAAE;IAC9C,MAAM,EAAE,WAAW;IACnB,MAAM,IAAI,IAAI,YAAY,KAAK;AAC/B,SAAK,MAAM,SAAS,KAAK,SAAS,qFAAqF,EAAE;KACxH,MAAM,eAAe,UAAU,MAAM,GAAG;KACxC,MAAM,EAAE,SAAS,OAAO,mBAAmB,KAAK,MAAM,aAAa,MAAM,IAAI,IAAI,CAAC;KAClF,MAAM,aAAa,sBAAsB,KAAK,SAAS,KAAK,KAAK,OAAO,aAAa,SAAS,MAAM,QAAQ,MAAM,UAAU,KAAK,EAAE,KAAK,KAAK,OAAO,aAAa,OAAO,MAAM,QAAQ,eAAe,CAAC,CAAC;KACvM,MAAM,cAAc,WAAW,KAAK,UAAU,WAAW,CAAC;KAC1D,MAAM,CAAC,OAAO,OAAO,MAAM,QAAQ;AACnC,OAAE,UAAU,OAAO,KAAK,YAAY;;AAErC,QAAI,EAAE,YAAY,CAAE,QAAO;KAC1B,MAAM,EAAE,UAAU;KAClB,KAAK,EAAE,YAAY,EAAE,OAAO,YAAY,CAAC;KACzC;;GAEF;EACD;GACC,MAAM;GACN,gBAAgB,QAAQ;AACvB,QAAI,CAAC,iBAAiB,mBAAoB;IAC1C,eAAe,cAAc,KAAK;KACjC,MAAM,EAAE,iBAAiB,cAAc,OAAO,YAAY,IAAI,aAAa;AAC3E,YAAO,gBAAgB;KACvB,MAAM,cAAc,OAAO,aAAa;KACxC,MAAM,SAAS,eAAe,YAAY,QAAQ,UAAU;KAC5D,MAAM,gBAAgB,MAAM,YAAY,gBAAgB,UAAU,OAAO;AACzE,YAAO,eAAe,uCAAuC,OAAO,GAAG;AACvE,YAAO,gBAAgB,IAAI,MAAM,EAAE,EAAE,EAAE,IAAI,SAAS,GAAG,WAAW;AACjE,UAAI,OAAO,MAAM,YAAY,MAAM,OAAQ;AAC3C,aAAO,OAAO,GAAG,SAAS;AACzB,eAAQ,MAAM,YAAY,OAAO,OAAO,cAAc,GAAG,EAAE,GAAG,GAAG,KAAK;;QAErE,CAAC,CAAC;;AAEN,WAAO,YAAY,IAAI,OAAO,KAAK,KAAK,SAAS;KAChD,MAAM,MAAM,IAAI,IAAI,IAAI,OAAO,KAAK,mBAAmB;AACvD,SAAI,IAAI,aAAa,qCAAqC;AACzD,UAAI;AACH,aAAM,cAAc,MAAM,cAAc,IAAI,CAAC,CAAC,KAAK,IAAI;eAC/C,GAAG;AACX,YAAK,EAAE;;AAER;;AAED,WAAM;MACL;;GAEH;EACD;GACC,MAAM;GACN,UAAU,QAAQ;AACjB,QAAI,WAAW,8BAA+B,QAAO,KAAK;;GAE3D,KAAK,IAAI;AACR,QAAI,OAAO,iCAAiC;KAC3C,MAAM,EAAE,WAAW;KACnB,MAAM,SAAS,OAAO,cAAc,MAAM;AAC1C,YAAO,QAAQ,8CAA8C;AAC7D,YAAO;;;;OAIL,OAAO;;;;;;;;GAQX;EACD;GACC,MAAM;GACN,UAAU,QAAQ;AACjB,QAAI,WAAW,oCAAoC;AAClD,SAAI,KAAK,YAAY,SAAS,QAAS,QAAO;MAC7C,IAAI;MACJ,UAAU;MACV;AACD,YAAO,OAAO;;;GAGhB,KAAK,IAAI;AACR,QAAI,OAAO,sCAAsC;AAChD,YAAO,KAAK,YAAY,SAAS,SAAS;AAC1C,YAAO,KAAK,YAAY,SAAS,MAAM;KACvC,MAAM,WAAW;MAChB,wBAAwB,UAAU,0BAA0B,UAAU,gBAAgB,gBAAgB,SAAS,QAAQ,CAAC,CAAC;MACzH,qBAAqB,EAAE;MACvB;AACD,YAAO,kBAAkB,KAAK,UAAU,UAAU,MAAM,EAAE;;;GAG5D,eAAe,UAAU,QAAQ;AAChC,QAAI,KAAK,YAAY,SAAS,MAAO,SAAQ,YAAY;AACzD,QAAI,KAAK,YAAY,SAAS,UAAU;KACvC,MAAM,eAAe,iBAAiB,mCAAmC;KACzE,MAAM,kBAAkB,QAAQ,OAAO,aAAa,IAAI;KACxD,MAAM,kBAAkB,OAAO,gBAAgB,aAAa,WAAW,gBAAgB,WAAW,gBAAgB,YAAY;AAC9H,UAAK,MAAM,SAAS,OAAO,OAAO,QAAQ,UAAU,EAAE;AACrD,UAAI,MAAM,aAAa,gBAAiB;AACxC,UAAI,MAAM,SAAS,WAAW,aAAa,MAAM,SAAS,CAAE,MAAK,SAAS;OACzE,MAAM;OACN,UAAU,MAAM;OAChB,QAAQ,MAAM;OACd,CAAC;;KAEH,MAAM,kBAAkB,EAAE;KAC1B,MAAM,eAAe,iBAAiB,QAAQ,UAAU;AACxD,UAAK,MAAM,CAAC,IAAI,SAAS,OAAO,QAAQ,QAAQ,uBAAuB,CAAE,iBAAgB,KAAK,OAAO,gBAAgB;MACpH,IAAI,EAAE;MACN,KAAK,aAAa,KAAK,KAAK,OAAO,EAAE;MACrC,EAAE,QAAQ;KACX,MAAM,YAAY,iBAAiB,OAAO;KAC1C,MAAM,QAAQ,OAAO,OAAO,UAAU,CAAC,MAAM,MAAM,EAAE,MAAM,SAAS,QAAQ;AAC5E,YAAO,MAAM;KACb,MAAM,WAAW,UAAU,MAAM,MAAM,UAAU,QAAQ;KACzD,MAAM,sBAAsB,EAAE;AAC9B,UAAK,MAAM,QAAQ,OAAO,OAAO,QAAQ,uBAAuB,EAAE;MACjE,MAAM,OAAO,UAAU,KAAK,eAAe,QAAQ;OAClD,IAAI,EAAE;OACN,KAAK,EAAE;OACP;AACD,0BAAoB,KAAK,gBAAgB,gBAAgB,eAAe,MAAM,MAAM,KAAK,EAAE,QAAQ;;KAEpG,IAAI;AACJ,SAAI,OAAO,aAAa,SAAU,0BAAyB,UAAU,KAAK,UAAU,SAAS,CAAC;SACzF,0BAAyB,IAAI,aAAa,8BAA8B,SAAS,QAAQ,SAAS;AACvG,aAAQ,sBAAsB;MAC7B;MACA;MACA;MACA;;;GAGH,YAAY,MAAM,OAAO;AACxB,QAAI,KAAK,SAAS,mCAAmC,EAAE;AACtD,YAAO,KAAK,YAAY,SAAS,SAAS;KAC1C,MAAM,cAAc,sBAAsB,KAAK,SAAS,KAAK,KAAK,MAAM,UAAU,KAAK,EAAE,2BAA2B,CAAC;AACrH,YAAO,KAAK,WAAW,0CAA0C,YAAY;AAC7E,YAAO,EAAE,MAAM;;;GAGjB;EACD,oBAAoB,qCAAqC,WAAW;AACnE,UAAO,KAAK,YAAY,SAAS,SAAS;AAC1C,UAAO;;;;IAIN;EACF;GACC,MAAM;GACN,MAAM,UAAU,MAAM;AACrB,QAAI,CAAC,KAAK,SAAS,6BAA6B,IAAI,CAAC,sEAAsE,KAAK,KAAK,CAAE;AACvI,WAAO,KAAK,YAAY,SAAS,SAAS;IAC1C,MAAM,SAAS,IAAI,YAAY,KAAK;AACpC,SAAK,MAAM,SAAS,aAAa,KAAK,CAAC,SAAS,sFAAsF,EAAE;KACvI,MAAM,CAAC,UAAU,UAAU,MAAM,QAAQ;KACzC,MAAM,UAAU,KAAK,MAAM,UAAU,OAAO,CAAC,MAAM;AACnD,YAAO,UAAU,QAAQ,EAAE,qEAAqE,UAAU;KAC1G,IAAI,cAAc;KAClB,MAAM,CAAC,OAAO,OAAO,MAAM,QAAQ;AACnC,YAAO,UAAU,OAAO,KAAK,YAAY;;AAE1C,QAAI,OAAO,YAAY,EAAE;AACxB,SAAI,CAAC,KAAK,SAAS,6BAA6B,CAAE,QAAO,QAAQ,6EAA6E;AAC9I,YAAO;MACN,MAAM,OAAO,UAAU;MACvB,KAAK,OAAO,YAAY,EAAE,OAAO,YAAY,CAAC;MAC9C;;;GAGH;EACD,oBAAoB,gBAAgB,QAAQ,MAAM,EAAE,EAAE,iBAAiB;AACtE,UAAO,KAAK,YAAY,SAAS,MAAM;GACvC,IAAI,OAAO;AACX,OAAI,MAAM,KAAK,QAAQ,kBAAkB,CAAE,SAAQ;;;;;;;GAOnD,MAAM,SAAS,eAAe,KAAK,YAAY,QAAQ,QAAQ;GAC/D,MAAM,gBAAgB,MAAM,KAAK,QAAQ,OAAO;AAChD,UAAO,eAAe,uCAAuC,OAAO,GAAG;AACvE,WAAQ,gBAAgB,KAAK,UAAU,cAAc,GAAG,CAAC;AACzD,WAAQ;;;;;;;;;;AAUR,WAAQ;;;;;AAKR,WAAQ,oCAAoC,MAAM;AACjD,aAAS,iBAAiB,yBAAyB,CAAC,SAAS,SAAS;AACrE,SAAI,EAAE,MAAM,SAAS,KAAK,QAAQ,WAAW,CAAE,MAAK,QAAQ;MAC3D;KACD;AACF,UAAO;IACN;EACF,GAAG,qBAAqB,kBAAkB,QAAQ;EAClD,GAAG,4BAA4B;EAC/B,GAAG,iBAAiB,kBAAkB,QAAQ;EAC9C;GACC,GAAG,sBAAsB;GACzB,aAAa,iBAAiB,oBAAoB;GAClD;EACD,qBAAqB,EAAE,SAAS,CAAC;EACjC,GAAG,uBAAuB;EAC1B,GAAG,+BAA+B;EAClC;;AAEF,SAAS,gCAAgC;AACxC,QAAO,CAAC;EACP,MAAM;EACN,WAAW,EAAE,QAAQ,MAAM;AAC1B,QAAK,KAAK,YAAY,SAAS,SAAS,KAAK,YAAY,SAAS,UAAU,KAAK,SAAS,2BAA2B,IAAI,KAAK,SAAS,0BAA0B,IAAI,CAAC,KAAK,SAAS,sBAAsB,CAAE,SAAQ,KAAK,YAAY,SAAS,WAAW,CAAC,iBAAiB,6DAA6D,8DAA8D,0EAA0E;KAC9c;EACH,CAAC;;AAEH,SAAS,oBAAoB,wBAAwB,SAAS;CAC7D,MAAM,iCAAiC,IAAI,KAAK;CAChD,MAAM,eAAe;CACrB,MAAM,wBAAwB,uBAAuB,aAAa,OAAO;CACzE,MAAM,yBAAyB,uBAAuB,aAAa,WAAW;CAC9E,IAAI;CACJ,SAAS,kCAAkC,KAAK,IAAI;AACnD,OAAK,cAAc,KAAK,SAAS,QAAQ,KAAK,EAAE,GAAG,CAAC;AACpD,MAAI,mBAAmB,IAAI,SAAS,GAAG,CAAE,KAAI,KAAK,6HAA6H;;CAEhL,MAAMC,UAAQ,YAAY,sBAAsB;AAChD,QAAO;EACN;GACC,MAAM;GACN,MAAM,UAAU,MAAM,IAAI;AACzB,QAAI,KAAK,YAAY,SAAS,sBAAuB;AACrD,QAAI,CAAC,KAAK,SAAS,aAAa,EAAE;AACjC,YAAO,QAAQ,uBAAuB;AACtC;;IAED,MAAM,MAAM,MAAM,cAAc,KAAK;AACrC,QAAI,CAAC,aAAa,IAAI,MAAM,aAAa,EAAE;AAC1C,YAAO,QAAQ,uBAAuB;AACtC;;AAED,QAAI,KAAK,SAAS,aAAa,EAAE;KAChC,MAAM,aAAa,eAAe,KAAK,aAAa;AACpD,SAAI,WAAW,SAAS,EAAG,MAAK,MAAM,6DAA6D,WAAW,IAAI,MAAM;;IAEzH,IAAI;IACJ,IAAI;IACJ,MAAM,gBAAgB,eAAe,IAAI,GAAG;AAC5C,QAAI,CAAC,iBAAiB,KAAK,YAAY,SAAS,SAAS,GAAG,SAAS,iBAAiB,EAAE;AACvF,aAAM,oEAAoE,KAAK,YAAY,KAAK,iBAAiB,KAAK;AACtH,UAAK,SAAS,GAAG;AACjB,uCAAkC,MAAM,GAAG;AAC3C,gBAAW,+DAA+D,mBAAmB,GAAG;AAChG,oBAAe;eACL,cAAe,KAAI,KAAK,YAAY,SAAS,OAAO;AAC9D,gBAAW,qDAAqD;AAChE,oBAAe;WACT;AACN,gBAAW;AACX,oBAAe,WAAW,cAAc;;aAEhC,KAAK,YAAY,SAAS,OAAO;AACzC,gBAAW,+BAA+B,QAAQ,OAAO,aAAa,yBAAyB,GAAG;AAClG,oBAAe;WACT;AACN,gBAAW;AACX,oBAAe,WAAW,QAAQ,aAAa,GAAG,CAAC;;IAEpD,MAAM,SAAS,gBAAgB,MAAM,8BAA8B,CAAC,KAAK;KACxE,WAAW;KACX;KACA,MAAM,CAAC,CAAC,uBAAuB;KAC/B,UAAU,MAAM,SAAS;MACxB,IAAI,aAAa,wEAAwE,KAAK,UAAU,KAAK,GAAG;AAChH,UAAI,MAAM,MAAO,cAAa,IAAI,KAAK,MAAM;AAC7C,aAAO,2CAA2C,WAAW,KAAK,KAAK,UAAU,aAAa,CAAC,KAAK,KAAK,UAAU,KAAK,CAAC;;KAE1H,CAAC;AACF,QAAI,CAAC,OAAQ;IACb,MAAM,EAAE,QAAQ,gBAAgB;AAChC,YAAQ,uBAAuB,MAAM;KACpC;KACA;KACA;KACA;KACA,iBAAiB,EAAE;KACnB;IACD,MAAM,eAAe,eAAe,GAAG,SAAS,YAAY;AAC5D,WAAO,QAAQ,mCAAmC,aAAa,MAAM;AACrE,WAAO;KACN,MAAM,OAAO,UAAU;KACvB,KAAK,EAAE,UAAU,IAAI;KACrB;;GAEF;EACD;GACC,MAAM;GACN,UAAU,QAAQ;AACjB,QAAI,OAAO,WAAW,qCAAqC,CAAE,QAAO,OAAO;;GAE5E,KAAK,IAAI;AACR,QAAI,OAAO,wCAAwC;AAClD,SAAI,KAAK,YAAY,SAAS,MAAO,QAAO;MAC3C,MAAM;MACN,KAAK;MACL;AACD,SAAI,QAAQ,aAAa;MACxB,IAAI,SAAS;AACb,WAAK,MAAM,QAAQ,OAAO,OAAO,QAAQ,uBAAuB,CAAE,WAAU,UAAU,KAAK,UAAU,KAAK,SAAS,CAAC;AACpH,aAAO;OACN,MAAM;OACN,KAAK;OACL;;KAEF,IAAI,OAAO;AACX,aAAQ,wBAAwB,EAAE;AAClC,UAAK,MAAM,QAAQ,OAAO,OAAO,QAAQ,uBAAuB,EAAE;AACjE,UAAI,CAAC,KAAK,YAAa;MACvB,IAAI,OAAO,uBAAuB,eAAe;OAChD,IAAI,KAAK;OACT,cAAc,QAAQ,aAAa,KAAK,SAAS;OACjD,aAAa,KAAK;OAClB,CAAC,IAAI,KAAK;AACX,aAAO,SAAS,KAAK,WAAW,MAAM,KAAK,CAAC;AAC5C,OAAC,QAAQ,sBAAsB,UAAU,EAAE,EAAE,KAAK,KAAK;AACvD,WAAK,eAAe,8CAA8C;;AAEnE,aAAM,2BAA2B,QAAQ,sBAAsB;AAC/D,UAAK,MAAM,CAAC,MAAM,UAAU,OAAO,QAAQ,QAAQ,sBAAsB,EAAE;MAC1E,MAAM,eAAe,4CAA4C;AACjE,WAAK,MAAM,QAAQ,MAAO,SAAQ;kBACtB,KAAK,UAAU,KAAK,aAAa,CAAC;2CACT,KAAK,UAAU,aAAa,CAAC;oCACpC,KAAK,aAAa;;;;AAIjD,YAAO,mBAAmB,KAAK;AAC/B,YAAO;MACN;MACA,KAAK;MACL;;AAEF,QAAI,GAAG,WAAW,8CAA8C,EAAE;KACjE,MAAM,OAAO,GAAG,MAAM,GAAG;KACzB,MAAM,QAAQ,QAAQ,sBAAsB;AAC5C,YAAO,OAAO,mCAAmC,OAAO;KACxD,IAAI,OAAO;AACX,UAAK,MAAM,QAAQ,OAAO;MACzB,MAAM,UAAU,KAAK,gBAAgB,KAAK,WAAW,GAAG,OAAO,WAAW,KAAK,aAAa,GAAG,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG;AAC3H,cAAQ;mCACqB,KAAK,aAAa,QAAQ,KAAK,UAAU,KAAK,SAAS,CAAC;oCACvD,KAAK,aAAa,MAAM,QAAQ;;;AAG/D,YAAO;MACN;MACA,KAAK;MACL;;;GAGH;EACD;GACC,MAAM;GACN,MAAM,KAAK,IAAI;AACd,QAAI,GAAG,WAAW,qDAAqD,EAAE;AACxE,YAAO,MAAM,KAAK,YAAY,MAAM,MAAM;AAC1C,YAAO,KAAK,YAAY,SAAS,sBAAsB;AACvD,UAAK,mBAAmB,GAAG,MAAM,GAAG,CAAC;AACrC,YAAO;4BACgB,KAAK,UAAU,GAAG,CAAC;uCACR,KAAK,UAAU,GAAG,CAAC;;;;;GAKvD;EACD;GACC,MAAM;GACN,WAAW;IACV,OAAO;IACP,MAAM,QAAQ,QAAQ,UAAU,SAAS;AACxC,SAAI,KAAK,YAAY,SAAS,yBAAyB,aAAa,KAAK,OAAO,IAAI,EAAE,WAAW,iBAAiB,WAAW,gBAAgB;MAC5I,MAAM,WAAW,MAAM,KAAK,QAAQ,QAAQ,UAAU,QAAQ;AAC9D,UAAI,YAAY,SAAS,GAAG,SAAS,iBAAiB,EAAE;AACvD,sBAAe,IAAI,SAAS,IAAI,OAAO;AACvC,cAAO;;;;IAIV;GACD,MAAM,KAAK,IAAI;AACd,QAAI,GAAG,WAAW,2CAA2C,EAAE;AAC9D,YAAO,KAAK,YAAY,SAAS,MAAM;KACvC,MAAM,SAAS,GAAG,MAAM,GAAG;AAC3B,YAAO,WAAW,OAAO,OAAO,QAAQ,uBAAuB,CAAC,MAAM,MAAM,EAAE,kBAAkB,OAAO,CAAC,YAAY,KAAK,IAAI,CAAC,SAAS,KAAK,UAAU,OAAO,CAAC;;;GAGhK,eAAe,UAAU,QAAQ;AAChC,QAAI,QAAQ,YAAa;AACzB,QAAI,KAAK,YAAY,SAAS,sBAAuB;AACrD,SAAK,MAAM,SAAS,OAAO,OAAO,OAAO,CAAE,KAAI,MAAM,SAAS,SAAS;KACtE,MAAM,QAAQ,EAAE;AAChB,UAAK,MAAM,MAAM,MAAM,WAAW;MACjC,MAAM,OAAO,QAAQ,uBAAuB;AAC5C,UAAI,KAAM,OAAM,KAAK,CAAC,IAAI,KAAK,CAAC;;AAEjC,SAAI,MAAM,SAAS,GAAG;MACrB,IAAI;AACJ,UAAI,MAAM,eAAgB,eAAc,YAAY,QAAQ,aAAa,MAAM,eAAe;UACzF,eAAc,YAAY,QAAQ,aAAa,MAAM,KAAK,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,GAAG;AACtF,WAAK,MAAM,CAAC,IAAI,SAAS,OAAO;OAC/B,MAAM,MAAM,MAAM,QAAQ;AAC1B,cAAO,IAAI;AACX,YAAK,kBAAkB,IAAI;AAC3B,YAAK,cAAc;;;;;GAKvB;EACD,GAAG,8BAA8B,EAAE,cAAc,aAAa;AAC7D,uBAAoB;KAClB,CAAC;EACJ;;AAEF,SAAS,8BAA8B,EAAE,eAAe;CACvD,MAAM,iBAAiB;CACvB,SAAS,yBAAyB;AACjC,SAAO;GACN,MAAM;GACN,MAAM,OAAO;AACZ,UAAM,OAAO,WAAW;AACvB,SAAI,CAAC,OAAO,UAAU,UAAU,CAAC,MAAM,eAAe,OAAQ;KAC9D,MAAM,WAAW,EAAE,KAAK,OAAO,KAAK,OAAO,SAAS,OAAO,EAAE;AAC7D,iBAAY,SAAS;AACrB,QAAG,cAAc,KAAK,KAAK,MAAM,eAAe,QAAQ,eAAe,EAAE,KAAK,UAAU,UAAU,MAAM,EAAE,CAAC;MAC1G;;GAEH;;CAEF,SAAS,0BAA0B;AAClC,SAAO;GACN,MAAM;GACN,YAAY,SAAS;AACpB,WAAO,QAAQ,IAAI;IACnB,MAAM,WAAW,EAAE,KAAK,CAAC,GAAG,KAAK,cAAc,CAAC,CAAC,KAAK,OAAO,KAAK,SAAS,QAAQ,KAAK,EAAE,GAAG,CAAC,EAAE;AAChG,gBAAY,SAAS;AACrB,OAAG,cAAc,KAAK,KAAK,QAAQ,KAAK,eAAe,EAAE,KAAK,UAAU,UAAU,MAAM,EAAE,CAAC;;GAE5F;;AAEF,QAAO,CAAC;EACP,MAAM;EACN,OAAO;EACP,SAAS;AACR,UAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,qBAAqBN,eAAO,EAAE,iBAAiB,EAAE,SAAS,CAAC,yBAAyB,CAAC,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE,SAAS,CAAC,wBAAwB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;;EAE/M,eAAe,QAAQ;GACtB,MAAM,OAAO,KAAK,KAAK,OAAO,UAAU,QAAQ,eAAe;AAC/D,OAAI,GAAG,WAAW,KAAK,CAAE,KAAI;AAC5B,gBAAY,KAAK,MAAM,GAAG,aAAa,MAAM,QAAQ,CAAC,CAAC;YAC/C,GAAG;AACX,SAAK,KAAK,mBAAmB,KAAK,GAAG;;;EAGvC,CAAC;;AAEH,SAAS,8BAA8B,wBAAwB;CAC9D,IAAI;CACJ,IAAI,oBAAoB;CACxB,MAAM,kBAAkB;CACxB,MAAM,WAAW;CACjB,MAAM,wBAAwB,uBAAuB,aAAa,OAAO;AACzE,QAAO,CAAC;EACP,MAAM;EACN,MAAM,kBAAkB,MAAM,SAAS,KAAK;AAC3C,OAAI,SAAS,yBAAyB,CAAC,IAAI,UAAW,uBAAsB,uBAAuB,uBAAuB,KAAK,UAAU,SAAS,MAAM,uBAAuB,CAAC,CAAC;;EAElL,UAAU,QAAQ;AACjB,OAAI,WAAW,kCAAmC,QAAO;IACxD,IAAI,OAAO;IACX,mBAAmB;IACnB;;EAEF,KAAK,IAAI;AACR,OAAI,OAAO,qCAAqC;AAC/C,QAAI,KAAK,YAAY,SAAS,QAAS,QAAO,wBAAwB;AACtE,WAAO,yBAAyB,oBAAoB;;;EAGtD,YAAY,MAAM,OAAO;AACxB,OAAI,KAAK,SAAS,gBAAgB,EAAE;AACnC,WAAO,MAAM,KAAK,YAAY,MAAM,sBAAsB;AAC1D,wBAAoB;IACpB,MAAM,iBAAiB,sBAAsB,KAAK,SAAS,KAAK,KAAK,MAAM,UAAU,KAAK,EAAE,SAAS,CAAC;IACtG,MAAM,cAAc,UAAU,KAAK,UAAU,eAAe,CAAC;AAC7D,WAAO,KAAK,WAAW,uBAAuB,YAAY;AAC1D,WAAO,EAAE,MAAM;;;EAGjB,cAAc;AACb,OAAI,KAAK,YAAY,SAAS,yBAAyB,kBAAmB,IAAG,cAAc,KAAK,KAAK,KAAK,YAAY,OAAO,MAAM,QAAQ,SAAS,EAAE,kBAAkB,oBAAoB,KAAK;;EAElM,CAAC;;AAEH,SAAS,oBAAoB,wBAAwB,SAAS;CAC7D,MAAM,wBAAwB,uBAAuB,aAAa,OAAO;CACzE,MAAM,yBAAyB,uBAAuB,aAAa,WAAW;CAC9E,MAAMM,UAAQ,YAAY,sBAAsB;AAChD,QAAO,CAAC;EACP,MAAM;EACN,MAAM,UAAU,MAAM,IAAI;AACzB,OAAI,CAAC,KAAK,SAAS,aAAa,EAAE;AACjC,WAAO,QAAQ,uBAAuB;AACtC;;GAED,MAAM,MAAM,MAAM,cAAc,KAAK;GACrC,IAAI;GACJ,MAAM,wBAAwB;AAC7B,QAAI,CAAC,eAAe;AACnB,SAAI,KAAK,YAAY,SAAS,SAAS,GAAG,SAAS,iBAAiB,EAAE;AACrE,cAAM,mEAAmE,KAAK,YAAY,KAAK,gBAAgB,KAAK;AACpH,WAAK,SAAS,GAAG;;AAElB,SAAI,QAAQ,OAAO,YAAY,QAAS,iBAAgB,WAAW,QAAQ,aAAa,GAAG,CAAC;SACvF,iBAAgB,+BAA+B,QAAQ,OAAO,aAAa,wBAAwB,GAAG;;AAE5G,WAAO;;AAER,OAAI,KAAK,YAAY,SAAS,uBAAuB;IACpD,MAAM,+BAA+B,gBAAgB,MAAM,4BAA4B;IACvF,MAAM,mBAAmB,uBAAuB,0BAA0B;IAC1E,MAAM,SAAS,6BAA6B,MAAM,KAAK;KACtD,UAAU,OAAO,SAAS,yCAAyC,MAAM,IAAI,KAAK,UAAU,iBAAiB,CAAC,CAAC,IAAI,KAAK,UAAU,KAAK,CAAC;KACxI,wBAAwB;KACxB,QAAQ,oBAAoB,UAAU,wDAAwD,MAAM,KAAK,KAAK;KAC9G,QAAQ,oBAAoB,UAAU,8DAA8D,MAAM,KAAK,KAAK;KACpH,CAAC;IACF,MAAM,SAAS,OAAO;AACtB,QAAI,CAAC,UAAU,CAAC,OAAO,YAAY,EAAE;AACpC,YAAO,QAAQ,uBAAuB;AACtC;;AAED,YAAQ,uBAAuB,MAAM;KACpC,UAAU;KACV,cAAc,iBAAiB;KAC/B,aAAa,WAAW,SAAS,OAAO,QAAQ,OAAO;KACvD;IACD,MAAM,eAAe,eAAe,GAAG,SAAS,YAAY;AAC5D,WAAO,QAAQ,mCAAmC,aAAa,MAAM;AACrE,QAAI,kBAAkB;KACrB,MAAM,iBAAiB,eAAe,GAAG,SAAS,2BAA2B;AAC7E,YAAO,QAAQ,kDAAkD,KAAK,UAAU,eAAe,CAAC,KAAK;;AAEtG,WAAO;KACN,MAAM,OAAO,UAAU;KACvB,KAAK,OAAO,YAAY,EAAE,OAAO,YAAY,CAAC;KAC9C;UACK;AACN,QAAI,CAAC,aAAa,IAAI,MAAM,aAAa,EAAE;AAC1C,YAAO,QAAQ,uBAAuB;AACtC;;IAED,MAAM,SAAS,gBAAgB,MAAM,8BAA8B,CAAC,KAAK;KACxE;KACA,UAAU,SAAS,uCAAuC,KAAK,UAAU,iBAAiB,GAAG,MAAM,KAAK,CAAC,2CAA2C,KAAK,YAAY,SAAS,QAAQ,oCAAoC,gBAAgB,GAAG,KAAK,UAAU,KAAK,CAAC;KAClQ,WAAW;KACX,wBAAwB;KACxB,CAAC;AACF,QAAI,CAAC,OAAQ;IACb,MAAM,SAAS,QAAQ;AACvB,QAAI,CAAC,QAAQ,YAAY,CAAE;AAC3B,YAAQ,uBAAuB,MAAM;KACpC,UAAU;KACV,cAAc,iBAAiB;KAC/B,aAAa,OAAO;KACpB;IACD,MAAM,eAAe,eAAe,GAAG,SAAS,SAAS,KAAK,YAAY,SAAS,yBAAyB,YAAY,QAAQ;AAChI,WAAO,QAAQ,mCAAmC,aAAa,MAAM;AACrE,WAAO;KACN,MAAM,OAAO,UAAU;KACvB,KAAK,OAAO,YAAY,EAAE,OAAO,YAAY,CAAC;KAC9C;;;EAGH,EAAE,oBAAoB,8BAA8B,WAAW;AAC/D,MAAI,KAAK,YAAY,SAAS,MAAO,QAAO;GAC3C,MAAM;GACN,KAAK;GACL;EACD,IAAI,OAAO;AACX,OAAK,MAAM,QAAQ,OAAO,OAAO,QAAQ,uBAAuB,EAAE;GACjE,MAAM,MAAM,KAAK,UAAU,KAAK,aAAa;GAC7C,MAAM,KAAK,KAAK,UAAU,KAAK,SAAS;GACxC,MAAM,UAAU,KAAK,YAAY,KAAK,SAAS,SAAS,YAAY,sBAAsB,KAAK,CAAC,MAAM;AACtG,WAAQ;IACP,IAAI;aACK,QAAQ,mBAAmB,GAAG;cAC7B,QAAQ;;;;AAIpB,SAAO,mBAAmB,KAAK;AAC/B,SAAO;GACN;GACA,KAAK;GACL;GACA,CAAC;;AAEJ,IAAI,eAAe,MAAM;CACxB;CACA,YAAY,OAAO;AAClB,OAAK,UAAU;;;AAGjB,SAAS,0BAA0B,OAAO;CACzC,MAAM,eAAe,EAAE;CACvB,IAAI,SAAS,KAAK,UAAU,QAAQ,MAAM,YAAY;AACrD,MAAI,mBAAmB,cAAc;GACpC,MAAM,cAAc,yBAAyB,aAAa,OAAO;AACjE,gBAAa,KAAK,CAAC,aAAa,QAAQ,QAAQ,CAAC;AACjD,UAAO;;AAER,SAAO;IACL,EAAE;AACL,MAAK,MAAM,CAAC,aAAa,YAAY,aAAc,UAAS,OAAO,QAAQ,IAAI,YAAY,IAAI,QAAQ;AACvG,QAAO;;AAER,SAAS,UAAU,KAAK,SAAS;CAChC,MAAM,EAAE,WAAW;AACnB,KAAI,OAAO,YAAY,WAAW,OAAO,OAAO,cAAc,mBAAmB,YAAY;EAC5F,MAAM,SAAS,OAAO,aAAa,eAAe,KAAK;GACtD,MAAM;GACN,UAAU;GACV,KAAK;GACL,QAAQ;GACR,CAAC;AACF,MAAI,OAAO,WAAW,UAAU;AAC/B,OAAI,OAAO,QAAS,QAAO,IAAI,aAAa,OAAO,QAAQ;AAC3D,UAAO,CAAC,OAAO,UAAU,gEAAgE;aAC/E,OAAQ,QAAO;;AAE3B,QAAO,OAAO,OAAO;;AAEtB,SAAS,gBAAgB,MAAM,SAAS;AACvC,QAAO;EACN,IAAI,KAAK,GAAG,KAAK,SAAS;AACzB,UAAO,OAAO,SAAS,SAAS;AAChC,UAAO,UAAU,MAAM,QAAQ;IAC9B;EACF,KAAK,KAAK,IAAI,KAAK,SAAS;AAC3B,UAAO,OAAO,SAAS,SAAS;AAChC,UAAO,UAAU,MAAM,QAAQ;IAC9B;EACF;;AAEF,SAAS,eAAe,GAAG,GAAG;AAC7B,QAAO;EACN,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC;EACpC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,GAAG,EAAE,IAAI,CAAC,CAAC;EACvC;;AAEF,SAAS,iBAAiB,QAAQ;CACjC,MAAM,8BAA8B,IAAI,KAAK;AAC7C,MAAK,MAAM,SAAS,OAAO,OAAO,OAAO,CAAE,KAAI,MAAM,SAAS,QAAS,aAAY,IAAI,OAAO,sBAAsB,MAAM,UAAU,OAAO,CAAC;CAC5I,MAAM,WAAW,EAAE;AACnB,MAAK,MAAM,CAAC,OAAO,SAAS,YAAY,SAAS,CAAE,MAAK,MAAM,MAAM,MAAM,UAAW,UAAS,MAAM;EACnG;EACA;EACA;AACD,QAAO;;AAER,SAAS,sBAAsB,UAAU,QAAQ;CAChD,MAAM,0BAA0B,IAAI,KAAK;CACzC,MAAM,MAAM,EAAE;CACd,SAAS,QAAQ,GAAG;AACnB,MAAI,QAAQ,IAAI,EAAE,CAAE;AACpB,UAAQ,IAAI,EAAE;EACd,MAAM,IAAI,OAAO;AACjB,SAAO,GAAG,cAAc,EAAE,iBAAiB;AAC3C,MAAI,EAAE,SAAS,SAAS;AACvB,OAAI,KAAK,GAAG,EAAE,cAAc,eAAe,EAAE,CAAC;AAC9C,QAAK,MAAM,MAAM,EAAE,QAAS,KAAI,MAAM,OAAQ,SAAQ,GAAG;;;AAG3D,SAAQ,SAAS;AACjB,QAAO;EACN,IAAI,CAAC,GAAG,QAAQ;EAChB,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC;EACtB;;AAEF,SAAS,iBAAiB,gBAAgB,EAAE,EAAE,SAAS;CACtD,SAAS,mBAAmB,IAAI;AAC/B,SAAO,iCAAiC,KAAK,GAAG;;CAEjD,SAAS,WAAW,aAAa,SAAS;EACzC,MAAM,0BAA0B,IAAI,KAAK;EACzC,MAAM,yBAAyB,IAAI,KAAK;EACxC,MAAM,+BAA+B,IAAI,KAAK;EAC9C,SAAS,QAAQ,IAAI;AACpB,OAAI,QAAQ,IAAI,GAAG,CAAE;AACrB,WAAQ,IAAI,GAAG;GACf,MAAM,MAAM,YAAY,YAAY,cAAc,GAAG;AACrD,OAAI,KAAK,KAAM,cAAa,IAAI,IAAI,KAAK;AACzC,QAAK,MAAM,QAAQ,KAAK,mBAAmB,EAAE,CAAE,KAAI,KAAK,GAAI,KAAI,aAAa,KAAK,GAAG,EAAE;AACtF,QAAI,mBAAmB,KAAK,GAAG,CAAE;AACjC,WAAO,IAAI,KAAK,GAAG;SACb,SAAQ,KAAK,GAAG;;AAExB,UAAQ,QAAQ;EAChB,MAAM,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,OAAO,+BAA+B,aAAa,GAAG,CAAC;AACtF,SAAO;GACN,KAAK,CAAC,GAAG,OAAO;GAChB;GACA,cAAc,CAAC,GAAG,aAAa;GAC/B;;CAEF,SAAS,yBAAyB,EAAE,IAAI,QAAQ;EAC/C,MAAM,EAAE,UAAU,UAAU,aAAa,GAAG;AAC5C,MAAI,yBAAyB,OAAO;GACnC,MAAM,QAAQ,MAAM;AACpB,OAAI,OAAO;IACV,MAAM,QAAQ,MAAM,MAAM,IAAI;AAC9B,YAAQ,SAAS,MAAM,SAAS,KAAK;;AAEtC,WAAQ,SAAS,SAAS,KAAK,KAAK;;EAErC,MAAM,UAAU,eAAe;AAC/B,MAAI,YAAY,MAAO,QAAO;AAC9B,MAAI,SAAS,UAAU,CAAC,QAAQ,OAAO,SAAS,CAAE,QAAO;AACzD,MAAI,CAAC,wDAAwD,KAAK,KAAK,IAAI,CAAC,aAAa,KAAK,SAAS,CAAE,QAAO;AAChH,MAAI,CAACP,MAAoB,KAAK,CAAC,GAAG,MAAM,MAAM,EAAE,MAAM,KAAK,EAAE,KAAK,aAAa,EAAE,EAAE,CAAC,CAAE,QAAO;AAC7F,UAAQ,OAAO,SAAS,CAAC,EAAE,KAAK,cAAc,KAAK,YAAY,SAAS,KAAK,KAAK,SAAS,IAAI,KAAK,+BAA+B,SAAS,KAAK,KAAK,4BAA4B;;AAEnL,QAAO;EACN;GACC,MAAM;GACN,MAAM,UAAU,MAAM,IAAI;AACzB,QAAI,KAAK,YAAY,SAAS,MAAO;IACrC,MAAM,SAAS,yBAAyB;KACvC;KACA;KACA,CAAC;AACF,QAAI,CAAC,OAAQ;IACb,MAAM,SAAS,MAAM,sBAAsB;KAC1C,KAAK,MAAM,cAAc,KAAK;KAC9B;KACA;KACA,CAAC;AACF,QAAI,OAAQ,QAAO;KAClB,MAAM,OAAO,OAAO,UAAU;KAC9B,KAAK,OAAO,OAAO,YAAY,EAAE,OAAO,YAAY,CAAC;KACrD;;GAEF;EACD;GACC,MAAM;GACN,OAAO;GACP,WAAW;IACV,OAAO;IACP,QAAQ,OAAO,IAAI,UAAU;AAC5B,SAAI,KAAK,YAAY,SAAS,YAAY,KAAK,YAAY,SAAS,SAAS,aAAa,GAAG,IAAI,gBAAgB,KAAK,GAAG,EAAE;MAC1H,MAAM,MAAM,KAAK,YAAY,YAAY,cAAc,GAAG;AAC1D,UAAI,OAAO,CAAC,IAAI,gBAAiB,KAAI,kBAAkB;;;IAGzD;GACD;EACD;GACC,MAAM;GACN,UAAU,QAAQ;AACjB,QAAI,OAAO,WAAW,wBAAwB,CAAE,QAAO,OAAO;;GAE/D,MAAM,KAAK,IAAI;IACd,MAAM,SAAS,gBAAgB,GAAG;AAClC,QAAI,QAAQ,SAAS,OAAO;AAC3B,UAAK,OAAO;KACZ,MAAM,EAAE,WAAW;KACnB,MAAM,MAAM,MAAM,OAAO,aAAa,IAAI,YAAY,eAAe,GAAG;AACxE,SAAI,CAAC,KAAK,MAAM,CAAC,KAAK,KAAM,QAAO;KACnC,MAAM,SAAS,WAAW,OAAO,aAAa,KAAK,IAAI,GAAG;AAC1D,UAAK,MAAM,QAAQ,CAAC,IAAI,MAAM,GAAG,OAAO,aAAa,CAAE,MAAK,aAAa,KAAK;AAC9E,YAAO,kBAAkB,0BAA0B,OAAO,MAAM,KAAK,SAAS,UAAU,KAAK,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;;;GAGnH;EACD;GACC,MAAM;GACN,gBAAgB,QAAQ;IACvB,MAAM,MAAM,OAAO,aAAa,IAAI;IACpC,MAAM,WAAW,IAAI;AACrB,QAAI,OAAO,SAAS,GAAG,MAAM;KAC5B,MAAM,IAAI,KAAK;AACf,SAAI,KAAK,OAAO,MAAM,YAAY,EAAE,SAAS,QAAS,QAAO,aAAa,OAAO,IAAI,KAAK;MACzF,MAAM;MACN,OAAO;MACP,MAAM;MACN,CAAC;AACF,YAAO,SAAS,MAAM,MAAM,KAAK;;;GAGnC,MAAM,UAAU,MAAM,IAAI;AACzB,QAAI,CAAC,KAAK,SAAS,8BAA8B,CAAE;AACnD,WAAO,KAAK,YAAY,SAAS,MAAM;IACvC,MAAM,SAAS,IAAI,YAAY,KAAK;IACpC,IAAI,cAAc;AAClB,SAAK,MAAM,SAAS,aAAa,KAAK,CAAC,SAAS,iDAAiD,EAAE;KAClG,MAAM,CAAC,OAAO,OAAO,MAAM,QAAQ;KACnC,MAAM,CAAC,UAAU,UAAU,MAAM,QAAQ;KACzC,MAAM,UAAU,KAAK,MAAM,UAAU,OAAO,CAAC,MAAM;KACnD,IAAI,WAAW;AACf,SAAI,SAAS;MACZ,MAAM,WAAW,UAAU,QAAQ;MACnC,MAAM,WAAW,MAAM,KAAK,QAAQ,UAAU,GAAG;AACjD,UAAI,SAAU,YAAW,SAAS;WAC7B;AACJ,YAAK,KAAK,+DAA+D,QAAQ,IAAI;AACrF,cAAO,OAAO,OAAO,KAAK,OAAO;AACjC;;;KAGF,MAAM,WAAW,aAAa;MAC7B,IAAI;MACJ,MAAM;MACN,CAAC;KACF,IAAI;AACJ,SAAI,KAAK,YAAY,SAAS,MAAO,eAAc;yCACf,KAAK,UAAU,SAAS,CAAC;;;UAGxD;MACJ,MAAM,OAAO,WAAW,SAAS;AACjC,UAAI,CAAC,eAAe,CAAC,KAAK,SAAS,iCAAiC,OAAO,EAAE;AAC5E,qBAAc;AACd,cAAO,QAAQ,6CAA6C,KAAK,QAAQ,KAAK,UAAU,SAAS,CAAC,GAAG;;AAEtG,oBAAc,kEAAkE,KAAK;;AAEtF,YAAO,OAAO,OAAO,KAAK,YAAY;;AAEvC,QAAI,OAAO,YAAY,EAAE;AACxB,SAAI,CAAC,KAAK,SAAS,qBAAqB,CAAE,QAAO,QAAQ,0CAA0C;AACnG,YAAO;MACN,MAAM,OAAO,UAAU;MACvB,KAAK,OAAO,YAAY,EAAE,OAAO,YAAY,CAAC;MAC9C;;;GAGH,KAAK,IAAI;IACR,MAAM,EAAE,WAAW;IACnB,MAAM,SAAS,gBAAgB,GAAG;AAClC,QAAI,QAAQ,SAAS,OAAO;AAC3B,YAAO,KAAK,YAAY,SAAS,MAAM;KACvC,MAAM,WAAW,OAAO;AACxB,SAAI,KAAK,YAAY,SAAS,OAAO;MACpC,MAAM,SAAS,WAAW,OAAO,aAAa,KAAK,SAAS;AAC5D,WAAK,MAAM,QAAQ,CAAC,UAAU,GAAG,OAAO,aAAa,CAAE,MAAK,aAAa,KAAK;AAC9E,aAAO,sBAAsB,0BAA0B,gBAAgB;OACtE,KAAK,OAAO,MAAM,KAAK,SAAS,KAAK,MAAM,EAAE,CAAC;OAC9C,IAAI,EAAE;OACN,EAAE,QAAQ,CAAC,EAAE,QAAQ;YAChB;MACN,MAAM,MAAM,QAAQ,aAAa,SAAS;AAC1C,cAAQ,uBAAuB,YAAY,EAAE,KAAK;AAClD,aAAO;;gBAEG,sBAAsB,gDAAgD,KAAK,UAAU,IAAI,CAAC,IAAI,QAAQ,CAAC;;;;;GAKpH;EACD,oBAAoB,wCAAwC,iBAAiB;AAC5E,UAAO,MAAM,KAAK,YAAY,MAAM,MAAM;GAC1C,SAAS,WAAW;AACnB,aAAS,iBAAiB,yBAAyB,CAAC,SAAS,SAAS;AACrE,SAAI,gBAAgB,eAAe,KAAK,QAAQ,YAAY,WAAW,4BAA4B,CAAE,MAAK,QAAQ;MACjH;;AAEH,UAAO;;;;;OAKH,SAAS,UAAU,CAAC;;;;;IAKvB;EACF;;AAEF,SAAS,sBAAsB,UAAU,SAAS;CACjD,MAAM,eAAe,OAAO,MAAM,6BAA6B;AAC9D,SAAO,SAAS,YAAY;AAC3B,UAAO,MAAM,cAAc,MAAM,UAAU,MAAM,CAAC,GAAG,KAAK,IAAI,KAAK,SAAS,MAAM,cAAc,QAAQ;IACvG,KAAK,SAAS;IACd,KAAK;IACL,YAAY;IACZ;IACA,qBAAqB;IACrB,CAAC,CAAC,EAAE,4BAA4B,MAAM,cAAc,0BAA0B,EAAE,KAAK,wBAAwB,CAAC,CAAC,CAAC;;;AAGnH,QAAO;;;EAGN,QAAQ,OAAO,YAAY,UAAU,yFAAyF,8CAA8C;;4BAElJ,YAAY,UAAU,CAAC;;IAE/C,SAAS;;;;;AAKb,eAAe,sBAAsB,SAAS;AAC7C,KAAI,aAAa,QAAQ,IAAI,MAAM,aAAa,CAAE;CAClD,MAAM,SAAS,oBAAoB,QAAQ,MAAM,QAAQ,KAAK;EAC7D,UAAU,OAAO,MAAM,SAAS,yBAAyB,MAAM,IAAI,KAAK,UAAU,KAAK,+BAA+B,KAAK,CAAC;EAC5H,QAAQ,QAAQ;EAChB,4BAA4B;EAC5B,CAAC;AACF,KAAI,OAAO,OAAO,YAAY,EAAE;AAC/B,MAAI,CAAC,QAAQ,KAAK,SAAS,qBAAqB,CAAE,QAAO,OAAO,QAAQ,0CAA0C;AAClH,SAAO,OAAO,OAAO;;;;;;;;oCAQa,QAAQ,KAAK,KAAK,UAAU,QAAQ,GAAG,GAAG,GAAG;;;;;;;EAO/E;AACA,SAAO,EAAE,QAAQ,OAAO,QAAQ;;;;;;;;;AC/pDlC,MAAa,iBAAiB;;;;ACK9B,eAAsB,SAAS,SAAsB;CACnD,MAAM,EAAE,WAAW;CAGnB,MAAMQ,QAAuC,MAAM,OACjD,cAFgB,KAAK,KAAK,OAAO,aAAa,IAAI,MAAM,QAAQ,WAAW,CAEnD,CAAC;CAI3B,MAAM,UAAU,OAAO,aAAa,OAAO,MAAM;CACjD,MAAM,EAAE,MAAM,WAAW,MAAM,MAAM,OAAO;AAC5C,OAAM,gBAAgB,KAAK,KAAK,SAAS,aAAa,EAAE,KAAK;AAC7D,OAAM,gBACJ,KAAK,KAAK,SAAS,eAAe,QAAQ,OAAO,GAAG,CAAC,EACrD,OACD;;AAGH,eAAe,gBAAgB,UAAkB,QAAwB;AACvE,OAAM,MAAM,KAAK,QAAQ,SAAS,EAAE,EAAE,WAAW,MAAM,CAAC;AACxD,OAAM,UAAU,UAAU,SAAS,QAAQ,OAAgC,CAAC;;;;;ACvB9E,MAAa,qBAA6B;CACxC,IAAI,iBAAiB;AACrB,QAAO;EACL,MAAM;EACN,eAAe,QAAQ;AACrB,oBAAiB,KAAK,QACpB,OAAO,MACP,OAAO,aAAa,OAAO,MAAM,OAClC;;EAEH,gBAAgB,QAAQ;GACtB,MAAM,SAAS,OAAO,aAAa;AACnC,OAAI,CAAC,yBAAyB,OAAO,CACnC,OAAM,IAAI,MAAM,sCAAsC;GAExD,MAAM,WAAW,OAAO,OAAO,MAAM,eAAe;GACpD,MAAM,SACJ,aAAa,UACb,OAAO,aAAa,YACpB,CAAC,MAAM,QAAQ,SAAS,GACpB,SAAS,QACT;AACN,OAAI,WAAW,OACb,OAAM,IAAI,MAAM,mCAAmC;AAGrD,gBAAa;AACX,WAAO,YAAY,IAAI,OAAO,KAAK,KAAK,SAAS;AAC/C,SAAI,CAAC,IAAI,QAAQ,QAAQ,SAAS,YAAY,EAAE;AAC9C,YAAM;AACN;;AAEF,SAAI;MACF,MAAM,WAAW,MAAM,OAAO,gBAAgB,UAAU,OAAO;AAC/D,UAAI,CAAC,SACH,OAAM,IAAI,MAAM,6BAA6B,SAAS;AAOxD,YAFqB,eAHJ,MAAM,OAAO,OAAO,OAEnC,SAAS,GAAG,EAC8B,QAAQ,CAEjC,KAAY,IAAW;cACnC,OAAO;AACd,WAAK,MAAM;;MAEb;;;EAGN,uBAAuB,QAAQ;AAC7B,gBAAa;AACX,WAAO,YAAY,IAAI,OAAO,KAAK,KAAK,SAAS;AAC/C,SAAI;AACF,UAAI,IAAI,QAAQ,QAAQ,SAAS,YAAY,EAAE;OAC7C,MAAM,OAAO,MAAM,SACjB,KAAK,KAAK,gBAAgB,aAAa,EACvC,QACD;AACD,WAAI,IAAI,KAAK;AACb;;cAEK,OAAO;AACd,WAAK,MAAM;AACX;;AAEF,WAAM;MACN;;;EAGP;;;;;AChDH,SAAwB,eAAe,EACrC,MACA,KACA,eAAe,iBACgC;CAC/C,IAAIC,oBAA4B;CAChC,IAAIC,mBAA2B;AAE/B,QAAO;EACL;GACE,MAAM;GAEN,OAAO,QAAQ;AACb,WAAO,EACL,cAAc,EACZ,QAAQ,EACN,OAAO,EACL,QACE,OAAO,cAAc,QAAQ,OAAO,UAAU,cACjD,EACF,EACF,EACF;;GAEJ;EACD,cAAc;EACdC,cAAI;GACF,SAAS;IACP,KAAK;IACL,KAAK;IACL,QAAQ;IACT;GACD,eAAe;GAChB,CAAC;EACF;GACE,MAAM;GACN,eAAe,QAAQ;AACrB,wBAAoB,KAAK,QAAQ,OAAO,MAAM,KAAK;AACnD,uBAAmB,KAAK,QAAQ,OAAO,MAAM,IAAI;;GAInD,kBAAkB,OAAO,QAAQ;AAC/B,QAAI,OAAO,cAAc,QACvB,QAAO,aAAa,UAAU,OAAO,aAAa,QAAQ,KACvD,UAAU;AACT,SAAI,MAAM,WAAW,qBAAqB,CACxC,SAAQ,sBAAsB;AAEhC,YAAO;MAEV;;GAGN;EACD;GACE,MAAM;GACN,UAAU,IAAI;AACZ,QAAI,OAAO,wBACT,QAAO;AAET,QAAI,OAAO,uBACT,QAAO;;GAGX,KAAK,IAAI;AACP,QAAI,OAAO,0BACT,QAAO,4BAA4B,kBAAkB;AAEvD,QAAI,OAAO,yBACT,QAAO,4BAA4B,iBAAiB;;GAGzD;EACD;GACE,MAAM;GACN,MAAM,SAAS,SAAS;AACtB,UAAM,SAAS,QAAQ;;GAE1B;EACF"}
|