{"version":3,"file":"routing-C9Q0lvB3.js","sources":["../../../../../node_modules/.pnpm/solid-js@1.8.15/node_modules/solid-js/dist/solid.js","../../../../../node_modules/.pnpm/solid-js@1.8.15/node_modules/solid-js/web/dist/web.js","../../../../../node_modules/.pnpm/@solidjs+router@0.13.1_solid-js@1.8.15/node_modules/@solidjs/router/dist/lifecycle.js","../../../../../node_modules/.pnpm/@solidjs+router@0.13.1_solid-js@1.8.15/node_modules/@solidjs/router/dist/utils.js","../../../../../node_modules/.pnpm/@solidjs+router@0.13.1_solid-js@1.8.15/node_modules/@solidjs/router/dist/routing.js"],"sourcesContent":["let taskIdCounter = 1,\n isCallbackScheduled = false,\n isPerformingWork = false,\n taskQueue = [],\n currentTask = null,\n shouldYieldToHost = null,\n yieldInterval = 5,\n deadline = 0,\n maxYieldInterval = 300,\n scheduleCallback = null,\n scheduledCallback = null;\nconst maxSigned31BitInt = 1073741823;\nfunction setupScheduler() {\n const channel = new MessageChannel(),\n port = channel.port2;\n scheduleCallback = () => port.postMessage(null);\n channel.port1.onmessage = () => {\n if (scheduledCallback !== null) {\n const currentTime = performance.now();\n deadline = currentTime + yieldInterval;\n const hasTimeRemaining = true;\n try {\n const hasMoreWork = scheduledCallback(hasTimeRemaining, currentTime);\n if (!hasMoreWork) {\n scheduledCallback = null;\n } else port.postMessage(null);\n } catch (error) {\n port.postMessage(null);\n throw error;\n }\n }\n };\n if (navigator && navigator.scheduling && navigator.scheduling.isInputPending) {\n const scheduling = navigator.scheduling;\n shouldYieldToHost = () => {\n const currentTime = performance.now();\n if (currentTime >= deadline) {\n if (scheduling.isInputPending()) {\n return true;\n }\n return currentTime >= maxYieldInterval;\n } else {\n return false;\n }\n };\n } else {\n shouldYieldToHost = () => performance.now() >= deadline;\n }\n}\nfunction enqueue(taskQueue, task) {\n function findIndex() {\n let m = 0;\n let n = taskQueue.length - 1;\n while (m <= n) {\n const k = (n + m) >> 1;\n const cmp = task.expirationTime - taskQueue[k].expirationTime;\n if (cmp > 0) m = k + 1;\n else if (cmp < 0) n = k - 1;\n else return k;\n }\n return m;\n }\n taskQueue.splice(findIndex(), 0, task);\n}\nfunction requestCallback(fn, options) {\n if (!scheduleCallback) setupScheduler();\n let startTime = performance.now(),\n timeout = maxSigned31BitInt;\n if (options && options.timeout) timeout = options.timeout;\n const newTask = {\n id: taskIdCounter++,\n fn,\n startTime,\n expirationTime: startTime + timeout\n };\n enqueue(taskQueue, newTask);\n if (!isCallbackScheduled && !isPerformingWork) {\n isCallbackScheduled = true;\n scheduledCallback = flushWork;\n scheduleCallback();\n }\n return newTask;\n}\nfunction cancelCallback(task) {\n task.fn = null;\n}\nfunction flushWork(hasTimeRemaining, initialTime) {\n isCallbackScheduled = false;\n isPerformingWork = true;\n try {\n return workLoop(hasTimeRemaining, initialTime);\n } finally {\n currentTask = null;\n isPerformingWork = false;\n }\n}\nfunction workLoop(hasTimeRemaining, initialTime) {\n let currentTime = initialTime;\n currentTask = taskQueue[0] || null;\n while (currentTask !== null) {\n if (currentTask.expirationTime > currentTime && (!hasTimeRemaining || shouldYieldToHost())) {\n break;\n }\n const callback = currentTask.fn;\n if (callback !== null) {\n currentTask.fn = null;\n const didUserCallbackTimeout = currentTask.expirationTime <= currentTime;\n callback(didUserCallbackTimeout);\n currentTime = performance.now();\n if (currentTask === taskQueue[0]) {\n taskQueue.shift();\n }\n } else taskQueue.shift();\n currentTask = taskQueue[0] || null;\n }\n return currentTask !== null;\n}\n\nconst sharedConfig = {\n context: undefined,\n registry: undefined\n};\nfunction setHydrateContext(context) {\n sharedConfig.context = context;\n}\nfunction nextHydrateContext() {\n return {\n ...sharedConfig.context,\n id: `${sharedConfig.context.id}${sharedConfig.context.count++}-`,\n count: 0\n };\n}\n\nconst equalFn = (a, b) => a === b;\nconst $PROXY = Symbol(\"solid-proxy\");\nconst $TRACK = Symbol(\"solid-track\");\nconst $DEVCOMP = Symbol(\"solid-dev-component\");\nconst signalOptions = {\n equals: equalFn\n};\nlet ERROR = null;\nlet runEffects = runQueue;\nconst STALE = 1;\nconst PENDING = 2;\nconst UNOWNED = {\n owned: null,\n cleanups: null,\n context: null,\n owner: null\n};\nconst NO_INIT = {};\nvar Owner = null;\nlet Transition = null;\nlet Scheduler = null;\nlet ExternalSourceConfig = null;\nlet Listener = null;\nlet Updates = null;\nlet Effects = null;\nlet ExecCount = 0;\nfunction createRoot(fn, detachedOwner) {\n const listener = Listener,\n owner = Owner,\n unowned = fn.length === 0,\n current = detachedOwner === undefined ? owner : detachedOwner,\n root = unowned\n ? UNOWNED\n : {\n owned: null,\n cleanups: null,\n context: current ? current.context : null,\n owner: current\n },\n updateFn = unowned ? fn : () => fn(() => untrack(() => cleanNode(root)));\n Owner = root;\n Listener = null;\n try {\n return runUpdates(updateFn, true);\n } finally {\n Listener = listener;\n Owner = owner;\n }\n}\nfunction createSignal(value, options) {\n options = options ? Object.assign({}, signalOptions, options) : signalOptions;\n const s = {\n value,\n observers: null,\n observerSlots: null,\n comparator: options.equals || undefined\n };\n const setter = value => {\n if (typeof value === \"function\") {\n if (Transition && Transition.running && Transition.sources.has(s)) value = value(s.tValue);\n else value = value(s.value);\n }\n return writeSignal(s, value);\n };\n return [readSignal.bind(s), setter];\n}\nfunction createComputed(fn, value, options) {\n const c = createComputation(fn, value, true, STALE);\n if (Scheduler && Transition && Transition.running) Updates.push(c);\n else updateComputation(c);\n}\nfunction createRenderEffect(fn, value, options) {\n const c = createComputation(fn, value, false, STALE);\n if (Scheduler && Transition && Transition.running) Updates.push(c);\n else updateComputation(c);\n}\nfunction createEffect(fn, value, options) {\n runEffects = runUserEffects;\n const c = createComputation(fn, value, false, STALE),\n s = SuspenseContext && useContext(SuspenseContext);\n if (s) c.suspense = s;\n if (!options || !options.render) c.user = true;\n Effects ? Effects.push(c) : updateComputation(c);\n}\nfunction createReaction(onInvalidate, options) {\n let fn;\n const c = createComputation(\n () => {\n fn ? fn() : untrack(onInvalidate);\n fn = undefined;\n },\n undefined,\n false,\n 0\n ),\n s = SuspenseContext && useContext(SuspenseContext);\n if (s) c.suspense = s;\n c.user = true;\n return tracking => {\n fn = tracking;\n updateComputation(c);\n };\n}\nfunction createMemo(fn, value, options) {\n options = options ? Object.assign({}, signalOptions, options) : signalOptions;\n const c = createComputation(fn, value, true, 0);\n c.observers = null;\n c.observerSlots = null;\n c.comparator = options.equals || undefined;\n if (Scheduler && Transition && Transition.running) {\n c.tState = STALE;\n Updates.push(c);\n } else updateComputation(c);\n return readSignal.bind(c);\n}\nfunction isPromise(v) {\n return v && typeof v === \"object\" && \"then\" in v;\n}\nfunction createResource(pSource, pFetcher, pOptions) {\n let source;\n let fetcher;\n let options;\n if ((arguments.length === 2 && typeof pFetcher === \"object\") || arguments.length === 1) {\n source = true;\n fetcher = pSource;\n options = pFetcher || {};\n } else {\n source = pSource;\n fetcher = pFetcher;\n options = pOptions || {};\n }\n let pr = null,\n initP = NO_INIT,\n id = null,\n loadedUnderTransition = false,\n scheduled = false,\n resolved = \"initialValue\" in options,\n dynamic = typeof source === \"function\" && createMemo(source);\n const contexts = new Set(),\n [value, setValue] = (options.storage || createSignal)(options.initialValue),\n [error, setError] = createSignal(undefined),\n [track, trigger] = createSignal(undefined, {\n equals: false\n }),\n [state, setState] = createSignal(resolved ? \"ready\" : \"unresolved\");\n if (sharedConfig.context) {\n id = `${sharedConfig.context.id}${sharedConfig.context.count++}`;\n let v;\n if (options.ssrLoadFrom === \"initial\") initP = options.initialValue;\n else if (sharedConfig.load && (v = sharedConfig.load(id))) initP = v;\n }\n function loadEnd(p, v, error, key) {\n if (pr === p) {\n pr = null;\n key !== undefined && (resolved = true);\n if ((p === initP || v === initP) && options.onHydrated)\n queueMicrotask(() =>\n options.onHydrated(key, {\n value: v\n })\n );\n initP = NO_INIT;\n if (Transition && p && loadedUnderTransition) {\n Transition.promises.delete(p);\n loadedUnderTransition = false;\n runUpdates(() => {\n Transition.running = true;\n completeLoad(v, error);\n }, false);\n } else completeLoad(v, error);\n }\n return v;\n }\n function completeLoad(v, err) {\n runUpdates(() => {\n if (err === undefined) setValue(() => v);\n setState(err !== undefined ? \"errored\" : resolved ? \"ready\" : \"unresolved\");\n setError(err);\n for (const c of contexts.keys()) c.decrement();\n contexts.clear();\n }, false);\n }\n function read() {\n const c = SuspenseContext && useContext(SuspenseContext),\n v = value(),\n err = error();\n if (err !== undefined && !pr) throw err;\n if (Listener && !Listener.user && c) {\n createComputed(() => {\n track();\n if (pr) {\n if (c.resolved && Transition && loadedUnderTransition) Transition.promises.add(pr);\n else if (!contexts.has(c)) {\n c.increment();\n contexts.add(c);\n }\n }\n });\n }\n return v;\n }\n function load(refetching = true) {\n if (refetching !== false && scheduled) return;\n scheduled = false;\n const lookup = dynamic ? dynamic() : source;\n loadedUnderTransition = Transition && Transition.running;\n if (lookup == null || lookup === false) {\n loadEnd(pr, untrack(value));\n return;\n }\n if (Transition && pr) Transition.promises.delete(pr);\n const p =\n initP !== NO_INIT\n ? initP\n : untrack(() =>\n fetcher(lookup, {\n value: value(),\n refetching\n })\n );\n if (!isPromise(p)) {\n loadEnd(pr, p, undefined, lookup);\n return p;\n }\n pr = p;\n if (\"value\" in p) {\n if (p.status === \"success\") loadEnd(pr, p.value, undefined, lookup);\n else loadEnd(pr, undefined, undefined, lookup);\n return p;\n }\n scheduled = true;\n queueMicrotask(() => (scheduled = false));\n runUpdates(() => {\n setState(resolved ? \"refreshing\" : \"pending\");\n trigger();\n }, false);\n return p.then(\n v => loadEnd(p, v, undefined, lookup),\n e => loadEnd(p, undefined, castError(e), lookup)\n );\n }\n Object.defineProperties(read, {\n state: {\n get: () => state()\n },\n error: {\n get: () => error()\n },\n loading: {\n get() {\n const s = state();\n return s === \"pending\" || s === \"refreshing\";\n }\n },\n latest: {\n get() {\n if (!resolved) return read();\n const err = error();\n if (err && !pr) throw err;\n return value();\n }\n }\n });\n if (dynamic) createComputed(() => load(false));\n else load(false);\n return [\n read,\n {\n refetch: load,\n mutate: setValue\n }\n ];\n}\nfunction createDeferred(source, options) {\n let t,\n timeout = options ? options.timeoutMs : undefined;\n const node = createComputation(\n () => {\n if (!t || !t.fn)\n t = requestCallback(\n () => setDeferred(() => node.value),\n timeout !== undefined\n ? {\n timeout\n }\n : undefined\n );\n return source();\n },\n undefined,\n true\n );\n const [deferred, setDeferred] = createSignal(\n Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value,\n options\n );\n updateComputation(node);\n setDeferred(() =>\n Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value\n );\n return deferred;\n}\nfunction createSelector(source, fn = equalFn, options) {\n const subs = new Map();\n const node = createComputation(\n p => {\n const v = source();\n for (const [key, val] of subs.entries())\n if (fn(key, v) !== fn(key, p)) {\n for (const c of val.values()) {\n c.state = STALE;\n if (c.pure) Updates.push(c);\n else Effects.push(c);\n }\n }\n return v;\n },\n undefined,\n true,\n STALE\n );\n updateComputation(node);\n return key => {\n const listener = Listener;\n if (listener) {\n let l;\n if ((l = subs.get(key))) l.add(listener);\n else subs.set(key, (l = new Set([listener])));\n onCleanup(() => {\n l.delete(listener);\n !l.size && subs.delete(key);\n });\n }\n return fn(\n key,\n Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value\n );\n };\n}\nfunction batch(fn) {\n return runUpdates(fn, false);\n}\nfunction untrack(fn) {\n if (!ExternalSourceConfig && Listener === null) return fn();\n const listener = Listener;\n Listener = null;\n try {\n if (ExternalSourceConfig) return ExternalSourceConfig.untrack(fn);\n return fn();\n } finally {\n Listener = listener;\n }\n}\nfunction on(deps, fn, options) {\n const isArray = Array.isArray(deps);\n let prevInput;\n let defer = options && options.defer;\n return prevValue => {\n let input;\n if (isArray) {\n input = Array(deps.length);\n for (let i = 0; i < deps.length; i++) input[i] = deps[i]();\n } else input = deps();\n if (defer) {\n defer = false;\n return undefined;\n }\n const result = untrack(() => fn(input, prevInput, prevValue));\n prevInput = input;\n return result;\n };\n}\nfunction onMount(fn) {\n createEffect(() => untrack(fn));\n}\nfunction onCleanup(fn) {\n if (Owner === null);\n else if (Owner.cleanups === null) Owner.cleanups = [fn];\n else Owner.cleanups.push(fn);\n return fn;\n}\nfunction catchError(fn, handler) {\n ERROR || (ERROR = Symbol(\"error\"));\n Owner = createComputation(undefined, undefined, true);\n Owner.context = {\n ...Owner.context,\n [ERROR]: [handler]\n };\n if (Transition && Transition.running) Transition.sources.add(Owner);\n try {\n return fn();\n } catch (err) {\n handleError(err);\n } finally {\n Owner = Owner.owner;\n }\n}\nfunction getListener() {\n return Listener;\n}\nfunction getOwner() {\n return Owner;\n}\nfunction runWithOwner(o, fn) {\n const prev = Owner;\n const prevListener = Listener;\n Owner = o;\n Listener = null;\n try {\n return runUpdates(fn, true);\n } catch (err) {\n handleError(err);\n } finally {\n Owner = prev;\n Listener = prevListener;\n }\n}\nfunction enableScheduling(scheduler = requestCallback) {\n Scheduler = scheduler;\n}\nfunction startTransition(fn) {\n if (Transition && Transition.running) {\n fn();\n return Transition.done;\n }\n const l = Listener;\n const o = Owner;\n return Promise.resolve().then(() => {\n Listener = l;\n Owner = o;\n let t;\n if (Scheduler || SuspenseContext) {\n t =\n Transition ||\n (Transition = {\n sources: new Set(),\n effects: [],\n promises: new Set(),\n disposed: new Set(),\n queue: new Set(),\n running: true\n });\n t.done || (t.done = new Promise(res => (t.resolve = res)));\n t.running = true;\n }\n runUpdates(fn, false);\n Listener = Owner = null;\n return t ? t.done : undefined;\n });\n}\nconst [transPending, setTransPending] = /*@__PURE__*/ createSignal(false);\nfunction useTransition() {\n return [transPending, startTransition];\n}\nfunction resumeEffects(e) {\n Effects.push.apply(Effects, e);\n e.length = 0;\n}\nfunction createContext(defaultValue, options) {\n const id = Symbol(\"context\");\n return {\n id,\n Provider: createProvider(id),\n defaultValue\n };\n}\nfunction useContext(context) {\n return Owner && Owner.context && Owner.context[context.id] !== undefined\n ? Owner.context[context.id]\n : context.defaultValue;\n}\nfunction children(fn) {\n const children = createMemo(fn);\n const memo = createMemo(() => resolveChildren(children()));\n memo.toArray = () => {\n const c = memo();\n return Array.isArray(c) ? c : c != null ? [c] : [];\n };\n return memo;\n}\nlet SuspenseContext;\nfunction getSuspenseContext() {\n return SuspenseContext || (SuspenseContext = createContext());\n}\nfunction enableExternalSource(factory, untrack = fn => fn()) {\n if (ExternalSourceConfig) {\n const { factory: oldFactory, untrack: oldUntrack } = ExternalSourceConfig;\n ExternalSourceConfig = {\n factory: (fn, trigger) => {\n const oldSource = oldFactory(fn, trigger);\n const source = factory(x => oldSource.track(x), trigger);\n return {\n track: x => source.track(x),\n dispose() {\n source.dispose();\n oldSource.dispose();\n }\n };\n },\n untrack: fn => oldUntrack(() => untrack(fn))\n };\n } else {\n ExternalSourceConfig = {\n factory,\n untrack\n };\n }\n}\nfunction readSignal() {\n const runningTransition = Transition && Transition.running;\n if (this.sources && (runningTransition ? this.tState : this.state)) {\n if ((runningTransition ? this.tState : this.state) === STALE) updateComputation(this);\n else {\n const updates = Updates;\n Updates = null;\n runUpdates(() => lookUpstream(this), false);\n Updates = updates;\n }\n }\n if (Listener) {\n const sSlot = this.observers ? this.observers.length : 0;\n if (!Listener.sources) {\n Listener.sources = [this];\n Listener.sourceSlots = [sSlot];\n } else {\n Listener.sources.push(this);\n Listener.sourceSlots.push(sSlot);\n }\n if (!this.observers) {\n this.observers = [Listener];\n this.observerSlots = [Listener.sources.length - 1];\n } else {\n this.observers.push(Listener);\n this.observerSlots.push(Listener.sources.length - 1);\n }\n }\n if (runningTransition && Transition.sources.has(this)) return this.tValue;\n return this.value;\n}\nfunction writeSignal(node, value, isComp) {\n let current =\n Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value;\n if (!node.comparator || !node.comparator(current, value)) {\n if (Transition) {\n const TransitionRunning = Transition.running;\n if (TransitionRunning || (!isComp && Transition.sources.has(node))) {\n Transition.sources.add(node);\n node.tValue = value;\n }\n if (!TransitionRunning) node.value = value;\n } else node.value = value;\n if (node.observers && node.observers.length) {\n runUpdates(() => {\n for (let i = 0; i < node.observers.length; i += 1) {\n const o = node.observers[i];\n const TransitionRunning = Transition && Transition.running;\n if (TransitionRunning && Transition.disposed.has(o)) continue;\n if (TransitionRunning ? !o.tState : !o.state) {\n if (o.pure) Updates.push(o);\n else Effects.push(o);\n if (o.observers) markDownstream(o);\n }\n if (!TransitionRunning) o.state = STALE;\n else o.tState = STALE;\n }\n if (Updates.length > 10e5) {\n Updates = [];\n if (false);\n throw new Error();\n }\n }, false);\n }\n }\n return value;\n}\nfunction updateComputation(node) {\n if (!node.fn) return;\n cleanNode(node);\n const time = ExecCount;\n runComputation(\n node,\n Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value,\n time\n );\n if (Transition && !Transition.running && Transition.sources.has(node)) {\n queueMicrotask(() => {\n runUpdates(() => {\n Transition && (Transition.running = true);\n Listener = Owner = node;\n runComputation(node, node.tValue, time);\n Listener = Owner = null;\n }, false);\n });\n }\n}\nfunction runComputation(node, value, time) {\n let nextValue;\n const owner = Owner,\n listener = Listener;\n Listener = Owner = node;\n try {\n nextValue = node.fn(value);\n } catch (err) {\n if (node.pure) {\n if (Transition && Transition.running) {\n node.tState = STALE;\n node.tOwned && node.tOwned.forEach(cleanNode);\n node.tOwned = undefined;\n } else {\n node.state = STALE;\n node.owned && node.owned.forEach(cleanNode);\n node.owned = null;\n }\n }\n node.updatedAt = time + 1;\n return handleError(err);\n } finally {\n Listener = listener;\n Owner = owner;\n }\n if (!node.updatedAt || node.updatedAt <= time) {\n if (node.updatedAt != null && \"observers\" in node) {\n writeSignal(node, nextValue, true);\n } else if (Transition && Transition.running && node.pure) {\n Transition.sources.add(node);\n node.tValue = nextValue;\n } else node.value = nextValue;\n node.updatedAt = time;\n }\n}\nfunction createComputation(fn, init, pure, state = STALE, options) {\n const c = {\n fn,\n state: state,\n updatedAt: null,\n owned: null,\n sources: null,\n sourceSlots: null,\n cleanups: null,\n value: init,\n owner: Owner,\n context: Owner ? Owner.context : null,\n pure\n };\n if (Transition && Transition.running) {\n c.state = 0;\n c.tState = state;\n }\n if (Owner === null);\n else if (Owner !== UNOWNED) {\n if (Transition && Transition.running && Owner.pure) {\n if (!Owner.tOwned) Owner.tOwned = [c];\n else Owner.tOwned.push(c);\n } else {\n if (!Owner.owned) Owner.owned = [c];\n else Owner.owned.push(c);\n }\n }\n if (ExternalSourceConfig && c.fn) {\n const [track, trigger] = createSignal(undefined, {\n equals: false\n });\n const ordinary = ExternalSourceConfig.factory(c.fn, trigger);\n onCleanup(() => ordinary.dispose());\n const triggerInTransition = () => startTransition(trigger).then(() => inTransition.dispose());\n const inTransition = ExternalSourceConfig.factory(c.fn, triggerInTransition);\n c.fn = x => {\n track();\n return Transition && Transition.running ? inTransition.track(x) : ordinary.track(x);\n };\n }\n return c;\n}\nfunction runTop(node) {\n const runningTransition = Transition && Transition.running;\n if ((runningTransition ? node.tState : node.state) === 0) return;\n if ((runningTransition ? node.tState : node.state) === PENDING) return lookUpstream(node);\n if (node.suspense && untrack(node.suspense.inFallback)) return node.suspense.effects.push(node);\n const ancestors = [node];\n while ((node = node.owner) && (!node.updatedAt || node.updatedAt < ExecCount)) {\n if (runningTransition && Transition.disposed.has(node)) return;\n if (runningTransition ? node.tState : node.state) ancestors.push(node);\n }\n for (let i = ancestors.length - 1; i >= 0; i--) {\n node = ancestors[i];\n if (runningTransition) {\n let top = node,\n prev = ancestors[i + 1];\n while ((top = top.owner) && top !== prev) {\n if (Transition.disposed.has(top)) return;\n }\n }\n if ((runningTransition ? node.tState : node.state) === STALE) {\n updateComputation(node);\n } else if ((runningTransition ? node.tState : node.state) === PENDING) {\n const updates = Updates;\n Updates = null;\n runUpdates(() => lookUpstream(node, ancestors[0]), false);\n Updates = updates;\n }\n }\n}\nfunction runUpdates(fn, init) {\n if (Updates) return fn();\n let wait = false;\n if (!init) Updates = [];\n if (Effects) wait = true;\n else Effects = [];\n ExecCount++;\n try {\n const res = fn();\n completeUpdates(wait);\n return res;\n } catch (err) {\n if (!wait) Effects = null;\n Updates = null;\n handleError(err);\n }\n}\nfunction completeUpdates(wait) {\n if (Updates) {\n if (Scheduler && Transition && Transition.running) scheduleQueue(Updates);\n else runQueue(Updates);\n Updates = null;\n }\n if (wait) return;\n let res;\n if (Transition) {\n if (!Transition.promises.size && !Transition.queue.size) {\n const sources = Transition.sources;\n const disposed = Transition.disposed;\n Effects.push.apply(Effects, Transition.effects);\n res = Transition.resolve;\n for (const e of Effects) {\n \"tState\" in e && (e.state = e.tState);\n delete e.tState;\n }\n Transition = null;\n runUpdates(() => {\n for (const d of disposed) cleanNode(d);\n for (const v of sources) {\n v.value = v.tValue;\n if (v.owned) {\n for (let i = 0, len = v.owned.length; i < len; i++) cleanNode(v.owned[i]);\n }\n if (v.tOwned) v.owned = v.tOwned;\n delete v.tValue;\n delete v.tOwned;\n v.tState = 0;\n }\n setTransPending(false);\n }, false);\n } else if (Transition.running) {\n Transition.running = false;\n Transition.effects.push.apply(Transition.effects, Effects);\n Effects = null;\n setTransPending(true);\n return;\n }\n }\n const e = Effects;\n Effects = null;\n if (e.length) runUpdates(() => runEffects(e), false);\n if (res) res();\n}\nfunction runQueue(queue) {\n for (let i = 0; i < queue.length; i++) runTop(queue[i]);\n}\nfunction scheduleQueue(queue) {\n for (let i = 0; i < queue.length; i++) {\n const item = queue[i];\n const tasks = Transition.queue;\n if (!tasks.has(item)) {\n tasks.add(item);\n Scheduler(() => {\n tasks.delete(item);\n runUpdates(() => {\n Transition.running = true;\n runTop(item);\n }, false);\n Transition && (Transition.running = false);\n });\n }\n }\n}\nfunction runUserEffects(queue) {\n let i,\n userLength = 0;\n for (i = 0; i < queue.length; i++) {\n const e = queue[i];\n if (!e.user) runTop(e);\n else queue[userLength++] = e;\n }\n if (sharedConfig.context) {\n if (sharedConfig.count) {\n sharedConfig.effects || (sharedConfig.effects = []);\n sharedConfig.effects.push(...queue.slice(0, userLength));\n return;\n } else if (sharedConfig.effects) {\n queue = [...sharedConfig.effects, ...queue];\n userLength += sharedConfig.effects.length;\n delete sharedConfig.effects;\n }\n setHydrateContext();\n }\n for (i = 0; i < userLength; i++) runTop(queue[i]);\n}\nfunction lookUpstream(node, ignore) {\n const runningTransition = Transition && Transition.running;\n if (runningTransition) node.tState = 0;\n else node.state = 0;\n for (let i = 0; i < node.sources.length; i += 1) {\n const source = node.sources[i];\n if (source.sources) {\n const state = runningTransition ? source.tState : source.state;\n if (state === STALE) {\n if (source !== ignore && (!source.updatedAt || source.updatedAt < ExecCount))\n runTop(source);\n } else if (state === PENDING) lookUpstream(source, ignore);\n }\n }\n}\nfunction markDownstream(node) {\n const runningTransition = Transition && Transition.running;\n for (let i = 0; i < node.observers.length; i += 1) {\n const o = node.observers[i];\n if (runningTransition ? !o.tState : !o.state) {\n if (runningTransition) o.tState = PENDING;\n else o.state = PENDING;\n if (o.pure) Updates.push(o);\n else Effects.push(o);\n o.observers && markDownstream(o);\n }\n }\n}\nfunction cleanNode(node) {\n let i;\n if (node.sources) {\n while (node.sources.length) {\n const source = node.sources.pop(),\n index = node.sourceSlots.pop(),\n obs = source.observers;\n if (obs && obs.length) {\n const n = obs.pop(),\n s = source.observerSlots.pop();\n if (index < obs.length) {\n n.sourceSlots[s] = index;\n obs[index] = n;\n source.observerSlots[index] = s;\n }\n }\n }\n }\n if (Transition && Transition.running && node.pure) {\n if (node.tOwned) {\n for (i = node.tOwned.length - 1; i >= 0; i--) cleanNode(node.tOwned[i]);\n delete node.tOwned;\n }\n reset(node, true);\n } else if (node.owned) {\n for (i = node.owned.length - 1; i >= 0; i--) cleanNode(node.owned[i]);\n node.owned = null;\n }\n if (node.cleanups) {\n for (i = node.cleanups.length - 1; i >= 0; i--) node.cleanups[i]();\n node.cleanups = null;\n }\n if (Transition && Transition.running) node.tState = 0;\n else node.state = 0;\n}\nfunction reset(node, top) {\n if (!top) {\n node.tState = 0;\n Transition.disposed.add(node);\n }\n if (node.owned) {\n for (let i = 0; i < node.owned.length; i++) reset(node.owned[i]);\n }\n}\nfunction castError(err) {\n if (err instanceof Error) return err;\n return new Error(typeof err === \"string\" ? err : \"Unknown error\", {\n cause: err\n });\n}\nfunction runErrors(err, fns, owner) {\n try {\n for (const f of fns) f(err);\n } catch (e) {\n handleError(e, (owner && owner.owner) || null);\n }\n}\nfunction handleError(err, owner = Owner) {\n const fns = ERROR && owner && owner.context && owner.context[ERROR];\n const error = castError(err);\n if (!fns) throw error;\n if (Effects)\n Effects.push({\n fn() {\n runErrors(error, fns, owner);\n },\n state: STALE\n });\n else runErrors(error, fns, owner);\n}\nfunction resolveChildren(children) {\n if (typeof children === \"function\" && !children.length) return resolveChildren(children());\n if (Array.isArray(children)) {\n const results = [];\n for (let i = 0; i < children.length; i++) {\n const result = resolveChildren(children[i]);\n Array.isArray(result) ? results.push.apply(results, result) : results.push(result);\n }\n return results;\n }\n return children;\n}\nfunction createProvider(id, options) {\n return function provider(props) {\n let res;\n createRenderEffect(\n () =>\n (res = untrack(() => {\n Owner.context = {\n ...Owner.context,\n [id]: props.value\n };\n return children(() => props.children);\n })),\n undefined\n );\n return res;\n };\n}\nfunction onError(fn) {\n ERROR || (ERROR = Symbol(\"error\"));\n if (Owner === null);\n else if (Owner.context === null || !Owner.context[ERROR]) {\n Owner.context = {\n ...Owner.context,\n [ERROR]: [fn]\n };\n mutateContext(Owner, ERROR, [fn]);\n } else Owner.context[ERROR].push(fn);\n}\nfunction mutateContext(o, key, value) {\n if (o.owned) {\n for (let i = 0; i < o.owned.length; i++) {\n if (o.owned[i].context === o.context) mutateContext(o.owned[i], key, value);\n if (!o.owned[i].context) {\n o.owned[i].context = o.context;\n mutateContext(o.owned[i], key, value);\n } else if (!o.owned[i].context[key]) {\n o.owned[i].context[key] = value;\n mutateContext(o.owned[i], key, value);\n }\n }\n }\n}\n\nfunction observable(input) {\n return {\n subscribe(observer) {\n if (!(observer instanceof Object) || observer == null) {\n throw new TypeError(\"Expected the observer to be an object.\");\n }\n const handler =\n typeof observer === \"function\" ? observer : observer.next && observer.next.bind(observer);\n if (!handler) {\n return {\n unsubscribe() {}\n };\n }\n const dispose = createRoot(disposer => {\n createEffect(() => {\n const v = input();\n untrack(() => handler(v));\n });\n return disposer;\n });\n if (getOwner()) onCleanup(dispose);\n return {\n unsubscribe() {\n dispose();\n }\n };\n },\n [Symbol.observable || \"@@observable\"]() {\n return this;\n }\n };\n}\nfunction from(producer) {\n const [s, set] = createSignal(undefined, {\n equals: false\n });\n if (\"subscribe\" in producer) {\n const unsub = producer.subscribe(v => set(() => v));\n onCleanup(() => (\"unsubscribe\" in unsub ? unsub.unsubscribe() : unsub()));\n } else {\n const clean = producer(set);\n onCleanup(clean);\n }\n return s;\n}\n\nconst FALLBACK = Symbol(\"fallback\");\nfunction dispose(d) {\n for (let i = 0; i < d.length; i++) d[i]();\n}\nfunction mapArray(list, mapFn, options = {}) {\n let items = [],\n mapped = [],\n disposers = [],\n len = 0,\n indexes = mapFn.length > 1 ? [] : null;\n onCleanup(() => dispose(disposers));\n return () => {\n let newItems = list() || [],\n i,\n j;\n newItems[$TRACK];\n return untrack(() => {\n let newLen = newItems.length,\n newIndices,\n newIndicesNext,\n temp,\n tempdisposers,\n tempIndexes,\n start,\n end,\n newEnd,\n item;\n if (newLen === 0) {\n if (len !== 0) {\n dispose(disposers);\n disposers = [];\n items = [];\n mapped = [];\n len = 0;\n indexes && (indexes = []);\n }\n if (options.fallback) {\n items = [FALLBACK];\n mapped[0] = createRoot(disposer => {\n disposers[0] = disposer;\n return options.fallback();\n });\n len = 1;\n }\n } else if (len === 0) {\n mapped = new Array(newLen);\n for (j = 0; j < newLen; j++) {\n items[j] = newItems[j];\n mapped[j] = createRoot(mapper);\n }\n len = newLen;\n } else {\n temp = new Array(newLen);\n tempdisposers = new Array(newLen);\n indexes && (tempIndexes = new Array(newLen));\n for (\n start = 0, end = Math.min(len, newLen);\n start < end && items[start] === newItems[start];\n start++\n );\n for (\n end = len - 1, newEnd = newLen - 1;\n end >= start && newEnd >= start && items[end] === newItems[newEnd];\n end--, newEnd--\n ) {\n temp[newEnd] = mapped[end];\n tempdisposers[newEnd] = disposers[end];\n indexes && (tempIndexes[newEnd] = indexes[end]);\n }\n newIndices = new Map();\n newIndicesNext = new Array(newEnd + 1);\n for (j = newEnd; j >= start; j--) {\n item = newItems[j];\n i = newIndices.get(item);\n newIndicesNext[j] = i === undefined ? -1 : i;\n newIndices.set(item, j);\n }\n for (i = start; i <= end; i++) {\n item = items[i];\n j = newIndices.get(item);\n if (j !== undefined && j !== -1) {\n temp[j] = mapped[i];\n tempdisposers[j] = disposers[i];\n indexes && (tempIndexes[j] = indexes[i]);\n j = newIndicesNext[j];\n newIndices.set(item, j);\n } else disposers[i]();\n }\n for (j = start; j < newLen; j++) {\n if (j in temp) {\n mapped[j] = temp[j];\n disposers[j] = tempdisposers[j];\n if (indexes) {\n indexes[j] = tempIndexes[j];\n indexes[j](j);\n }\n } else mapped[j] = createRoot(mapper);\n }\n mapped = mapped.slice(0, (len = newLen));\n items = newItems.slice(0);\n }\n return mapped;\n });\n function mapper(disposer) {\n disposers[j] = disposer;\n if (indexes) {\n const [s, set] = createSignal(j);\n indexes[j] = set;\n return mapFn(newItems[j], s);\n }\n return mapFn(newItems[j]);\n }\n };\n}\nfunction indexArray(list, mapFn, options = {}) {\n let items = [],\n mapped = [],\n disposers = [],\n signals = [],\n len = 0,\n i;\n onCleanup(() => dispose(disposers));\n return () => {\n const newItems = list() || [];\n newItems[$TRACK];\n return untrack(() => {\n if (newItems.length === 0) {\n if (len !== 0) {\n dispose(disposers);\n disposers = [];\n items = [];\n mapped = [];\n len = 0;\n signals = [];\n }\n if (options.fallback) {\n items = [FALLBACK];\n mapped[0] = createRoot(disposer => {\n disposers[0] = disposer;\n return options.fallback();\n });\n len = 1;\n }\n return mapped;\n }\n if (items[0] === FALLBACK) {\n disposers[0]();\n disposers = [];\n items = [];\n mapped = [];\n len = 0;\n }\n for (i = 0; i < newItems.length; i++) {\n if (i < items.length && items[i] !== newItems[i]) {\n signals[i](() => newItems[i]);\n } else if (i >= items.length) {\n mapped[i] = createRoot(mapper);\n }\n }\n for (; i < items.length; i++) {\n disposers[i]();\n }\n len = signals.length = disposers.length = newItems.length;\n items = newItems.slice(0);\n return (mapped = mapped.slice(0, len));\n });\n function mapper(disposer) {\n disposers[i] = disposer;\n const [s, set] = createSignal(newItems[i]);\n signals[i] = set;\n return mapFn(s, i);\n }\n };\n}\n\nlet hydrationEnabled = false;\nfunction enableHydration() {\n hydrationEnabled = true;\n}\nfunction createComponent(Comp, props) {\n if (hydrationEnabled) {\n if (sharedConfig.context) {\n const c = sharedConfig.context;\n setHydrateContext(nextHydrateContext());\n const r = untrack(() => Comp(props || {}));\n setHydrateContext(c);\n return r;\n }\n }\n return untrack(() => Comp(props || {}));\n}\nfunction trueFn() {\n return true;\n}\nconst propTraps = {\n get(_, property, receiver) {\n if (property === $PROXY) return receiver;\n return _.get(property);\n },\n has(_, property) {\n if (property === $PROXY) return true;\n return _.has(property);\n },\n set: trueFn,\n deleteProperty: trueFn,\n getOwnPropertyDescriptor(_, property) {\n return {\n configurable: true,\n enumerable: true,\n get() {\n return _.get(property);\n },\n set: trueFn,\n deleteProperty: trueFn\n };\n },\n ownKeys(_) {\n return _.keys();\n }\n};\nfunction resolveSource(s) {\n return !(s = typeof s === \"function\" ? s() : s) ? {} : s;\n}\nfunction resolveSources() {\n for (let i = 0, length = this.length; i < length; ++i) {\n const v = this[i]();\n if (v !== undefined) return v;\n }\n}\nfunction mergeProps(...sources) {\n let proxy = false;\n for (let i = 0; i < sources.length; i++) {\n const s = sources[i];\n proxy = proxy || (!!s && $PROXY in s);\n sources[i] = typeof s === \"function\" ? ((proxy = true), createMemo(s)) : s;\n }\n if (proxy) {\n return new Proxy(\n {\n get(property) {\n for (let i = sources.length - 1; i >= 0; i--) {\n const v = resolveSource(sources[i])[property];\n if (v !== undefined) return v;\n }\n },\n has(property) {\n for (let i = sources.length - 1; i >= 0; i--) {\n if (property in resolveSource(sources[i])) return true;\n }\n return false;\n },\n keys() {\n const keys = [];\n for (let i = 0; i < sources.length; i++)\n keys.push(...Object.keys(resolveSource(sources[i])));\n return [...new Set(keys)];\n }\n },\n propTraps\n );\n }\n const sourcesMap = {};\n const defined = Object.create(null);\n for (let i = sources.length - 1; i >= 0; i--) {\n const source = sources[i];\n if (!source) continue;\n const sourceKeys = Object.getOwnPropertyNames(source);\n for (let i = sourceKeys.length - 1; i >= 0; i--) {\n const key = sourceKeys[i];\n if (key === \"__proto__\" || key === \"constructor\") continue;\n const desc = Object.getOwnPropertyDescriptor(source, key);\n if (!defined[key]) {\n defined[key] = desc.get\n ? {\n enumerable: true,\n configurable: true,\n get: resolveSources.bind((sourcesMap[key] = [desc.get.bind(source)]))\n }\n : desc.value !== undefined\n ? desc\n : undefined;\n } else {\n const sources = sourcesMap[key];\n if (sources) {\n if (desc.get) sources.push(desc.get.bind(source));\n else if (desc.value !== undefined) sources.push(() => desc.value);\n }\n }\n }\n }\n const target = {};\n const definedKeys = Object.keys(defined);\n for (let i = definedKeys.length - 1; i >= 0; i--) {\n const key = definedKeys[i],\n desc = defined[key];\n if (desc && desc.get) Object.defineProperty(target, key, desc);\n else target[key] = desc ? desc.value : undefined;\n }\n return target;\n}\nfunction splitProps(props, ...keys) {\n if ($PROXY in props) {\n const blocked = new Set(keys.length > 1 ? keys.flat() : keys[0]);\n const res = keys.map(k => {\n return new Proxy(\n {\n get(property) {\n return k.includes(property) ? props[property] : undefined;\n },\n has(property) {\n return k.includes(property) && property in props;\n },\n keys() {\n return k.filter(property => property in props);\n }\n },\n propTraps\n );\n });\n res.push(\n new Proxy(\n {\n get(property) {\n return blocked.has(property) ? undefined : props[property];\n },\n has(property) {\n return blocked.has(property) ? false : property in props;\n },\n keys() {\n return Object.keys(props).filter(k => !blocked.has(k));\n }\n },\n propTraps\n )\n );\n return res;\n }\n const otherObject = {};\n const objects = keys.map(() => ({}));\n for (const propName of Object.getOwnPropertyNames(props)) {\n const desc = Object.getOwnPropertyDescriptor(props, propName);\n const isDefaultDesc =\n !desc.get && !desc.set && desc.enumerable && desc.writable && desc.configurable;\n let blocked = false;\n let objectIndex = 0;\n for (const k of keys) {\n if (k.includes(propName)) {\n blocked = true;\n isDefaultDesc\n ? (objects[objectIndex][propName] = desc.value)\n : Object.defineProperty(objects[objectIndex], propName, desc);\n }\n ++objectIndex;\n }\n if (!blocked) {\n isDefaultDesc\n ? (otherObject[propName] = desc.value)\n : Object.defineProperty(otherObject, propName, desc);\n }\n }\n return [...objects, otherObject];\n}\nfunction lazy(fn) {\n let comp;\n let p;\n const wrap = props => {\n const ctx = sharedConfig.context;\n if (ctx) {\n const [s, set] = createSignal();\n sharedConfig.count || (sharedConfig.count = 0);\n sharedConfig.count++;\n (p || (p = fn())).then(mod => {\n setHydrateContext(ctx);\n sharedConfig.count--;\n set(() => mod.default);\n setHydrateContext();\n });\n comp = s;\n } else if (!comp) {\n const [s] = createResource(() => (p || (p = fn())).then(mod => mod.default));\n comp = s;\n }\n let Comp;\n return createMemo(\n () =>\n (Comp = comp()) &&\n untrack(() => {\n if (false);\n if (!ctx) return Comp(props);\n const c = sharedConfig.context;\n setHydrateContext(ctx);\n const r = Comp(props);\n setHydrateContext(c);\n return r;\n })\n );\n };\n wrap.preload = () => p || ((p = fn()).then(mod => (comp = () => mod.default)), p);\n return wrap;\n}\nlet counter = 0;\nfunction createUniqueId() {\n const ctx = sharedConfig.context;\n return ctx ? `${ctx.id}${ctx.count++}` : `cl-${counter++}`;\n}\n\nconst narrowedError = name => `Stale read from <${name}>.`;\nfunction For(props) {\n const fallback = \"fallback\" in props && {\n fallback: () => props.fallback\n };\n return createMemo(mapArray(() => props.each, props.children, fallback || undefined));\n}\nfunction Index(props) {\n const fallback = \"fallback\" in props && {\n fallback: () => props.fallback\n };\n return createMemo(indexArray(() => props.each, props.children, fallback || undefined));\n}\nfunction Show(props) {\n const keyed = props.keyed;\n const condition = createMemo(() => props.when, undefined, {\n equals: (a, b) => (keyed ? a === b : !a === !b)\n });\n return createMemo(\n () => {\n const c = condition();\n if (c) {\n const child = props.children;\n const fn = typeof child === \"function\" && child.length > 0;\n return fn\n ? untrack(() =>\n child(\n keyed\n ? c\n : () => {\n if (!untrack(condition)) throw narrowedError(\"Show\");\n return props.when;\n }\n )\n )\n : child;\n }\n return props.fallback;\n },\n undefined,\n undefined\n );\n}\nfunction Switch(props) {\n let keyed = false;\n const equals = (a, b) => (keyed ? a[1] === b[1] : !a[1] === !b[1]) && a[2] === b[2];\n const conditions = children(() => props.children),\n evalConditions = createMemo(\n () => {\n let conds = conditions();\n if (!Array.isArray(conds)) conds = [conds];\n for (let i = 0; i < conds.length; i++) {\n const c = conds[i].when;\n if (c) {\n keyed = !!conds[i].keyed;\n return [i, c, conds[i]];\n }\n }\n return [-1];\n },\n undefined,\n {\n equals\n }\n );\n return createMemo(\n () => {\n const [index, when, cond] = evalConditions();\n if (index < 0) return props.fallback;\n const c = cond.children;\n const fn = typeof c === \"function\" && c.length > 0;\n return fn\n ? untrack(() =>\n c(\n keyed\n ? when\n : () => {\n if (untrack(evalConditions)[0] !== index) throw narrowedError(\"Match\");\n return cond.when;\n }\n )\n )\n : c;\n },\n undefined,\n undefined\n );\n}\nfunction Match(props) {\n return props;\n}\nlet Errors;\nfunction resetErrorBoundaries() {\n Errors && [...Errors].forEach(fn => fn());\n}\nfunction ErrorBoundary(props) {\n let err;\n if (sharedConfig.context && sharedConfig.load)\n err = sharedConfig.load(sharedConfig.context.id + sharedConfig.context.count);\n const [errored, setErrored] = createSignal(err, undefined);\n Errors || (Errors = new Set());\n Errors.add(setErrored);\n onCleanup(() => Errors.delete(setErrored));\n return createMemo(\n () => {\n let e;\n if ((e = errored())) {\n const f = props.fallback;\n return typeof f === \"function\" && f.length ? untrack(() => f(e, () => setErrored())) : f;\n }\n return catchError(() => props.children, setErrored);\n },\n undefined,\n undefined\n );\n}\n\nconst suspenseListEquals = (a, b) =>\n a.showContent === b.showContent && a.showFallback === b.showFallback;\nconst SuspenseListContext = createContext();\nfunction SuspenseList(props) {\n let [wrapper, setWrapper] = createSignal(() => ({\n inFallback: false\n })),\n show;\n const listContext = useContext(SuspenseListContext);\n const [registry, setRegistry] = createSignal([]);\n if (listContext) {\n show = listContext.register(createMemo(() => wrapper()().inFallback));\n }\n const resolved = createMemo(\n prev => {\n const reveal = props.revealOrder,\n tail = props.tail,\n { showContent = true, showFallback = true } = show ? show() : {},\n reg = registry(),\n reverse = reveal === \"backwards\";\n if (reveal === \"together\") {\n const all = reg.every(inFallback => !inFallback());\n const res = reg.map(() => ({\n showContent: all && showContent,\n showFallback\n }));\n res.inFallback = !all;\n return res;\n }\n let stop = false;\n let inFallback = prev.inFallback;\n const res = [];\n for (let i = 0, len = reg.length; i < len; i++) {\n const n = reverse ? len - i - 1 : i,\n s = reg[n]();\n if (!stop && !s) {\n res[n] = {\n showContent,\n showFallback\n };\n } else {\n const next = !stop;\n if (next) inFallback = true;\n res[n] = {\n showContent: next,\n showFallback: !tail || (next && tail === \"collapsed\") ? showFallback : false\n };\n stop = true;\n }\n }\n if (!stop) inFallback = false;\n res.inFallback = inFallback;\n return res;\n },\n {\n inFallback: false\n }\n );\n setWrapper(() => resolved);\n return createComponent(SuspenseListContext.Provider, {\n value: {\n register: inFallback => {\n let index;\n setRegistry(registry => {\n index = registry.length;\n return [...registry, inFallback];\n });\n return createMemo(() => resolved()[index], undefined, {\n equals: suspenseListEquals\n });\n }\n },\n get children() {\n return props.children;\n }\n });\n}\nfunction Suspense(props) {\n let counter = 0,\n show,\n ctx,\n p,\n flicker,\n error;\n const [inFallback, setFallback] = createSignal(false),\n SuspenseContext = getSuspenseContext(),\n store = {\n increment: () => {\n if (++counter === 1) setFallback(true);\n },\n decrement: () => {\n if (--counter === 0) setFallback(false);\n },\n inFallback,\n effects: [],\n resolved: false\n },\n owner = getOwner();\n if (sharedConfig.context && sharedConfig.load) {\n const key = sharedConfig.context.id + sharedConfig.context.count;\n let ref = sharedConfig.load(key);\n if (ref) {\n if (typeof ref !== \"object\" || ref.status !== \"success\") p = ref;\n else sharedConfig.gather(key);\n }\n if (p && p !== \"$$f\") {\n const [s, set] = createSignal(undefined, {\n equals: false\n });\n flicker = s;\n p.then(\n () => {\n if (sharedConfig.done) return set();\n sharedConfig.gather(key);\n setHydrateContext(ctx);\n set();\n setHydrateContext();\n },\n err => {\n error = err;\n set();\n }\n );\n }\n }\n const listContext = useContext(SuspenseListContext);\n if (listContext) show = listContext.register(store.inFallback);\n let dispose;\n onCleanup(() => dispose && dispose());\n return createComponent(SuspenseContext.Provider, {\n value: store,\n get children() {\n return createMemo(() => {\n if (error) throw error;\n ctx = sharedConfig.context;\n if (flicker) {\n flicker();\n return (flicker = undefined);\n }\n if (ctx && p === \"$$f\") setHydrateContext();\n const rendered = createMemo(() => props.children);\n return createMemo(prev => {\n const inFallback = store.inFallback(),\n { showContent = true, showFallback = true } = show ? show() : {};\n if ((!inFallback || (p && p !== \"$$f\")) && showContent) {\n store.resolved = true;\n dispose && dispose();\n dispose = ctx = p = undefined;\n resumeEffects(store.effects);\n return rendered();\n }\n if (!showFallback) return;\n if (dispose) return prev;\n return createRoot(disposer => {\n dispose = disposer;\n if (ctx) {\n setHydrateContext({\n id: ctx.id + \"f\",\n count: 0\n });\n ctx = undefined;\n }\n return props.fallback;\n }, owner);\n });\n });\n }\n });\n}\n\nconst DEV = undefined;\n\nexport {\n $DEVCOMP,\n $PROXY,\n $TRACK,\n DEV,\n ErrorBoundary,\n For,\n Index,\n Match,\n Show,\n Suspense,\n SuspenseList,\n Switch,\n batch,\n cancelCallback,\n catchError,\n children,\n createComponent,\n createComputed,\n createContext,\n createDeferred,\n createEffect,\n createMemo,\n createReaction,\n createRenderEffect,\n createResource,\n createRoot,\n createSelector,\n createSignal,\n createUniqueId,\n enableExternalSource,\n enableHydration,\n enableScheduling,\n equalFn,\n from,\n getListener,\n getOwner,\n indexArray,\n lazy,\n mapArray,\n mergeProps,\n observable,\n on,\n onCleanup,\n onError,\n onMount,\n requestCallback,\n resetErrorBoundaries,\n runWithOwner,\n sharedConfig,\n splitProps,\n startTransition,\n untrack,\n useContext,\n useTransition\n};\n","import {\n createRoot,\n sharedConfig,\n createRenderEffect,\n untrack,\n enableHydration,\n getOwner,\n createEffect,\n runWithOwner,\n createMemo,\n createSignal,\n onCleanup,\n splitProps\n} from \"solid-js\";\nexport {\n ErrorBoundary,\n For,\n Index,\n Match,\n Show,\n Suspense,\n SuspenseList,\n Switch,\n createComponent,\n createRenderEffect as effect,\n getOwner,\n createMemo as memo,\n mergeProps,\n untrack\n} from \"solid-js\";\n\nconst booleans = [\n \"allowfullscreen\",\n \"async\",\n \"autofocus\",\n \"autoplay\",\n \"checked\",\n \"controls\",\n \"default\",\n \"disabled\",\n \"formnovalidate\",\n \"hidden\",\n \"indeterminate\",\n \"inert\",\n \"ismap\",\n \"loop\",\n \"multiple\",\n \"muted\",\n \"nomodule\",\n \"novalidate\",\n \"open\",\n \"playsinline\",\n \"readonly\",\n \"required\",\n \"reversed\",\n \"seamless\",\n \"selected\"\n];\nconst Properties = /*#__PURE__*/ new Set([\n \"className\",\n \"value\",\n \"readOnly\",\n \"formNoValidate\",\n \"isMap\",\n \"noModule\",\n \"playsInline\",\n ...booleans\n]);\nconst ChildProperties = /*#__PURE__*/ new Set([\n \"innerHTML\",\n \"textContent\",\n \"innerText\",\n \"children\"\n]);\nconst Aliases = /*#__PURE__*/ Object.assign(Object.create(null), {\n className: \"class\",\n htmlFor: \"for\"\n});\nconst PropAliases = /*#__PURE__*/ Object.assign(Object.create(null), {\n class: \"className\",\n formnovalidate: {\n $: \"formNoValidate\",\n BUTTON: 1,\n INPUT: 1\n },\n ismap: {\n $: \"isMap\",\n IMG: 1\n },\n nomodule: {\n $: \"noModule\",\n SCRIPT: 1\n },\n playsinline: {\n $: \"playsInline\",\n VIDEO: 1\n },\n readonly: {\n $: \"readOnly\",\n INPUT: 1,\n TEXTAREA: 1\n }\n});\nfunction getPropAlias(prop, tagName) {\n const a = PropAliases[prop];\n return typeof a === \"object\" ? (a[tagName] ? a[\"$\"] : undefined) : a;\n}\nconst DelegatedEvents = /*#__PURE__*/ new Set([\n \"beforeinput\",\n \"click\",\n \"dblclick\",\n \"contextmenu\",\n \"focusin\",\n \"focusout\",\n \"input\",\n \"keydown\",\n \"keyup\",\n \"mousedown\",\n \"mousemove\",\n \"mouseout\",\n \"mouseover\",\n \"mouseup\",\n \"pointerdown\",\n \"pointermove\",\n \"pointerout\",\n \"pointerover\",\n \"pointerup\",\n \"touchend\",\n \"touchmove\",\n \"touchstart\"\n]);\nconst SVGElements = /*#__PURE__*/ new Set([\n \"altGlyph\",\n \"altGlyphDef\",\n \"altGlyphItem\",\n \"animate\",\n \"animateColor\",\n \"animateMotion\",\n \"animateTransform\",\n \"circle\",\n \"clipPath\",\n \"color-profile\",\n \"cursor\",\n \"defs\",\n \"desc\",\n \"ellipse\",\n \"feBlend\",\n \"feColorMatrix\",\n \"feComponentTransfer\",\n \"feComposite\",\n \"feConvolveMatrix\",\n \"feDiffuseLighting\",\n \"feDisplacementMap\",\n \"feDistantLight\",\n \"feFlood\",\n \"feFuncA\",\n \"feFuncB\",\n \"feFuncG\",\n \"feFuncR\",\n \"feGaussianBlur\",\n \"feImage\",\n \"feMerge\",\n \"feMergeNode\",\n \"feMorphology\",\n \"feOffset\",\n \"fePointLight\",\n \"feSpecularLighting\",\n \"feSpotLight\",\n \"feTile\",\n \"feTurbulence\",\n \"filter\",\n \"font\",\n \"font-face\",\n \"font-face-format\",\n \"font-face-name\",\n \"font-face-src\",\n \"font-face-uri\",\n \"foreignObject\",\n \"g\",\n \"glyph\",\n \"glyphRef\",\n \"hkern\",\n \"image\",\n \"line\",\n \"linearGradient\",\n \"marker\",\n \"mask\",\n \"metadata\",\n \"missing-glyph\",\n \"mpath\",\n \"path\",\n \"pattern\",\n \"polygon\",\n \"polyline\",\n \"radialGradient\",\n \"rect\",\n \"set\",\n \"stop\",\n \"svg\",\n \"switch\",\n \"symbol\",\n \"text\",\n \"textPath\",\n \"tref\",\n \"tspan\",\n \"use\",\n \"view\",\n \"vkern\"\n]);\nconst SVGNamespace = {\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\"\n};\nconst DOMElements = /*#__PURE__*/ new Set([\n \"html\",\n \"base\",\n \"head\",\n \"link\",\n \"meta\",\n \"style\",\n \"title\",\n \"body\",\n \"address\",\n \"article\",\n \"aside\",\n \"footer\",\n \"header\",\n \"main\",\n \"nav\",\n \"section\",\n \"body\",\n \"blockquote\",\n \"dd\",\n \"div\",\n \"dl\",\n \"dt\",\n \"figcaption\",\n \"figure\",\n \"hr\",\n \"li\",\n \"ol\",\n \"p\",\n \"pre\",\n \"ul\",\n \"a\",\n \"abbr\",\n \"b\",\n \"bdi\",\n \"bdo\",\n \"br\",\n \"cite\",\n \"code\",\n \"data\",\n \"dfn\",\n \"em\",\n \"i\",\n \"kbd\",\n \"mark\",\n \"q\",\n \"rp\",\n \"rt\",\n \"ruby\",\n \"s\",\n \"samp\",\n \"small\",\n \"span\",\n \"strong\",\n \"sub\",\n \"sup\",\n \"time\",\n \"u\",\n \"var\",\n \"wbr\",\n \"area\",\n \"audio\",\n \"img\",\n \"map\",\n \"track\",\n \"video\",\n \"embed\",\n \"iframe\",\n \"object\",\n \"param\",\n \"picture\",\n \"portal\",\n \"source\",\n \"svg\",\n \"math\",\n \"canvas\",\n \"noscript\",\n \"script\",\n \"del\",\n \"ins\",\n \"caption\",\n \"col\",\n \"colgroup\",\n \"table\",\n \"tbody\",\n \"td\",\n \"tfoot\",\n \"th\",\n \"thead\",\n \"tr\",\n \"button\",\n \"datalist\",\n \"fieldset\",\n \"form\",\n \"input\",\n \"label\",\n \"legend\",\n \"meter\",\n \"optgroup\",\n \"option\",\n \"output\",\n \"progress\",\n \"select\",\n \"textarea\",\n \"details\",\n \"dialog\",\n \"menu\",\n \"summary\",\n \"details\",\n \"slot\",\n \"template\",\n \"acronym\",\n \"applet\",\n \"basefont\",\n \"bgsound\",\n \"big\",\n \"blink\",\n \"center\",\n \"content\",\n \"dir\",\n \"font\",\n \"frame\",\n \"frameset\",\n \"hgroup\",\n \"image\",\n \"keygen\",\n \"marquee\",\n \"menuitem\",\n \"nobr\",\n \"noembed\",\n \"noframes\",\n \"plaintext\",\n \"rb\",\n \"rtc\",\n \"shadow\",\n \"spacer\",\n \"strike\",\n \"tt\",\n \"xmp\",\n \"a\",\n \"abbr\",\n \"acronym\",\n \"address\",\n \"applet\",\n \"area\",\n \"article\",\n \"aside\",\n \"audio\",\n \"b\",\n \"base\",\n \"basefont\",\n \"bdi\",\n \"bdo\",\n \"bgsound\",\n \"big\",\n \"blink\",\n \"blockquote\",\n \"body\",\n \"br\",\n \"button\",\n \"canvas\",\n \"caption\",\n \"center\",\n \"cite\",\n \"code\",\n \"col\",\n \"colgroup\",\n \"content\",\n \"data\",\n \"datalist\",\n \"dd\",\n \"del\",\n \"details\",\n \"dfn\",\n \"dialog\",\n \"dir\",\n \"div\",\n \"dl\",\n \"dt\",\n \"em\",\n \"embed\",\n \"fieldset\",\n \"figcaption\",\n \"figure\",\n \"font\",\n \"footer\",\n \"form\",\n \"frame\",\n \"frameset\",\n \"head\",\n \"header\",\n \"hgroup\",\n \"hr\",\n \"html\",\n \"i\",\n \"iframe\",\n \"image\",\n \"img\",\n \"input\",\n \"ins\",\n \"kbd\",\n \"keygen\",\n \"label\",\n \"legend\",\n \"li\",\n \"link\",\n \"main\",\n \"map\",\n \"mark\",\n \"marquee\",\n \"menu\",\n \"menuitem\",\n \"meta\",\n \"meter\",\n \"nav\",\n \"nobr\",\n \"noembed\",\n \"noframes\",\n \"noscript\",\n \"object\",\n \"ol\",\n \"optgroup\",\n \"option\",\n \"output\",\n \"p\",\n \"param\",\n \"picture\",\n \"plaintext\",\n \"portal\",\n \"pre\",\n \"progress\",\n \"q\",\n \"rb\",\n \"rp\",\n \"rt\",\n \"rtc\",\n \"ruby\",\n \"s\",\n \"samp\",\n \"script\",\n \"section\",\n \"select\",\n \"shadow\",\n \"slot\",\n \"small\",\n \"source\",\n \"spacer\",\n \"span\",\n \"strike\",\n \"strong\",\n \"style\",\n \"sub\",\n \"summary\",\n \"sup\",\n \"table\",\n \"tbody\",\n \"td\",\n \"template\",\n \"textarea\",\n \"tfoot\",\n \"th\",\n \"thead\",\n \"time\",\n \"title\",\n \"tr\",\n \"track\",\n \"tt\",\n \"u\",\n \"ul\",\n \"var\",\n \"video\",\n \"wbr\",\n \"xmp\",\n \"input\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\"\n]);\n\nfunction reconcileArrays(parentNode, a, b) {\n let bLength = b.length,\n aEnd = a.length,\n bEnd = bLength,\n aStart = 0,\n bStart = 0,\n after = a[aEnd - 1].nextSibling,\n map = null;\n while (aStart < aEnd || bStart < bEnd) {\n if (a[aStart] === b[bStart]) {\n aStart++;\n bStart++;\n continue;\n }\n while (a[aEnd - 1] === b[bEnd - 1]) {\n aEnd--;\n bEnd--;\n }\n if (aEnd === aStart) {\n const node = bEnd < bLength ? (bStart ? b[bStart - 1].nextSibling : b[bEnd - bStart]) : after;\n while (bStart < bEnd) parentNode.insertBefore(b[bStart++], node);\n } else if (bEnd === bStart) {\n while (aStart < aEnd) {\n if (!map || !map.has(a[aStart])) a[aStart].remove();\n aStart++;\n }\n } else if (a[aStart] === b[bEnd - 1] && b[bStart] === a[aEnd - 1]) {\n const node = a[--aEnd].nextSibling;\n parentNode.insertBefore(b[bStart++], a[aStart++].nextSibling);\n parentNode.insertBefore(b[--bEnd], node);\n a[aEnd] = b[bEnd];\n } else {\n if (!map) {\n map = new Map();\n let i = bStart;\n while (i < bEnd) map.set(b[i], i++);\n }\n const index = map.get(a[aStart]);\n if (index != null) {\n if (bStart < index && index < bEnd) {\n let i = aStart,\n sequence = 1,\n t;\n while (++i < aEnd && i < bEnd) {\n if ((t = map.get(a[i])) == null || t !== index + sequence) break;\n sequence++;\n }\n if (sequence > index - bStart) {\n const node = a[aStart];\n while (bStart < index) parentNode.insertBefore(b[bStart++], node);\n } else parentNode.replaceChild(b[bStart++], a[aStart++]);\n } else aStart++;\n } else a[aStart++].remove();\n }\n }\n}\n\nconst $$EVENTS = \"_$DX_DELEGATE\";\nfunction render(code, element, init, options = {}) {\n let disposer;\n createRoot(dispose => {\n disposer = dispose;\n element === document\n ? code()\n : insert(element, code(), element.firstChild ? null : undefined, init);\n }, options.owner);\n return () => {\n disposer();\n element.textContent = \"\";\n };\n}\nfunction template(html, isCE, isSVG) {\n let node;\n const create = () => {\n const t = document.createElement(\"template\");\n t.innerHTML = html;\n return isSVG ? t.content.firstChild.firstChild : t.content.firstChild;\n };\n const fn = isCE\n ? () => untrack(() => document.importNode(node || (node = create()), true))\n : () => (node || (node = create())).cloneNode(true);\n fn.cloneNode = fn;\n return fn;\n}\nfunction delegateEvents(eventNames, document = window.document) {\n const e = document[$$EVENTS] || (document[$$EVENTS] = new Set());\n for (let i = 0, l = eventNames.length; i < l; i++) {\n const name = eventNames[i];\n if (!e.has(name)) {\n e.add(name);\n document.addEventListener(name, eventHandler);\n }\n }\n}\nfunction clearDelegatedEvents(document = window.document) {\n if (document[$$EVENTS]) {\n for (let name of document[$$EVENTS].keys()) document.removeEventListener(name, eventHandler);\n delete document[$$EVENTS];\n }\n}\nfunction setProperty(node, name, value) {\n !sharedConfig.context && (node[name] = value);\n}\nfunction setAttribute(node, name, value) {\n if (sharedConfig.context) return;\n if (value == null) node.removeAttribute(name);\n else node.setAttribute(name, value);\n}\nfunction setAttributeNS(node, namespace, name, value) {\n if (sharedConfig.context) return;\n if (value == null) node.removeAttributeNS(namespace, name);\n else node.setAttributeNS(namespace, name, value);\n}\nfunction className(node, value) {\n if (sharedConfig.context) return;\n if (value == null) node.removeAttribute(\"class\");\n else node.className = value;\n}\nfunction addEventListener(node, name, handler, delegate) {\n if (delegate) {\n if (Array.isArray(handler)) {\n node[`$$${name}`] = handler[0];\n node[`$$${name}Data`] = handler[1];\n } else node[`$$${name}`] = handler;\n } else if (Array.isArray(handler)) {\n const handlerFn = handler[0];\n node.addEventListener(name, (handler[0] = e => handlerFn.call(node, handler[1], e)));\n } else node.addEventListener(name, handler);\n}\nfunction classList(node, value, prev = {}) {\n const classKeys = Object.keys(value || {}),\n prevKeys = Object.keys(prev);\n let i, len;\n for (i = 0, len = prevKeys.length; i < len; i++) {\n const key = prevKeys[i];\n if (!key || key === \"undefined\" || value[key]) continue;\n toggleClassKey(node, key, false);\n delete prev[key];\n }\n for (i = 0, len = classKeys.length; i < len; i++) {\n const key = classKeys[i],\n classValue = !!value[key];\n if (!key || key === \"undefined\" || prev[key] === classValue || !classValue) continue;\n toggleClassKey(node, key, true);\n prev[key] = classValue;\n }\n return prev;\n}\nfunction style(node, value, prev) {\n if (!value) return prev ? setAttribute(node, \"style\") : value;\n const nodeStyle = node.style;\n if (typeof value === \"string\") return (nodeStyle.cssText = value);\n typeof prev === \"string\" && (nodeStyle.cssText = prev = undefined);\n prev || (prev = {});\n value || (value = {});\n let v, s;\n for (s in prev) {\n value[s] == null && nodeStyle.removeProperty(s);\n delete prev[s];\n }\n for (s in value) {\n v = value[s];\n if (v !== prev[s]) {\n nodeStyle.setProperty(s, v);\n prev[s] = v;\n }\n }\n return prev;\n}\nfunction spread(node, props = {}, isSVG, skipChildren) {\n const prevProps = {};\n if (!skipChildren) {\n createRenderEffect(\n () => (prevProps.children = insertExpression(node, props.children, prevProps.children))\n );\n }\n createRenderEffect(() => props.ref && props.ref(node));\n createRenderEffect(() => assign(node, props, isSVG, true, prevProps, true));\n return prevProps;\n}\nfunction dynamicProperty(props, key) {\n const src = props[key];\n Object.defineProperty(props, key, {\n get() {\n return src();\n },\n enumerable: true\n });\n return props;\n}\nfunction use(fn, element, arg) {\n return untrack(() => fn(element, arg));\n}\nfunction insert(parent, accessor, marker, initial) {\n if (marker !== undefined && !initial) initial = [];\n if (typeof accessor !== \"function\") return insertExpression(parent, accessor, initial, marker);\n createRenderEffect(current => insertExpression(parent, accessor(), current, marker), initial);\n}\nfunction assign(node, props, isSVG, skipChildren, prevProps = {}, skipRef = false) {\n props || (props = {});\n for (const prop in prevProps) {\n if (!(prop in props)) {\n if (prop === \"children\") continue;\n prevProps[prop] = assignProp(node, prop, null, prevProps[prop], isSVG, skipRef);\n }\n }\n for (const prop in props) {\n if (prop === \"children\") {\n if (!skipChildren) insertExpression(node, props.children);\n continue;\n }\n const value = props[prop];\n prevProps[prop] = assignProp(node, prop, value, prevProps[prop], isSVG, skipRef);\n }\n}\nfunction hydrate$1(code, element, options = {}) {\n sharedConfig.completed = globalThis._$HY.completed;\n sharedConfig.events = globalThis._$HY.events;\n sharedConfig.load = id => globalThis._$HY.r[id];\n sharedConfig.has = id => id in globalThis._$HY.r;\n sharedConfig.gather = root => gatherHydratable(element, root);\n sharedConfig.registry = new Map();\n sharedConfig.context = {\n id: options.renderId || \"\",\n count: 0\n };\n gatherHydratable(element, options.renderId);\n const dispose = render(code, element, [...element.childNodes], options);\n sharedConfig.context = null;\n return dispose;\n}\nfunction getNextElement(template) {\n let node, key;\n if (!sharedConfig.context || !(node = sharedConfig.registry.get((key = getHydrationKey())))) {\n return template();\n }\n if (sharedConfig.completed) sharedConfig.completed.add(node);\n sharedConfig.registry.delete(key);\n return node;\n}\nfunction getNextMatch(el, nodeName) {\n while (el && el.localName !== nodeName) el = el.nextSibling;\n return el;\n}\nfunction getNextMarker(start) {\n let end = start,\n count = 0,\n current = [];\n if (sharedConfig.context) {\n while (end) {\n if (end.nodeType === 8) {\n const v = end.nodeValue;\n if (v === \"$\") count++;\n else if (v === \"/\") {\n if (count === 0) return [end, current];\n count--;\n }\n }\n current.push(end);\n end = end.nextSibling;\n }\n }\n return [end, current];\n}\nfunction runHydrationEvents() {\n if (sharedConfig.events && !sharedConfig.events.queued) {\n queueMicrotask(() => {\n const { completed, events } = sharedConfig;\n events.queued = false;\n while (events.length) {\n const [el, e] = events[0];\n if (!completed.has(el)) return;\n eventHandler(e);\n events.shift();\n }\n });\n sharedConfig.events.queued = true;\n }\n}\nfunction toPropertyName(name) {\n return name.toLowerCase().replace(/-([a-z])/g, (_, w) => w.toUpperCase());\n}\nfunction toggleClassKey(node, key, value) {\n const classNames = key.trim().split(/\\s+/);\n for (let i = 0, nameLen = classNames.length; i < nameLen; i++)\n node.classList.toggle(classNames[i], value);\n}\nfunction assignProp(node, prop, value, prev, isSVG, skipRef) {\n let isCE, isProp, isChildProp, propAlias, forceProp;\n if (prop === \"style\") return style(node, value, prev);\n if (prop === \"classList\") return classList(node, value, prev);\n if (value === prev) return prev;\n if (prop === \"ref\") {\n if (!skipRef) value(node);\n } else if (prop.slice(0, 3) === \"on:\") {\n const e = prop.slice(3);\n prev && node.removeEventListener(e, prev);\n value && node.addEventListener(e, value);\n } else if (prop.slice(0, 10) === \"oncapture:\") {\n const e = prop.slice(10);\n prev && node.removeEventListener(e, prev, true);\n value && node.addEventListener(e, value, true);\n } else if (prop.slice(0, 2) === \"on\") {\n const name = prop.slice(2).toLowerCase();\n const delegate = DelegatedEvents.has(name);\n if (!delegate && prev) {\n const h = Array.isArray(prev) ? prev[0] : prev;\n node.removeEventListener(name, h);\n }\n if (delegate || value) {\n addEventListener(node, name, value, delegate);\n delegate && delegateEvents([name]);\n }\n } else if (prop.slice(0, 5) === \"attr:\") {\n setAttribute(node, prop.slice(5), value);\n } else if (\n (forceProp = prop.slice(0, 5) === \"prop:\") ||\n (isChildProp = ChildProperties.has(prop)) ||\n (!isSVG &&\n ((propAlias = getPropAlias(prop, node.tagName)) || (isProp = Properties.has(prop)))) ||\n (isCE = node.nodeName.includes(\"-\"))\n ) {\n if (forceProp) {\n prop = prop.slice(5);\n isProp = true;\n } else if (sharedConfig.context) return value;\n if (prop === \"class\" || prop === \"className\") className(node, value);\n else if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;\n else node[propAlias || prop] = value;\n } else {\n const ns = isSVG && prop.indexOf(\":\") > -1 && SVGNamespace[prop.split(\":\")[0]];\n if (ns) setAttributeNS(node, ns, prop, value);\n else setAttribute(node, Aliases[prop] || prop, value);\n }\n return value;\n}\nfunction eventHandler(e) {\n const key = `$$${e.type}`;\n let node = (e.composedPath && e.composedPath()[0]) || e.target;\n if (e.target !== node) {\n Object.defineProperty(e, \"target\", {\n configurable: true,\n value: node\n });\n }\n Object.defineProperty(e, \"currentTarget\", {\n configurable: true,\n get() {\n return node || document;\n }\n });\n if (sharedConfig.registry && !sharedConfig.done) sharedConfig.done = _$HY.done = true;\n while (node) {\n const handler = node[key];\n if (handler && !node.disabled) {\n const data = node[`${key}Data`];\n data !== undefined ? handler.call(node, data, e) : handler.call(node, e);\n if (e.cancelBubble) return;\n }\n node = node._$host || node.parentNode || node.host;\n }\n}\nfunction insertExpression(parent, value, current, marker, unwrapArray) {\n if (sharedConfig.context) {\n !current && (current = [...parent.childNodes]);\n let cleaned = [];\n for (let i = 0; i < current.length; i++) {\n const node = current[i];\n if (node.nodeType === 8 && node.data.slice(0, 2) === \"!$\") node.remove();\n else cleaned.push(node);\n }\n current = cleaned;\n }\n while (typeof current === \"function\") current = current();\n if (value === current) return current;\n const t = typeof value,\n multi = marker !== undefined;\n parent = (multi && current[0] && current[0].parentNode) || parent;\n if (t === \"string\" || t === \"number\") {\n if (sharedConfig.context) return current;\n if (t === \"number\") value = value.toString();\n if (multi) {\n let node = current[0];\n if (node && node.nodeType === 3) {\n node.data !== value && (node.data = value);\n } else node = document.createTextNode(value);\n current = cleanChildren(parent, current, marker, node);\n } else {\n if (current !== \"\" && typeof current === \"string\") {\n current = parent.firstChild.data = value;\n } else current = parent.textContent = value;\n }\n } else if (value == null || t === \"boolean\") {\n if (sharedConfig.context) return current;\n current = cleanChildren(parent, current, marker);\n } else if (t === \"function\") {\n createRenderEffect(() => {\n let v = value();\n while (typeof v === \"function\") v = v();\n current = insertExpression(parent, v, current, marker);\n });\n return () => current;\n } else if (Array.isArray(value)) {\n const array = [];\n const currentArray = current && Array.isArray(current);\n if (normalizeIncomingArray(array, value, current, unwrapArray)) {\n createRenderEffect(() => (current = insertExpression(parent, array, current, marker, true)));\n return () => current;\n }\n if (sharedConfig.context) {\n if (!array.length) return current;\n if (marker === undefined) return [...parent.childNodes];\n let node = array[0];\n let nodes = [node];\n while ((node = node.nextSibling) !== marker) nodes.push(node);\n return (current = nodes);\n }\n if (array.length === 0) {\n current = cleanChildren(parent, current, marker);\n if (multi) return current;\n } else if (currentArray) {\n if (current.length === 0) {\n appendNodes(parent, array, marker);\n } else reconcileArrays(parent, current, array);\n } else {\n current && cleanChildren(parent);\n appendNodes(parent, array);\n }\n current = array;\n } else if (value.nodeType) {\n if (sharedConfig.context && value.parentNode) return (current = multi ? [value] : value);\n if (Array.isArray(current)) {\n if (multi) return (current = cleanChildren(parent, current, marker, value));\n cleanChildren(parent, current, null, value);\n } else if (current == null || current === \"\" || !parent.firstChild) {\n parent.appendChild(value);\n } else parent.replaceChild(value, parent.firstChild);\n current = value;\n } else;\n return current;\n}\nfunction normalizeIncomingArray(normalized, array, current, unwrap) {\n let dynamic = false;\n for (let i = 0, len = array.length; i < len; i++) {\n let item = array[i],\n prev = current && current[normalized.length],\n t;\n if (item == null || item === true || item === false);\n else if ((t = typeof item) === \"object\" && item.nodeType) {\n normalized.push(item);\n } else if (Array.isArray(item)) {\n dynamic = normalizeIncomingArray(normalized, item, prev) || dynamic;\n } else if (t === \"function\") {\n if (unwrap) {\n while (typeof item === \"function\") item = item();\n dynamic =\n normalizeIncomingArray(\n normalized,\n Array.isArray(item) ? item : [item],\n Array.isArray(prev) ? prev : [prev]\n ) || dynamic;\n } else {\n normalized.push(item);\n dynamic = true;\n }\n } else {\n const value = String(item);\n if (prev && prev.nodeType === 3 && prev.data === value) normalized.push(prev);\n else normalized.push(document.createTextNode(value));\n }\n }\n return dynamic;\n}\nfunction appendNodes(parent, array, marker = null) {\n for (let i = 0, len = array.length; i < len; i++) parent.insertBefore(array[i], marker);\n}\nfunction cleanChildren(parent, current, marker, replacement) {\n if (marker === undefined) return (parent.textContent = \"\");\n const node = replacement || document.createTextNode(\"\");\n if (current.length) {\n let inserted = false;\n for (let i = current.length - 1; i >= 0; i--) {\n const el = current[i];\n if (node !== el) {\n const isParent = el.parentNode === parent;\n if (!inserted && !i)\n isParent ? parent.replaceChild(node, el) : parent.insertBefore(node, marker);\n else isParent && el.remove();\n } else inserted = true;\n }\n } else parent.insertBefore(node, marker);\n return [node];\n}\nfunction gatherHydratable(element, root) {\n const templates = element.querySelectorAll(`*[data-hk]`);\n for (let i = 0; i < templates.length; i++) {\n const node = templates[i];\n const key = node.getAttribute(\"data-hk\");\n if ((!root || key.startsWith(root)) && !sharedConfig.registry.has(key))\n sharedConfig.registry.set(key, node);\n }\n}\nfunction getHydrationKey() {\n const hydrate = sharedConfig.context;\n return `${hydrate.id}${hydrate.count++}`;\n}\nfunction NoHydration(props) {\n return sharedConfig.context ? undefined : props.children;\n}\nfunction Hydration(props) {\n return props.children;\n}\nconst voidFn = () => undefined;\nconst RequestContext = Symbol();\nfunction innerHTML(parent, content) {\n !sharedConfig.context && (parent.innerHTML = content);\n}\n\nfunction throwInBrowser(func) {\n const err = new Error(`${func.name} is not supported in the browser, returning undefined`);\n console.error(err);\n}\nfunction renderToString(fn, options) {\n throwInBrowser(renderToString);\n}\nfunction renderToStringAsync(fn, options) {\n throwInBrowser(renderToStringAsync);\n}\nfunction renderToStream(fn, options) {\n throwInBrowser(renderToStream);\n}\nfunction ssr(template, ...nodes) {}\nfunction ssrElement(name, props, children, needsId) {}\nfunction ssrClassList(value) {}\nfunction ssrStyle(value) {}\nfunction ssrAttribute(key, value) {}\nfunction ssrHydrationKey() {}\nfunction resolveSSRNode(node) {}\nfunction escape(html) {}\nfunction ssrSpread(props, isSVG, skipChildren) {}\n\nconst isServer = false;\nconst isDev = false;\nconst SVG_NAMESPACE = \"http://www.w3.org/2000/svg\";\nfunction createElement(tagName, isSVG = false) {\n return isSVG ? document.createElementNS(SVG_NAMESPACE, tagName) : document.createElement(tagName);\n}\nconst hydrate = (...args) => {\n enableHydration();\n return hydrate$1(...args);\n};\nfunction Portal(props) {\n const { useShadow } = props,\n marker = document.createTextNode(\"\"),\n mount = () => props.mount || document.body,\n owner = getOwner();\n let content;\n let hydrating = !!sharedConfig.context;\n createEffect(\n () => {\n if (hydrating) getOwner().user = hydrating = false;\n content || (content = runWithOwner(owner, () => createMemo(() => props.children)));\n const el = mount();\n if (el instanceof HTMLHeadElement) {\n const [clean, setClean] = createSignal(false);\n const cleanup = () => setClean(true);\n createRoot(dispose => insert(el, () => (!clean() ? content() : dispose()), null));\n onCleanup(cleanup);\n } else {\n const container = createElement(props.isSVG ? \"g\" : \"div\", props.isSVG),\n renderRoot =\n useShadow && container.attachShadow\n ? container.attachShadow({\n mode: \"open\"\n })\n : container;\n Object.defineProperty(container, \"_$host\", {\n get() {\n return marker.parentNode;\n },\n configurable: true\n });\n insert(renderRoot, content);\n el.appendChild(container);\n props.ref && props.ref(container);\n onCleanup(() => el.removeChild(container));\n }\n },\n undefined,\n {\n render: !hydrating\n }\n );\n return marker;\n}\nfunction Dynamic(props) {\n const [p, others] = splitProps(props, [\"component\"]);\n const cached = createMemo(() => p.component);\n return createMemo(() => {\n const component = cached();\n switch (typeof component) {\n case \"function\":\n return untrack(() => component(others));\n case \"string\":\n const isSvg = SVGElements.has(component);\n const el = sharedConfig.context ? getNextElement() : createElement(component, isSvg);\n spread(el, others, isSvg);\n return el;\n }\n });\n}\n\nexport {\n Aliases,\n voidFn as Assets,\n ChildProperties,\n DOMElements,\n DelegatedEvents,\n Dynamic,\n Hydration,\n voidFn as HydrationScript,\n NoHydration,\n Portal,\n Properties,\n RequestContext,\n SVGElements,\n SVGNamespace,\n addEventListener,\n assign,\n classList,\n className,\n clearDelegatedEvents,\n delegateEvents,\n dynamicProperty,\n escape,\n voidFn as generateHydrationScript,\n voidFn as getAssets,\n getHydrationKey,\n getNextElement,\n getNextMarker,\n getNextMatch,\n getPropAlias,\n voidFn as getRequestEvent,\n hydrate,\n innerHTML,\n insert,\n isDev,\n isServer,\n render,\n renderToStream,\n renderToString,\n renderToStringAsync,\n resolveSSRNode,\n runHydrationEvents,\n setAttribute,\n setAttributeNS,\n setProperty,\n spread,\n ssr,\n ssrAttribute,\n ssrClassList,\n ssrElement,\n ssrHydrationKey,\n ssrSpread,\n ssrStyle,\n style,\n template,\n use,\n voidFn as useAssets\n};\n","import { isServer } from \"solid-js/web\";\nexport function createBeforeLeave() {\n let listeners = new Set();\n function subscribe(listener) {\n listeners.add(listener);\n return () => listeners.delete(listener);\n }\n let ignore = false;\n function confirm(to, options) {\n if (ignore)\n return !(ignore = false);\n const e = {\n to,\n options,\n defaultPrevented: false,\n preventDefault: () => (e.defaultPrevented = true)\n };\n for (const l of listeners)\n l.listener({\n ...e,\n from: l.location,\n retry: (force) => {\n force && (ignore = true);\n l.navigate(to, { ...options, resolve: false });\n }\n });\n return !e.defaultPrevented;\n }\n return {\n subscribe,\n confirm\n };\n}\n// The following supports browser initiated blocking (eg back/forward)\nlet depth;\nexport function saveCurrentDepth() {\n if (!window.history.state || window.history.state._depth == null) {\n window.history.replaceState({ ...window.history.state, _depth: window.history.length - 1 }, \"\");\n }\n depth = window.history.state._depth;\n}\nif (!isServer) {\n saveCurrentDepth();\n}\nexport function keepDepth(state) {\n return {\n ...state,\n _depth: window.history.state && window.history.state._depth\n };\n}\nexport function notifyIfNotBlocked(notify, block) {\n let ignore = false;\n return () => {\n const prevDepth = depth;\n saveCurrentDepth();\n const delta = prevDepth == null ? null : depth - prevDepth;\n if (ignore) {\n ignore = false;\n return;\n }\n if (delta && block(delta)) {\n ignore = true;\n window.history.go(-delta);\n }\n else {\n notify();\n }\n };\n}\n","import { createMemo, getOwner, runWithOwner } from \"solid-js\";\nconst hasSchemeRegex = /^(?:[a-z0-9]+:)?\\/\\//i;\nconst trimPathRegex = /^\\/+|(\\/)\\/+$/g;\nexport const mockBase = \"http://sr\";\nexport function normalizePath(path, omitSlash = false) {\n const s = path.replace(trimPathRegex, \"$1\");\n return s ? (omitSlash || /^[?#]/.test(s) ? s : \"/\" + s) : \"\";\n}\nexport function resolvePath(base, path, from) {\n if (hasSchemeRegex.test(path)) {\n return undefined;\n }\n const basePath = normalizePath(base);\n const fromPath = from && normalizePath(from);\n let result = \"\";\n if (!fromPath || path.startsWith(\"/\")) {\n result = basePath;\n }\n else if (fromPath.toLowerCase().indexOf(basePath.toLowerCase()) !== 0) {\n result = basePath + fromPath;\n }\n else {\n result = fromPath;\n }\n return (result || \"/\") + normalizePath(path, !result);\n}\nexport function invariant(value, message) {\n if (value == null) {\n throw new Error(message);\n }\n return value;\n}\nexport function joinPaths(from, to) {\n return normalizePath(from).replace(/\\/*(\\*.*)?$/g, \"\") + normalizePath(to);\n}\nexport function extractSearchParams(url) {\n const params = {};\n url.searchParams.forEach((value, key) => {\n params[key] = value;\n });\n return params;\n}\nexport function createMatcher(path, partial, matchFilters) {\n const [pattern, splat] = path.split(\"/*\", 2);\n const segments = pattern.split(\"/\").filter(Boolean);\n const len = segments.length;\n return (location) => {\n const locSegments = location.split(\"/\").filter(Boolean);\n const lenDiff = locSegments.length - len;\n if (lenDiff < 0 || (lenDiff > 0 && splat === undefined && !partial)) {\n return null;\n }\n const match = {\n path: len ? \"\" : \"/\",\n params: {}\n };\n const matchFilter = (s) => matchFilters === undefined ? undefined : matchFilters[s];\n for (let i = 0; i < len; i++) {\n const segment = segments[i];\n const locSegment = locSegments[i];\n const dynamic = segment[0] === \":\";\n const key = dynamic ? segment.slice(1) : segment;\n if (dynamic && matchSegment(locSegment, matchFilter(key))) {\n match.params[key] = locSegment;\n }\n else if (dynamic || !matchSegment(locSegment, segment)) {\n return null;\n }\n match.path += `/${locSegment}`;\n }\n if (splat) {\n const remainder = lenDiff ? locSegments.slice(-lenDiff).join(\"/\") : \"\";\n if (matchSegment(remainder, matchFilter(splat))) {\n match.params[splat] = remainder;\n }\n else {\n return null;\n }\n }\n return match;\n };\n}\nfunction matchSegment(input, filter) {\n const isEqual = (s) => s.localeCompare(input, undefined, { sensitivity: \"base\" }) === 0;\n if (filter === undefined) {\n return true;\n }\n else if (typeof filter === \"string\") {\n return isEqual(filter);\n }\n else if (typeof filter === \"function\") {\n return filter(input);\n }\n else if (Array.isArray(filter)) {\n return filter.some(isEqual);\n }\n else if (filter instanceof RegExp) {\n return filter.test(input);\n }\n return false;\n}\nexport function scoreRoute(route) {\n const [pattern, splat] = route.pattern.split(\"/*\", 2);\n const segments = pattern.split(\"/\").filter(Boolean);\n return segments.reduce((score, segment) => score + (segment.startsWith(\":\") ? 2 : 3), segments.length - (splat === undefined ? 0 : 1));\n}\nexport function createMemoObject(fn) {\n const map = new Map();\n const owner = getOwner();\n return new Proxy({}, {\n get(_, property) {\n if (!map.has(property)) {\n runWithOwner(owner, () => map.set(property, createMemo(() => fn()[property])));\n }\n return map.get(property)();\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true\n };\n },\n ownKeys() {\n return Reflect.ownKeys(fn());\n }\n });\n}\nexport function mergeSearchString(search, params) {\n const merged = new URLSearchParams(search);\n Object.entries(params).forEach(([key, value]) => {\n if (value == null || value === \"\") {\n merged.delete(key);\n }\n else {\n merged.set(key, String(value));\n }\n });\n const s = merged.toString();\n return s ? `?${s}` : \"\";\n}\nexport function expandOptionals(pattern) {\n let match = /(\\/?\\:[^\\/]+)\\?/.exec(pattern);\n if (!match)\n return [pattern];\n let prefix = pattern.slice(0, match.index);\n let suffix = pattern.slice(match.index + match[0].length);\n const prefixes = [prefix, (prefix += match[1])];\n // This section handles adjacent optional params. We don't actually want all permuations since\n // that will lead to equivalent routes which have the same number of params. For example\n // `/:a?/:b?/:c`? only has the unique expansion: `/`, `/:a`, `/:a/:b`, `/:a/:b/:c` and we can\n // discard `/:b`, `/:c`, `/:b/:c` by building them up in order and not recursing. This also helps\n // ensure predictability where earlier params have precidence.\n while ((match = /^(\\/\\:[^\\/]+)\\?/.exec(suffix))) {\n prefixes.push((prefix += match[1]));\n suffix = suffix.slice(match[0].length);\n }\n return expandOptionals(suffix).reduce((results, expansion) => [...results, ...prefixes.map(p => p + expansion)], []);\n}\n","import { runWithOwner } from \"solid-js\";\nimport { createComponent, createContext, createMemo, createRenderEffect, createSignal, on, onCleanup, untrack, useContext, startTransition, resetErrorBoundaries } from \"solid-js\";\nimport { isServer, getRequestEvent } from \"solid-js/web\";\nimport { createBeforeLeave } from \"./lifecycle.js\";\nimport { mockBase, createMemoObject, extractSearchParams, invariant, resolvePath, createMatcher, joinPaths, scoreRoute, mergeSearchString, expandOptionals } from \"./utils.js\";\nconst MAX_REDIRECTS = 100;\nexport const RouterContextObj = createContext();\nexport const RouteContextObj = createContext();\nexport const useRouter = () => invariant(useContext(RouterContextObj), \" and 'use' router primitives can be only used inside a Route.\");\nlet TempRoute;\nexport const useRoute = () => TempRoute || useContext(RouteContextObj) || useRouter().base;\nexport const useResolvedPath = (path) => {\n const route = useRoute();\n return createMemo(() => route.resolvePath(path()));\n};\nexport const useHref = (to) => {\n const router = useRouter();\n return createMemo(() => {\n const to_ = to();\n return to_ !== undefined ? router.renderPath(to_) : to_;\n });\n};\nexport const useNavigate = () => useRouter().navigatorFactory();\nexport const useLocation = () => useRouter().location;\nexport const useIsRouting = () => useRouter().isRouting;\nexport const useMatch = (path, matchFilters) => {\n const location = useLocation();\n const matchers = createMemo(() => expandOptionals(path()).map(path => createMatcher(path, undefined, matchFilters)));\n return createMemo(() => {\n for (const matcher of matchers()) {\n const match = matcher(location.pathname);\n if (match)\n return match;\n }\n });\n};\nexport const useParams = () => useRouter().params;\nexport const useSearchParams = () => {\n const location = useLocation();\n const navigate = useNavigate();\n const setSearchParams = (params, options) => {\n const searchString = untrack(() => location.pathname + mergeSearchString(location.search, params) + location.hash);\n navigate(searchString, {\n scroll: false,\n resolve: false,\n ...options\n });\n };\n return [location.query, setSearchParams];\n};\nexport const useBeforeLeave = (listener) => {\n const s = useRouter().beforeLeave.subscribe({\n listener,\n location: useLocation(),\n navigate: useNavigate()\n });\n onCleanup(s);\n};\nexport function createRoutes(routeDef, base = \"\") {\n const { component, load, children, info } = routeDef;\n const isLeaf = !children || (Array.isArray(children) && !children.length);\n const shared = {\n key: routeDef,\n component,\n load,\n info\n };\n return asArray(routeDef.path).reduce((acc, path) => {\n for (const originalPath of expandOptionals(path)) {\n const path = joinPaths(base, originalPath);\n let pattern = isLeaf ? path : path.split(\"/*\", 1)[0];\n pattern = pattern\n .split(\"/\")\n .map((s) => {\n return s.startsWith(\":\") || s.startsWith(\"*\") ? s : encodeURIComponent(s);\n })\n .join(\"/\");\n acc.push({\n ...shared,\n originalPath,\n pattern,\n matcher: createMatcher(pattern, !isLeaf, routeDef.matchFilters)\n });\n }\n return acc;\n }, []);\n}\nexport function createBranch(routes, index = 0) {\n return {\n routes,\n score: scoreRoute(routes[routes.length - 1]) * 10000 - index,\n matcher(location) {\n const matches = [];\n for (let i = routes.length - 1; i >= 0; i--) {\n const route = routes[i];\n const match = route.matcher(location);\n if (!match) {\n return null;\n }\n matches.unshift({\n ...match,\n route\n });\n }\n return matches;\n }\n };\n}\nfunction asArray(value) {\n return Array.isArray(value) ? value : [value];\n}\nexport function createBranches(routeDef, base = \"\", stack = [], branches = []) {\n const routeDefs = asArray(routeDef);\n for (let i = 0, len = routeDefs.length; i < len; i++) {\n const def = routeDefs[i];\n if (def && typeof def === \"object\") {\n if (!def.hasOwnProperty(\"path\"))\n def.path = \"\";\n const routes = createRoutes(def, base);\n for (const route of routes) {\n stack.push(route);\n const isEmptyArray = Array.isArray(def.children) && def.children.length === 0;\n if (def.children && !isEmptyArray) {\n createBranches(def.children, route.pattern, stack, branches);\n }\n else {\n const branch = createBranch([...stack], branches.length);\n branches.push(branch);\n }\n stack.pop();\n }\n }\n }\n // Stack will be empty on final return\n return stack.length ? branches : branches.sort((a, b) => b.score - a.score);\n}\nexport function getRouteMatches(branches, location) {\n for (let i = 0, len = branches.length; i < len; i++) {\n const match = branches[i].matcher(location);\n if (match) {\n return match;\n }\n }\n return [];\n}\nexport function createLocation(path, state) {\n const origin = new URL(mockBase);\n const url = createMemo(prev => {\n const path_ = path();\n try {\n return new URL(path_, origin);\n }\n catch (err) {\n console.error(`Invalid path ${path_}`);\n return prev;\n }\n }, origin, {\n equals: (a, b) => a.href === b.href\n });\n const pathname = createMemo(() => url().pathname);\n const search = createMemo(() => url().search, true);\n const hash = createMemo(() => url().hash);\n const key = () => \"\";\n return {\n get pathname() {\n return pathname();\n },\n get search() {\n return search();\n },\n get hash() {\n return hash();\n },\n get state() {\n return state();\n },\n get key() {\n return key();\n },\n query: createMemoObject(on(search, () => extractSearchParams(url())))\n };\n}\nlet intent;\nexport function getIntent() {\n return intent;\n}\nexport function createRouterContext(integration, branches, getContext, options = {}) {\n const { signal: [source, setSource], utils = {} } = integration;\n const parsePath = utils.parsePath || (p => p);\n const renderPath = utils.renderPath || (p => p);\n const beforeLeave = utils.beforeLeave || createBeforeLeave();\n const basePath = resolvePath(\"\", options.base || \"\");\n if (basePath === undefined) {\n throw new Error(`${basePath} is not a valid base path`);\n }\n else if (basePath && !source().value) {\n setSource({ value: basePath, replace: true, scroll: false });\n }\n const [isRouting, setIsRouting] = createSignal(false);\n const start = async (callback) => {\n setIsRouting(true);\n try {\n await startTransition(callback);\n }\n finally {\n setIsRouting(false);\n }\n };\n const [reference, setReference] = createSignal(source().value);\n const [state, setState] = createSignal(source().state);\n const location = createLocation(reference, state);\n const referrers = [];\n const submissions = createSignal(isServer ? initFromFlash() : []);\n const matches = createMemo(() => getRouteMatches(branches(), location.pathname));\n const params = createMemoObject(() => {\n const m = matches();\n const params = {};\n for (let i = 0; i < m.length; i++) {\n Object.assign(params, m[i].params);\n }\n return params;\n });\n const baseRoute = {\n pattern: basePath,\n path: () => basePath,\n outlet: () => null,\n resolvePath(to) {\n return resolvePath(basePath, to);\n }\n };\n createRenderEffect(() => {\n const { value, state } = source();\n // Untrack this whole block so `start` doesn't cause Solid's Listener to be preserved\n untrack(() => {\n if (value !== reference()) {\n start(() => {\n intent = \"native\";\n setReference(value);\n setState(state);\n resetErrorBoundaries();\n submissions[1]([]);\n }).then(() => {\n intent = undefined;\n });\n }\n });\n });\n return {\n base: baseRoute,\n location,\n params,\n isRouting,\n renderPath,\n parsePath,\n navigatorFactory,\n matches,\n beforeLeave,\n preloadRoute,\n singleFlight: options.singleFlight === undefined ? true : options.singleFlight,\n submissions\n };\n function navigateFromRoute(route, to, options) {\n // Untrack in case someone navigates in an effect - don't want to track `reference` or route paths\n untrack(() => {\n if (typeof to === \"number\") {\n if (!to) {\n // A delta of 0 means stay at the current location, so it is ignored\n }\n else if (utils.go) {\n utils.go(to);\n }\n else {\n console.warn(\"Router integration does not support relative routing\");\n }\n return;\n }\n const { replace, resolve, scroll, state: nextState } = {\n replace: false,\n resolve: true,\n scroll: true,\n ...options\n };\n const resolvedTo = resolve ? route.resolvePath(to) : resolvePath(\"\", to);\n if (resolvedTo === undefined) {\n throw new Error(`Path '${to}' is not a routable path`);\n }\n else if (referrers.length >= MAX_REDIRECTS) {\n throw new Error(\"Too many redirects\");\n }\n const current = reference();\n if (resolvedTo !== current || nextState !== state()) {\n if (isServer) {\n const e = getRequestEvent();\n e && (e.response = { status: 302, headers: new Headers({ Location: resolvedTo }) });\n setSource({ value: resolvedTo, replace, scroll, state: nextState });\n }\n else if (beforeLeave.confirm(resolvedTo, options)) {\n const len = referrers.push({ value: current, replace, scroll, state: state() });\n start(() => {\n intent = \"navigate\";\n setReference(resolvedTo);\n setState(nextState);\n resetErrorBoundaries();\n submissions[1]([]);\n }).then(() => {\n if (referrers.length === len) {\n intent = undefined;\n navigateEnd({\n value: resolvedTo,\n state: nextState\n });\n }\n });\n }\n }\n });\n }\n function navigatorFactory(route) {\n // Workaround for vite issue (https://github.com/vitejs/vite/issues/3803)\n route = route || useContext(RouteContextObj) || baseRoute;\n return (to, options) => navigateFromRoute(route, to, options);\n }\n function navigateEnd(next) {\n const first = referrers[0];\n if (first) {\n if (next.value !== first.value || next.state !== first.state) {\n setSource({\n ...next,\n replace: first.replace,\n scroll: first.scroll\n });\n }\n referrers.length = 0;\n }\n }\n function preloadRoute(url, preloadData) {\n const matches = getRouteMatches(branches(), url.pathname);\n const prevIntent = intent;\n intent = \"preload\";\n for (let match in matches) {\n const { route, params } = matches[match];\n route.component &&\n route.component.preload &&\n route.component.preload();\n const { load } = route;\n preloadData &&\n load &&\n runWithOwner(getContext(), () => load({\n params,\n location: {\n pathname: url.pathname,\n search: url.search,\n hash: url.hash,\n query: extractSearchParams(url),\n state: null,\n key: \"\"\n },\n intent: \"preload\"\n }));\n }\n intent = prevIntent;\n }\n function initFromFlash() {\n const e = getRequestEvent();\n return (e && e.router && e.router.submission\n ? [e.router.submission]\n : []);\n }\n}\nexport function createRouteContext(router, parent, outlet, match) {\n const { base, location, params } = router;\n const { pattern, component, load } = match().route;\n const path = createMemo(() => match().path);\n component &&\n component.preload &&\n component.preload();\n const data = load ? load({ params, location, intent: intent || \"initial\" }) : undefined;\n const route = {\n parent,\n pattern,\n path,\n outlet: () => component\n ? createComponent(component, {\n params,\n location,\n data,\n get children() {\n return outlet();\n }\n })\n : outlet(),\n resolvePath(to) {\n return resolvePath(base.path(), to, path());\n }\n };\n return route;\n}\n"],"names":["sharedConfig","context","undefined","registry","setHydrateContext","nextHydrateContext","id","count","equalFn","a","b","$PROXY","Symbol","$TRACK","signalOptions","equals","ERROR","runEffects","runQueue","STALE","PENDING","UNOWNED","owned","cleanups","owner","NO_INIT","Owner","Transition","ExternalSourceConfig","Listener","Updates","Effects","ExecCount","createRoot","fn","detachedOwner","listener","unowned","length","current","root","updateFn","untrack","cleanNode","runUpdates","createSignal","value","options","Object","assign","s","observers","observerSlots","comparator","setter","running","sources","has","tValue","writeSignal","readSignal","bind","createComputed","c","createComputation","updateComputation","createRenderEffect","createEffect","runUserEffects","SuspenseContext","useContext","suspense","render","user","push","createMemo","isPromise","v","createResource","pSource","pFetcher","pOptions","source","fetcher","arguments","pr","initP","loadedUnderTransition","scheduled","resolved","dynamic","contexts","Set","setValue","storage","initialValue","error","setError","track","trigger","state","setState","ssrLoadFrom","load","loadEnd","p","key","onHydrated","queueMicrotask","promises","delete","completeLoad","err","keys","decrement","clear","read","add","increment","refetching","lookup","status","then","e","castError","defineProperties","get","loading","latest","refetch","mutate","batch","on","deps","isArray","Array","prevInput","defer","prevValue","input","i","result","onMount","onCleanup","catchError","handler","handleError","getListener","getOwner","runWithOwner","o","prev","prevListener","startTransition","done","l","Promise","resolve","t","effects","disposed","queue","res","transPending","setTransPending","resumeEffects","apply","createContext","defaultValue","Provider","createProvider","children","memo","resolveChildren","toArray","getSuspenseContext","runningTransition","tState","updates","lookUpstream","sSlot","sourceSlots","node","isComp","TransitionRunning","pure","markDownstream","Error","time","runComputation","nextValue","tOwned","forEach","updatedAt","init","runTop","inFallback","ancestors","top","wait","completeUpdates","size","d","len","userLength","slice","ignore","pop","index","obs","n","reset","cause","runErrors","fns","f","results","props","FALLBACK","dispose","mapArray","list","mapFn","items","mapped","disposers","indexes","newItems","j","newLen","newIndices","newIndicesNext","temp","tempdisposers","tempIndexes","start","end","newEnd","item","fallback","disposer","mapper","Math","min","Map","set","hydrationEnabled","enableHydration","createComponent","Comp","r","trueFn","propTraps","_","property","receiver","deleteProperty","getOwnPropertyDescriptor","configurable","enumerable","ownKeys","resolveSource","resolveSources","mergeProps","proxy","Proxy","sourcesMap","defined","create","sourceKeys","getOwnPropertyNames","desc","target","definedKeys","defineProperty","splitProps","blocked","flat","map","k","includes","filter","otherObject","objects","propName","isDefaultDesc","writable","objectIndex","lazy","comp","wrap","ctx","mod","default","preload","counter","createUniqueId","narrowedError","name","For","each","Show","keyed","condition","when","child","Errors","resetErrorBoundaries","ErrorBoundary","errored","setErrored","SuspenseListContext","Suspense","show","flicker","setFallback","store","ref","gather","listContext","register","rendered","showContent","showFallback","booleans","Properties","ChildProperties","Aliases","className","htmlFor","PropAliases","class","formnovalidate","$","BUTTON","INPUT","ismap","IMG","nomodule","SCRIPT","playsinline","VIDEO","readonly","TEXTAREA","getPropAlias","prop","tagName","DelegatedEvents","SVGNamespace","xlink","xml","reconcileArrays","parentNode","bLength","aEnd","bEnd","aStart","bStart","after","nextSibling","insertBefore","remove","sequence","replaceChild","$$EVENTS","code","element","document","insert","firstChild","textContent","template","html","isCE","isSVG","createElement","innerHTML","content","importNode","cloneNode","delegateEvents","eventNames","window","addEventListener","eventHandler","setProperty","setAttribute","removeAttribute","setAttributeNS","namespace","removeAttributeNS","delegate","handlerFn","call","classList","classKeys","prevKeys","toggleClassKey","classValue","style","nodeStyle","cssText","removeProperty","spread","skipChildren","prevProps","insertExpression","use","arg","parent","accessor","marker","initial","skipRef","assignProp","hydrate$1","completed","globalThis","_$HY","events","gatherHydratable","renderId","childNodes","getNextElement","getHydrationKey","getNextMarker","nodeType","nodeValue","runHydrationEvents","queued","el","shift","toPropertyName","toLowerCase","replace","w","toUpperCase","classNames","trim","split","nameLen","toggle","isProp","isChildProp","propAlias","forceProp","removeEventListener","h","nodeName","ns","indexOf","type","composedPath","disabled","data","cancelBubble","_$host","host","unwrapArray","cleaned","multi","toString","createTextNode","cleanChildren","array","currentArray","normalizeIncomingArray","nodes","appendNodes","appendChild","normalized","unwrap","String","replacement","inserted","isParent","templates","querySelectorAll","getAttribute","startsWith","hydrate","voidFn","isServer","args","createBeforeLeave","listeners","subscribe","confirm","to","defaultPrevented","preventDefault","from","location","retry","force","navigate","depth","saveCurrentDepth","history","_depth","replaceState","keepDepth","notifyIfNotBlocked","notify","block","prevDepth","delta","go","hasSchemeRegex","trimPathRegex","mockBase","normalizePath","path","omitSlash","test","resolvePath","base","basePath","fromPath","invariant","message","joinPaths","extractSearchParams","url","params","searchParams","createMatcher","partial","matchFilters","pattern","splat","segments","Boolean","locSegments","lenDiff","match","matchFilter","segment","locSegment","matchSegment","remainder","join","isEqual","localeCompare","sensitivity","some","RegExp","scoreRoute","route","reduce","score","createMemoObject","Reflect","mergeSearchString","search","merged","URLSearchParams","entries","expandOptionals","exec","prefix","suffix","prefixes","expansion","MAX_REDIRECTS","RouterContextObj","RouteContextObj","useRouter","useRoute","useResolvedPath","useHref","router","to_","renderPath","useNavigate","navigatorFactory","useLocation","useSearchParams","setSearchParams","searchString","pathname","hash","scroll","query","createRoutes","routeDef","component","info","isLeaf","shared","asArray","acc","originalPath","encodeURIComponent","matcher","createBranch","routes","matches","unshift","createBranches","stack","branches","routeDefs","def","hasOwnProperty","isEmptyArray","branch","sort","getRouteMatches","createLocation","origin","URL","path_","console","href","intent","getIntent","createRouterContext","integration","getContext","signal","setSource","utils","parsePath","beforeLeave","isRouting","setIsRouting","callback","reference","setReference","referrers","submissions","m","baseRoute","outlet","preloadRoute","singleFlight","navigateFromRoute","warn","nextState","resolvedTo","navigateEnd","next","first","preloadData","prevIntent","createRouteContext"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}