{"version":3,"file":"singletons.158e9a03.js","sources":["../../../../../../node_modules/svelte/src/runtime/store/index.js","../../../../../../node_modules/@sveltejs/kit/src/runtime/client/constants.js","../../../../../../node_modules/@sveltejs/kit/src/runtime/client/utils.js","../../../../../../node_modules/@sveltejs/kit/src/runtime/client/singletons.js"],"sourcesContent":["import {\n\trun_all,\n\tsubscribe,\n\tnoop,\n\tsafe_not_equal,\n\tis_function,\n\tget_store_value\n} from '../internal/index.js';\n\nconst subscriber_queue = [];\n\n/**\n * Creates a `Readable` store that allows reading by subscription.\n *\n * https://svelte.dev/docs/svelte-store#readable\n * @template T\n * @param {T} [value] initial value\n * @param {import('./public.js').StartStopNotifier} [start]\n * @returns {import('./public.js').Readable}\n */\nexport function readable(value, start) {\n\treturn {\n\t\tsubscribe: writable(value, start).subscribe\n\t};\n}\n\n/**\n * Create a `Writable` store that allows both updating and reading by subscription.\n *\n * https://svelte.dev/docs/svelte-store#writable\n * @template T\n * @param {T} [value] initial value\n * @param {import('./public.js').StartStopNotifier} [start]\n * @returns {import('./public.js').Writable}\n */\nexport function writable(value, start = noop) {\n\t/** @type {import('./public.js').Unsubscriber} */\n\tlet stop;\n\t/** @type {Set>} */\n\tconst subscribers = new Set();\n\t/** @param {T} new_value\n\t * @returns {void}\n\t */\n\tfunction set(new_value) {\n\t\tif (safe_not_equal(value, new_value)) {\n\t\t\tvalue = new_value;\n\t\t\tif (stop) {\n\t\t\t\t// store is ready\n\t\t\t\tconst run_queue = !subscriber_queue.length;\n\t\t\t\tfor (const subscriber of subscribers) {\n\t\t\t\t\tsubscriber[1]();\n\t\t\t\t\tsubscriber_queue.push(subscriber, value);\n\t\t\t\t}\n\t\t\t\tif (run_queue) {\n\t\t\t\t\tfor (let i = 0; i < subscriber_queue.length; i += 2) {\n\t\t\t\t\t\tsubscriber_queue[i][0](subscriber_queue[i + 1]);\n\t\t\t\t\t}\n\t\t\t\t\tsubscriber_queue.length = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @param {import('./public.js').Updater} fn\n\t * @returns {void}\n\t */\n\tfunction update(fn) {\n\t\tset(fn(value));\n\t}\n\n\t/**\n\t * @param {import('./public.js').Subscriber} run\n\t * @param {import('./private.js').Invalidator} [invalidate]\n\t * @returns {import('./public.js').Unsubscriber}\n\t */\n\tfunction subscribe(run, invalidate = noop) {\n\t\t/** @type {import('./private.js').SubscribeInvalidateTuple} */\n\t\tconst subscriber = [run, invalidate];\n\t\tsubscribers.add(subscriber);\n\t\tif (subscribers.size === 1) {\n\t\t\tstop = start(set, update) || noop;\n\t\t}\n\t\trun(value);\n\t\treturn () => {\n\t\t\tsubscribers.delete(subscriber);\n\t\t\tif (subscribers.size === 0 && stop) {\n\t\t\t\tstop();\n\t\t\t\tstop = null;\n\t\t\t}\n\t\t};\n\t}\n\treturn { set, update, subscribe };\n}\n\n/**\n * Derived value store by synchronizing one or more readable stores and\n * applying an aggregation function over its input values.\n *\n * https://svelte.dev/docs/svelte-store#derived\n * @template {import('./private.js').Stores} S\n * @template T\n * @overload\n * @param {S} stores - input stores\n * @param {(values: import('./private.js').StoresValues, set: (value: T) => void, update: (fn: import('./public.js').Updater) => void) => import('./public.js').Unsubscriber | void} fn - function callback that aggregates the values\n * @param {T} [initial_value] - initial value\n * @returns {import('./public.js').Readable}\n */\n\n/**\n * Derived value store by synchronizing one or more readable stores and\n * applying an aggregation function over its input values.\n *\n * https://svelte.dev/docs/svelte-store#derived\n * @template {import('./private.js').Stores} S\n * @template T\n * @overload\n * @param {S} stores - input stores\n * @param {(values: import('./private.js').StoresValues) => T} fn - function callback that aggregates the values\n * @param {T} [initial_value] - initial value\n * @returns {import('./public.js').Readable}\n */\n\n/**\n * @template {import('./private.js').Stores} S\n * @template T\n * @param {S} stores\n * @param {Function} fn\n * @param {T} [initial_value]\n * @returns {import('./public.js').Readable}\n */\nexport function derived(stores, fn, initial_value) {\n\tconst single = !Array.isArray(stores);\n\t/** @type {Array>} */\n\tconst stores_array = single ? [stores] : stores;\n\tif (!stores_array.every(Boolean)) {\n\t\tthrow new Error('derived() expects stores as input, got a falsy value');\n\t}\n\tconst auto = fn.length < 2;\n\treturn readable(initial_value, (set, update) => {\n\t\tlet started = false;\n\t\tconst values = [];\n\t\tlet pending = 0;\n\t\tlet cleanup = noop;\n\t\tconst sync = () => {\n\t\t\tif (pending) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcleanup();\n\t\t\tconst result = fn(single ? values[0] : values, set, update);\n\t\t\tif (auto) {\n\t\t\t\tset(result);\n\t\t\t} else {\n\t\t\t\tcleanup = is_function(result) ? result : noop;\n\t\t\t}\n\t\t};\n\t\tconst unsubscribers = stores_array.map((store, i) =>\n\t\t\tsubscribe(\n\t\t\t\tstore,\n\t\t\t\t(value) => {\n\t\t\t\t\tvalues[i] = value;\n\t\t\t\t\tpending &= ~(1 << i);\n\t\t\t\t\tif (started) {\n\t\t\t\t\t\tsync();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t() => {\n\t\t\t\t\tpending |= 1 << i;\n\t\t\t\t}\n\t\t\t)\n\t\t);\n\t\tstarted = true;\n\t\tsync();\n\t\treturn function stop() {\n\t\t\trun_all(unsubscribers);\n\t\t\tcleanup();\n\t\t\t// We need to set this to false because callbacks can still happen despite having unsubscribed:\n\t\t\t// Callbacks might already be placed in the queue which doesn't know it should no longer\n\t\t\t// invoke this derived store.\n\t\t\tstarted = false;\n\t\t};\n\t});\n}\n\n/**\n * Takes a store and returns a new one derived from the old one that is readable.\n *\n * https://svelte.dev/docs/svelte-store#readonly\n * @template T\n * @param {import('./public.js').Readable} store - store to make readonly\n * @returns {import('./public.js').Readable}\n */\nexport function readonly(store) {\n\treturn {\n\t\tsubscribe: store.subscribe.bind(store)\n\t};\n}\n\nexport { get_store_value as get };\n","export const SNAPSHOT_KEY = 'sveltekit:snapshot';\nexport const SCROLL_KEY = 'sveltekit:scroll';\nexport const INDEX_KEY = 'sveltekit:index';\n\nexport const PRELOAD_PRIORITIES = /** @type {const} */ ({\n\ttap: 1,\n\thover: 2,\n\tviewport: 3,\n\teager: 4,\n\toff: -1\n});\n","import { BROWSER, DEV } from 'esm-env';\nimport { writable } from 'svelte/store';\nimport { assets } from '__sveltekit/paths';\nimport { version } from '__sveltekit/environment';\nimport { PRELOAD_PRIORITIES } from './constants.js';\n\n/* global __SVELTEKIT_APP_VERSION_FILE__, __SVELTEKIT_APP_VERSION_POLL_INTERVAL__ */\n\n/** @param {HTMLDocument} doc */\nexport function get_base_uri(doc) {\n\tlet baseURI = doc.baseURI;\n\n\tif (!baseURI) {\n\t\tconst baseTags = doc.getElementsByTagName('base');\n\t\tbaseURI = baseTags.length ? baseTags[0].href : doc.URL;\n\t}\n\n\treturn baseURI;\n}\n\nexport function scroll_state() {\n\treturn {\n\t\tx: pageXOffset,\n\t\ty: pageYOffset\n\t};\n}\n\nconst warned = new WeakSet();\n\n/** @typedef {keyof typeof valid_link_options} LinkOptionName */\n\nconst valid_link_options = /** @type {const} */ ({\n\t'preload-code': ['', 'off', 'tap', 'hover', 'viewport', 'eager'],\n\t'preload-data': ['', 'off', 'tap', 'hover'],\n\tkeepfocus: ['', 'true', 'off', 'false'],\n\tnoscroll: ['', 'true', 'off', 'false'],\n\treload: ['', 'true', 'off', 'false'],\n\treplacestate: ['', 'true', 'off', 'false']\n});\n\n/**\n * @template {LinkOptionName} T\n * @typedef {typeof valid_link_options[T][number]} ValidLinkOptions\n */\n\n/**\n * @template {LinkOptionName} T\n * @param {Element} element\n * @param {T} name\n */\nfunction link_option(element, name) {\n\tconst value = /** @type {ValidLinkOptions | null} */ (\n\t\telement.getAttribute(`data-sveltekit-${name}`)\n\t);\n\n\tif (DEV) {\n\t\tvalidate_link_option(element, name, value);\n\t}\n\n\treturn value;\n}\n\n/**\n * @template {LinkOptionName} T\n * @template {ValidLinkOptions | null} U\n * @param {Element} element\n * @param {T} name\n * @param {U} value\n */\nfunction validate_link_option(element, name, value) {\n\tif (value === null) return;\n\n\t// @ts-expect-error - includes is dumb\n\tif (!warned.has(element) && !valid_link_options[name].includes(value)) {\n\t\tconsole.error(\n\t\t\t`Unexpected value for ${name} — should be one of ${valid_link_options[name]\n\t\t\t\t.map((option) => JSON.stringify(option))\n\t\t\t\t.join(', ')}`,\n\t\t\telement\n\t\t);\n\n\t\twarned.add(element);\n\t}\n}\n\nconst levels = {\n\t...PRELOAD_PRIORITIES,\n\t'': PRELOAD_PRIORITIES.hover\n};\n\n/**\n * @param {Element} element\n * @returns {Element | null}\n */\nfunction parent_element(element) {\n\tlet parent = element.assignedSlot ?? element.parentNode;\n\n\t// @ts-expect-error handle shadow roots\n\tif (parent?.nodeType === 11) parent = parent.host;\n\n\treturn /** @type {Element} */ (parent);\n}\n\n/**\n * @param {Element} element\n * @param {Element} target\n */\nexport function find_anchor(element, target) {\n\twhile (element && element !== target) {\n\t\tif (element.nodeName.toUpperCase() === 'A' && element.hasAttribute('href')) {\n\t\t\treturn /** @type {HTMLAnchorElement | SVGAElement} */ (element);\n\t\t}\n\n\t\telement = /** @type {Element} */ (parent_element(element));\n\t}\n}\n\n/**\n * @param {HTMLAnchorElement | SVGAElement} a\n * @param {string} base\n */\nexport function get_link_info(a, base) {\n\t/** @type {URL | undefined} */\n\tlet url;\n\n\ttry {\n\t\turl = new URL(a instanceof SVGAElement ? a.href.baseVal : a.href, document.baseURI);\n\t} catch {}\n\n\tconst target = a instanceof SVGAElement ? a.target.baseVal : a.target;\n\n\tconst external =\n\t\t!url ||\n\t\t!!target ||\n\t\tis_external_url(url, base) ||\n\t\t(a.getAttribute('rel') || '').split(/\\s+/).includes('external');\n\n\tconst download = url?.origin === location.origin && a.hasAttribute('download');\n\n\treturn { url, external, target, download };\n}\n\n/**\n * @param {HTMLFormElement | HTMLAnchorElement | SVGAElement} element\n */\nexport function get_router_options(element) {\n\t/** @type {ValidLinkOptions<'keepfocus'> | null} */\n\tlet keep_focus = null;\n\n\t/** @type {ValidLinkOptions<'noscroll'> | null} */\n\tlet noscroll = null;\n\n\t/** @type {ValidLinkOptions<'preload-code'> | null} */\n\tlet preload_code = null;\n\n\t/** @type {ValidLinkOptions<'preload-data'> | null} */\n\tlet preload_data = null;\n\n\t/** @type {ValidLinkOptions<'reload'> | null} */\n\tlet reload = null;\n\n\t/** @type {ValidLinkOptions<'replacestate'> | null} */\n\tlet replace_state = null;\n\n\t/** @type {Element} */\n\tlet el = element;\n\n\twhile (el && el !== document.documentElement) {\n\t\tif (preload_code === null) preload_code = link_option(el, 'preload-code');\n\t\tif (preload_data === null) preload_data = link_option(el, 'preload-data');\n\t\tif (keep_focus === null) keep_focus = link_option(el, 'keepfocus');\n\t\tif (noscroll === null) noscroll = link_option(el, 'noscroll');\n\t\tif (reload === null) reload = link_option(el, 'reload');\n\t\tif (replace_state === null) replace_state = link_option(el, 'replacestate');\n\n\t\tel = /** @type {Element} */ (parent_element(el));\n\t}\n\n\t/** @param {string | null} value */\n\tfunction get_option_state(value) {\n\t\tswitch (value) {\n\t\t\tcase '':\n\t\t\tcase 'true':\n\t\t\t\treturn true;\n\t\t\tcase 'off':\n\t\t\tcase 'false':\n\t\t\t\treturn false;\n\t\t\tdefault:\n\t\t\t\treturn null;\n\t\t}\n\t}\n\n\treturn {\n\t\tpreload_code: levels[preload_code ?? 'off'],\n\t\tpreload_data: levels[preload_data ?? 'off'],\n\t\tkeep_focus: get_option_state(keep_focus),\n\t\tnoscroll: get_option_state(noscroll),\n\t\treload: get_option_state(reload),\n\t\treplace_state: get_option_state(replace_state)\n\t};\n}\n\n/** @param {any} value */\nexport function notifiable_store(value) {\n\tconst store = writable(value);\n\tlet ready = true;\n\n\tfunction notify() {\n\t\tready = true;\n\t\tstore.update((val) => val);\n\t}\n\n\t/** @param {any} new_value */\n\tfunction set(new_value) {\n\t\tready = false;\n\t\tstore.set(new_value);\n\t}\n\n\t/** @param {(value: any) => void} run */\n\tfunction subscribe(run) {\n\t\t/** @type {any} */\n\t\tlet old_value;\n\t\treturn store.subscribe((new_value) => {\n\t\t\tif (old_value === undefined || (ready && new_value !== old_value)) {\n\t\t\t\trun((old_value = new_value));\n\t\t\t}\n\t\t});\n\t}\n\n\treturn { notify, set, subscribe };\n}\n\nexport function create_updated_store() {\n\tconst { set, subscribe } = writable(false);\n\n\tif (DEV || !BROWSER) {\n\t\treturn {\n\t\t\tsubscribe,\n\t\t\tcheck: async () => false\n\t\t};\n\t}\n\n\tconst interval = __SVELTEKIT_APP_VERSION_POLL_INTERVAL__;\n\n\t/** @type {NodeJS.Timeout} */\n\tlet timeout;\n\n\t/** @type {() => Promise} */\n\tasync function check() {\n\t\tclearTimeout(timeout);\n\n\t\tif (interval) timeout = setTimeout(check, interval);\n\n\t\ttry {\n\t\t\tconst res = await fetch(`${assets}/${__SVELTEKIT_APP_VERSION_FILE__}`, {\n\t\t\t\theaders: {\n\t\t\t\t\tpragma: 'no-cache',\n\t\t\t\t\t'cache-control': 'no-cache'\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (!res.ok) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst data = await res.json();\n\t\t\tconst updated = data.version !== version;\n\n\t\t\tif (updated) {\n\t\t\t\tset(true);\n\t\t\t\tclearTimeout(timeout);\n\t\t\t}\n\n\t\t\treturn updated;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tif (interval) timeout = setTimeout(check, interval);\n\n\treturn {\n\t\tsubscribe,\n\t\tcheck\n\t};\n}\n\n/**\n * @param {URL} url\n * @param {string} base\n */\nexport function is_external_url(url, base) {\n\treturn url.origin !== location.origin || !url.pathname.startsWith(base);\n}\n","import { writable } from 'svelte/store';\nimport { create_updated_store, notifiable_store } from './utils.js';\nimport { BROWSER } from 'esm-env';\n\n/** @type {import('./types').Client} */\nexport let client;\n\n/**\n * @param {{\n * client: import('./types').Client;\n * }} opts\n */\nexport function init(opts) {\n\tclient = opts.client;\n}\n\n/**\n * @template {keyof typeof client} T\n * @param {T} key\n * @returns {typeof client[T]}\n */\nexport function client_method(key) {\n\tif (!BROWSER) {\n\t\tif (key === 'before_navigate' || key === 'after_navigate' || key === 'on_navigate') {\n\t\t\t// @ts-expect-error doesn't recognize that both keys here return void so expects a async function\n\t\t\treturn () => {};\n\t\t} else {\n\t\t\t/** @type {Record} */\n\t\t\tconst name_lookup = {\n\t\t\t\tdisable_scroll_handling: 'disableScrollHandling',\n\t\t\t\tpreload_data: 'preloadData',\n\t\t\t\tpreload_code: 'preloadCode',\n\t\t\t\tinvalidate_all: 'invalidateAll'\n\t\t\t};\n\n\t\t\treturn () => {\n\t\t\t\tthrow new Error(`Cannot call ${name_lookup[key] ?? key}(...) on the server`);\n\t\t\t};\n\t\t}\n\t} else {\n\t\t// @ts-expect-error\n\t\treturn (...args) => client[key](...args);\n\t}\n}\n\nexport const stores = {\n\turl: /* @__PURE__ */ notifiable_store({}),\n\tpage: /* @__PURE__ */ notifiable_store({}),\n\tnavigating: /* @__PURE__ */ writable(\n\t\t/** @type {import('@sveltejs/kit').Navigation | null} */ (null)\n\t),\n\tupdated: /* @__PURE__ */ create_updated_store()\n};\n"],"names":["subscriber_queue","readable","value","start","writable","noop","stop","subscribers","set","new_value","safe_not_equal","run_queue","subscriber","i","update","fn","subscribe","run","invalidate","SNAPSHOT_KEY","SCROLL_KEY","INDEX_KEY","PRELOAD_PRIORITIES","get_base_uri","doc","baseURI","baseTags","scroll_state","link_option","element","name","levels","__spreadProps","__spreadValues","parent_element","parent","_a","find_anchor","target","get_link_info","a","base","url","e","external","is_external_url","download","get_router_options","keep_focus","noscroll","preload_code","preload_data","reload","replace_state","el","get_option_state","notifiable_store","store","ready","notify","val","old_value","create_updated_store","timeout","check","__async","res","assets","updated","version","init","opts","stores"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}