{"version":3,"file":"landing.bundle.js?1717861637632","mappings":"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","sources":["webpack://configurationcms-landing/./node_modules/preact/src/constants.js","webpack://configurationcms-landing/./node_modules/preact/src/util.js","webpack://configurationcms-landing/./node_modules/preact/src/options.js","webpack://configurationcms-landing/./node_modules/preact/src/create-element.js","webpack://configurationcms-landing/./node_modules/preact/src/component.js","webpack://configurationcms-landing/./node_modules/preact/src/diff/children.js","webpack://configurationcms-landing/./node_modules/preact/src/diff/props.js","webpack://configurationcms-landing/./node_modules/preact/src/diff/index.js","webpack://configurationcms-landing/./node_modules/preact/src/diff/catch-error.js","webpack://configurationcms-landing/./node_modules/preact-router/src/util.js","webpack://configurationcms-landing/./node_modules/preact-router/src/index.js","webpack://configurationcms-landing/./node_modules/preact/src/render.js","webpack://configurationcms-landing/./node_modules/preact/src/clone-element.js","webpack://configurationcms-landing/./src/utils.ts","webpack://configurationcms-landing/./src/components/baseComponent.ts","webpack://configurationcms-landing/./node_modules/preact/hooks/src/index.js","webpack://configurationcms-landing/./src/components/topmenu.tsx","webpack://configurationcms-landing/./src/pages/featurespage.tsx","webpack://configurationcms-landing/./src/components/backgroundHelper.tsx","webpack://configurationcms-landing/./src/connection.ts","webpack://configurationcms-landing/./src/components/centerBox.tsx","webpack://configurationcms-landing/./src/components/findTeamBox.tsx","webpack://configurationcms-landing/./src/pages/frontpage.tsx","webpack://configurationcms-landing/./src/pages/guidespage.tsx","webpack://configurationcms-landing/./src/pages/pricingpage.tsx","webpack://configurationcms-landing/./src/components/signinBox.tsx","webpack://configurationcms-landing/./src/components/signupTenantBox.tsx","webpack://configurationcms-landing/./src/pages/termspage.tsx","webpack://configurationcms-landing/./src/entry.tsx","webpack://configurationcms-landing/./src/pages/findYourTeamPage.tsx","webpack://configurationcms-landing/./src/pages/aboutpage.tsx","webpack://configurationcms-landing/./src/pages/signupstep2page.tsx","webpack://configurationcms-landing/./src/pages/signuppage.tsx","webpack://configurationcms-landing/./src/pages/emptypage.tsx","webpack://configurationcms-landing/./src/pages/error404page.tsx"],"sourcesContent":["/** Normal hydration that attaches to a DOM tree but does not diff it. */\nexport const MODE_HYDRATE = 1 << 5;\n/** Signifies this VNode suspended on the previous render */\nexport const MODE_SUSPENDED = 1 << 7;\n/** Indicates that this node needs to be inserted while patching children */\nexport const INSERT_VNODE = 1 << 16;\n/** Indicates a VNode has been matched with another VNode in the diff */\nexport const MATCHED = 1 << 17;\n\n/** Reset all mode flags */\nexport const RESET_MODE = ~(MODE_HYDRATE | MODE_SUSPENDED);\n\nexport const EMPTY_OBJ = /** @type {any} */ ({});\nexport const EMPTY_ARR = [];\nexport const IS_NON_DIMENSIONAL =\n\t/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;\n","import { EMPTY_ARR } from './constants';\n\nexport const isArray = Array.isArray;\n\n/**\n * Assign properties from `props` to `obj`\n * @template O, P The obj and props types\n * @param {O} obj The object to copy properties to\n * @param {P} props The object to copy properties from\n * @returns {O & P}\n */\nexport function assign(obj, props) {\n\t// @ts-expect-error We change the type of `obj` to be `O & P`\n\tfor (let i in props) obj[i] = props[i];\n\treturn /** @type {O & P} */ (obj);\n}\n\n/**\n * Remove a child node from its parent if attached. This is a workaround for\n * IE11 which doesn't support `Element.prototype.remove()`. Using this function\n * is smaller than including a dedicated polyfill.\n * @param {preact.ContainerNode} node The node to remove\n */\nexport function removeNode(node) {\n\tlet parentNode = node.parentNode;\n\tif (parentNode) parentNode.removeChild(node);\n}\n\nexport const slice = EMPTY_ARR.slice;\n","import { _catchError } from './diff/catch-error';\n\n/**\n * The `option` object can potentially contain callback functions\n * that are called during various stages of our renderer. This is the\n * foundation on which all our addons like `preact/debug`, `preact/compat`,\n * and `preact/hooks` are based on. See the `Options` type in `internal.d.ts`\n * for a full list of available option hooks (most editors/IDEs allow you to\n * ctrl+click or cmd+click on mac the type definition below).\n * @type {Options}\n */\nconst options = {\n\t_catchError\n};\n\nexport default options;\n","import { slice } from './util';\nimport options from './options';\n\nlet vnodeId = 0;\n\n/**\n * Create an virtual node (used for JSX)\n * @param {VNode[\"type\"]} type The node name or Component constructor for this\n * virtual node\n * @param {object | null | undefined} [props] The properties of the virtual node\n * @param {Array} [children] The children of the\n * virtual node\n * @returns {VNode}\n */\nexport function createElement(type, props, children) {\n\tlet normalizedProps = {},\n\t\tkey,\n\t\tref,\n\t\ti;\n\tfor (i in props) {\n\t\tif (i == 'key') key = props[i];\n\t\telse if (i == 'ref') ref = props[i];\n\t\telse normalizedProps[i] = props[i];\n\t}\n\n\tif (arguments.length > 2) {\n\t\tnormalizedProps.children =\n\t\t\targuments.length > 3 ? slice.call(arguments, 2) : children;\n\t}\n\n\t// If a Component VNode, check for and apply defaultProps\n\t// Note: type may be undefined in development, must never error here.\n\tif (typeof type == 'function' && type.defaultProps != null) {\n\t\tfor (i in type.defaultProps) {\n\t\t\tif (normalizedProps[i] === undefined) {\n\t\t\t\tnormalizedProps[i] = type.defaultProps[i];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn createVNode(type, normalizedProps, key, ref, null);\n}\n\n/**\n * Create a VNode (used internally by Preact)\n * @param {VNode[\"type\"]} type The node name or Component\n * Constructor for this virtual node\n * @param {object | string | number | null} props The properties of this virtual node.\n * If this virtual node represents a text node, this is the text of the node (string or number).\n * @param {string | number | null} key The key for this virtual node, used when\n * diffing it against its children\n * @param {VNode[\"ref\"]} ref The ref property that will\n * receive a reference to its created child\n * @returns {VNode}\n */\nexport function createVNode(type, props, key, ref, original) {\n\t// V8 seems to be better at detecting type shapes if the object is allocated from the same call site\n\t// Do not inline into createElement and coerceToVNode!\n\t/** @type {VNode} */\n\tconst vnode = {\n\t\ttype,\n\t\tprops,\n\t\tkey,\n\t\tref,\n\t\t_children: null,\n\t\t_parent: null,\n\t\t_depth: 0,\n\t\t_dom: null,\n\t\t// _nextDom must be initialized to undefined b/c it will eventually\n\t\t// be set to dom.nextSibling which can return `null` and it is important\n\t\t// to be able to distinguish between an uninitialized _nextDom and\n\t\t// a _nextDom that has been set to `null`\n\t\t_nextDom: undefined,\n\t\t_component: null,\n\t\tconstructor: undefined,\n\t\t_original: original == null ? ++vnodeId : original,\n\t\t_index: -1,\n\t\t_flags: 0\n\t};\n\n\t// Only invoke the vnode hook if this was *not* a direct copy:\n\tif (original == null && options.vnode != null) options.vnode(vnode);\n\n\treturn vnode;\n}\n\nexport function createRef() {\n\treturn { current: null };\n}\n\nexport function Fragment(props) {\n\treturn props.children;\n}\n\n/**\n * Check if a the argument is a valid Preact VNode.\n * @param {*} vnode\n * @returns {vnode is VNode}\n */\nexport const isValidElement = vnode =>\n\tvnode != null && vnode.constructor == undefined;\n","import { assign } from './util';\nimport { diff, commitRoot } from './diff/index';\nimport options from './options';\nimport { Fragment } from './create-element';\nimport { MODE_HYDRATE } from './constants';\n\n/**\n * Base Component class. Provides `setState()` and `forceUpdate()`, which\n * trigger rendering\n * @param {object} props The initial component props\n * @param {object} context The initial context from parent components'\n * getChildContext\n */\nexport function BaseComponent(props, context) {\n\tthis.props = props;\n\tthis.context = context;\n}\n\n/**\n * Update component state and schedule a re-render.\n * @this {Component}\n * @param {object | ((s: object, p: object) => object)} update A hash of state\n * properties to update with new values or a function that given the current\n * state and props returns a new partial state\n * @param {() => void} [callback] A function to be called once component state is\n * updated\n */\nBaseComponent.prototype.setState = function (update, callback) {\n\t// only clone state when copying to nextState the first time.\n\tlet s;\n\tif (this._nextState != null && this._nextState !== this.state) {\n\t\ts = this._nextState;\n\t} else {\n\t\ts = this._nextState = assign({}, this.state);\n\t}\n\n\tif (typeof update == 'function') {\n\t\t// Some libraries like `immer` mark the current state as readonly,\n\t\t// preventing us from mutating it, so we need to clone it. See #2716\n\t\tupdate = update(assign({}, s), this.props);\n\t}\n\n\tif (update) {\n\t\tassign(s, update);\n\t}\n\n\t// Skip update if updater function returned null\n\tif (update == null) return;\n\n\tif (this._vnode) {\n\t\tif (callback) {\n\t\t\tthis._stateCallbacks.push(callback);\n\t\t}\n\t\tenqueueRender(this);\n\t}\n};\n\n/**\n * Immediately perform a synchronous re-render of the component\n * @this {Component}\n * @param {() => void} [callback] A function to be called after component is\n * re-rendered\n */\nBaseComponent.prototype.forceUpdate = function (callback) {\n\tif (this._vnode) {\n\t\t// Set render mode so that we can differentiate where the render request\n\t\t// is coming from. We need this because forceUpdate should never call\n\t\t// shouldComponentUpdate\n\t\tthis._force = true;\n\t\tif (callback) this._renderCallbacks.push(callback);\n\t\tenqueueRender(this);\n\t}\n};\n\n/**\n * Accepts `props` and `state`, and returns a new Virtual DOM tree to build.\n * Virtual DOM is generally constructed via [JSX](http://jasonformat.com/wtf-is-jsx).\n * @param {object} props Props (eg: JSX attributes) received from parent\n * element/component\n * @param {object} state The component's current state\n * @param {object} context Context object, as returned by the nearest\n * ancestor's `getChildContext()`\n * @returns {ComponentChildren | void}\n */\nBaseComponent.prototype.render = Fragment;\n\n/**\n * @param {VNode} vnode\n * @param {number | null} [childIndex]\n */\nexport function getDomSibling(vnode, childIndex) {\n\tif (childIndex == null) {\n\t\t// Use childIndex==null as a signal to resume the search from the vnode's sibling\n\t\treturn vnode._parent\n\t\t\t? getDomSibling(vnode._parent, vnode._index + 1)\n\t\t\t: null;\n\t}\n\n\tlet sibling;\n\tfor (; childIndex < vnode._children.length; childIndex++) {\n\t\tsibling = vnode._children[childIndex];\n\n\t\tif (sibling != null && sibling._dom != null) {\n\t\t\t// Since updateParentDomPointers keeps _dom pointer correct,\n\t\t\t// we can rely on _dom to tell us if this subtree contains a\n\t\t\t// rendered DOM node, and what the first rendered DOM node is\n\t\t\treturn sibling._dom;\n\t\t}\n\t}\n\n\t// If we get here, we have not found a DOM node in this vnode's children.\n\t// We must resume from this vnode's sibling (in it's parent _children array)\n\t// Only climb up and search the parent if we aren't searching through a DOM\n\t// VNode (meaning we reached the DOM parent of the original vnode that began\n\t// the search)\n\treturn typeof vnode.type == 'function' ? getDomSibling(vnode) : null;\n}\n\n/**\n * Trigger in-place re-rendering of a component.\n * @param {Component} component The component to rerender\n */\nfunction renderComponent(component) {\n\tlet oldVNode = component._vnode,\n\t\toldDom = oldVNode._dom,\n\t\tparentDom = component._parentDom,\n\t\tcommitQueue = [],\n\t\trefQueue = [];\n\n\tif (parentDom) {\n\t\tconst newVNode = assign({}, oldVNode);\n\t\tnewVNode._original = oldVNode._original + 1;\n\t\tif (options.vnode) options.vnode(newVNode);\n\n\t\tdiff(\n\t\t\tparentDom,\n\t\t\tnewVNode,\n\t\t\toldVNode,\n\t\t\tcomponent._globalContext,\n\t\t\tparentDom.ownerSVGElement !== undefined,\n\t\t\toldVNode._flags & MODE_HYDRATE ? [oldDom] : null,\n\t\t\tcommitQueue,\n\t\t\toldDom == null ? getDomSibling(oldVNode) : oldDom,\n\t\t\t!!(oldVNode._flags & MODE_HYDRATE),\n\t\t\trefQueue\n\t\t);\n\n\t\tnewVNode._parent._children[newVNode._index] = newVNode;\n\t\tcommitRoot(commitQueue, newVNode, refQueue);\n\n\t\tif (newVNode._dom != oldDom) {\n\t\t\tupdateParentDomPointers(newVNode);\n\t\t}\n\t}\n}\n\n/**\n * @param {VNode} vnode\n */\nfunction updateParentDomPointers(vnode) {\n\tif ((vnode = vnode._parent) != null && vnode._component != null) {\n\t\tvnode._dom = vnode._component.base = null;\n\t\tfor (let i = 0; i < vnode._children.length; i++) {\n\t\t\tlet child = vnode._children[i];\n\t\t\tif (child != null && child._dom != null) {\n\t\t\t\tvnode._dom = vnode._component.base = child._dom;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn updateParentDomPointers(vnode);\n\t}\n}\n\n/**\n * The render queue\n * @type {Array}\n */\nlet rerenderQueue = [];\n\n/*\n * The value of `Component.debounce` must asynchronously invoke the passed in callback. It is\n * important that contributors to Preact can consistently reason about what calls to `setState`, etc.\n * do, and when their effects will be applied. See the links below for some further reading on designing\n * asynchronous APIs.\n * * [Designing APIs for Asynchrony](https://blog.izs.me/2013/08/designing-apis-for-asynchrony)\n * * [Callbacks synchronous and asynchronous](https://blog.ometer.com/2011/07/24/callbacks-synchronous-and-asynchronous/)\n */\n\nlet prevDebounce;\n\nconst defer =\n\ttypeof Promise == 'function'\n\t\t? Promise.prototype.then.bind(Promise.resolve())\n\t\t: setTimeout;\n\n/**\n * Enqueue a rerender of a component\n * @param {Component} c The component to rerender\n */\nexport function enqueueRender(c) {\n\tif (\n\t\t(!c._dirty &&\n\t\t\t(c._dirty = true) &&\n\t\t\trerenderQueue.push(c) &&\n\t\t\t!process._rerenderCount++) ||\n\t\tprevDebounce !== options.debounceRendering\n\t) {\n\t\tprevDebounce = options.debounceRendering;\n\t\t(prevDebounce || defer)(process);\n\t}\n}\n\n/**\n * @param {Component} a\n * @param {Component} b\n */\nconst depthSort = (a, b) => a._vnode._depth - b._vnode._depth;\n\n/** Flush the render queue by rerendering all queued components */\nfunction process() {\n\tlet c;\n\trerenderQueue.sort(depthSort);\n\t// Don't update `renderCount` yet. Keep its value non-zero to prevent unnecessary\n\t// process() calls from getting scheduled while `queue` is still being consumed.\n\twhile ((c = rerenderQueue.shift())) {\n\t\tif (c._dirty) {\n\t\t\tlet renderQueueLength = rerenderQueue.length;\n\t\t\trenderComponent(c);\n\t\t\tif (rerenderQueue.length > renderQueueLength) {\n\t\t\t\t// When i.e. rerendering a provider additional new items can be injected, we want to\n\t\t\t\t// keep the order from top to bottom with those new items so we can handle them in a\n\t\t\t\t// single pass\n\t\t\t\trerenderQueue.sort(depthSort);\n\t\t\t}\n\t\t}\n\t}\n\tprocess._rerenderCount = 0;\n}\n\nprocess._rerenderCount = 0;\n","import { diff, unmount, applyRef } from './index';\nimport { createVNode, Fragment } from '../create-element';\nimport { EMPTY_OBJ, EMPTY_ARR, INSERT_VNODE, MATCHED } from '../constants';\nimport { isArray } from '../util';\nimport { getDomSibling } from '../component';\n\n/**\n * Diff the children of a virtual node\n * @param {PreactElement} parentDom The DOM element whose children are being\n * diffed\n * @param {ComponentChildren[]} renderResult\n * @param {VNode} newParentVNode The new virtual node whose children should be\n * diff'ed against oldParentVNode\n * @param {VNode} oldParentVNode The old virtual node whose children should be\n * diff'ed against newParentVNode\n * @param {object} globalContext The current context object - modified by\n * getChildContext\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node\n * @param {Array} excessDomChildren\n * @param {Array} commitQueue List of components which have callbacks\n * to invoke in commitRoot\n * @param {PreactElement} oldDom The current attached DOM element any new dom\n * elements should be placed around. Likely `null` on first render (except when\n * hydrating). Can be a sibling DOM element when diffing Fragments that have\n * siblings. In most cases, it starts out as `oldChildren[0]._dom`.\n * @param {boolean} isHydrating Whether or not we are in hydration\n * @param {any[]} refQueue an array of elements needed to invoke refs\n */\nexport function diffChildren(\n\tparentDom,\n\trenderResult,\n\tnewParentVNode,\n\toldParentVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\toldDom,\n\tisHydrating,\n\trefQueue\n) {\n\tlet i,\n\t\t/** @type {VNode} */\n\t\toldVNode,\n\t\t/** @type {VNode} */\n\t\tchildVNode,\n\t\t/** @type {PreactElement} */\n\t\tnewDom,\n\t\t/** @type {PreactElement} */\n\t\tfirstChildDom;\n\n\t// This is a compression of oldParentVNode!=null && oldParentVNode != EMPTY_OBJ && oldParentVNode._children || EMPTY_ARR\n\t// as EMPTY_OBJ._children should be `undefined`.\n\t/** @type {VNode[]} */\n\tlet oldChildren = (oldParentVNode && oldParentVNode._children) || EMPTY_ARR;\n\n\tlet newChildrenLength = renderResult.length;\n\n\tnewParentVNode._nextDom = oldDom;\n\tconstructNewChildrenArray(newParentVNode, renderResult, oldChildren);\n\toldDom = newParentVNode._nextDom;\n\n\tfor (i = 0; i < newChildrenLength; i++) {\n\t\tchildVNode = newParentVNode._children[i];\n\n\t\tif (\n\t\t\tchildVNode == null ||\n\t\t\ttypeof childVNode == 'boolean' ||\n\t\t\ttypeof childVNode == 'function'\n\t\t) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// At this point, constructNewChildrenArray has assigned _index to be the\n\t\t// matchingIndex for this VNode's oldVNode (or -1 if there is no oldVNode).\n\t\tif (childVNode._index === -1) {\n\t\t\toldVNode = EMPTY_OBJ;\n\t\t} else {\n\t\t\toldVNode = oldChildren[childVNode._index] || EMPTY_OBJ;\n\t\t}\n\n\t\t// Update childVNode._index to its final index\n\t\tchildVNode._index = i;\n\n\t\t// Morph the old element into the new one, but don't append it to the dom yet\n\t\tdiff(\n\t\t\tparentDom,\n\t\t\tchildVNode,\n\t\t\toldVNode,\n\t\t\tglobalContext,\n\t\t\tisSvg,\n\t\t\texcessDomChildren,\n\t\t\tcommitQueue,\n\t\t\toldDom,\n\t\t\tisHydrating,\n\t\t\trefQueue\n\t\t);\n\n\t\t// Adjust DOM nodes\n\t\tnewDom = childVNode._dom;\n\t\tif (childVNode.ref && oldVNode.ref != childVNode.ref) {\n\t\t\tif (oldVNode.ref) {\n\t\t\t\tapplyRef(oldVNode.ref, null, childVNode);\n\t\t\t}\n\t\t\trefQueue.push(\n\t\t\t\tchildVNode.ref,\n\t\t\t\tchildVNode._component || newDom,\n\t\t\t\tchildVNode\n\t\t\t);\n\t\t}\n\n\t\tif (firstChildDom == null && newDom != null) {\n\t\t\tfirstChildDom = newDom;\n\t\t}\n\n\t\tif (\n\t\t\tchildVNode._flags & INSERT_VNODE ||\n\t\t\toldVNode._children === childVNode._children\n\t\t) {\n\t\t\toldDom = insert(childVNode, oldDom, parentDom);\n\t\t} else if (\n\t\t\ttypeof childVNode.type == 'function' &&\n\t\t\tchildVNode._nextDom !== undefined\n\t\t) {\n\t\t\t// Since Fragments or components that return Fragment like VNodes can\n\t\t\t// contain multiple DOM nodes as the same level, continue the diff from\n\t\t\t// the sibling of last DOM child of this child VNode\n\t\t\toldDom = childVNode._nextDom;\n\t\t} else if (newDom) {\n\t\t\toldDom = newDom.nextSibling;\n\t\t}\n\n\t\t// Eagerly cleanup _nextDom. We don't need to persist the value because it\n\t\t// is only used by `diffChildren` to determine where to resume the diff\n\t\t// after diffing Components and Fragments. Once we store it the nextDOM\n\t\t// local var, we can clean up the property. Also prevents us hanging on to\n\t\t// DOM nodes that may have been unmounted.\n\t\tchildVNode._nextDom = undefined;\n\n\t\t// Unset diffing flags\n\t\tchildVNode._flags &= ~(INSERT_VNODE | MATCHED);\n\t}\n\n\t// TODO: With new child diffing algo, consider alt ways to diff Fragments.\n\t// Such as dropping oldDom and moving fragments in place\n\t//\n\t// Because the newParentVNode is Fragment-like, we need to set it's\n\t// _nextDom property to the nextSibling of its last child DOM node.\n\t//\n\t// `oldDom` contains the correct value here because if the last child\n\t// is a Fragment-like, then oldDom has already been set to that child's _nextDom.\n\t// If the last child is a DOM VNode, then oldDom will be set to that DOM\n\t// node's nextSibling.\n\tnewParentVNode._nextDom = oldDom;\n\tnewParentVNode._dom = firstChildDom;\n}\n\n/**\n * @param {VNode} newParentVNode\n * @param {ComponentChildren[]} renderResult\n * @param {VNode[]} oldChildren\n */\nfunction constructNewChildrenArray(newParentVNode, renderResult, oldChildren) {\n\t/** @type {number} */\n\tlet i;\n\t/** @type {VNode} */\n\tlet childVNode;\n\t/** @type {VNode} */\n\tlet oldVNode;\n\n\tconst newChildrenLength = renderResult.length;\n\tlet oldChildrenLength = oldChildren.length,\n\t\tremainingOldChildren = oldChildrenLength;\n\n\tlet skew = 0;\n\n\tnewParentVNode._children = [];\n\tfor (i = 0; i < newChildrenLength; i++) {\n\t\t// @ts-expect-error We are reusing the childVNode variable to hold both the\n\t\t// pre and post normalized childVNode\n\t\tchildVNode = renderResult[i];\n\n\t\tif (\n\t\t\tchildVNode == null ||\n\t\t\ttypeof childVNode == 'boolean' ||\n\t\t\ttypeof childVNode == 'function'\n\t\t) {\n\t\t\tchildVNode = newParentVNode._children[i] = null;\n\t\t}\n\t\t// If this newVNode is being reused (e.g.
{reuse}{reuse}
) in the same diff,\n\t\t// or we are rendering a component (e.g. setState) copy the oldVNodes so it can have\n\t\t// it's own DOM & etc. pointers\n\t\telse if (\n\t\t\ttypeof childVNode == 'string' ||\n\t\t\ttypeof childVNode == 'number' ||\n\t\t\t// eslint-disable-next-line valid-typeof\n\t\t\ttypeof childVNode == 'bigint' ||\n\t\t\tchildVNode.constructor == String\n\t\t) {\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tnull,\n\t\t\t\tchildVNode,\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tchildVNode\n\t\t\t);\n\t\t} else if (isArray(childVNode)) {\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tFragment,\n\t\t\t\t{ children: childVNode },\n\t\t\t\tnull,\n\t\t\t\tnull,\n\t\t\t\tnull\n\t\t\t);\n\t\t} else if (childVNode.constructor === undefined && childVNode._depth > 0) {\n\t\t\t// VNode is already in use, clone it. This can happen in the following\n\t\t\t// scenario:\n\t\t\t// const reuse =
\n\t\t\t//
{reuse}{reuse}
\n\t\t\tchildVNode = newParentVNode._children[i] = createVNode(\n\t\t\t\tchildVNode.type,\n\t\t\t\tchildVNode.props,\n\t\t\t\tchildVNode.key,\n\t\t\t\tchildVNode.ref ? childVNode.ref : null,\n\t\t\t\tchildVNode._original\n\t\t\t);\n\t\t} else {\n\t\t\tchildVNode = newParentVNode._children[i] = childVNode;\n\t\t}\n\n\t\t// Handle unmounting null placeholders, i.e. VNode => null in unkeyed children\n\t\tif (childVNode == null) {\n\t\t\toldVNode = oldChildren[i];\n\t\t\tif (oldVNode && oldVNode.key == null && oldVNode._dom) {\n\t\t\t\tif (oldVNode._dom == newParentVNode._nextDom) {\n\t\t\t\t\tnewParentVNode._nextDom = getDomSibling(oldVNode);\n\t\t\t\t}\n\n\t\t\t\tunmount(oldVNode, oldVNode, false);\n\n\t\t\t\t// Explicitly nullify this position in oldChildren instead of just\n\t\t\t\t// setting `_match=true` to prevent other routines (e.g.\n\t\t\t\t// `findMatchingIndex` or `getDomSibling`) from thinking VNodes or DOM\n\t\t\t\t// nodes in this position are still available to be used in diffing when\n\t\t\t\t// they have actually already been unmounted. For example, by only\n\t\t\t\t// setting `_match=true` here, the unmounting loop later would attempt\n\t\t\t\t// to unmount this VNode again seeing `_match==true`. Further,\n\t\t\t\t// getDomSibling doesn't know about _match and so would incorrectly\n\t\t\t\t// assume DOM nodes in this subtree are mounted and usable.\n\t\t\t\toldChildren[i] = null;\n\t\t\t\tremainingOldChildren--;\n\t\t\t}\n\n\t\t\tcontinue;\n\t\t}\n\n\t\tchildVNode._parent = newParentVNode;\n\t\tchildVNode._depth = newParentVNode._depth + 1;\n\n\t\tconst skewedIndex = i + skew;\n\t\tconst matchingIndex = findMatchingIndex(\n\t\t\tchildVNode,\n\t\t\toldChildren,\n\t\t\tskewedIndex,\n\t\t\tremainingOldChildren\n\t\t);\n\n\t\t// Temporarily store the matchingIndex on the _index property so we can pull\n\t\t// out the oldVNode in diffChildren. We'll override this to the VNode's\n\t\t// final index after using this property to get the oldVNode\n\t\tchildVNode._index = matchingIndex;\n\n\t\toldVNode = null;\n\t\tif (matchingIndex !== -1) {\n\t\t\toldVNode = oldChildren[matchingIndex];\n\t\t\tremainingOldChildren--;\n\t\t\tif (oldVNode) {\n\t\t\t\toldVNode._flags |= MATCHED;\n\t\t\t}\n\t\t}\n\n\t\t// Here, we define isMounting for the purposes of the skew diffing\n\t\t// algorithm. Nodes that are unsuspending are considered mounting and we detect\n\t\t// this by checking if oldVNode._original === null\n\t\tconst isMounting = oldVNode == null || oldVNode._original === null;\n\n\t\tif (isMounting) {\n\t\t\tif (matchingIndex == -1) {\n\t\t\t\tskew--;\n\t\t\t}\n\n\t\t\t// If we are mounting a DOM VNode, mark it for insertion\n\t\t\tif (typeof childVNode.type != 'function') {\n\t\t\t\tchildVNode._flags |= INSERT_VNODE;\n\t\t\t}\n\t\t} else if (matchingIndex !== skewedIndex) {\n\t\t\tif (matchingIndex === skewedIndex + 1) {\n\t\t\t\tskew++;\n\t\t\t} else if (matchingIndex > skewedIndex) {\n\t\t\t\tif (remainingOldChildren > newChildrenLength - skewedIndex) {\n\t\t\t\t\tskew += matchingIndex - skewedIndex;\n\t\t\t\t} else {\n\t\t\t\t\t// ### Change from keyed: I think this was missing from the algo...\n\t\t\t\t\tskew--;\n\t\t\t\t}\n\t\t\t} else if (matchingIndex < skewedIndex) {\n\t\t\t\tif (matchingIndex == skewedIndex - 1) {\n\t\t\t\t\tskew = matchingIndex - skewedIndex;\n\t\t\t\t} else {\n\t\t\t\t\tskew = 0;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tskew = 0;\n\t\t\t}\n\n\t\t\t// Move this VNode's DOM if the original index (matchingIndex) doesn't\n\t\t\t// match the new skew index (i + new skew)\n\t\t\tif (matchingIndex !== i + skew) {\n\t\t\t\tchildVNode._flags |= INSERT_VNODE;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Remove remaining oldChildren if there are any. Loop forwards so that as we\n\t// unmount DOM from the beginning of the oldChildren, we can adjust oldDom to\n\t// point to the next child, which needs to be the first DOM node that won't be\n\t// unmounted.\n\tif (remainingOldChildren) {\n\t\tfor (i = 0; i < oldChildrenLength; i++) {\n\t\t\toldVNode = oldChildren[i];\n\t\t\tif (oldVNode != null && (oldVNode._flags & MATCHED) === 0) {\n\t\t\t\tif (oldVNode._dom == newParentVNode._nextDom) {\n\t\t\t\t\tnewParentVNode._nextDom = getDomSibling(oldVNode);\n\t\t\t\t}\n\n\t\t\t\tunmount(oldVNode, oldVNode);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * @param {VNode} parentVNode\n * @param {PreactElement} oldDom\n * @param {PreactElement} parentDom\n * @returns {PreactElement}\n */\nfunction insert(parentVNode, oldDom, parentDom) {\n\t// Note: VNodes in nested suspended trees may be missing _children.\n\n\tif (typeof parentVNode.type == 'function') {\n\t\tlet children = parentVNode._children;\n\t\tfor (let i = 0; children && i < children.length; i++) {\n\t\t\tif (children[i]) {\n\t\t\t\t// If we enter this code path on sCU bailout, where we copy\n\t\t\t\t// oldVNode._children to newVNode._children, we need to update the old\n\t\t\t\t// children's _parent pointer to point to the newVNode (parentVNode\n\t\t\t\t// here).\n\t\t\t\tchildren[i]._parent = parentVNode;\n\t\t\t\toldDom = insert(children[i], oldDom, parentDom);\n\t\t\t}\n\t\t}\n\n\t\treturn oldDom;\n\t} else if (parentVNode._dom != oldDom) {\n\t\tparentDom.insertBefore(parentVNode._dom, oldDom || null);\n\t\toldDom = parentVNode._dom;\n\t}\n\n\treturn oldDom && oldDom.nextSibling;\n}\n\n/**\n * Flatten and loop through the children of a virtual node\n * @param {ComponentChildren} children The unflattened children of a virtual\n * node\n * @returns {VNode[]}\n */\nexport function toChildArray(children, out) {\n\tout = out || [];\n\tif (children == null || typeof children == 'boolean') {\n\t} else if (isArray(children)) {\n\t\tchildren.some(child => {\n\t\t\ttoChildArray(child, out);\n\t\t});\n\t} else {\n\t\tout.push(children);\n\t}\n\treturn out;\n}\n\n/**\n * @param {VNode} childVNode\n * @param {VNode[]} oldChildren\n * @param {number} skewedIndex\n * @param {number} remainingOldChildren\n * @returns {number}\n */\nfunction findMatchingIndex(\n\tchildVNode,\n\toldChildren,\n\tskewedIndex,\n\tremainingOldChildren\n) {\n\tconst key = childVNode.key;\n\tconst type = childVNode.type;\n\tlet x = skewedIndex - 1;\n\tlet y = skewedIndex + 1;\n\tlet oldVNode = oldChildren[skewedIndex];\n\n\t// We only need to perform a search if there are more children\n\t// (remainingOldChildren) to search. However, if the oldVNode we just looked\n\t// at skewedIndex was not already used in this diff, then there must be at\n\t// least 1 other (so greater than 1) remainingOldChildren to attempt to match\n\t// against. So the following condition checks that ensuring\n\t// remainingOldChildren > 1 if the oldVNode is not already used/matched. Else\n\t// if the oldVNode was null or matched, then there could needs to be at least\n\t// 1 (aka `remainingOldChildren > 0`) children to find and compare against.\n\tlet shouldSearch =\n\t\tremainingOldChildren >\n\t\t(oldVNode != null && (oldVNode._flags & MATCHED) === 0 ? 1 : 0);\n\n\tif (\n\t\toldVNode === null ||\n\t\t(oldVNode && key == oldVNode.key && type === oldVNode.type)\n\t) {\n\t\treturn skewedIndex;\n\t} else if (shouldSearch) {\n\t\twhile (x >= 0 || y < oldChildren.length) {\n\t\t\tif (x >= 0) {\n\t\t\t\toldVNode = oldChildren[x];\n\t\t\t\tif (\n\t\t\t\t\toldVNode &&\n\t\t\t\t\t(oldVNode._flags & MATCHED) === 0 &&\n\t\t\t\t\tkey == oldVNode.key &&\n\t\t\t\t\ttype === oldVNode.type\n\t\t\t\t) {\n\t\t\t\t\treturn x;\n\t\t\t\t}\n\t\t\t\tx--;\n\t\t\t}\n\n\t\t\tif (y < oldChildren.length) {\n\t\t\t\toldVNode = oldChildren[y];\n\t\t\t\tif (\n\t\t\t\t\toldVNode &&\n\t\t\t\t\t(oldVNode._flags & MATCHED) === 0 &&\n\t\t\t\t\tkey == oldVNode.key &&\n\t\t\t\t\ttype === oldVNode.type\n\t\t\t\t) {\n\t\t\t\t\treturn y;\n\t\t\t\t}\n\t\t\t\ty++;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn -1;\n}\n","import { IS_NON_DIMENSIONAL } from '../constants';\nimport options from '../options';\n\nfunction setStyle(style, key, value) {\n\tif (key[0] === '-') {\n\t\tstyle.setProperty(key, value == null ? '' : value);\n\t} else if (value == null) {\n\t\tstyle[key] = '';\n\t} else if (typeof value != 'number' || IS_NON_DIMENSIONAL.test(key)) {\n\t\tstyle[key] = value;\n\t} else {\n\t\tstyle[key] = value + 'px';\n\t}\n}\n\n/**\n * Set a property value on a DOM node\n * @param {PreactElement} dom The DOM node to modify\n * @param {string} name The name of the property to set\n * @param {*} value The value to set the property to\n * @param {*} oldValue The old value the property had\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node or not\n */\nexport function setProperty(dom, name, value, oldValue, isSvg) {\n\tlet useCapture;\n\n\to: if (name === 'style') {\n\t\tif (typeof value == 'string') {\n\t\t\tdom.style.cssText = value;\n\t\t} else {\n\t\t\tif (typeof oldValue == 'string') {\n\t\t\t\tdom.style.cssText = oldValue = '';\n\t\t\t}\n\n\t\t\tif (oldValue) {\n\t\t\t\tfor (name in oldValue) {\n\t\t\t\t\tif (!(value && name in value)) {\n\t\t\t\t\t\tsetStyle(dom.style, name, '');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (value) {\n\t\t\t\tfor (name in value) {\n\t\t\t\t\tif (!oldValue || value[name] !== oldValue[name]) {\n\t\t\t\t\t\tsetStyle(dom.style, name, value[name]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t// Benchmark for comparison: https://esbench.com/bench/574c954bdb965b9a00965ac6\n\telse if (name[0] === 'o' && name[1] === 'n') {\n\t\tuseCapture =\n\t\t\tname !== (name = name.replace(/(PointerCapture)$|Capture$/, '$1'));\n\n\t\t// Infer correct casing for DOM built-in events:\n\t\tif (name.toLowerCase() in dom) name = name.toLowerCase().slice(2);\n\t\telse name = name.slice(2);\n\n\t\tif (!dom._listeners) dom._listeners = {};\n\t\tdom._listeners[name + useCapture] = value;\n\n\t\tif (value) {\n\t\t\tif (!oldValue) {\n\t\t\t\tvalue._attached = Date.now();\n\t\t\t\tconst handler = useCapture ? eventProxyCapture : eventProxy;\n\t\t\t\tdom.addEventListener(name, handler, useCapture);\n\t\t\t} else {\n\t\t\t\tvalue._attached = oldValue._attached;\n\t\t\t}\n\t\t} else {\n\t\t\tconst handler = useCapture ? eventProxyCapture : eventProxy;\n\t\t\tdom.removeEventListener(name, handler, useCapture);\n\t\t}\n\t} else {\n\t\tif (isSvg) {\n\t\t\t// Normalize incorrect prop usage for SVG:\n\t\t\t// - xlink:href / xlinkHref --> href (xlink:href was removed from SVG and isn't needed)\n\t\t\t// - className --> class\n\t\t\tname = name.replace(/xlink(H|:h)/, 'h').replace(/sName$/, 's');\n\t\t} else if (\n\t\t\tname !== 'width' &&\n\t\t\tname !== 'height' &&\n\t\t\tname !== 'href' &&\n\t\t\tname !== 'list' &&\n\t\t\tname !== 'form' &&\n\t\t\t// Default value in browsers is `-1` and an empty string is\n\t\t\t// cast to `0` instead\n\t\t\tname !== 'tabIndex' &&\n\t\t\tname !== 'download' &&\n\t\t\tname !== 'rowSpan' &&\n\t\t\tname !== 'colSpan' &&\n\t\t\tname !== 'role' &&\n\t\t\tname in dom\n\t\t) {\n\t\t\ttry {\n\t\t\t\tdom[name] = value == null ? '' : value;\n\t\t\t\t// labelled break is 1b smaller here than a return statement (sorry)\n\t\t\t\tbreak o;\n\t\t\t} catch (e) {}\n\t\t}\n\n\t\t// aria- and data- attributes have no boolean representation.\n\t\t// A `false` value is different from the attribute not being\n\t\t// present, so we can't remove it. For non-boolean aria\n\t\t// attributes we could treat false as a removal, but the\n\t\t// amount of exceptions would cost too many bytes. On top of\n\t\t// that other frameworks generally stringify `false`.\n\n\t\tif (typeof value == 'function') {\n\t\t\t// never serialize functions as attribute values\n\t\t} else if (value != null && (value !== false || name[4] === '-')) {\n\t\t\tdom.setAttribute(name, value);\n\t\t} else {\n\t\t\tdom.removeAttribute(name);\n\t\t}\n\t}\n}\n\n/**\n * Proxy an event to hooked event handlers\n * @param {PreactEvent} e The event object from the browser\n * @private\n */\nfunction eventProxy(e) {\n\tconst eventHandler = this._listeners[e.type + false];\n\t/**\n\t * This trick is inspired by Vue https://github.com/vuejs/core/blob/main/packages/runtime-dom/src/modules/events.ts#L90-L101\n\t * when the dom performs an event it leaves micro-ticks in between bubbling up which means that an event can trigger on a newly\n\t * created DOM-node while the event bubbles up, this can cause quirky behavior as seen in https://github.com/preactjs/preact/issues/3927\n\t */\n\tif (!e._dispatched) {\n\t\t// When an event has no _dispatched we know this is the first event-target in the chain\n\t\t// so we set the initial dispatched time.\n\t\te._dispatched = Date.now();\n\t\t// When the _dispatched is smaller than the time when the targetted event handler was attached\n\t\t// we know we have bubbled up to an element that was added during patching the dom.\n\t} else if (e._dispatched <= eventHandler._attached) {\n\t\treturn;\n\t}\n\treturn eventHandler(options.event ? options.event(e) : e);\n}\n\n/**\n * Proxy an event to hooked event handlers\n * @param {PreactEvent} e The event object from the browser\n * @private\n */\nfunction eventProxyCapture(e) {\n\treturn this._listeners[e.type + true](options.event ? options.event(e) : e);\n}\n","import {\n\tEMPTY_OBJ,\n\tMODE_HYDRATE,\n\tMODE_SUSPENDED,\n\tRESET_MODE\n} from '../constants';\nimport { BaseComponent, getDomSibling } from '../component';\nimport { Fragment } from '../create-element';\nimport { diffChildren } from './children';\nimport { setProperty } from './props';\nimport { assign, isArray, removeNode, slice } from '../util';\nimport options from '../options';\n\n/**\n * Diff two virtual nodes and apply proper changes to the DOM\n * @param {PreactElement} parentDom The parent of the DOM element\n * @param {VNode} newVNode The new virtual node\n * @param {VNode} oldVNode The old virtual node\n * @param {object} globalContext The current context object. Modified by\n * getChildContext\n * @param {boolean} isSvg Whether or not this element is an SVG node\n * @param {Array} excessDomChildren\n * @param {Array} commitQueue List of components which have callbacks\n * to invoke in commitRoot\n * @param {PreactElement} oldDom The current attached DOM element any new dom\n * elements should be placed around. Likely `null` on first render (except when\n * hydrating). Can be a sibling DOM element when diffing Fragments that have\n * siblings. In most cases, it starts out as `oldChildren[0]._dom`.\n * @param {boolean} isHydrating Whether or not we are in hydration\n * @param {any[]} refQueue an array of elements needed to invoke refs\n */\nexport function diff(\n\tparentDom,\n\tnewVNode,\n\toldVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\toldDom,\n\tisHydrating,\n\trefQueue\n) {\n\t/** @type {any} */\n\tlet tmp,\n\t\tnewType = newVNode.type;\n\n\t// When passing through createElement it assigns the object\n\t// constructor as undefined. This to prevent JSON-injection.\n\tif (newVNode.constructor !== undefined) return null;\n\n\t// If the previous diff bailed out, resume creating/hydrating.\n\tif (oldVNode._flags & MODE_SUSPENDED) {\n\t\tisHydrating = !!(oldVNode._flags & MODE_HYDRATE);\n\t\toldDom = newVNode._dom = oldVNode._dom;\n\t\texcessDomChildren = [oldDom];\n\t}\n\n\tif ((tmp = options._diff)) tmp(newVNode);\n\n\touter: if (typeof newType == 'function') {\n\t\ttry {\n\t\t\tlet c, isNew, oldProps, oldState, snapshot, clearProcessingException;\n\t\t\tlet newProps = newVNode.props;\n\n\t\t\t// Necessary for createContext api. Setting this property will pass\n\t\t\t// the context value as `this.context` just for this component.\n\t\t\ttmp = newType.contextType;\n\t\t\tlet provider = tmp && globalContext[tmp._id];\n\t\t\tlet componentContext = tmp\n\t\t\t\t? provider\n\t\t\t\t\t? provider.props.value\n\t\t\t\t\t: tmp._defaultValue\n\t\t\t\t: globalContext;\n\n\t\t\t// Get component and set it to `c`\n\t\t\tif (oldVNode._component) {\n\t\t\t\tc = newVNode._component = oldVNode._component;\n\t\t\t\tclearProcessingException = c._processingException = c._pendingError;\n\t\t\t} else {\n\t\t\t\t// Instantiate the new component\n\t\t\t\tif ('prototype' in newType && newType.prototype.render) {\n\t\t\t\t\t// @ts-expect-error The check above verifies that newType is suppose to be constructed\n\t\t\t\t\tnewVNode._component = c = new newType(newProps, componentContext); // eslint-disable-line new-cap\n\t\t\t\t} else {\n\t\t\t\t\t// @ts-expect-error Trust me, Component implements the interface we want\n\t\t\t\t\tnewVNode._component = c = new BaseComponent(\n\t\t\t\t\t\tnewProps,\n\t\t\t\t\t\tcomponentContext\n\t\t\t\t\t);\n\t\t\t\t\tc.constructor = newType;\n\t\t\t\t\tc.render = doRender;\n\t\t\t\t}\n\t\t\t\tif (provider) provider.sub(c);\n\n\t\t\t\tc.props = newProps;\n\t\t\t\tif (!c.state) c.state = {};\n\t\t\t\tc.context = componentContext;\n\t\t\t\tc._globalContext = globalContext;\n\t\t\t\tisNew = c._dirty = true;\n\t\t\t\tc._renderCallbacks = [];\n\t\t\t\tc._stateCallbacks = [];\n\t\t\t}\n\n\t\t\t// Invoke getDerivedStateFromProps\n\t\t\tif (c._nextState == null) {\n\t\t\t\tc._nextState = c.state;\n\t\t\t}\n\n\t\t\tif (newType.getDerivedStateFromProps != null) {\n\t\t\t\tif (c._nextState == c.state) {\n\t\t\t\t\tc._nextState = assign({}, c._nextState);\n\t\t\t\t}\n\n\t\t\t\tassign(\n\t\t\t\t\tc._nextState,\n\t\t\t\t\tnewType.getDerivedStateFromProps(newProps, c._nextState)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\toldProps = c.props;\n\t\t\toldState = c.state;\n\t\t\tc._vnode = newVNode;\n\n\t\t\t// Invoke pre-render lifecycle methods\n\t\t\tif (isNew) {\n\t\t\t\tif (\n\t\t\t\t\tnewType.getDerivedStateFromProps == null &&\n\t\t\t\t\tc.componentWillMount != null\n\t\t\t\t) {\n\t\t\t\t\tc.componentWillMount();\n\t\t\t\t}\n\n\t\t\t\tif (c.componentDidMount != null) {\n\t\t\t\t\tc._renderCallbacks.push(c.componentDidMount);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tnewType.getDerivedStateFromProps == null &&\n\t\t\t\t\tnewProps !== oldProps &&\n\t\t\t\t\tc.componentWillReceiveProps != null\n\t\t\t\t) {\n\t\t\t\t\tc.componentWillReceiveProps(newProps, componentContext);\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t!c._force &&\n\t\t\t\t\t((c.shouldComponentUpdate != null &&\n\t\t\t\t\t\tc.shouldComponentUpdate(\n\t\t\t\t\t\t\tnewProps,\n\t\t\t\t\t\t\tc._nextState,\n\t\t\t\t\t\t\tcomponentContext\n\t\t\t\t\t\t) === false) ||\n\t\t\t\t\t\tnewVNode._original === oldVNode._original)\n\t\t\t\t) {\n\t\t\t\t\t// More info about this here: https://gist.github.com/JoviDeCroock/bec5f2ce93544d2e6070ef8e0036e4e8\n\t\t\t\t\tif (newVNode._original !== oldVNode._original) {\n\t\t\t\t\t\t// When we are dealing with a bail because of sCU we have to update\n\t\t\t\t\t\t// the props, state and dirty-state.\n\t\t\t\t\t\t// when we are dealing with strict-equality we don't as the child could still\n\t\t\t\t\t\t// be dirtied see #3883\n\t\t\t\t\t\tc.props = newProps;\n\t\t\t\t\t\tc.state = c._nextState;\n\t\t\t\t\t\tc._dirty = false;\n\t\t\t\t\t}\n\n\t\t\t\t\tnewVNode._dom = oldVNode._dom;\n\t\t\t\t\tnewVNode._children = oldVNode._children;\n\t\t\t\t\tnewVNode._children.forEach(vnode => {\n\t\t\t\t\t\tif (vnode) vnode._parent = newVNode;\n\t\t\t\t\t});\n\n\t\t\t\t\tfor (let i = 0; i < c._stateCallbacks.length; i++) {\n\t\t\t\t\t\tc._renderCallbacks.push(c._stateCallbacks[i]);\n\t\t\t\t\t}\n\t\t\t\t\tc._stateCallbacks = [];\n\n\t\t\t\t\tif (c._renderCallbacks.length) {\n\t\t\t\t\t\tcommitQueue.push(c);\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\n\t\t\t\tif (c.componentWillUpdate != null) {\n\t\t\t\t\tc.componentWillUpdate(newProps, c._nextState, componentContext);\n\t\t\t\t}\n\n\t\t\t\tif (c.componentDidUpdate != null) {\n\t\t\t\t\tc._renderCallbacks.push(() => {\n\t\t\t\t\t\tc.componentDidUpdate(oldProps, oldState, snapshot);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tc.context = componentContext;\n\t\t\tc.props = newProps;\n\t\t\tc._parentDom = parentDom;\n\t\t\tc._force = false;\n\n\t\t\tlet renderHook = options._render,\n\t\t\t\tcount = 0;\n\t\t\tif ('prototype' in newType && newType.prototype.render) {\n\t\t\t\tc.state = c._nextState;\n\t\t\t\tc._dirty = false;\n\n\t\t\t\tif (renderHook) renderHook(newVNode);\n\n\t\t\t\ttmp = c.render(c.props, c.state, c.context);\n\n\t\t\t\tfor (let i = 0; i < c._stateCallbacks.length; i++) {\n\t\t\t\t\tc._renderCallbacks.push(c._stateCallbacks[i]);\n\t\t\t\t}\n\t\t\t\tc._stateCallbacks = [];\n\t\t\t} else {\n\t\t\t\tdo {\n\t\t\t\t\tc._dirty = false;\n\t\t\t\t\tif (renderHook) renderHook(newVNode);\n\n\t\t\t\t\ttmp = c.render(c.props, c.state, c.context);\n\n\t\t\t\t\t// Handle setState called in render, see #2553\n\t\t\t\t\tc.state = c._nextState;\n\t\t\t\t} while (c._dirty && ++count < 25);\n\t\t\t}\n\n\t\t\t// Handle setState called in render, see #2553\n\t\t\tc.state = c._nextState;\n\n\t\t\tif (c.getChildContext != null) {\n\t\t\t\tglobalContext = assign(assign({}, globalContext), c.getChildContext());\n\t\t\t}\n\n\t\t\tif (!isNew && c.getSnapshotBeforeUpdate != null) {\n\t\t\t\tsnapshot = c.getSnapshotBeforeUpdate(oldProps, oldState);\n\t\t\t}\n\n\t\t\tlet isTopLevelFragment =\n\t\t\t\ttmp != null && tmp.type === Fragment && tmp.key == null;\n\t\t\tlet renderResult = isTopLevelFragment ? tmp.props.children : tmp;\n\n\t\t\tdiffChildren(\n\t\t\t\tparentDom,\n\t\t\t\tisArray(renderResult) ? renderResult : [renderResult],\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg,\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\toldDom,\n\t\t\t\tisHydrating,\n\t\t\t\trefQueue\n\t\t\t);\n\n\t\t\tc.base = newVNode._dom;\n\n\t\t\t// We successfully rendered this VNode, unset any stored hydration/bailout state:\n\t\t\tnewVNode._flags &= RESET_MODE;\n\n\t\t\tif (c._renderCallbacks.length) {\n\t\t\t\tcommitQueue.push(c);\n\t\t\t}\n\n\t\t\tif (clearProcessingException) {\n\t\t\t\tc._pendingError = c._processingException = null;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tnewVNode._original = null;\n\t\t\t// if hydrating or creating initial tree, bailout preserves DOM:\n\t\t\tif (isHydrating || excessDomChildren != null) {\n\t\t\t\tnewVNode._dom = oldDom;\n\t\t\t\tnewVNode._flags |= isHydrating\n\t\t\t\t\t? MODE_HYDRATE | MODE_SUSPENDED\n\t\t\t\t\t: MODE_HYDRATE;\n\t\t\t\texcessDomChildren[excessDomChildren.indexOf(oldDom)] = null;\n\t\t\t\t// ^ could possibly be simplified to:\n\t\t\t\t// excessDomChildren.length = 0;\n\t\t\t} else {\n\t\t\t\tnewVNode._dom = oldVNode._dom;\n\t\t\t\tnewVNode._children = oldVNode._children;\n\t\t\t}\n\t\t\toptions._catchError(e, newVNode, oldVNode);\n\t\t}\n\t} else if (\n\t\texcessDomChildren == null &&\n\t\tnewVNode._original === oldVNode._original\n\t) {\n\t\tnewVNode._children = oldVNode._children;\n\t\tnewVNode._dom = oldVNode._dom;\n\t} else {\n\t\tnewVNode._dom = diffElementNodes(\n\t\t\toldVNode._dom,\n\t\t\tnewVNode,\n\t\t\toldVNode,\n\t\t\tglobalContext,\n\t\t\tisSvg,\n\t\t\texcessDomChildren,\n\t\t\tcommitQueue,\n\t\t\tisHydrating,\n\t\t\trefQueue\n\t\t);\n\t}\n\n\tif ((tmp = options.diffed)) tmp(newVNode);\n}\n\n/**\n * @param {Array} commitQueue List of components\n * which have callbacks to invoke in commitRoot\n * @param {VNode} root\n */\nexport function commitRoot(commitQueue, root, refQueue) {\n\troot._nextDom = undefined;\n\n\tfor (let i = 0; i < refQueue.length; i++) {\n\t\tapplyRef(refQueue[i], refQueue[++i], refQueue[++i]);\n\t}\n\n\tif (options._commit) options._commit(root, commitQueue);\n\n\tcommitQueue.some(c => {\n\t\ttry {\n\t\t\t// @ts-expect-error Reuse the commitQueue variable here so the type changes\n\t\t\tcommitQueue = c._renderCallbacks;\n\t\t\tc._renderCallbacks = [];\n\t\t\tcommitQueue.some(cb => {\n\t\t\t\t// @ts-expect-error See above comment on commitQueue\n\t\t\t\tcb.call(c);\n\t\t\t});\n\t\t} catch (e) {\n\t\t\toptions._catchError(e, c._vnode);\n\t\t}\n\t});\n}\n\n/**\n * Diff two virtual nodes representing DOM element\n * @param {PreactElement} dom The DOM element representing the virtual nodes\n * being diffed\n * @param {VNode} newVNode The new virtual node\n * @param {VNode} oldVNode The old virtual node\n * @param {object} globalContext The current context object\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node\n * @param {Array} excessDomChildren\n * @param {Array} commitQueue List of components which have callbacks\n * to invoke in commitRoot\n * @param {boolean} isHydrating Whether or not we are in hydration\n * @param {any[]} refQueue an array of elements needed to invoke refs\n * @returns {PreactElement}\n */\nfunction diffElementNodes(\n\tdom,\n\tnewVNode,\n\toldVNode,\n\tglobalContext,\n\tisSvg,\n\texcessDomChildren,\n\tcommitQueue,\n\tisHydrating,\n\trefQueue\n) {\n\tlet oldProps = oldVNode.props;\n\tlet newProps = newVNode.props;\n\tlet nodeType = /** @type {string} */ (newVNode.type);\n\t/** @type {any} */\n\tlet i;\n\t/** @type {{ __html?: string }} */\n\tlet newHtml;\n\t/** @type {{ __html?: string }} */\n\tlet oldHtml;\n\t/** @type {ComponentChildren} */\n\tlet newChildren;\n\tlet value;\n\tlet inputValue;\n\tlet checked;\n\n\t// Tracks entering and exiting SVG namespace when descending through the tree.\n\tif (nodeType === 'svg') isSvg = true;\n\n\tif (excessDomChildren != null) {\n\t\tfor (i = 0; i < excessDomChildren.length; i++) {\n\t\t\tvalue = excessDomChildren[i];\n\n\t\t\t// if newVNode matches an element in excessDomChildren or the `dom`\n\t\t\t// argument matches an element in excessDomChildren, remove it from\n\t\t\t// excessDomChildren so it isn't later removed in diffChildren\n\t\t\tif (\n\t\t\t\tvalue &&\n\t\t\t\t'setAttribute' in value === !!nodeType &&\n\t\t\t\t(nodeType ? value.localName === nodeType : value.nodeType === 3)\n\t\t\t) {\n\t\t\t\tdom = value;\n\t\t\t\texcessDomChildren[i] = null;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (dom == null) {\n\t\tif (nodeType === null) {\n\t\t\treturn document.createTextNode(newProps);\n\t\t}\n\n\t\tif (isSvg) {\n\t\t\tdom = document.createElementNS('http://www.w3.org/2000/svg', nodeType);\n\t\t} else {\n\t\t\tdom = document.createElement(nodeType, newProps.is && newProps);\n\t\t}\n\n\t\t// we created a new parent, so none of the previously attached children can be reused:\n\t\texcessDomChildren = null;\n\t\t// we are creating a new node, so we can assume this is a new subtree (in\n\t\t// case we are hydrating), this deopts the hydrate\n\t\tisHydrating = false;\n\t}\n\n\tif (nodeType === null) {\n\t\t// During hydration, we still have to split merged text from SSR'd HTML.\n\t\tif (oldProps !== newProps && (!isHydrating || dom.data !== newProps)) {\n\t\t\tdom.data = newProps;\n\t\t}\n\t} else {\n\t\t// If excessDomChildren was not null, repopulate it with the current element's children:\n\t\texcessDomChildren = excessDomChildren && slice.call(dom.childNodes);\n\n\t\toldProps = oldVNode.props || EMPTY_OBJ;\n\n\t\t// If we are in a situation where we are not hydrating but are using\n\t\t// existing DOM (e.g. replaceNode) we should read the existing DOM\n\t\t// attributes to diff them\n\t\tif (!isHydrating && excessDomChildren != null) {\n\t\t\toldProps = {};\n\t\t\tfor (i = 0; i < dom.attributes.length; i++) {\n\t\t\t\tvalue = dom.attributes[i];\n\t\t\t\toldProps[value.name] = value.value;\n\t\t\t}\n\t\t}\n\n\t\tfor (i in oldProps) {\n\t\t\tvalue = oldProps[i];\n\t\t\tif (i == 'children') {\n\t\t\t} else if (i == 'dangerouslySetInnerHTML') {\n\t\t\t\toldHtml = value;\n\t\t\t} else if (i !== 'key' && !(i in newProps)) {\n\t\t\t\tsetProperty(dom, i, null, value, isSvg);\n\t\t\t}\n\t\t}\n\n\t\t// During hydration, props are not diffed at all (including dangerouslySetInnerHTML)\n\t\t// @TODO we should warn in debug mode when props don't match here.\n\t\tfor (i in newProps) {\n\t\t\tvalue = newProps[i];\n\t\t\tif (i == 'children') {\n\t\t\t\tnewChildren = value;\n\t\t\t} else if (i == 'dangerouslySetInnerHTML') {\n\t\t\t\tnewHtml = value;\n\t\t\t} else if (i == 'value') {\n\t\t\t\tinputValue = value;\n\t\t\t} else if (i == 'checked') {\n\t\t\t\tchecked = value;\n\t\t\t} else if (\n\t\t\t\ti !== 'key' &&\n\t\t\t\t(!isHydrating || typeof value == 'function') &&\n\t\t\t\toldProps[i] !== value\n\t\t\t) {\n\t\t\t\tsetProperty(dom, i, value, oldProps[i], isSvg);\n\t\t\t}\n\t\t}\n\n\t\t// If the new vnode didn't have dangerouslySetInnerHTML, diff its children\n\t\tif (newHtml) {\n\t\t\t// Avoid re-applying the same '__html' if it did not changed between re-render\n\t\t\tif (\n\t\t\t\t!isHydrating &&\n\t\t\t\t(!oldHtml ||\n\t\t\t\t\t(newHtml.__html !== oldHtml.__html &&\n\t\t\t\t\t\tnewHtml.__html !== dom.innerHTML))\n\t\t\t) {\n\t\t\t\tdom.innerHTML = newHtml.__html;\n\t\t\t}\n\n\t\t\tnewVNode._children = [];\n\t\t} else {\n\t\t\tif (oldHtml) dom.innerHTML = '';\n\n\t\t\tdiffChildren(\n\t\t\t\tdom,\n\t\t\t\tisArray(newChildren) ? newChildren : [newChildren],\n\t\t\t\tnewVNode,\n\t\t\t\toldVNode,\n\t\t\t\tglobalContext,\n\t\t\t\tisSvg && nodeType !== 'foreignObject',\n\t\t\t\texcessDomChildren,\n\t\t\t\tcommitQueue,\n\t\t\t\texcessDomChildren\n\t\t\t\t\t? excessDomChildren[0]\n\t\t\t\t\t: oldVNode._children && getDomSibling(oldVNode, 0),\n\t\t\t\tisHydrating,\n\t\t\t\trefQueue\n\t\t\t);\n\n\t\t\t// Remove children that are not part of any vnode.\n\t\t\tif (excessDomChildren != null) {\n\t\t\t\tfor (i = excessDomChildren.length; i--; ) {\n\t\t\t\t\tif (excessDomChildren[i] != null) removeNode(excessDomChildren[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// As above, don't diff props during hydration\n\t\tif (!isHydrating) {\n\t\t\ti = 'value';\n\t\t\tif (\n\t\t\t\tinputValue !== undefined &&\n\t\t\t\t// #2756 For the -element the initial value is 0,\n\t\t\t\t// despite the attribute not being present. When the attribute\n\t\t\t\t// is missing the progress bar is treated as indeterminate.\n\t\t\t\t// To fix that we'll always update it when it is 0 for progress elements\n\t\t\t\t(inputValue !== dom[i] ||\n\t\t\t\t\t(nodeType === 'progress' && !inputValue) ||\n\t\t\t\t\t// This is only for IE 11 to fix