pages-landing-page/_app/immutable/chunks/utils.bynYNLZa.js.map
2024-11-15 15:04:27 +00:00

1 line
No EOL
123 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"version":3,"file":"utils.bynYNLZa.js","sources":["../../../../../../node_modules/.pnpm/svelte@5.2.0/node_modules/svelte/src/internal/shared/utils.js","../../../../../../node_modules/.pnpm/svelte@5.2.0/node_modules/svelte/src/internal/client/constants.js","../../../../../../node_modules/.pnpm/svelte@5.2.0/node_modules/svelte/src/internal/client/reactivity/equality.js","../../../../../../node_modules/.pnpm/svelte@5.2.0/node_modules/svelte/src/internal/client/errors.js","../../../../../../node_modules/.pnpm/svelte@5.2.0/node_modules/svelte/src/internal/flags/index.js","../../../../../../node_modules/.pnpm/svelte@5.2.0/node_modules/svelte/src/internal/client/reactivity/sources.js","../../../../../../node_modules/.pnpm/esm-env@1.1.4/node_modules/esm-env/browser.js","../../../../../../node_modules/.pnpm/svelte@5.2.0/node_modules/svelte/src/constants.js","../../../../../../node_modules/.pnpm/svelte@5.2.0/node_modules/svelte/src/internal/client/warnings.js","../../../../../../node_modules/.pnpm/svelte@5.2.0/node_modules/svelte/src/internal/client/dom/hydration.js","../../../../../../node_modules/.pnpm/svelte@5.2.0/node_modules/svelte/src/internal/client/dom/operations.js","../../../../../../node_modules/.pnpm/svelte@5.2.0/node_modules/svelte/src/internal/client/reactivity/deriveds.js","../../../../../../node_modules/.pnpm/svelte@5.2.0/node_modules/svelte/src/internal/client/reactivity/effects.js","../../../../../../node_modules/.pnpm/svelte@5.2.0/node_modules/svelte/src/internal/client/dom/task.js","../../../../../../node_modules/.pnpm/svelte@5.2.0/node_modules/svelte/src/internal/shared/errors.js","../../../../../../node_modules/.pnpm/svelte@5.2.0/node_modules/svelte/src/internal/client/runtime.js","../../../../../../node_modules/.pnpm/svelte@5.2.0/node_modules/svelte/src/store/utils.js"],"sourcesContent":["// Store the references to globals in case someone tries to monkey patch these, causing the below\n// to de-opt (this occurs often when using popular extensions).\nexport var is_array = Array.isArray;\nexport var array_from = Array.from;\nexport var object_keys = Object.keys;\nexport var define_property = Object.defineProperty;\nexport var get_descriptor = Object.getOwnPropertyDescriptor;\nexport var get_descriptors = Object.getOwnPropertyDescriptors;\nexport var object_prototype = Object.prototype;\nexport var array_prototype = Array.prototype;\nexport var get_prototype_of = Object.getPrototypeOf;\n\n/**\n * @param {any} thing\n * @returns {thing is Function}\n */\nexport function is_function(thing) {\n\treturn typeof thing === 'function';\n}\n\nexport const noop = () => {};\n\n// Adapted from https://github.com/then/is-promise/blob/master/index.js\n// Distributed under MIT License https://github.com/then/is-promise/blob/master/LICENSE\n\n/**\n * @template [T=any]\n * @param {any} value\n * @returns {value is PromiseLike<T>}\n */\nexport function is_promise(value) {\n\treturn typeof value?.then === 'function';\n}\n\n/** @param {Function} fn */\nexport function run(fn) {\n\treturn fn();\n}\n\n/** @param {Array<() => void>} arr */\nexport function run_all(arr) {\n\tfor (var i = 0; i < arr.length; i++) {\n\t\tarr[i]();\n\t}\n}\n\n/**\n * @template V\n * @param {V} value\n * @param {V | (() => V)} fallback\n * @param {boolean} [lazy]\n * @returns {V}\n */\nexport function fallback(value, fallback, lazy = false) {\n\treturn value === undefined\n\t\t? lazy\n\t\t\t? /** @type {() => V} */ (fallback)()\n\t\t\t: /** @type {V} */ (fallback)\n\t\t: value;\n}\n","export const DERIVED = 1 << 1;\nexport const EFFECT = 1 << 2;\nexport const RENDER_EFFECT = 1 << 3;\nexport const BLOCK_EFFECT = 1 << 4;\nexport const BRANCH_EFFECT = 1 << 5;\nexport const ROOT_EFFECT = 1 << 6;\nexport const UNOWNED = 1 << 7;\nexport const DISCONNECTED = 1 << 8;\nexport const CLEAN = 1 << 9;\nexport const DIRTY = 1 << 10;\nexport const MAYBE_DIRTY = 1 << 11;\nexport const INERT = 1 << 12;\nexport const DESTROYED = 1 << 13;\nexport const EFFECT_RAN = 1 << 14;\n/** 'Transparent' effects do not create a transition boundary */\nexport const EFFECT_TRANSPARENT = 1 << 15;\n/** Svelte 4 legacy mode props need to be handled with deriveds and be recognized elsewhere, hence the dedicated flag */\nexport const LEGACY_DERIVED_PROP = 1 << 16;\nexport const INSPECT_EFFECT = 1 << 17;\nexport const HEAD_EFFECT = 1 << 18;\nexport const EFFECT_HAS_DERIVED = 1 << 19;\n\nexport const STATE_SYMBOL = Symbol('$state');\nexport const STATE_SYMBOL_METADATA = Symbol('$state metadata');\nexport const LOADING_ATTR_SYMBOL = Symbol('');\n","/** @import { Equals } from '#client' */\n/** @type {Equals} */\nexport function equals(value) {\n\treturn value === this.v;\n}\n\n/**\n * @param {unknown} a\n * @param {unknown} b\n * @returns {boolean}\n */\nexport function safe_not_equal(a, b) {\n\treturn a != a\n\t\t? b == b\n\t\t: a !== b || (a !== null && typeof a === 'object') || typeof a === 'function';\n}\n\n/**\n * @param {unknown} a\n * @param {unknown} b\n * @returns {boolean}\n */\nexport function not_equal(a, b) {\n\treturn a !== b;\n}\n\n/** @type {Equals} */\nexport function safe_equals(value) {\n\treturn !safe_not_equal(value, this.v);\n}\n","/* This file is generated by scripts/process-messages/index.js. Do not edit! */\n\nimport { DEV } from 'esm-env';\n\n/**\n * Using `bind:value` together with a checkbox input is not allowed. Use `bind:checked` instead\n * @returns {never}\n */\nexport function bind_invalid_checkbox_value() {\n\tif (DEV) {\n\t\tconst error = new Error(`bind_invalid_checkbox_value\\nUsing \\`bind:value\\` together with a checkbox input is not allowed. Use \\`bind:checked\\` instead`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tthrow new Error(\"bind_invalid_checkbox_value\");\n\t}\n}\n\n/**\n * Component %component% has an export named `%key%` that a consumer component is trying to access using `bind:%key%`, which is disallowed. Instead, use `bind:this` (e.g. `<%name% bind:this={component} />`) and then access the property on the bound component instance (e.g. `component.%key%`)\n * @param {string} component\n * @param {string} key\n * @param {string} name\n * @returns {never}\n */\nexport function bind_invalid_export(component, key, name) {\n\tif (DEV) {\n\t\tconst error = new Error(`bind_invalid_export\\nComponent ${component} has an export named \\`${key}\\` that a consumer component is trying to access using \\`bind:${key}\\`, which is disallowed. Instead, use \\`bind:this\\` (e.g. \\`<${name} bind:this={component} />\\`) and then access the property on the bound component instance (e.g. \\`component.${key}\\`)`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tthrow new Error(\"bind_invalid_export\");\n\t}\n}\n\n/**\n * A component is attempting to bind to a non-bindable property `%key%` belonging to %component% (i.e. `<%name% bind:%key%={...}>`). To mark a property as bindable: `let { %key% = $bindable() } = $props()`\n * @param {string} key\n * @param {string} component\n * @param {string} name\n * @returns {never}\n */\nexport function bind_not_bindable(key, component, name) {\n\tif (DEV) {\n\t\tconst error = new Error(`bind_not_bindable\\nA component is attempting to bind to a non-bindable property \\`${key}\\` belonging to ${component} (i.e. \\`<${name} bind:${key}={...}>\\`). To mark a property as bindable: \\`let { ${key} = $bindable() } = $props()\\``);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tthrow new Error(\"bind_not_bindable\");\n\t}\n}\n\n/**\n * %parent% called `%method%` on an instance of %component%, which is no longer valid in Svelte 5. See https://svelte.dev/docs/svelte/v5-migration-guide#Components-are-no-longer-classes for more information\n * @param {string} parent\n * @param {string} method\n * @param {string} component\n * @returns {never}\n */\nexport function component_api_changed(parent, method, component) {\n\tif (DEV) {\n\t\tconst error = new Error(`component_api_changed\\n${parent} called \\`${method}\\` on an instance of ${component}, which is no longer valid in Svelte 5. See https://svelte.dev/docs/svelte/v5-migration-guide#Components-are-no-longer-classes for more information`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tthrow new Error(\"component_api_changed\");\n\t}\n}\n\n/**\n * Attempted to instantiate %component% with `new %name%`, which is no longer valid in Svelte 5. If this component is not under your control, set the `compatibility.componentApi` compiler option to `4` to keep it working. See https://svelte.dev/docs/svelte/v5-migration-guide#Components-are-no-longer-classes for more information\n * @param {string} component\n * @param {string} name\n * @returns {never}\n */\nexport function component_api_invalid_new(component, name) {\n\tif (DEV) {\n\t\tconst error = new Error(`component_api_invalid_new\\nAttempted to instantiate ${component} with \\`new ${name}\\`, which is no longer valid in Svelte 5. If this component is not under your control, set the \\`compatibility.componentApi\\` compiler option to \\`4\\` to keep it working. See https://svelte.dev/docs/svelte/v5-migration-guide#Components-are-no-longer-classes for more information`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tthrow new Error(\"component_api_invalid_new\");\n\t}\n}\n\n/**\n * A derived value cannot reference itself recursively\n * @returns {never}\n */\nexport function derived_references_self() {\n\tif (DEV) {\n\t\tconst error = new Error(`derived_references_self\\nA derived value cannot reference itself recursively`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tthrow new Error(\"derived_references_self\");\n\t}\n}\n\n/**\n * Keyed each block has duplicate key `%value%` at indexes %a% and %b%\n * @param {string} a\n * @param {string} b\n * @param {string | undefined | null} [value]\n * @returns {never}\n */\nexport function each_key_duplicate(a, b, value) {\n\tif (DEV) {\n\t\tconst error = new Error(`each_key_duplicate\\n${value ? `Keyed each block has duplicate key \\`${value}\\` at indexes ${a} and ${b}` : `Keyed each block has duplicate key at indexes ${a} and ${b}`}`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tthrow new Error(\"each_key_duplicate\");\n\t}\n}\n\n/**\n * `%rune%` cannot be used inside an effect cleanup function\n * @param {string} rune\n * @returns {never}\n */\nexport function effect_in_teardown(rune) {\n\tif (DEV) {\n\t\tconst error = new Error(`effect_in_teardown\\n\\`${rune}\\` cannot be used inside an effect cleanup function`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tthrow new Error(\"effect_in_teardown\");\n\t}\n}\n\n/**\n * Effect cannot be created inside a `$derived` value that was not itself created inside an effect\n * @returns {never}\n */\nexport function effect_in_unowned_derived() {\n\tif (DEV) {\n\t\tconst error = new Error(`effect_in_unowned_derived\\nEffect cannot be created inside a \\`$derived\\` value that was not itself created inside an effect`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tthrow new Error(\"effect_in_unowned_derived\");\n\t}\n}\n\n/**\n * `%rune%` can only be used inside an effect (e.g. during component initialisation)\n * @param {string} rune\n * @returns {never}\n */\nexport function effect_orphan(rune) {\n\tif (DEV) {\n\t\tconst error = new Error(`effect_orphan\\n\\`${rune}\\` can only be used inside an effect (e.g. during component initialisation)`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tthrow new Error(\"effect_orphan\");\n\t}\n}\n\n/**\n * Maximum update depth exceeded. This can happen when a reactive block or effect repeatedly sets a new value. Svelte limits the number of nested updates to prevent infinite loops\n * @returns {never}\n */\nexport function effect_update_depth_exceeded() {\n\tif (DEV) {\n\t\tconst error = new Error(`effect_update_depth_exceeded\\nMaximum update depth exceeded. This can happen when a reactive block or effect repeatedly sets a new value. Svelte limits the number of nested updates to prevent infinite loops`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tthrow new Error(\"effect_update_depth_exceeded\");\n\t}\n}\n\n/**\n * Failed to hydrate the application\n * @returns {never}\n */\nexport function hydration_failed() {\n\tif (DEV) {\n\t\tconst error = new Error(`hydration_failed\\nFailed to hydrate the application`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tthrow new Error(\"hydration_failed\");\n\t}\n}\n\n/**\n * Could not `{@render}` snippet due to the expression being `null` or `undefined`. Consider using optional chaining `{@render snippet?.()}`\n * @returns {never}\n */\nexport function invalid_snippet() {\n\tif (DEV) {\n\t\tconst error = new Error(`invalid_snippet\\nCould not \\`{@render}\\` snippet due to the expression being \\`null\\` or \\`undefined\\`. Consider using optional chaining \\`{@render snippet?.()}\\``);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tthrow new Error(\"invalid_snippet\");\n\t}\n}\n\n/**\n * `%name%(...)` cannot be used in runes mode\n * @param {string} name\n * @returns {never}\n */\nexport function lifecycle_legacy_only(name) {\n\tif (DEV) {\n\t\tconst error = new Error(`lifecycle_legacy_only\\n\\`${name}(...)\\` cannot be used in runes mode`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tthrow new Error(\"lifecycle_legacy_only\");\n\t}\n}\n\n/**\n * Cannot do `bind:%key%={undefined}` when `%key%` has a fallback value\n * @param {string} key\n * @returns {never}\n */\nexport function props_invalid_value(key) {\n\tif (DEV) {\n\t\tconst error = new Error(`props_invalid_value\\nCannot do \\`bind:${key}={undefined}\\` when \\`${key}\\` has a fallback value`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tthrow new Error(\"props_invalid_value\");\n\t}\n}\n\n/**\n * Rest element properties of `$props()` such as `%property%` are readonly\n * @param {string} property\n * @returns {never}\n */\nexport function props_rest_readonly(property) {\n\tif (DEV) {\n\t\tconst error = new Error(`props_rest_readonly\\nRest element properties of \\`$props()\\` such as \\`${property}\\` are readonly`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tthrow new Error(\"props_rest_readonly\");\n\t}\n}\n\n/**\n * The `%rune%` rune is only available inside `.svelte` and `.svelte.js/ts` files\n * @param {string} rune\n * @returns {never}\n */\nexport function rune_outside_svelte(rune) {\n\tif (DEV) {\n\t\tconst error = new Error(`rune_outside_svelte\\nThe \\`${rune}\\` rune is only available inside \\`.svelte\\` and \\`.svelte.js/ts\\` files`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tthrow new Error(\"rune_outside_svelte\");\n\t}\n}\n\n/**\n * Property descriptors defined on `$state` objects must contain `value` and always be `enumerable`, `configurable` and `writable`.\n * @returns {never}\n */\nexport function state_descriptors_fixed() {\n\tif (DEV) {\n\t\tconst error = new Error(`state_descriptors_fixed\\nProperty descriptors defined on \\`$state\\` objects must contain \\`value\\` and always be \\`enumerable\\`, \\`configurable\\` and \\`writable\\`.`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tthrow new Error(\"state_descriptors_fixed\");\n\t}\n}\n\n/**\n * Cannot set prototype of `$state` object\n * @returns {never}\n */\nexport function state_prototype_fixed() {\n\tif (DEV) {\n\t\tconst error = new Error(`state_prototype_fixed\\nCannot set prototype of \\`$state\\` object`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tthrow new Error(\"state_prototype_fixed\");\n\t}\n}\n\n/**\n * Reading state that was created inside the same derived is forbidden. Consider using `untrack` to read locally created state\n * @returns {never}\n */\nexport function state_unsafe_local_read() {\n\tif (DEV) {\n\t\tconst error = new Error(`state_unsafe_local_read\\nReading state that was created inside the same derived is forbidden. Consider using \\`untrack\\` to read locally created state`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tthrow new Error(\"state_unsafe_local_read\");\n\t}\n}\n\n/**\n * Updating state inside a derived or a template expression is forbidden. If the value should not be reactive, declare it without `$state`\n * @returns {never}\n */\nexport function state_unsafe_mutation() {\n\tif (DEV) {\n\t\tconst error = new Error(`state_unsafe_mutation\\nUpdating state inside a derived or a template expression is forbidden. If the value should not be reactive, declare it without \\`$state\\``);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tthrow new Error(\"state_unsafe_mutation\");\n\t}\n}","export let legacy_mode_flag = false;\n\nexport function enable_legacy_mode_flag() {\n\tlegacy_mode_flag = true;\n}\n","/** @import { Derived, Effect, Reaction, Source, Value } from '#client' */\nimport { DEV } from 'esm-env';\nimport {\n\tcomponent_context,\n\tactive_reaction,\n\tnew_deps,\n\tactive_effect,\n\tuntracked_writes,\n\tget,\n\tis_runes,\n\tschedule_effect,\n\tset_untracked_writes,\n\tset_signal_status,\n\tuntrack,\n\tincrement_version,\n\tupdate_effect,\n\tderived_sources,\n\tset_derived_sources,\n\tcheck_dirtiness,\n\tset_is_flushing_effect,\n\tis_flushing_effect\n} from '../runtime.js';\nimport { equals, safe_equals } from './equality.js';\nimport {\n\tCLEAN,\n\tDERIVED,\n\tDIRTY,\n\tBRANCH_EFFECT,\n\tINSPECT_EFFECT,\n\tUNOWNED,\n\tMAYBE_DIRTY,\n\tBLOCK_EFFECT\n} from '../constants.js';\nimport * as e from '../errors.js';\nimport { legacy_mode_flag } from '../../flags/index.js';\n\nexport let inspect_effects = new Set();\n\n/**\n * @param {Set<any>} v\n */\nexport function set_inspect_effects(v) {\n\tinspect_effects = v;\n}\n\n/**\n * @template V\n * @param {V} v\n * @returns {Source<V>}\n */\nexport function source(v) {\n\treturn {\n\t\tf: 0, // TODO ideally we could skip this altogether, but it causes type errors\n\t\tv,\n\t\treactions: null,\n\t\tequals,\n\t\tversion: 0\n\t};\n}\n\n/**\n * @template V\n * @param {V} v\n */\nexport function state(v) {\n\treturn push_derived_source(source(v));\n}\n\n/**\n * @template V\n * @param {V} initial_value\n * @param {boolean} [immutable]\n * @returns {Source<V>}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function mutable_source(initial_value, immutable = false) {\n\tconst s = source(initial_value);\n\tif (!immutable) {\n\t\ts.equals = safe_equals;\n\t}\n\n\t// bind the signal to the component context, in case we need to\n\t// track updates to trigger beforeUpdate/afterUpdate callbacks\n\tif (legacy_mode_flag && component_context !== null && component_context.l !== null) {\n\t\t(component_context.l.s ??= []).push(s);\n\t}\n\n\treturn s;\n}\n\n/**\n * @template V\n * @param {V} v\n * @param {boolean} [immutable]\n * @returns {Source<V>}\n */\nexport function mutable_state(v, immutable = false) {\n\treturn push_derived_source(mutable_source(v, immutable));\n}\n\n/**\n * @template V\n * @param {Source<V>} source\n */\n/*#__NO_SIDE_EFFECTS__*/\nfunction push_derived_source(source) {\n\tif (active_reaction !== null && (active_reaction.f & DERIVED) !== 0) {\n\t\tif (derived_sources === null) {\n\t\t\tset_derived_sources([source]);\n\t\t} else {\n\t\t\tderived_sources.push(source);\n\t\t}\n\t}\n\n\treturn source;\n}\n\n/**\n * @template V\n * @param {Value<V>} source\n * @param {V} value\n */\nexport function mutate(source, value) {\n\tset(\n\t\tsource,\n\t\tuntrack(() => get(source))\n\t);\n\treturn value;\n}\n\n/**\n * @template V\n * @param {Source<V>} source\n * @param {V} value\n * @returns {V}\n */\nexport function set(source, value) {\n\tif (\n\t\tactive_reaction !== null &&\n\t\tis_runes() &&\n\t\t(active_reaction.f & (DERIVED | BLOCK_EFFECT)) !== 0 &&\n\t\t// If the source was created locally within the current derived, then\n\t\t// we allow the mutation.\n\t\t(derived_sources === null || !derived_sources.includes(source))\n\t) {\n\t\te.state_unsafe_mutation();\n\t}\n\n\treturn internal_set(source, value);\n}\n\n/**\n * @template V\n * @param {Source<V>} source\n * @param {V} value\n * @returns {V}\n */\nexport function internal_set(source, value) {\n\tif (!source.equals(value)) {\n\t\tsource.v = value;\n\t\tsource.version = increment_version();\n\n\t\tmark_reactions(source, DIRTY);\n\n\t\t// If the current signal is running for the first time, it won't have any\n\t\t// reactions as we only allocate and assign the reactions after the signal\n\t\t// has fully executed. So in the case of ensuring it registers the reaction\n\t\t// properly for itself, we need to ensure the current effect actually gets\n\t\t// scheduled. i.e: `$effect(() => x++)`\n\t\tif (\n\t\t\tis_runes() &&\n\t\t\tactive_effect !== null &&\n\t\t\t(active_effect.f & CLEAN) !== 0 &&\n\t\t\t(active_effect.f & BRANCH_EFFECT) === 0\n\t\t) {\n\t\t\tif (new_deps !== null && new_deps.includes(source)) {\n\t\t\t\tset_signal_status(active_effect, DIRTY);\n\t\t\t\tschedule_effect(active_effect);\n\t\t\t} else {\n\t\t\t\tif (untracked_writes === null) {\n\t\t\t\t\tset_untracked_writes([source]);\n\t\t\t\t} else {\n\t\t\t\t\tuntracked_writes.push(source);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (DEV && inspect_effects.size > 0) {\n\t\t\tconst inspects = Array.from(inspect_effects);\n\t\t\tvar previously_flushing_effect = is_flushing_effect;\n\t\t\tset_is_flushing_effect(true);\n\t\t\ttry {\n\t\t\t\tfor (const effect of inspects) {\n\t\t\t\t\t// Mark clean inspect-effects as maybe dirty and then check their dirtiness\n\t\t\t\t\t// instead of just updating the effects - this way we avoid overfiring.\n\t\t\t\t\tif ((effect.f & CLEAN) !== 0) {\n\t\t\t\t\t\tset_signal_status(effect, MAYBE_DIRTY);\n\t\t\t\t\t}\n\t\t\t\t\tif (check_dirtiness(effect)) {\n\t\t\t\t\t\tupdate_effect(effect);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tset_is_flushing_effect(previously_flushing_effect);\n\t\t\t}\n\t\t\tinspect_effects.clear();\n\t\t}\n\t}\n\n\treturn value;\n}\n\n/**\n * @param {Value} signal\n * @param {number} status should be DIRTY or MAYBE_DIRTY\n * @returns {void}\n */\nfunction mark_reactions(signal, status) {\n\tvar reactions = signal.reactions;\n\tif (reactions === null) return;\n\n\tvar runes = is_runes();\n\tvar length = reactions.length;\n\n\tfor (var i = 0; i < length; i++) {\n\t\tvar reaction = reactions[i];\n\t\tvar flags = reaction.f;\n\n\t\t// Skip any effects that are already dirty\n\t\tif ((flags & DIRTY) !== 0) continue;\n\n\t\t// In legacy mode, skip the current effect to prevent infinite loops\n\t\tif (!runes && reaction === active_effect) continue;\n\n\t\t// Inspect effects need to run immediately, so that the stack trace makes sense\n\t\tif (DEV && (flags & INSPECT_EFFECT) !== 0) {\n\t\t\tinspect_effects.add(reaction);\n\t\t\tcontinue;\n\t\t}\n\n\t\tset_signal_status(reaction, status);\n\n\t\t// If the signal a) was previously clean or b) is an unowned derived, then mark it\n\t\tif ((flags & (CLEAN | UNOWNED)) !== 0) {\n\t\t\tif ((flags & DERIVED) !== 0) {\n\t\t\t\tmark_reactions(/** @type {Derived} */ (reaction), MAYBE_DIRTY);\n\t\t\t} else {\n\t\t\t\tschedule_effect(/** @type {Effect} */ (reaction));\n\t\t\t}\n\t\t}\n\t}\n}\n","export const BROWSER = true;\nexport const DEV = false;\nexport const NODE = false;\n","export const EACH_ITEM_REACTIVE = 1;\nexport const EACH_INDEX_REACTIVE = 1 << 1;\n/** See EachBlock interface metadata.is_controlled for an explanation what this is */\nexport const EACH_IS_CONTROLLED = 1 << 2;\nexport const EACH_IS_ANIMATED = 1 << 3;\nexport const EACH_ITEM_IMMUTABLE = 1 << 4;\n\nexport const PROPS_IS_IMMUTABLE = 1;\nexport const PROPS_IS_RUNES = 1 << 1;\nexport const PROPS_IS_UPDATED = 1 << 2;\nexport const PROPS_IS_BINDABLE = 1 << 3;\nexport const PROPS_IS_LAZY_INITIAL = 1 << 4;\n\nexport const TRANSITION_IN = 1;\nexport const TRANSITION_OUT = 1 << 1;\nexport const TRANSITION_GLOBAL = 1 << 2;\n\nexport const TEMPLATE_FRAGMENT = 1;\nexport const TEMPLATE_USE_IMPORT_NODE = 1 << 1;\n\nexport const HYDRATION_START = '[';\n/** used to indicate that an `{:else}...` block was rendered */\nexport const HYDRATION_START_ELSE = '[!';\nexport const HYDRATION_END = ']';\nexport const HYDRATION_ERROR = {};\n\nexport const ELEMENT_IS_NAMESPACED = 1;\nexport const ELEMENT_PRESERVE_ATTRIBUTE_CASE = 1 << 1;\n\nexport const UNINITIALIZED = Symbol();\n\n// Dev-time component properties\nexport const FILENAME = Symbol('filename');\nexport const HMR = Symbol('hmr');\n\nexport const NAMESPACE_SVG = 'http://www.w3.org/2000/svg';\nexport const NAMESPACE_MATHML = 'http://www.w3.org/1998/Math/MathML';\n\n// we use a list of ignorable runtime warnings because not every runtime warning\n// can be ignored and we want to keep the validation for svelte-ignore in place\nexport const IGNORABLE_RUNTIME_WARNINGS = /** @type {const} */ ([\n\t'state_snapshot_uncloneable',\n\t'binding_property_non_reactive',\n\t'hydration_attribute_changed',\n\t'hydration_html_changed',\n\t'ownership_invalid_binding',\n\t'ownership_invalid_mutation'\n]);\n\n/**\n * Whitespace inside one of these elements will not result in\n * a whitespace node being created in any circumstances. (This\n * list is almost certainly very incomplete)\n * TODO this is currently unused\n */\nexport const ELEMENTS_WITHOUT_TEXT = ['audio', 'datalist', 'dl', 'optgroup', 'select', 'video'];\n","/* This file is generated by scripts/process-messages/index.js. Do not edit! */\n\nimport { DEV } from 'esm-env';\n\nvar bold = 'font-weight: bold';\nvar normal = 'font-weight: normal';\n\n/**\n * `%binding%` (%location%) is binding to a non-reactive property\n * @param {string} binding\n * @param {string | undefined | null} [location]\n */\nexport function binding_property_non_reactive(binding, location) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] binding_property_non_reactive\\n%c${location ? `\\`${binding}\\` (${location}) is binding to a non-reactive property` : `\\`${binding}\\` is binding to a non-reactive property`}`, bold, normal);\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tconsole.warn(\"binding_property_non_reactive\");\n\t}\n}\n\n/**\n * Your `console.%method%` contained `$state` proxies. Consider using `$inspect(...)` or `$state.snapshot(...)` instead\n * @param {string} method\n */\nexport function console_log_state(method) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] console_log_state\\n%cYour \\`console.${method}\\` contained \\`$state\\` proxies. Consider using \\`$inspect(...)\\` or \\`$state.snapshot(...)\\` instead`, bold, normal);\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tconsole.warn(\"console_log_state\");\n\t}\n}\n\n/**\n * %handler% should be a function. Did you mean to %suggestion%?\n * @param {string} handler\n * @param {string} suggestion\n */\nexport function event_handler_invalid(handler, suggestion) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] event_handler_invalid\\n%c${handler} should be a function. Did you mean to ${suggestion}?`, bold, normal);\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tconsole.warn(\"event_handler_invalid\");\n\t}\n}\n\n/**\n * The `%attribute%` attribute on `%html%` changed its value between server and client renders. The client value, `%value%`, will be ignored in favour of the server value\n * @param {string} attribute\n * @param {string} html\n * @param {string} value\n */\nexport function hydration_attribute_changed(attribute, html, value) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] hydration_attribute_changed\\n%cThe \\`${attribute}\\` attribute on \\`${html}\\` changed its value between server and client renders. The client value, \\`${value}\\`, will be ignored in favour of the server value`, bold, normal);\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tconsole.warn(\"hydration_attribute_changed\");\n\t}\n}\n\n/**\n * The value of an `{@html ...}` block %location% changed between server and client renders. The client value will be ignored in favour of the server value\n * @param {string | undefined | null} [location]\n */\nexport function hydration_html_changed(location) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] hydration_html_changed\\n%c${location ? `The value of an \\`{@html ...}\\` block ${location} changed between server and client renders. The client value will be ignored in favour of the server value` : \"The value of an `{@html ...}` block changed between server and client renders. The client value will be ignored in favour of the server value\"}`, bold, normal);\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tconsole.warn(\"hydration_html_changed\");\n\t}\n}\n\n/**\n * Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near %location%\n * @param {string | undefined | null} [location]\n */\nexport function hydration_mismatch(location) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] hydration_mismatch\\n%c${location ? `Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near ${location}` : \"Hydration failed because the initial UI does not match what was rendered on the server\"}`, bold, normal);\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tconsole.warn(\"hydration_mismatch\");\n\t}\n}\n\n/**\n * The `render` function passed to `createRawSnippet` should return HTML for a single element\n */\nexport function invalid_raw_snippet_render() {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] invalid_raw_snippet_render\\n%cThe \\`render\\` function passed to \\`createRawSnippet\\` should return HTML for a single element`, bold, normal);\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tconsole.warn(\"invalid_raw_snippet_render\");\n\t}\n}\n\n/**\n * Detected a migrated `$:` reactive block in `%filename%` that both accesses and updates the same reactive value. This may cause recursive updates when converted to an `$effect`.\n * @param {string} filename\n */\nexport function legacy_recursive_reactive_block(filename) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] legacy_recursive_reactive_block\\n%cDetected a migrated \\`$:\\` reactive block in \\`${filename}\\` that both accesses and updates the same reactive value. This may cause recursive updates when converted to an \\`$effect\\`.`, bold, normal);\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tconsole.warn(\"legacy_recursive_reactive_block\");\n\t}\n}\n\n/**\n * Tried to unmount a component that was not mounted\n */\nexport function lifecycle_double_unmount() {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] lifecycle_double_unmount\\n%cTried to unmount a component that was not mounted`, bold, normal);\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tconsole.warn(\"lifecycle_double_unmount\");\n\t}\n}\n\n/**\n * %parent% passed a value to %child% with `bind:`, but the value is owned by %owner%. Consider creating a binding between %owner% and %parent%\n * @param {string} parent\n * @param {string} child\n * @param {string} owner\n */\nexport function ownership_invalid_binding(parent, child, owner) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] ownership_invalid_binding\\n%c${parent} passed a value to ${child} with \\`bind:\\`, but the value is owned by ${owner}. Consider creating a binding between ${owner} and ${parent}`, bold, normal);\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tconsole.warn(\"ownership_invalid_binding\");\n\t}\n}\n\n/**\n * %component% mutated a value owned by %owner%. This is strongly discouraged. Consider passing values to child components with `bind:`, or use a callback instead\n * @param {string | undefined | null} [component]\n * @param {string | undefined | null} [owner]\n */\nexport function ownership_invalid_mutation(component, owner) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] ownership_invalid_mutation\\n%c${component ? `${component} mutated a value owned by ${owner}. This is strongly discouraged. Consider passing values to child components with \\`bind:\\`, or use a callback instead` : \"Mutating a value outside the component that created it is strongly discouraged. Consider passing values to child components with `bind:`, or use a callback instead\"}`, bold, normal);\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tconsole.warn(\"ownership_invalid_mutation\");\n\t}\n}\n\n/**\n * Reactive `$state(...)` proxies and the values they proxy have different identities. Because of this, comparisons with `%operator%` will produce unexpected results\n * @param {string} operator\n */\nexport function state_proxy_equality_mismatch(operator) {\n\tif (DEV) {\n\t\tconsole.warn(`%c[svelte] state_proxy_equality_mismatch\\n%cReactive \\`$state(...)\\` proxies and the values they proxy have different identities. Because of this, comparisons with \\`${operator}\\` will produce unexpected results`, bold, normal);\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tconsole.warn(\"state_proxy_equality_mismatch\");\n\t}\n}","/** @import { TemplateNode } from '#client' */\n\nimport {\n\tHYDRATION_END,\n\tHYDRATION_ERROR,\n\tHYDRATION_START,\n\tHYDRATION_START_ELSE\n} from '../../../constants.js';\nimport * as w from '../warnings.js';\nimport { get_next_sibling } from './operations.js';\n\n/**\n * Use this variable to guard everything related to hydration code so it can be treeshaken out\n * if the user doesn't use the `hydrate` method and these code paths are therefore not needed.\n */\nexport let hydrating = false;\n\n/** @param {boolean} value */\nexport function set_hydrating(value) {\n\thydrating = value;\n}\n\n/**\n * The node that is currently being hydrated. This starts out as the first node inside the opening\n * <!--[--> comment, and updates each time a component calls `$.child(...)` or `$.sibling(...)`.\n * When entering a block (e.g. `{#if ...}`), `hydrate_node` is the block opening comment; by the\n * time we leave the block it is the closing comment, which serves as the block's anchor.\n * @type {TemplateNode}\n */\nexport let hydrate_node;\n\n/** @param {TemplateNode} node */\nexport function set_hydrate_node(node) {\n\tif (node === null) {\n\t\tw.hydration_mismatch();\n\t\tthrow HYDRATION_ERROR;\n\t}\n\n\treturn (hydrate_node = node);\n}\n\nexport function hydrate_next() {\n\treturn set_hydrate_node(/** @type {TemplateNode} */ (get_next_sibling(hydrate_node)));\n}\n\n/** @param {TemplateNode} node */\nexport function reset(node) {\n\tif (!hydrating) return;\n\n\t// If the node has remaining siblings, something has gone wrong\n\tif (get_next_sibling(hydrate_node) !== null) {\n\t\tw.hydration_mismatch();\n\t\tthrow HYDRATION_ERROR;\n\t}\n\n\thydrate_node = node;\n}\n\n/**\n * @param {HTMLTemplateElement} template\n */\nexport function hydrate_template(template) {\n\tif (hydrating) {\n\t\t// @ts-expect-error TemplateNode doesn't include DocumentFragment, but it's actually fine\n\t\thydrate_node = template.content;\n\t}\n}\n\nexport function next(count = 1) {\n\tif (hydrating) {\n\t\tvar i = count;\n\t\tvar node = hydrate_node;\n\n\t\twhile (i--) {\n\t\t\tnode = /** @type {TemplateNode} */ (get_next_sibling(node));\n\t\t}\n\n\t\thydrate_node = node;\n\t}\n}\n\n/**\n * Removes all nodes starting at `hydrate_node` up until the next hydration end comment\n */\nexport function remove_nodes() {\n\tvar depth = 0;\n\tvar node = hydrate_node;\n\n\twhile (true) {\n\t\tif (node.nodeType === 8) {\n\t\t\tvar data = /** @type {Comment} */ (node).data;\n\n\t\t\tif (data === HYDRATION_END) {\n\t\t\t\tif (depth === 0) return node;\n\t\t\t\tdepth -= 1;\n\t\t\t} else if (data === HYDRATION_START || data === HYDRATION_START_ELSE) {\n\t\t\t\tdepth += 1;\n\t\t\t}\n\t\t}\n\n\t\tvar next = /** @type {TemplateNode} */ (get_next_sibling(node));\n\t\tnode.remove();\n\t\tnode = next;\n\t}\n}\n","/** @import { TemplateNode } from '#client' */\nimport { hydrate_node, hydrating, set_hydrate_node } from './hydration.js';\nimport { DEV } from 'esm-env';\nimport { init_array_prototype_warnings } from '../dev/equality.js';\nimport { get_descriptor } from '../../shared/utils.js';\n\n// export these for reference in the compiled code, making global name deduplication unnecessary\n/** @type {Window} */\nexport var $window;\n\n/** @type {Document} */\nexport var $document;\n\n/** @type {() => Node | null} */\nvar first_child_getter;\n/** @type {() => Node | null} */\nvar next_sibling_getter;\n\n/**\n * Initialize these lazily to avoid issues when using the runtime in a server context\n * where these globals are not available while avoiding a separate server entry point\n */\nexport function init_operations() {\n\tif ($window !== undefined) {\n\t\treturn;\n\t}\n\n\t$window = window;\n\t$document = document;\n\n\tvar element_prototype = Element.prototype;\n\tvar node_prototype = Node.prototype;\n\n\t// @ts-ignore\n\tfirst_child_getter = get_descriptor(node_prototype, 'firstChild').get;\n\t// @ts-ignore\n\tnext_sibling_getter = get_descriptor(node_prototype, 'nextSibling').get;\n\n\t// the following assignments improve perf of lookups on DOM nodes\n\t// @ts-expect-error\n\telement_prototype.__click = undefined;\n\t// @ts-expect-error\n\telement_prototype.__className = '';\n\t// @ts-expect-error\n\telement_prototype.__attributes = null;\n\t// @ts-expect-error\n\telement_prototype.__styles = null;\n\t// @ts-expect-error\n\telement_prototype.__e = undefined;\n\n\t// @ts-expect-error\n\tText.prototype.__t = undefined;\n\n\tif (DEV) {\n\t\t// @ts-expect-error\n\t\telement_prototype.__svelte_meta = null;\n\n\t\tinit_array_prototype_warnings();\n\t}\n}\n\n/**\n * @param {string} value\n * @returns {Text}\n */\nexport function create_text(value = '') {\n\treturn document.createTextNode(value);\n}\n\n/**\n * @template {Node} N\n * @param {N} node\n * @returns {Node | null}\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function get_first_child(node) {\n\treturn first_child_getter.call(node);\n}\n\n/**\n * @template {Node} N\n * @param {N} node\n * @returns {Node | null}\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function get_next_sibling(node) {\n\treturn next_sibling_getter.call(node);\n}\n\n/**\n * Don't mark this as side-effect-free, hydration needs to walk all nodes\n * @template {Node} N\n * @param {N} node\n * @param {boolean} is_text\n * @returns {Node | null}\n */\nexport function child(node, is_text) {\n\tif (!hydrating) {\n\t\treturn get_first_child(node);\n\t}\n\n\tvar child = /** @type {TemplateNode} */ (get_first_child(hydrate_node));\n\n\t// Child can be null if we have an element with a single child, like `<p>{text}</p>`, where `text` is empty\n\tif (child === null) {\n\t\tchild = hydrate_node.appendChild(create_text());\n\t} else if (is_text && child.nodeType !== 3) {\n\t\tvar text = create_text();\n\t\tchild?.before(text);\n\t\tset_hydrate_node(text);\n\t\treturn text;\n\t}\n\n\tset_hydrate_node(child);\n\treturn child;\n}\n\n/**\n * Don't mark this as side-effect-free, hydration needs to walk all nodes\n * @param {DocumentFragment | TemplateNode[]} fragment\n * @param {boolean} is_text\n * @returns {Node | null}\n */\nexport function first_child(fragment, is_text) {\n\tif (!hydrating) {\n\t\t// when not hydrating, `fragment` is a `DocumentFragment` (the result of calling `open_frag`)\n\t\tvar first = /** @type {DocumentFragment} */ (get_first_child(/** @type {Node} */ (fragment)));\n\n\t\t// TODO prevent user comments with the empty string when preserveComments is true\n\t\tif (first instanceof Comment && first.data === '') return get_next_sibling(first);\n\n\t\treturn first;\n\t}\n\n\t// if an {expression} is empty during SSR, there might be no\n\t// text node to hydrate — we must therefore create one\n\tif (is_text && hydrate_node?.nodeType !== 3) {\n\t\tvar text = create_text();\n\n\t\thydrate_node?.before(text);\n\t\tset_hydrate_node(text);\n\t\treturn text;\n\t}\n\n\treturn hydrate_node;\n}\n\n/**\n * Don't mark this as side-effect-free, hydration needs to walk all nodes\n * @param {TemplateNode} node\n * @param {number} count\n * @param {boolean} is_text\n * @returns {Node | null}\n */\nexport function sibling(node, count = 1, is_text = false) {\n\tlet next_sibling = hydrating ? hydrate_node : node;\n\n\twhile (count--) {\n\t\tnext_sibling = /** @type {TemplateNode} */ (get_next_sibling(next_sibling));\n\t}\n\n\tif (!hydrating) {\n\t\treturn next_sibling;\n\t}\n\n\tvar type = next_sibling.nodeType;\n\n\t// if a sibling {expression} is empty during SSR, there might be no\n\t// text node to hydrate — we must therefore create one\n\tif (is_text && type !== 3) {\n\t\tvar text = create_text();\n\t\tnext_sibling?.before(text);\n\t\tset_hydrate_node(text);\n\t\treturn text;\n\t}\n\n\tset_hydrate_node(next_sibling);\n\treturn /** @type {TemplateNode} */ (next_sibling);\n}\n\n/**\n * @template {Node} N\n * @param {N} node\n * @returns {void}\n */\nexport function clear_text_content(node) {\n\tnode.textContent = '';\n}\n","/** @import { Derived, Effect } from '#client' */\nimport { DEV } from 'esm-env';\nimport {\n\tCLEAN,\n\tDERIVED,\n\tDESTROYED,\n\tDIRTY,\n\tEFFECT_HAS_DERIVED,\n\tMAYBE_DIRTY,\n\tUNOWNED\n} from '../constants.js';\nimport {\n\tactive_reaction,\n\tactive_effect,\n\tremove_reactions,\n\tset_signal_status,\n\tskip_reaction,\n\tupdate_reaction,\n\tincrement_version,\n\tset_active_effect,\n\tcomponent_context\n} from '../runtime.js';\nimport { equals, safe_equals } from './equality.js';\nimport * as e from '../errors.js';\nimport { destroy_effect } from './effects.js';\nimport { inspect_effects, set_inspect_effects } from './sources.js';\n\n/**\n * @template V\n * @param {() => V} fn\n * @returns {Derived<V>}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function derived(fn) {\n\tvar flags = DERIVED | DIRTY;\n\n\tif (active_effect === null) {\n\t\tflags |= UNOWNED;\n\t} else {\n\t\t// Since deriveds are evaluated lazily, any effects created inside them are\n\t\t// created too late to ensure that the parent effect is added to the tree\n\t\tactive_effect.f |= EFFECT_HAS_DERIVED;\n\t}\n\n\t/** @type {Derived<V>} */\n\tconst signal = {\n\t\tchildren: null,\n\t\tctx: component_context,\n\t\tdeps: null,\n\t\tequals,\n\t\tf: flags,\n\t\tfn,\n\t\treactions: null,\n\t\tv: /** @type {V} */ (null),\n\t\tversion: 0,\n\t\tparent: active_effect\n\t};\n\n\tif (active_reaction !== null && (active_reaction.f & DERIVED) !== 0) {\n\t\tvar derived = /** @type {Derived} */ (active_reaction);\n\t\t(derived.children ??= []).push(signal);\n\t}\n\n\treturn signal;\n}\n\n/**\n * @template V\n * @param {() => V} fn\n * @returns {Derived<V>}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function derived_safe_equal(fn) {\n\tconst signal = derived(fn);\n\tsignal.equals = safe_equals;\n\treturn signal;\n}\n\n/**\n * @param {Derived} derived\n * @returns {void}\n */\nfunction destroy_derived_children(derived) {\n\tvar children = derived.children;\n\n\tif (children !== null) {\n\t\tderived.children = null;\n\n\t\tfor (var i = 0; i < children.length; i += 1) {\n\t\t\tvar child = children[i];\n\t\t\tif ((child.f & DERIVED) !== 0) {\n\t\t\t\tdestroy_derived(/** @type {Derived} */ (child));\n\t\t\t} else {\n\t\t\t\tdestroy_effect(/** @type {Effect} */ (child));\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * The currently updating deriveds, used to detect infinite recursion\n * in dev mode and provide a nicer error than 'too much recursion'\n * @type {Derived[]}\n */\nlet stack = [];\n\n/**\n * @template T\n * @param {Derived} derived\n * @returns {T}\n */\nexport function execute_derived(derived) {\n\tvar value;\n\tvar prev_active_effect = active_effect;\n\n\tset_active_effect(derived.parent);\n\n\tif (DEV) {\n\t\tlet prev_inspect_effects = inspect_effects;\n\t\tset_inspect_effects(new Set());\n\t\ttry {\n\t\t\tif (stack.includes(derived)) {\n\t\t\t\te.derived_references_self();\n\t\t\t}\n\n\t\t\tstack.push(derived);\n\n\t\t\tdestroy_derived_children(derived);\n\t\t\tvalue = update_reaction(derived);\n\t\t} finally {\n\t\t\tset_active_effect(prev_active_effect);\n\t\t\tset_inspect_effects(prev_inspect_effects);\n\t\t\tstack.pop();\n\t\t}\n\t} else {\n\t\ttry {\n\t\t\tdestroy_derived_children(derived);\n\t\t\tvalue = update_reaction(derived);\n\t\t} finally {\n\t\t\tset_active_effect(prev_active_effect);\n\t\t}\n\t}\n\n\treturn value;\n}\n\n/**\n * @param {Derived} derived\n * @returns {void}\n */\nexport function update_derived(derived) {\n\tvar value = execute_derived(derived);\n\tvar status =\n\t\t(skip_reaction || (derived.f & UNOWNED) !== 0) && derived.deps !== null ? MAYBE_DIRTY : CLEAN;\n\n\tset_signal_status(derived, status);\n\n\tif (!derived.equals(value)) {\n\t\tderived.v = value;\n\t\tderived.version = increment_version();\n\t}\n}\n\n/**\n * @param {Derived} signal\n * @returns {void}\n */\nexport function destroy_derived(signal) {\n\tdestroy_derived_children(signal);\n\tremove_reactions(signal, 0);\n\tset_signal_status(signal, DESTROYED);\n\n\t// TODO we need to ensure we remove the derived from any parent derives\n\tsignal.v = signal.children = signal.deps = signal.ctx = signal.reactions = null;\n}\n","/** @import { ComponentContext, ComponentContextLegacy, Derived, Effect, Reaction, TemplateNode, TransitionManager } from '#client' */\nimport {\n\tcheck_dirtiness,\n\tcomponent_context,\n\tactive_effect,\n\tactive_reaction,\n\tdev_current_component_function,\n\tupdate_effect,\n\tget,\n\tis_destroying_effect,\n\tis_flushing_effect,\n\tremove_reactions,\n\tschedule_effect,\n\tset_active_reaction,\n\tset_is_destroying_effect,\n\tset_is_flushing_effect,\n\tset_signal_status,\n\tuntrack,\n\tskip_reaction\n} from '../runtime.js';\nimport {\n\tDIRTY,\n\tBRANCH_EFFECT,\n\tRENDER_EFFECT,\n\tEFFECT,\n\tDESTROYED,\n\tINERT,\n\tEFFECT_RAN,\n\tBLOCK_EFFECT,\n\tROOT_EFFECT,\n\tEFFECT_TRANSPARENT,\n\tDERIVED,\n\tUNOWNED,\n\tCLEAN,\n\tINSPECT_EFFECT,\n\tHEAD_EFFECT,\n\tMAYBE_DIRTY,\n\tEFFECT_HAS_DERIVED\n} from '../constants.js';\nimport { set } from './sources.js';\nimport * as e from '../errors.js';\nimport { DEV } from 'esm-env';\nimport { define_property } from '../../shared/utils.js';\nimport { get_next_sibling } from '../dom/operations.js';\nimport { destroy_derived } from './deriveds.js';\n\n/**\n * @param {'$effect' | '$effect.pre' | '$inspect'} rune\n */\nexport function validate_effect(rune) {\n\tif (active_effect === null && active_reaction === null) {\n\t\te.effect_orphan(rune);\n\t}\n\n\tif (active_reaction !== null && (active_reaction.f & UNOWNED) !== 0) {\n\t\te.effect_in_unowned_derived();\n\t}\n\n\tif (is_destroying_effect) {\n\t\te.effect_in_teardown(rune);\n\t}\n}\n\n/**\n * @param {Effect} effect\n * @param {Effect} parent_effect\n */\nfunction push_effect(effect, parent_effect) {\n\tvar parent_last = parent_effect.last;\n\tif (parent_last === null) {\n\t\tparent_effect.last = parent_effect.first = effect;\n\t} else {\n\t\tparent_last.next = effect;\n\t\teffect.prev = parent_last;\n\t\tparent_effect.last = effect;\n\t}\n}\n\n/**\n * @param {number} type\n * @param {null | (() => void | (() => void))} fn\n * @param {boolean} sync\n * @param {boolean} push\n * @returns {Effect}\n */\nfunction create_effect(type, fn, sync, push = true) {\n\tvar is_root = (type & ROOT_EFFECT) !== 0;\n\tvar parent_effect = active_effect;\n\n\tif (DEV) {\n\t\t// Ensure the parent is never an inspect effect\n\t\twhile (parent_effect !== null && (parent_effect.f & INSPECT_EFFECT) !== 0) {\n\t\t\tparent_effect = parent_effect.parent;\n\t\t}\n\t}\n\n\t/** @type {Effect} */\n\tvar effect = {\n\t\tctx: component_context,\n\t\tdeps: null,\n\t\tderiveds: null,\n\t\tnodes_start: null,\n\t\tnodes_end: null,\n\t\tf: type | DIRTY,\n\t\tfirst: null,\n\t\tfn,\n\t\tlast: null,\n\t\tnext: null,\n\t\tparent: is_root ? null : parent_effect,\n\t\tprev: null,\n\t\tteardown: null,\n\t\ttransitions: null,\n\t\tversion: 0\n\t};\n\n\tif (DEV) {\n\t\teffect.component_function = dev_current_component_function;\n\t}\n\n\tif (sync) {\n\t\tvar previously_flushing_effect = is_flushing_effect;\n\n\t\ttry {\n\t\t\tset_is_flushing_effect(true);\n\t\t\tupdate_effect(effect);\n\t\t\teffect.f |= EFFECT_RAN;\n\t\t} catch (e) {\n\t\t\tdestroy_effect(effect);\n\t\t\tthrow e;\n\t\t} finally {\n\t\t\tset_is_flushing_effect(previously_flushing_effect);\n\t\t}\n\t} else if (fn !== null) {\n\t\tschedule_effect(effect);\n\t}\n\n\t// if an effect has no dependencies, no DOM and no teardown function,\n\t// don't bother adding it to the effect tree\n\tvar inert =\n\t\tsync &&\n\t\teffect.deps === null &&\n\t\teffect.first === null &&\n\t\teffect.nodes_start === null &&\n\t\teffect.teardown === null &&\n\t\t(effect.f & EFFECT_HAS_DERIVED) === 0;\n\n\tif (!inert && !is_root && push) {\n\t\tif (parent_effect !== null) {\n\t\t\tpush_effect(effect, parent_effect);\n\t\t}\n\n\t\t// if we're in a derived, add the effect there too\n\t\tif (active_reaction !== null && (active_reaction.f & DERIVED) !== 0) {\n\t\t\tvar derived = /** @type {Derived} */ (active_reaction);\n\t\t\t(derived.children ??= []).push(effect);\n\t\t}\n\t}\n\n\treturn effect;\n}\n\n/**\n * Internal representation of `$effect.tracking()`\n * @returns {boolean}\n */\nexport function effect_tracking() {\n\tif (active_reaction === null) {\n\t\treturn false;\n\t}\n\n\t// If it's skipped, that's because we're inside an unowned\n\t// that is not being tracked by another reaction\n\treturn !skip_reaction;\n}\n\n/**\n * @param {() => void} fn\n */\nexport function teardown(fn) {\n\tconst effect = create_effect(RENDER_EFFECT, null, false);\n\tset_signal_status(effect, CLEAN);\n\teffect.teardown = fn;\n\treturn effect;\n}\n\n/**\n * Internal representation of `$effect(...)`\n * @param {() => void | (() => void)} fn\n */\nexport function user_effect(fn) {\n\tvalidate_effect('$effect');\n\n\t// Non-nested `$effect(...)` in a component should be deferred\n\t// until the component is mounted\n\tvar defer =\n\t\tactive_effect !== null &&\n\t\t(active_effect.f & BRANCH_EFFECT) !== 0 &&\n\t\tcomponent_context !== null &&\n\t\t!component_context.m;\n\n\tif (DEV) {\n\t\tdefine_property(fn, 'name', {\n\t\t\tvalue: '$effect'\n\t\t});\n\t}\n\n\tif (defer) {\n\t\tvar context = /** @type {ComponentContext} */ (component_context);\n\t\t(context.e ??= []).push({\n\t\t\tfn,\n\t\t\teffect: active_effect,\n\t\t\treaction: active_reaction\n\t\t});\n\t} else {\n\t\tvar signal = effect(fn);\n\t\treturn signal;\n\t}\n}\n\n/**\n * Internal representation of `$effect.pre(...)`\n * @param {() => void | (() => void)} fn\n * @returns {Effect}\n */\nexport function user_pre_effect(fn) {\n\tvalidate_effect('$effect.pre');\n\tif (DEV) {\n\t\tdefine_property(fn, 'name', {\n\t\t\tvalue: '$effect.pre'\n\t\t});\n\t}\n\treturn render_effect(fn);\n}\n\n/** @param {() => void | (() => void)} fn */\nexport function inspect_effect(fn) {\n\treturn create_effect(INSPECT_EFFECT, fn, true);\n}\n\n/**\n * Internal representation of `$effect.root(...)`\n * @param {() => void | (() => void)} fn\n * @returns {() => void}\n */\nexport function effect_root(fn) {\n\tconst effect = create_effect(ROOT_EFFECT, fn, true);\n\treturn () => {\n\t\tdestroy_effect(effect);\n\t};\n}\n\n/**\n * @param {() => void | (() => void)} fn\n * @returns {Effect}\n */\nexport function effect(fn) {\n\treturn create_effect(EFFECT, fn, false);\n}\n\n/**\n * Internal representation of `$: ..`\n * @param {() => any} deps\n * @param {() => void | (() => void)} fn\n */\nexport function legacy_pre_effect(deps, fn) {\n\tvar context = /** @type {ComponentContextLegacy} */ (component_context);\n\n\t/** @type {{ effect: null | Effect, ran: boolean }} */\n\tvar token = { effect: null, ran: false };\n\tcontext.l.r1.push(token);\n\n\ttoken.effect = render_effect(() => {\n\t\tdeps();\n\n\t\t// If this legacy pre effect has already run before the end of the reset, then\n\t\t// bail out to emulate the same behavior.\n\t\tif (token.ran) return;\n\n\t\ttoken.ran = true;\n\t\tset(context.l.r2, true);\n\t\tuntrack(fn);\n\t});\n}\n\nexport function legacy_pre_effect_reset() {\n\tvar context = /** @type {ComponentContextLegacy} */ (component_context);\n\n\trender_effect(() => {\n\t\tif (!get(context.l.r2)) return;\n\n\t\t// Run dirty `$:` statements\n\t\tfor (var token of context.l.r1) {\n\t\t\tvar effect = token.effect;\n\n\t\t\t// If the effect is CLEAN, then make it MAYBE_DIRTY. This ensures we traverse through\n\t\t\t// the effects dependencies and correctly ensure each dependency is up-to-date.\n\t\t\tif ((effect.f & CLEAN) !== 0) {\n\t\t\t\tset_signal_status(effect, MAYBE_DIRTY);\n\t\t\t}\n\n\t\t\tif (check_dirtiness(effect)) {\n\t\t\t\tupdate_effect(effect);\n\t\t\t}\n\n\t\t\ttoken.ran = false;\n\t\t}\n\n\t\tcontext.l.r2.v = false; // set directly to avoid rerunning this effect\n\t});\n}\n\n/**\n * @param {() => void | (() => void)} fn\n * @returns {Effect}\n */\nexport function render_effect(fn) {\n\treturn create_effect(RENDER_EFFECT, fn, true);\n}\n\n/**\n * @param {() => void | (() => void)} fn\n * @returns {Effect}\n */\nexport function template_effect(fn) {\n\tif (DEV) {\n\t\tdefine_property(fn, 'name', {\n\t\t\tvalue: '{expression}'\n\t\t});\n\t}\n\treturn block(fn);\n}\n\n/**\n * @param {(() => void)} fn\n * @param {number} flags\n */\nexport function block(fn, flags = 0) {\n\treturn create_effect(RENDER_EFFECT | BLOCK_EFFECT | flags, fn, true);\n}\n\n/**\n * @param {(() => void)} fn\n * @param {boolean} [push]\n */\nexport function branch(fn, push = true) {\n\treturn create_effect(RENDER_EFFECT | BRANCH_EFFECT, fn, true, push);\n}\n\n/**\n * @param {Effect} effect\n */\nexport function execute_effect_teardown(effect) {\n\tvar teardown = effect.teardown;\n\tif (teardown !== null) {\n\t\tconst previously_destroying_effect = is_destroying_effect;\n\t\tconst previous_reaction = active_reaction;\n\t\tset_is_destroying_effect(true);\n\t\tset_active_reaction(null);\n\t\ttry {\n\t\t\tteardown.call(null);\n\t\t} finally {\n\t\t\tset_is_destroying_effect(previously_destroying_effect);\n\t\t\tset_active_reaction(previous_reaction);\n\t\t}\n\t}\n}\n\n/**\n * @param {Effect} signal\n * @returns {void}\n */\nexport function destroy_effect_deriveds(signal) {\n\tvar deriveds = signal.deriveds;\n\n\tif (deriveds !== null) {\n\t\tsignal.deriveds = null;\n\n\t\tfor (var i = 0; i < deriveds.length; i += 1) {\n\t\t\tdestroy_derived(deriveds[i]);\n\t\t}\n\t}\n}\n\n/**\n * @param {Effect} signal\n * @param {boolean} remove_dom\n * @returns {void}\n */\nexport function destroy_effect_children(signal, remove_dom = false) {\n\tvar effect = signal.first;\n\tsignal.first = signal.last = null;\n\n\twhile (effect !== null) {\n\t\tvar next = effect.next;\n\t\tdestroy_effect(effect, remove_dom);\n\t\teffect = next;\n\t}\n}\n\n/**\n * @param {Effect} signal\n * @returns {void}\n */\nexport function destroy_block_effect_children(signal) {\n\tvar effect = signal.first;\n\n\twhile (effect !== null) {\n\t\tvar next = effect.next;\n\t\tif ((effect.f & BRANCH_EFFECT) === 0) {\n\t\t\tdestroy_effect(effect);\n\t\t}\n\t\teffect = next;\n\t}\n}\n\n/**\n * @param {Effect} effect\n * @param {boolean} [remove_dom]\n * @returns {void}\n */\nexport function destroy_effect(effect, remove_dom = true) {\n\tvar removed = false;\n\n\tif ((remove_dom || (effect.f & HEAD_EFFECT) !== 0) && effect.nodes_start !== null) {\n\t\t/** @type {TemplateNode | null} */\n\t\tvar node = effect.nodes_start;\n\t\tvar end = effect.nodes_end;\n\n\t\twhile (node !== null) {\n\t\t\t/** @type {TemplateNode | null} */\n\t\t\tvar next = node === end ? null : /** @type {TemplateNode} */ (get_next_sibling(node));\n\n\t\t\tnode.remove();\n\t\t\tnode = next;\n\t\t}\n\n\t\tremoved = true;\n\t}\n\n\tdestroy_effect_children(effect, remove_dom && !removed);\n\tdestroy_effect_deriveds(effect);\n\tremove_reactions(effect, 0);\n\tset_signal_status(effect, DESTROYED);\n\n\tvar transitions = effect.transitions;\n\n\tif (transitions !== null) {\n\t\tfor (const transition of transitions) {\n\t\t\ttransition.stop();\n\t\t}\n\t}\n\n\texecute_effect_teardown(effect);\n\n\tvar parent = effect.parent;\n\n\t// If the parent doesn't have any children, then skip this work altogether\n\tif (parent !== null && parent.first !== null) {\n\t\tunlink_effect(effect);\n\t}\n\n\tif (DEV) {\n\t\teffect.component_function = null;\n\t}\n\n\t// `first` and `child` are nulled out in destroy_effect_children\n\teffect.next =\n\t\teffect.prev =\n\t\teffect.teardown =\n\t\teffect.ctx =\n\t\teffect.deps =\n\t\teffect.parent =\n\t\teffect.fn =\n\t\teffect.nodes_start =\n\t\teffect.nodes_end =\n\t\t\tnull;\n}\n\n/**\n * Detach an effect from the effect tree, freeing up memory and\n * reducing the amount of work that happens on subsequent traversals\n * @param {Effect} effect\n */\nexport function unlink_effect(effect) {\n\tvar parent = effect.parent;\n\tvar prev = effect.prev;\n\tvar next = effect.next;\n\n\tif (prev !== null) prev.next = next;\n\tif (next !== null) next.prev = prev;\n\n\tif (parent !== null) {\n\t\tif (parent.first === effect) parent.first = next;\n\t\tif (parent.last === effect) parent.last = prev;\n\t}\n}\n\n/**\n * When a block effect is removed, we don't immediately destroy it or yank it\n * out of the DOM, because it might have transitions. Instead, we 'pause' it.\n * It stays around (in memory, and in the DOM) until outro transitions have\n * completed, and if the state change is reversed then we _resume_ it.\n * A paused effect does not update, and the DOM subtree becomes inert.\n * @param {Effect} effect\n * @param {() => void} [callback]\n */\nexport function pause_effect(effect, callback) {\n\t/** @type {TransitionManager[]} */\n\tvar transitions = [];\n\n\tpause_children(effect, transitions, true);\n\n\trun_out_transitions(transitions, () => {\n\t\tdestroy_effect(effect);\n\t\tif (callback) callback();\n\t});\n}\n\n/**\n * @param {TransitionManager[]} transitions\n * @param {() => void} fn\n */\nexport function run_out_transitions(transitions, fn) {\n\tvar remaining = transitions.length;\n\tif (remaining > 0) {\n\t\tvar check = () => --remaining || fn();\n\t\tfor (var transition of transitions) {\n\t\t\ttransition.out(check);\n\t\t}\n\t} else {\n\t\tfn();\n\t}\n}\n\n/**\n * @param {Effect} effect\n * @param {TransitionManager[]} transitions\n * @param {boolean} local\n */\nexport function pause_children(effect, transitions, local) {\n\tif ((effect.f & INERT) !== 0) return;\n\teffect.f ^= INERT;\n\n\tif (effect.transitions !== null) {\n\t\tfor (const transition of effect.transitions) {\n\t\t\tif (transition.is_global || local) {\n\t\t\t\ttransitions.push(transition);\n\t\t\t}\n\t\t}\n\t}\n\n\tvar child = effect.first;\n\n\twhile (child !== null) {\n\t\tvar sibling = child.next;\n\t\tvar transparent = (child.f & EFFECT_TRANSPARENT) !== 0 || (child.f & BRANCH_EFFECT) !== 0;\n\t\t// TODO we don't need to call pause_children recursively with a linked list in place\n\t\t// it's slightly more involved though as we have to account for `transparent` changing\n\t\t// through the tree.\n\t\tpause_children(child, transitions, transparent ? local : false);\n\t\tchild = sibling;\n\t}\n}\n\n/**\n * The opposite of `pause_effect`. We call this if (for example)\n * `x` becomes falsy then truthy: `{#if x}...{/if}`\n * @param {Effect} effect\n */\nexport function resume_effect(effect) {\n\tresume_children(effect, true);\n}\n\n/**\n * @param {Effect} effect\n * @param {boolean} local\n */\nfunction resume_children(effect, local) {\n\tif ((effect.f & INERT) === 0) return;\n\n\t// If a dependency of this effect changed while it was paused,\n\t// apply the change now\n\tif (check_dirtiness(effect)) {\n\t\tupdate_effect(effect);\n\t}\n\n\t// Ensure we toggle the flag after possibly updating the effect so that\n\t// each block logic can correctly operate on inert items\n\teffect.f ^= INERT;\n\n\tvar child = effect.first;\n\n\twhile (child !== null) {\n\t\tvar sibling = child.next;\n\t\tvar transparent = (child.f & EFFECT_TRANSPARENT) !== 0 || (child.f & BRANCH_EFFECT) !== 0;\n\t\t// TODO we don't need to call resume_children recursively with a linked list in place\n\t\t// it's slightly more involved though as we have to account for `transparent` changing\n\t\t// through the tree.\n\t\tresume_children(child, transparent ? local : false);\n\t\tchild = sibling;\n\t}\n\n\tif (effect.transitions !== null) {\n\t\tfor (const transition of effect.transitions) {\n\t\t\tif (transition.is_global || local) {\n\t\t\t\ttransition.in();\n\t\t\t}\n\t\t}\n\t}\n}\n","import { run_all } from '../../shared/utils.js';\n\n// Fallback for when requestIdleCallback is not available\nconst request_idle_callback =\n\ttypeof requestIdleCallback === 'undefined'\n\t\t? (/** @type {() => void} */ cb) => setTimeout(cb, 1)\n\t\t: requestIdleCallback;\n\nlet is_micro_task_queued = false;\nlet is_idle_task_queued = false;\n\n/** @type {Array<() => void>} */\nlet current_queued_micro_tasks = [];\n/** @type {Array<() => void>} */\nlet current_queued_idle_tasks = [];\n\nfunction process_micro_tasks() {\n\tis_micro_task_queued = false;\n\tconst tasks = current_queued_micro_tasks.slice();\n\tcurrent_queued_micro_tasks = [];\n\trun_all(tasks);\n}\n\nfunction process_idle_tasks() {\n\tis_idle_task_queued = false;\n\tconst tasks = current_queued_idle_tasks.slice();\n\tcurrent_queued_idle_tasks = [];\n\trun_all(tasks);\n}\n\n/**\n * @param {() => void} fn\n */\nexport function queue_micro_task(fn) {\n\tif (!is_micro_task_queued) {\n\t\tis_micro_task_queued = true;\n\t\tqueueMicrotask(process_micro_tasks);\n\t}\n\tcurrent_queued_micro_tasks.push(fn);\n}\n\n/**\n * @param {() => void} fn\n */\nexport function queue_idle_task(fn) {\n\tif (!is_idle_task_queued) {\n\t\tis_idle_task_queued = true;\n\t\trequest_idle_callback(process_idle_tasks);\n\t}\n\tcurrent_queued_idle_tasks.push(fn);\n}\n\n/**\n * Synchronously run any queued tasks.\n */\nexport function flush_tasks() {\n\tif (is_micro_task_queued) {\n\t\tprocess_micro_tasks();\n\t}\n\tif (is_idle_task_queued) {\n\t\tprocess_idle_tasks();\n\t}\n}\n","/* This file is generated by scripts/process-messages/index.js. Do not edit! */\n\nimport { DEV } from 'esm-env';\n\n/**\n * Cannot use `{@render children(...)}` if the parent component uses `let:` directives. Consider using a named snippet instead\n * @returns {never}\n */\nexport function invalid_default_snippet() {\n\tif (DEV) {\n\t\tconst error = new Error(`invalid_default_snippet\\nCannot use \\`{@render children(...)}\\` if the parent component uses \\`let:\\` directives. Consider using a named snippet instead`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tthrow new Error(\"invalid_default_snippet\");\n\t}\n}\n\n/**\n * `%name%(...)` can only be used during component initialisation\n * @param {string} name\n * @returns {never}\n */\nexport function lifecycle_outside_component(name) {\n\tif (DEV) {\n\t\tconst error = new Error(`lifecycle_outside_component\\n\\`${name}(...)\\` can only be used during component initialisation`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tthrow new Error(\"lifecycle_outside_component\");\n\t}\n}\n\n/**\n * `%name%` is not a store with a `subscribe` method\n * @param {string} name\n * @returns {never}\n */\nexport function store_invalid_shape(name) {\n\tif (DEV) {\n\t\tconst error = new Error(`store_invalid_shape\\n\\`${name}\\` is not a store with a \\`subscribe\\` method`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tthrow new Error(\"store_invalid_shape\");\n\t}\n}\n\n/**\n * The `this` prop on `<svelte:element>` must be a string, if defined\n * @returns {never}\n */\nexport function svelte_element_invalid_this_value() {\n\tif (DEV) {\n\t\tconst error = new Error(`svelte_element_invalid_this_value\\nThe \\`this\\` prop on \\`<svelte:element>\\` must be a string, if defined`);\n\n\t\terror.name = 'Svelte error';\n\t\tthrow error;\n\t} else {\n\t\t// TODO print a link to the documentation\n\t\tthrow new Error(\"svelte_element_invalid_this_value\");\n\t}\n}","/** @import { ComponentContext, Derived, Effect, Reaction, Signal, Source, Value } from '#client' */\nimport { DEV } from 'esm-env';\nimport { define_property, get_descriptors, get_prototype_of } from '../shared/utils.js';\nimport {\n\tdestroy_block_effect_children,\n\tdestroy_effect_children,\n\tdestroy_effect_deriveds,\n\teffect,\n\texecute_effect_teardown,\n\tunlink_effect\n} from './reactivity/effects.js';\nimport {\n\tEFFECT,\n\tRENDER_EFFECT,\n\tDIRTY,\n\tMAYBE_DIRTY,\n\tCLEAN,\n\tDERIVED,\n\tUNOWNED,\n\tDESTROYED,\n\tINERT,\n\tBRANCH_EFFECT,\n\tSTATE_SYMBOL,\n\tBLOCK_EFFECT,\n\tROOT_EFFECT,\n\tLEGACY_DERIVED_PROP,\n\tDISCONNECTED\n} from './constants.js';\nimport { flush_tasks } from './dom/task.js';\nimport { add_owner } from './dev/ownership.js';\nimport { mutate, set, source } from './reactivity/sources.js';\nimport { destroy_derived, execute_derived, update_derived } from './reactivity/deriveds.js';\nimport * as e from './errors.js';\nimport { lifecycle_outside_component } from '../shared/errors.js';\nimport { FILENAME } from '../../constants.js';\nimport { legacy_mode_flag } from '../flags/index.js';\n\nconst FLUSH_MICROTASK = 0;\nconst FLUSH_SYNC = 1;\n\n// Used for DEV time error handling\n/** @param {WeakSet<Error>} value */\nconst handled_errors = new WeakSet();\n// Used for controlling the flush of effects.\nlet scheduler_mode = FLUSH_MICROTASK;\n// Used for handling scheduling\nlet is_micro_task_queued = false;\n\nexport let is_flushing_effect = false;\nexport let is_destroying_effect = false;\n\n/** @param {boolean} value */\nexport function set_is_flushing_effect(value) {\n\tis_flushing_effect = value;\n}\n\n/** @param {boolean} value */\nexport function set_is_destroying_effect(value) {\n\tis_destroying_effect = value;\n}\n\n// Handle effect queues\n\n/** @type {Effect[]} */\nlet queued_root_effects = [];\n\nlet flush_count = 0;\n/** @type {Effect[]} Stack of effects, dev only */\nlet dev_effect_stack = [];\n// Handle signal reactivity tree dependencies and reactions\n\n/** @type {null | Reaction} */\nexport let active_reaction = null;\n\n/** @param {null | Reaction} reaction */\nexport function set_active_reaction(reaction) {\n\tactive_reaction = reaction;\n}\n\n/** @type {null | Effect} */\nexport let active_effect = null;\n\n/** @param {null | Effect} effect */\nexport function set_active_effect(effect) {\n\tactive_effect = effect;\n}\n\n/**\n * When sources are created within a derived, we record them so that we can safely allow\n * local mutations to these sources without the side-effect error being invoked unnecessarily.\n * @type {null | Source[]}\n */\nexport let derived_sources = null;\n\n/**\n * @param {Source[] | null} sources\n */\nexport function set_derived_sources(sources) {\n\tderived_sources = sources;\n}\n\n/**\n * The dependencies of the reaction that is currently being executed. In many cases,\n * the dependencies are unchanged between runs, and so this will be `null` unless\n * and until a new dependency is accessed — we track this via `skipped_deps`\n * @type {null | Value[]}\n */\nexport let new_deps = null;\n\nlet skipped_deps = 0;\n\n/**\n * Tracks writes that the effect it's executed in doesn't listen to yet,\n * so that the dependency can be added to the effect later on if it then reads it\n * @type {null | Source[]}\n */\nexport let untracked_writes = null;\n\n/** @param {null | Source[]} value */\nexport function set_untracked_writes(value) {\n\tuntracked_writes = value;\n}\n\n/** @type {number} Used by sources and deriveds for handling updates to unowned deriveds */\nlet current_version = 0;\n\n// If we are working with a get() chain that has no active container,\n// to prevent memory leaks, we skip adding the reaction.\nexport let skip_reaction = false;\n// Handle collecting all signals which are read during a specific time frame\n/** @type {Set<Value> | null} */\nexport let captured_signals = null;\n\n// Handling runtime component context\n/** @type {ComponentContext | null} */\nexport let component_context = null;\n\n/** @param {ComponentContext | null} context */\nexport function set_component_context(context) {\n\tcomponent_context = context;\n}\n\n/**\n * The current component function. Different from current component context:\n * ```html\n * <!-- App.svelte -->\n * <Foo>\n * <Bar /> <!-- context == Foo.svelte, function == App.svelte -->\n * </Foo>\n * ```\n * @type {ComponentContext['function']}\n */\nexport let dev_current_component_function = null;\n\n/** @param {ComponentContext['function']} fn */\nexport function set_dev_current_component_function(fn) {\n\tdev_current_component_function = fn;\n}\n\nexport function increment_version() {\n\treturn ++current_version;\n}\n\n/** @returns {boolean} */\nexport function is_runes() {\n\treturn !legacy_mode_flag || (component_context !== null && component_context.l === null);\n}\n\n/**\n * Determines whether a derived or effect is dirty.\n * If it is MAYBE_DIRTY, will set the status to CLEAN\n * @param {Reaction} reaction\n * @returns {boolean}\n */\nexport function check_dirtiness(reaction) {\n\tvar flags = reaction.f;\n\n\tif ((flags & DIRTY) !== 0) {\n\t\treturn true;\n\t}\n\n\tif ((flags & MAYBE_DIRTY) !== 0) {\n\t\tvar dependencies = reaction.deps;\n\t\tvar is_unowned = (flags & UNOWNED) !== 0;\n\n\t\tif (dependencies !== null) {\n\t\t\tvar i;\n\n\t\t\tif ((flags & DISCONNECTED) !== 0) {\n\t\t\t\tfor (i = 0; i < dependencies.length; i++) {\n\t\t\t\t\t(dependencies[i].reactions ??= []).push(reaction);\n\t\t\t\t}\n\n\t\t\t\treaction.f ^= DISCONNECTED;\n\t\t\t}\n\n\t\t\tfor (i = 0; i < dependencies.length; i++) {\n\t\t\t\tvar dependency = dependencies[i];\n\n\t\t\t\tif (check_dirtiness(/** @type {Derived} */ (dependency))) {\n\t\t\t\t\tupdate_derived(/** @type {Derived} */ (dependency));\n\t\t\t\t}\n\n\t\t\t\t// If we are working with an unowned signal as part of an effect (due to !skip_reaction)\n\t\t\t\t// and the version hasn't changed, we still need to check that this reaction\n\t\t\t\t// is linked to the dependency source otherwise future updates will not be caught.\n\t\t\t\tif (\n\t\t\t\t\tis_unowned &&\n\t\t\t\t\tactive_effect !== null &&\n\t\t\t\t\t!skip_reaction &&\n\t\t\t\t\t!dependency?.reactions?.includes(reaction)\n\t\t\t\t) {\n\t\t\t\t\t(dependency.reactions ??= []).push(reaction);\n\t\t\t\t}\n\n\t\t\t\tif (dependency.version > reaction.version) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Unowned signals should never be marked as clean.\n\t\tif (!is_unowned) {\n\t\t\tset_signal_status(reaction, CLEAN);\n\t\t}\n\t}\n\n\treturn false;\n}\n\n/**\n * @param {Error} error\n * @param {Effect} effect\n * @param {ComponentContext | null} component_context\n */\nfunction handle_error(error, effect, component_context) {\n\t// Given we don't yet have error boundaries, we will just always throw.\n\tif (!DEV || handled_errors.has(error) || component_context === null) {\n\t\tthrow error;\n\t}\n\n\tconst component_stack = [];\n\n\tconst effect_name = effect.fn?.name;\n\n\tif (effect_name) {\n\t\tcomponent_stack.push(effect_name);\n\t}\n\n\t/** @type {ComponentContext | null} */\n\tlet current_context = component_context;\n\n\twhile (current_context !== null) {\n\t\tif (DEV) {\n\t\t\t/** @type {string} */\n\t\t\tvar filename = current_context.function?.[FILENAME];\n\n\t\t\tif (filename) {\n\t\t\t\tconst file = filename.split('/').pop();\n\t\t\t\tcomponent_stack.push(file);\n\t\t\t}\n\t\t}\n\n\t\tcurrent_context = current_context.p;\n\t}\n\n\tconst indent = /Firefox/.test(navigator.userAgent) ? ' ' : '\\t';\n\tdefine_property(error, 'message', {\n\t\tvalue: error.message + `\\n${component_stack.map((name) => `\\n${indent}in ${name}`).join('')}\\n`\n\t});\n\n\tconst stack = error.stack;\n\n\t// Filter out internal files from callstack\n\tif (stack) {\n\t\tconst lines = stack.split('\\n');\n\t\tconst new_lines = [];\n\t\tfor (let i = 0; i < lines.length; i++) {\n\t\t\tconst line = lines[i];\n\t\t\tif (line.includes('svelte/src/internal')) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tnew_lines.push(line);\n\t\t}\n\t\tdefine_property(error, 'stack', {\n\t\t\tvalue: error.stack + new_lines.join('\\n')\n\t\t});\n\t}\n\n\thandled_errors.add(error);\n\tthrow error;\n}\n\n/**\n * @template V\n * @param {Reaction} reaction\n * @returns {V}\n */\nexport function update_reaction(reaction) {\n\tvar previous_deps = new_deps;\n\tvar previous_skipped_deps = skipped_deps;\n\tvar previous_untracked_writes = untracked_writes;\n\tvar previous_reaction = active_reaction;\n\tvar previous_skip_reaction = skip_reaction;\n\tvar prev_derived_sources = derived_sources;\n\tvar previous_component_context = component_context;\n\tvar flags = reaction.f;\n\n\tnew_deps = /** @type {null | Value[]} */ (null);\n\tskipped_deps = 0;\n\tuntracked_writes = null;\n\tactive_reaction = (flags & (BRANCH_EFFECT | ROOT_EFFECT)) === 0 ? reaction : null;\n\tskip_reaction = !is_flushing_effect && (flags & UNOWNED) !== 0;\n\tderived_sources = null;\n\tcomponent_context = reaction.ctx;\n\n\ttry {\n\t\tvar result = /** @type {Function} */ (0, reaction.fn)();\n\t\tvar deps = reaction.deps;\n\n\t\tif (new_deps !== null) {\n\t\t\tvar i;\n\n\t\t\tremove_reactions(reaction, skipped_deps);\n\n\t\t\tif (deps !== null && skipped_deps > 0) {\n\t\t\t\tdeps.length = skipped_deps + new_deps.length;\n\t\t\t\tfor (i = 0; i < new_deps.length; i++) {\n\t\t\t\t\tdeps[skipped_deps + i] = new_deps[i];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treaction.deps = deps = new_deps;\n\t\t\t}\n\n\t\t\tif (!skip_reaction) {\n\t\t\t\tfor (i = skipped_deps; i < deps.length; i++) {\n\t\t\t\t\t(deps[i].reactions ??= []).push(reaction);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (deps !== null && skipped_deps < deps.length) {\n\t\t\tremove_reactions(reaction, skipped_deps);\n\t\t\tdeps.length = skipped_deps;\n\t\t}\n\n\t\treturn result;\n\t} finally {\n\t\tnew_deps = previous_deps;\n\t\tskipped_deps = previous_skipped_deps;\n\t\tuntracked_writes = previous_untracked_writes;\n\t\tactive_reaction = previous_reaction;\n\t\tskip_reaction = previous_skip_reaction;\n\t\tderived_sources = prev_derived_sources;\n\t\tcomponent_context = previous_component_context;\n\t}\n}\n\n/**\n * @template V\n * @param {Reaction} signal\n * @param {Value<V>} dependency\n * @returns {void}\n */\nfunction remove_reaction(signal, dependency) {\n\tlet reactions = dependency.reactions;\n\tif (reactions !== null) {\n\t\tvar index = reactions.indexOf(signal);\n\t\tif (index !== -1) {\n\t\t\tvar new_length = reactions.length - 1;\n\t\t\tif (new_length === 0) {\n\t\t\t\treactions = dependency.reactions = null;\n\t\t\t} else {\n\t\t\t\t// Swap with last element and then remove.\n\t\t\t\treactions[index] = reactions[new_length];\n\t\t\t\treactions.pop();\n\t\t\t}\n\t\t}\n\t}\n\t// If the derived has no reactions, then we can disconnect it from the graph,\n\t// allowing it to either reconnect in the future, or be GC'd by the VM.\n\tif (\n\t\treactions === null &&\n\t\t(dependency.f & DERIVED) !== 0 &&\n\t\t// Destroying a child effect while updating a parent effect can cause a dependency to appear\n\t\t// to be unused, when in fact it is used by the currently-updating parent. Checking `new_deps`\n\t\t// allows us to skip the expensive work of disconnecting and immediately reconnecting it\n\t\t(new_deps === null || !new_deps.includes(dependency))\n\t) {\n\t\tset_signal_status(dependency, MAYBE_DIRTY);\n\t\t// If we are working with a derived that is owned by an effect, then mark it as being\n\t\t// disconnected.\n\t\tif ((dependency.f & (UNOWNED | DISCONNECTED)) === 0) {\n\t\t\tdependency.f ^= DISCONNECTED;\n\t\t}\n\t\tremove_reactions(/** @type {Derived} **/ (dependency), 0);\n\t}\n}\n\n/**\n * @param {Reaction} signal\n * @param {number} start_index\n * @returns {void}\n */\nexport function remove_reactions(signal, start_index) {\n\tvar dependencies = signal.deps;\n\tif (dependencies === null) return;\n\n\tfor (var i = start_index; i < dependencies.length; i++) {\n\t\tremove_reaction(signal, dependencies[i]);\n\t}\n}\n\n/**\n * @param {Effect} effect\n * @returns {void}\n */\nexport function update_effect(effect) {\n\tvar flags = effect.f;\n\n\tif ((flags & DESTROYED) !== 0) {\n\t\treturn;\n\t}\n\n\tset_signal_status(effect, CLEAN);\n\n\tvar previous_effect = active_effect;\n\tvar previous_component_context = component_context;\n\n\tactive_effect = effect;\n\n\tif (DEV) {\n\t\tvar previous_component_fn = dev_current_component_function;\n\t\tdev_current_component_function = effect.component_function;\n\t}\n\n\ttry {\n\t\tif ((flags & BLOCK_EFFECT) !== 0) {\n\t\t\tdestroy_block_effect_children(effect);\n\t\t} else {\n\t\t\tdestroy_effect_children(effect);\n\t\t}\n\t\tdestroy_effect_deriveds(effect);\n\n\t\texecute_effect_teardown(effect);\n\t\tvar teardown = update_reaction(effect);\n\t\teffect.teardown = typeof teardown === 'function' ? teardown : null;\n\t\teffect.version = current_version;\n\n\t\tif (DEV) {\n\t\t\tdev_effect_stack.push(effect);\n\t\t}\n\t} catch (error) {\n\t\thandle_error(/** @type {Error} */ (error), effect, previous_component_context);\n\t} finally {\n\t\tactive_effect = previous_effect;\n\n\t\tif (DEV) {\n\t\t\tdev_current_component_function = previous_component_fn;\n\t\t}\n\t}\n}\n\nfunction infinite_loop_guard() {\n\tif (flush_count > 1000) {\n\t\tflush_count = 0;\n\t\tif (DEV) {\n\t\t\ttry {\n\t\t\t\te.effect_update_depth_exceeded();\n\t\t\t} catch (error) {\n\t\t\t\t// stack is garbage, ignore. Instead add a console.error message.\n\t\t\t\tdefine_property(error, 'stack', {\n\t\t\t\t\tvalue: ''\n\t\t\t\t});\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.error(\n\t\t\t\t\t'Last ten effects were: ',\n\t\t\t\t\tdev_effect_stack.slice(-10).map((d) => d.fn)\n\t\t\t\t);\n\t\t\t\tdev_effect_stack = [];\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t} else {\n\t\t\te.effect_update_depth_exceeded();\n\t\t}\n\t}\n\tflush_count++;\n}\n\n/**\n * @param {Array<Effect>} root_effects\n * @returns {void}\n */\nfunction flush_queued_root_effects(root_effects) {\n\tvar length = root_effects.length;\n\tif (length === 0) {\n\t\treturn;\n\t}\n\tinfinite_loop_guard();\n\n\tvar previously_flushing_effect = is_flushing_effect;\n\tis_flushing_effect = true;\n\n\ttry {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tvar effect = root_effects[i];\n\n\t\t\tif ((effect.f & CLEAN) === 0) {\n\t\t\t\teffect.f ^= CLEAN;\n\t\t\t}\n\n\t\t\t/** @type {Effect[]} */\n\t\t\tvar collected_effects = [];\n\n\t\t\tprocess_effects(effect, collected_effects);\n\t\t\tflush_queued_effects(collected_effects);\n\t\t}\n\t} finally {\n\t\tis_flushing_effect = previously_flushing_effect;\n\t}\n}\n\n/**\n * @param {Array<Effect>} effects\n * @returns {void}\n */\nfunction flush_queued_effects(effects) {\n\tvar length = effects.length;\n\tif (length === 0) return;\n\n\tfor (var i = 0; i < length; i++) {\n\t\tvar effect = effects[i];\n\n\t\tif ((effect.f & (DESTROYED | INERT)) === 0 && check_dirtiness(effect)) {\n\t\t\tupdate_effect(effect);\n\n\t\t\t// Effects with no dependencies or teardown do not get added to the effect tree.\n\t\t\t// Deferred effects (e.g. `$effect(...)`) _are_ added to the tree because we\n\t\t\t// don't know if we need to keep them until they are executed. Doing the check\n\t\t\t// here (rather than in `update_effect`) allows us to skip the work for\n\t\t\t// immediate effects.\n\t\t\tif (effect.deps === null && effect.first === null && effect.nodes_start === null) {\n\t\t\t\tif (effect.teardown === null) {\n\t\t\t\t\t// remove this effect from the graph\n\t\t\t\t\tunlink_effect(effect);\n\t\t\t\t} else {\n\t\t\t\t\t// keep the effect in the graph, but free up some memory\n\t\t\t\t\teffect.fn = null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction process_deferred() {\n\tis_micro_task_queued = false;\n\tif (flush_count > 1001) {\n\t\treturn;\n\t}\n\tconst previous_queued_root_effects = queued_root_effects;\n\tqueued_root_effects = [];\n\tflush_queued_root_effects(previous_queued_root_effects);\n\tif (!is_micro_task_queued) {\n\t\tflush_count = 0;\n\t\tif (DEV) {\n\t\t\tdev_effect_stack = [];\n\t\t}\n\t}\n}\n\n/**\n * @param {Effect} signal\n * @returns {void}\n */\nexport function schedule_effect(signal) {\n\tif (scheduler_mode === FLUSH_MICROTASK) {\n\t\tif (!is_micro_task_queued) {\n\t\t\tis_micro_task_queued = true;\n\t\t\tqueueMicrotask(process_deferred);\n\t\t}\n\t}\n\n\tvar effect = signal;\n\n\twhile (effect.parent !== null) {\n\t\teffect = effect.parent;\n\t\tvar flags = effect.f;\n\n\t\tif ((flags & (ROOT_EFFECT | BRANCH_EFFECT)) !== 0) {\n\t\t\tif ((flags & CLEAN) === 0) return;\n\t\t\teffect.f ^= CLEAN;\n\t\t}\n\t}\n\n\tqueued_root_effects.push(effect);\n}\n\n/**\n *\n * This function both runs render effects and collects user effects in topological order\n * from the starting effect passed in. Effects will be collected when they match the filtered\n * bitwise flag passed in only. The collected effects array will be populated with all the user\n * effects to be flushed.\n *\n * @param {Effect} effect\n * @param {Effect[]} collected_effects\n * @returns {void}\n */\nfunction process_effects(effect, collected_effects) {\n\tvar current_effect = effect.first;\n\tvar effects = [];\n\n\tmain_loop: while (current_effect !== null) {\n\t\tvar flags = current_effect.f;\n\t\tvar is_branch = (flags & BRANCH_EFFECT) !== 0;\n\t\tvar is_skippable_branch = is_branch && (flags & CLEAN) !== 0;\n\n\t\tif (!is_skippable_branch && (flags & INERT) === 0) {\n\t\t\tif ((flags & RENDER_EFFECT) !== 0) {\n\t\t\t\tif (is_branch) {\n\t\t\t\t\tcurrent_effect.f ^= CLEAN;\n\t\t\t\t} else if (check_dirtiness(current_effect)) {\n\t\t\t\t\tupdate_effect(current_effect);\n\t\t\t\t}\n\n\t\t\t\tvar child = current_effect.first;\n\n\t\t\t\tif (child !== null) {\n\t\t\t\t\tcurrent_effect = child;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t} else if ((flags & EFFECT) !== 0) {\n\t\t\t\teffects.push(current_effect);\n\t\t\t}\n\t\t}\n\n\t\tvar sibling = current_effect.next;\n\n\t\tif (sibling === null) {\n\t\t\tlet parent = current_effect.parent;\n\n\t\t\twhile (parent !== null) {\n\t\t\t\tif (effect === parent) {\n\t\t\t\t\tbreak main_loop;\n\t\t\t\t}\n\t\t\t\tvar parent_sibling = parent.next;\n\t\t\t\tif (parent_sibling !== null) {\n\t\t\t\t\tcurrent_effect = parent_sibling;\n\t\t\t\t\tcontinue main_loop;\n\t\t\t\t}\n\t\t\t\tparent = parent.parent;\n\t\t\t}\n\t\t}\n\n\t\tcurrent_effect = sibling;\n\t}\n\n\t// We might be dealing with many effects here, far more than can be spread into\n\t// an array push call (callstack overflow). So let's deal with each effect in a loop.\n\tfor (var i = 0; i < effects.length; i++) {\n\t\tchild = effects[i];\n\t\tcollected_effects.push(child);\n\t\tprocess_effects(child, collected_effects);\n\t}\n}\n\n/**\n * Internal version of `flushSync` with the option to not flush previous effects.\n * Returns the result of the passed function, if given.\n * @param {() => any} [fn]\n * @returns {any}\n */\nexport function flush_sync(fn) {\n\tvar previous_scheduler_mode = scheduler_mode;\n\tvar previous_queued_root_effects = queued_root_effects;\n\n\ttry {\n\t\tinfinite_loop_guard();\n\n\t\t/** @type {Effect[]} */\n\t\tconst root_effects = [];\n\n\t\tscheduler_mode = FLUSH_SYNC;\n\t\tqueued_root_effects = root_effects;\n\t\tis_micro_task_queued = false;\n\n\t\tflush_queued_root_effects(previous_queued_root_effects);\n\n\t\tvar result = fn?.();\n\n\t\tflush_tasks();\n\t\tif (queued_root_effects.length > 0 || root_effects.length > 0) {\n\t\t\tflush_sync();\n\t\t}\n\n\t\tflush_count = 0;\n\t\tif (DEV) {\n\t\t\tdev_effect_stack = [];\n\t\t}\n\n\t\treturn result;\n\t} finally {\n\t\tscheduler_mode = previous_scheduler_mode;\n\t\tqueued_root_effects = previous_queued_root_effects;\n\t}\n}\n\n/**\n * Returns a promise that resolves once any pending state changes have been applied.\n * @returns {Promise<void>}\n */\nexport async function tick() {\n\tawait Promise.resolve();\n\t// By calling flush_sync we guarantee that any pending state changes are applied after one tick.\n\t// TODO look into whether we can make flushing subsequent updates synchronously in the future.\n\tflush_sync();\n}\n\n/**\n * @template V\n * @param {Value<V>} signal\n * @returns {V}\n */\nexport function get(signal) {\n\tvar flags = signal.f;\n\tvar is_derived = (flags & DERIVED) !== 0;\n\n\t// If the derived is destroyed, just execute it again without retaining\n\t// its memoisation properties as the derived is stale\n\tif (is_derived && (flags & DESTROYED) !== 0) {\n\t\tvar value = execute_derived(/** @type {Derived} */ (signal));\n\t\t// Ensure the derived remains destroyed\n\t\tdestroy_derived(/** @type {Derived} */ (signal));\n\t\treturn value;\n\t}\n\n\tif (captured_signals !== null) {\n\t\tcaptured_signals.add(signal);\n\t}\n\n\t// Register the dependency on the current reaction signal.\n\tif (active_reaction !== null) {\n\t\tif (derived_sources !== null && derived_sources.includes(signal)) {\n\t\t\te.state_unsafe_local_read();\n\t\t}\n\t\tvar deps = active_reaction.deps;\n\n\t\t// If the signal is accessing the same dependencies in the same\n\t\t// order as it did last time, increment `skipped_deps`\n\t\t// rather than updating `new_deps`, which creates GC cost\n\t\tif (new_deps === null && deps !== null && deps[skipped_deps] === signal) {\n\t\t\tskipped_deps++;\n\t\t} else if (new_deps === null) {\n\t\t\tnew_deps = [signal];\n\t\t} else {\n\t\t\tnew_deps.push(signal);\n\t\t}\n\n\t\tif (\n\t\t\tuntracked_writes !== null &&\n\t\t\tactive_effect !== null &&\n\t\t\t(active_effect.f & CLEAN) !== 0 &&\n\t\t\t(active_effect.f & BRANCH_EFFECT) === 0 &&\n\t\t\tuntracked_writes.includes(signal)\n\t\t) {\n\t\t\tset_signal_status(active_effect, DIRTY);\n\t\t\tschedule_effect(active_effect);\n\t\t}\n\t} else if (is_derived && /** @type {Derived} */ (signal).deps === null) {\n\t\tvar derived = /** @type {Derived} */ (signal);\n\t\tvar parent = derived.parent;\n\n\t\tif (parent !== null && !parent.deriveds?.includes(derived)) {\n\t\t\t(parent.deriveds ??= []).push(derived);\n\t\t}\n\t}\n\n\tif (is_derived) {\n\t\tderived = /** @type {Derived} */ (signal);\n\n\t\tif (check_dirtiness(derived)) {\n\t\t\tupdate_derived(derived);\n\t\t}\n\t}\n\n\treturn signal.v;\n}\n\n/**\n * Like `get`, but checks for `undefined`. Used for `var` declarations because they can be accessed before being declared\n * @template V\n * @param {Value<V> | undefined} signal\n * @returns {V | undefined}\n */\nexport function safe_get(signal) {\n\treturn signal && get(signal);\n}\n\n/**\n * Invokes a function and captures all signals that are read during the invocation,\n * then invalidates them.\n * @param {() => any} fn\n */\nexport function invalidate_inner_signals(fn) {\n\tvar previous_captured_signals = captured_signals;\n\tcaptured_signals = new Set();\n\tvar captured = captured_signals;\n\tvar signal;\n\ttry {\n\t\tuntrack(fn);\n\t\tif (previous_captured_signals !== null) {\n\t\t\tfor (signal of captured_signals) {\n\t\t\t\tprevious_captured_signals.add(signal);\n\t\t\t}\n\t\t}\n\t} finally {\n\t\tcaptured_signals = previous_captured_signals;\n\t}\n\tfor (signal of captured) {\n\t\t// Go one level up because derived signals created as part of props in legacy mode\n\t\tif ((signal.f & LEGACY_DERIVED_PROP) !== 0) {\n\t\t\tfor (const dep of /** @type {Derived} */ (signal).deps || []) {\n\t\t\t\tif ((dep.f & DERIVED) === 0) {\n\t\t\t\t\tmutate(dep, null /* doesnt matter */);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tmutate(signal, null /* doesnt matter */);\n\t\t}\n\t}\n}\n\n/**\n * When used inside a [`$derived`](https://svelte.dev/docs/svelte/$derived) or [`$effect`](https://svelte.dev/docs/svelte/$effect),\n * any state read inside `fn` will not be treated as a dependency.\n *\n * ```ts\n * $effect(() => {\n * // this will run when `data` changes, but not when `time` changes\n * save(data, {\n * timestamp: untrack(() => time)\n * });\n * });\n * ```\n * @template T\n * @param {() => T} fn\n * @returns {T}\n */\nexport function untrack(fn) {\n\tconst previous_reaction = active_reaction;\n\ttry {\n\t\tactive_reaction = null;\n\t\treturn fn();\n\t} finally {\n\t\tactive_reaction = previous_reaction;\n\t}\n}\n\nconst STATUS_MASK = ~(DIRTY | MAYBE_DIRTY | CLEAN);\n\n/**\n * @param {Signal} signal\n * @param {number} status\n * @returns {void}\n */\nexport function set_signal_status(signal, status) {\n\tsignal.f = (signal.f & STATUS_MASK) | status;\n}\n\n/**\n * Retrieves the context that belongs to the closest parent component with the specified `key`.\n * Must be called during component initialisation.\n *\n * @template T\n * @param {any} key\n * @returns {T}\n */\nexport function getContext(key) {\n\tconst context_map = get_or_init_context_map('getContext');\n\tconst result = /** @type {T} */ (context_map.get(key));\n\n\tif (DEV) {\n\t\tconst fn = /** @type {ComponentContext} */ (component_context).function;\n\t\tif (fn) {\n\t\t\tadd_owner(result, fn, true);\n\t\t}\n\t}\n\n\treturn result;\n}\n\n/**\n * Associates an arbitrary `context` object with the current component and the specified `key`\n * and returns that object. The context is then available to children of the component\n * (including slotted content) with `getContext`.\n *\n * Like lifecycle functions, this must be called during component initialisation.\n *\n * @template T\n * @param {any} key\n * @param {T} context\n * @returns {T}\n */\nexport function setContext(key, context) {\n\tconst context_map = get_or_init_context_map('setContext');\n\tcontext_map.set(key, context);\n\treturn context;\n}\n\n/**\n * Checks whether a given `key` has been set in the context of a parent component.\n * Must be called during component initialisation.\n *\n * @param {any} key\n * @returns {boolean}\n */\nexport function hasContext(key) {\n\tconst context_map = get_or_init_context_map('hasContext');\n\treturn context_map.has(key);\n}\n\n/**\n * Retrieves the whole context map that belongs to the closest parent component.\n * Must be called during component initialisation. Useful, for example, if you\n * programmatically create a component and want to pass the existing context to it.\n *\n * @template {Map<any, any>} [T=Map<any, any>]\n * @returns {T}\n */\nexport function getAllContexts() {\n\tconst context_map = get_or_init_context_map('getAllContexts');\n\n\tif (DEV) {\n\t\tconst fn = component_context?.function;\n\t\tif (fn) {\n\t\t\tfor (const value of context_map.values()) {\n\t\t\t\tadd_owner(value, fn, true);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn /** @type {T} */ (context_map);\n}\n\n/**\n * @param {string} name\n * @returns {Map<unknown, unknown>}\n */\nfunction get_or_init_context_map(name) {\n\tif (component_context === null) {\n\t\tlifecycle_outside_component(name);\n\t}\n\n\treturn (component_context.c ??= new Map(get_parent_context(component_context) || undefined));\n}\n\n/**\n * @param {ComponentContext} component_context\n * @returns {Map<unknown, unknown> | null}\n */\nfunction get_parent_context(component_context) {\n\tlet parent = component_context.p;\n\twhile (parent !== null) {\n\t\tconst context_map = parent.c;\n\t\tif (context_map !== null) {\n\t\t\treturn context_map;\n\t\t}\n\t\tparent = parent.p;\n\t}\n\treturn null;\n}\n\n/**\n * @param {Value<number>} signal\n * @param {1 | -1} [d]\n * @returns {number}\n */\nexport function update(signal, d = 1) {\n\tvar value = +get(signal);\n\tset(signal, value + d);\n\treturn value;\n}\n\n/**\n * @param {Value<number>} signal\n * @param {1 | -1} [d]\n * @returns {number}\n */\nexport function update_pre(signal, d = 1) {\n\treturn set(signal, +get(signal) + d);\n}\n\n/**\n * @param {Record<string, unknown>} obj\n * @param {string[]} keys\n * @returns {Record<string, unknown>}\n */\nexport function exclude_from_object(obj, keys) {\n\t/** @type {Record<string, unknown>} */\n\tvar result = {};\n\n\tfor (var key in obj) {\n\t\tif (!keys.includes(key)) {\n\t\t\tresult[key] = obj[key];\n\t\t}\n\t}\n\n\treturn result;\n}\n\n/**\n * @param {Record<string, unknown>} props\n * @param {any} runes\n * @param {Function} [fn]\n * @returns {void}\n */\nexport function push(props, runes = false, fn) {\n\tcomponent_context = {\n\t\tp: component_context,\n\t\tc: null,\n\t\te: null,\n\t\tm: false,\n\t\ts: props,\n\t\tx: null,\n\t\tl: null\n\t};\n\n\tif (legacy_mode_flag && !runes) {\n\t\tcomponent_context.l = {\n\t\t\ts: null,\n\t\t\tu: null,\n\t\t\tr1: [],\n\t\t\tr2: source(false)\n\t\t};\n\t}\n\n\tif (DEV) {\n\t\t// component function\n\t\tcomponent_context.function = fn;\n\t\tdev_current_component_function = fn;\n\t}\n}\n\n/**\n * @template {Record<string, any>} T\n * @param {T} [component]\n * @returns {T}\n */\nexport function pop(component) {\n\tconst context_stack_item = component_context;\n\tif (context_stack_item !== null) {\n\t\tif (component !== undefined) {\n\t\t\tcontext_stack_item.x = component;\n\t\t}\n\t\tconst component_effects = context_stack_item.e;\n\t\tif (component_effects !== null) {\n\t\t\tvar previous_effect = active_effect;\n\t\t\tvar previous_reaction = active_reaction;\n\t\t\tcontext_stack_item.e = null;\n\t\t\ttry {\n\t\t\t\tfor (var i = 0; i < component_effects.length; i++) {\n\t\t\t\t\tvar component_effect = component_effects[i];\n\t\t\t\t\tset_active_effect(component_effect.effect);\n\t\t\t\t\tset_active_reaction(component_effect.reaction);\n\t\t\t\t\teffect(component_effect.fn);\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tset_active_effect(previous_effect);\n\t\t\t\tset_active_reaction(previous_reaction);\n\t\t\t}\n\t\t}\n\t\tcomponent_context = context_stack_item.p;\n\t\tif (DEV) {\n\t\t\tdev_current_component_function = context_stack_item.p?.function ?? null;\n\t\t}\n\t\tcontext_stack_item.m = true;\n\t}\n\t// Micro-optimization: Don't set .a above to the empty object\n\t// so it can be garbage-collected when the return here is unused\n\treturn component || /** @type {T} */ ({});\n}\n\n/**\n * Possibly traverse an object and read all its properties so that they're all reactive in case this is `$state`.\n * Does only check first level of an object for performance reasons (heuristic should be good for 99% of all cases).\n * @param {any} value\n * @returns {void}\n */\nexport function deep_read_state(value) {\n\tif (typeof value !== 'object' || !value || value instanceof EventTarget) {\n\t\treturn;\n\t}\n\n\tif (STATE_SYMBOL in value) {\n\t\tdeep_read(value);\n\t} else if (!Array.isArray(value)) {\n\t\tfor (let key in value) {\n\t\t\tconst prop = value[key];\n\t\t\tif (typeof prop === 'object' && prop && STATE_SYMBOL in prop) {\n\t\t\t\tdeep_read(prop);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * Deeply traverse an object and read all its properties\n * so that they're all reactive in case this is `$state`\n * @param {any} value\n * @param {Set<any>} visited\n * @returns {void}\n */\nexport function deep_read(value, visited = new Set()) {\n\tif (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\t// We don't want to traverse DOM elements\n\t\t!(value instanceof EventTarget) &&\n\t\t!visited.has(value)\n\t) {\n\t\tvisited.add(value);\n\t\t// When working with a possible SvelteDate, this\n\t\t// will ensure we capture changes to it.\n\t\tif (value instanceof Date) {\n\t\t\tvalue.getTime();\n\t\t}\n\t\tfor (let key in value) {\n\t\t\ttry {\n\t\t\t\tdeep_read(value[key], visited);\n\t\t\t} catch (e) {\n\t\t\t\t// continue\n\t\t\t}\n\t\t}\n\t\tconst proto = get_prototype_of(value);\n\t\tif (\n\t\t\tproto !== Object.prototype &&\n\t\t\tproto !== Array.prototype &&\n\t\t\tproto !== Map.prototype &&\n\t\t\tproto !== Set.prototype &&\n\t\t\tproto !== Date.prototype\n\t\t) {\n\t\t\tconst descriptors = get_descriptors(proto);\n\t\t\tfor (let key in descriptors) {\n\t\t\t\tconst get = descriptors[key].get;\n\t\t\t\tif (get) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tget.call(value);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t// continue\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nif (DEV) {\n\t/**\n\t * @param {string} rune\n\t */\n\tfunction throw_rune_error(rune) {\n\t\tif (!(rune in globalThis)) {\n\t\t\t// TODO if people start adjusting the \"this can contain runes\" config through v-p-s more, adjust this message\n\t\t\t/** @type {any} */\n\t\t\tlet value; // let's hope noone modifies this global, but belts and braces\n\t\t\tObject.defineProperty(globalThis, rune, {\n\t\t\t\tconfigurable: true,\n\t\t\t\t// eslint-disable-next-line getter-return\n\t\t\t\tget: () => {\n\t\t\t\t\tif (value !== undefined) {\n\t\t\t\t\t\treturn value;\n\t\t\t\t\t}\n\n\t\t\t\t\te.rune_outside_svelte(rune);\n\t\t\t\t},\n\t\t\t\tset: (v) => {\n\t\t\t\t\tvalue = v;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tthrow_rune_error('$state');\n\tthrow_rune_error('$effect');\n\tthrow_rune_error('$derived');\n\tthrow_rune_error('$inspect');\n\tthrow_rune_error('$props');\n\tthrow_rune_error('$bindable');\n}\n","/** @import { Readable } from './public' */\nimport { untrack } from '../index-client.js';\nimport { noop } from '../internal/shared/utils.js';\n\n/**\n * @template T\n * @param {Readable<T> | null | undefined} store\n * @param {(value: T) => void} run\n * @param {(value: T) => void} [invalidate]\n * @returns {() => void}\n */\nexport function subscribe_to_store(store, run, invalidate) {\n\tif (store == null) {\n\t\t// @ts-expect-error\n\t\trun(undefined);\n\n\t\t// @ts-expect-error\n\t\tif (invalidate) invalidate(undefined);\n\n\t\treturn noop;\n\t}\n\n\t// Svelte store takes a private second argument\n\t// StartStopNotifier could mutate state, and we want to silence the corresponding validation error\n\tconst unsub = untrack(() =>\n\t\tstore.subscribe(\n\t\t\trun,\n\t\t\t// @ts-expect-error\n\t\t\tinvalidate\n\t\t)\n\t);\n\n\t// Also support RxJS\n\t// @ts-expect-error TODO fix this in the types?\n\treturn unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\n"],"names":["is_array","array_from","define_property","get_descriptor","get_descriptors","object_prototype","array_prototype","get_prototype_of","is_function","thing","noop","run","fn","run_all","arr","i","DERIVED","EFFECT","RENDER_EFFECT","BLOCK_EFFECT","BRANCH_EFFECT","ROOT_EFFECT","UNOWNED","DISCONNECTED","CLEAN","DIRTY","MAYBE_DIRTY","INERT","DESTROYED","EFFECT_RAN","EFFECT_TRANSPARENT","LEGACY_DERIVED_PROP","HEAD_EFFECT","EFFECT_HAS_DERIVED","STATE_SYMBOL","LOADING_ATTR_SYMBOL","equals","value","safe_not_equal","a","b","safe_equals","effect_in_teardown","rune","effect_in_unowned_derived","effect_orphan","effect_update_depth_exceeded","hydration_failed","props_invalid_value","key","state_descriptors_fixed","state_prototype_fixed","state_unsafe_local_read","state_unsafe_mutation","legacy_mode_flag","enable_legacy_mode_flag","source","v","state","push_derived_source","mutable_source","initial_value","immutable","_a","s","component_context","mutable_state","active_reaction","derived_sources","set_derived_sources","set","is_runes","e.state_unsafe_mutation","internal_set","increment_version","mark_reactions","active_effect","new_deps","set_signal_status","schedule_effect","untracked_writes","set_untracked_writes","signal","status","reactions","runes","length","reaction","flags","EACH_ITEM_REACTIVE","EACH_INDEX_REACTIVE","EACH_ITEM_IMMUTABLE","PROPS_IS_IMMUTABLE","PROPS_IS_RUNES","PROPS_IS_UPDATED","PROPS_IS_BINDABLE","PROPS_IS_LAZY_INITIAL","TRANSITION_IN","TRANSITION_OUT","TRANSITION_GLOBAL","TEMPLATE_FRAGMENT","TEMPLATE_USE_IMPORT_NODE","HYDRATION_START","HYDRATION_START_ELSE","HYDRATION_END","HYDRATION_ERROR","UNINITIALIZED","hydration_mismatch","location","hydrating","set_hydrating","hydrate_node","set_hydrate_node","node","w.hydration_mismatch","hydrate_next","get_next_sibling","reset","next","count","remove_nodes","depth","data","$window","first_child_getter","next_sibling_getter","init_operations","element_prototype","node_prototype","create_text","get_first_child","child","is_text","text","first_child","fragment","first","sibling","next_sibling","type","clear_text_content","derived","derived_safe_equal","destroy_derived_children","children","destroy_derived","destroy_effect","execute_derived","prev_active_effect","set_active_effect","update_reaction","update_derived","skip_reaction","remove_reactions","validate_effect","e.effect_orphan","e.effect_in_unowned_derived","is_destroying_effect","e.effect_in_teardown","push_effect","effect","parent_effect","parent_last","create_effect","sync","push","is_root","previously_flushing_effect","is_flushing_effect","set_is_flushing_effect","update_effect","e","inert","teardown","user_effect","defer","context","user_pre_effect","render_effect","effect_root","legacy_pre_effect","deps","token","untrack","legacy_pre_effect_reset","get","check_dirtiness","template_effect","block","branch","execute_effect_teardown","previously_destroying_effect","previous_reaction","set_is_destroying_effect","set_active_reaction","destroy_effect_deriveds","deriveds","destroy_effect_children","remove_dom","destroy_block_effect_children","removed","end","transitions","transition","parent","unlink_effect","prev","pause_effect","callback","pause_children","run_out_transitions","remaining","check","local","transparent","resume_effect","resume_children","request_idle_callback","cb","is_micro_task_queued","is_idle_task_queued","current_queued_micro_tasks","current_queued_idle_tasks","process_micro_tasks","tasks","process_idle_tasks","queue_micro_task","queue_idle_task","flush_tasks","lifecycle_outside_component","name","FLUSH_MICROTASK","FLUSH_SYNC","scheduler_mode","queued_root_effects","flush_count","sources","skipped_deps","current_version","_b","dependencies","is_unowned","dependency","handle_error","error","previous_deps","previous_skipped_deps","previous_untracked_writes","previous_skip_reaction","prev_derived_sources","previous_component_context","result","remove_reaction","index","new_length","start_index","previous_effect","infinite_loop_guard","e.effect_update_depth_exceeded","flush_queued_root_effects","root_effects","collected_effects","process_effects","flush_queued_effects","effects","process_deferred","previous_queued_root_effects","current_effect","main_loop","is_branch","is_skippable_branch","parent_sibling","flush_sync","previous_scheduler_mode","tick","is_derived","e.state_unsafe_local_read","STATUS_MASK","getContext","get_or_init_context_map","setContext","get_parent_context","context_map","update","d","props","pop","component","context_stack_item","component_effects","component_effect","deep_read_state","deep_read","prop","visited","proto","descriptors","subscribe_to_store","store","invalidate","unsub"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]}